mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
r19178: fix the standalone build of socket_wrapper by not using
samba's DLIST_ macros
metze
(This used to be commit 82abc39b55
)
This commit is contained in:
parent
9058263a6b
commit
e770df4c87
@ -46,10 +46,6 @@
|
|||||||
#include "system/network.h"
|
#include "system/network.h"
|
||||||
#include "system/filesys.h"
|
#include "system/filesys.h"
|
||||||
|
|
||||||
#ifndef _DLINKLIST_H
|
|
||||||
#include "lib/util/dlinklist.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef malloc
|
#ifdef malloc
|
||||||
#undef malloc
|
#undef malloc
|
||||||
#endif
|
#endif
|
||||||
@ -78,10 +74,39 @@
|
|||||||
|
|
||||||
#define _PUBLIC_
|
#define _PUBLIC_
|
||||||
|
|
||||||
#error "dlinklist.h missing"
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define SWRAP_DLIST_ADD(list,item) do { \
|
||||||
|
if (!(list)) { \
|
||||||
|
(item)->prev = NULL; \
|
||||||
|
(item)->next = NULL; \
|
||||||
|
(list) = (item); \
|
||||||
|
} else { \
|
||||||
|
(item)->prev = NULL; \
|
||||||
|
(item)->next = (list); \
|
||||||
|
(list)->prev = (item); \
|
||||||
|
(list) = (item); \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#define SWRAP_DLIST_REMOVE(list,item) do { \
|
||||||
|
if ((list) == (item)) { \
|
||||||
|
(list) = (item)->next; \
|
||||||
|
if (list) { \
|
||||||
|
(list)->prev = NULL; \
|
||||||
|
} \
|
||||||
|
} else { \
|
||||||
|
if ((item)->prev) { \
|
||||||
|
(item)->prev->next = (item)->next; \
|
||||||
|
} \
|
||||||
|
if ((item)->next) { \
|
||||||
|
(item)->next->prev = (item)->prev; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
(item)->prev = NULL; \
|
||||||
|
(item)->next = NULL; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
/* LD_PRELOAD doesn't work yet, so REWRITE_CALLS is all we support
|
/* LD_PRELOAD doesn't work yet, so REWRITE_CALLS is all we support
|
||||||
* for now */
|
* for now */
|
||||||
#define REWRITE_CALLS
|
#define REWRITE_CALLS
|
||||||
@ -1076,7 +1101,7 @@ _PUBLIC_ int swrap_socket(int family, int type, int protocol)
|
|||||||
si->protocol = protocol;
|
si->protocol = protocol;
|
||||||
si->fd = fd;
|
si->fd = fd;
|
||||||
|
|
||||||
DLIST_ADD(sockets, si);
|
SWRAP_DLIST_ADD(sockets, si);
|
||||||
|
|
||||||
return si->fd;
|
return si->fd;
|
||||||
}
|
}
|
||||||
@ -1145,7 +1170,7 @@ _PUBLIC_ int swrap_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
|
|||||||
child_si->peername_len = *addrlen;
|
child_si->peername_len = *addrlen;
|
||||||
child_si->peername = sockaddr_dup(addr, *addrlen);
|
child_si->peername = sockaddr_dup(addr, *addrlen);
|
||||||
|
|
||||||
DLIST_ADD(sockets, child_si);
|
SWRAP_DLIST_ADD(sockets, child_si);
|
||||||
|
|
||||||
swrap_dump_packet(child_si, addr, SWRAP_ACCEPT_SEND, NULL, 0);
|
swrap_dump_packet(child_si, addr, SWRAP_ACCEPT_SEND, NULL, 0);
|
||||||
swrap_dump_packet(child_si, addr, SWRAP_ACCEPT_RECV, NULL, 0);
|
swrap_dump_packet(child_si, addr, SWRAP_ACCEPT_RECV, NULL, 0);
|
||||||
@ -1545,7 +1570,7 @@ _PUBLIC_ int swrap_close(int fd)
|
|||||||
return real_close(fd);
|
return real_close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLIST_REMOVE(sockets, si);
|
SWRAP_DLIST_REMOVE(sockets, si);
|
||||||
|
|
||||||
if (si->myname && si->peername) {
|
if (si->myname && si->peername) {
|
||||||
swrap_dump_packet(si, NULL, SWRAP_CLOSE_SEND, NULL, 0);
|
swrap_dump_packet(si, NULL, SWRAP_CLOSE_SEND, NULL, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user