svn commit: samba r18423 - in branches/SAMBA_4_0/source/lib/socket_wrapper: .

metze at samba.org metze at samba.org
Tue Sep 12 09:08:56 GMT 2006


Author: metze
Date: 2006-09-12 09:08:55 +0000 (Tue, 12 Sep 2006)
New Revision: 18423

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18423

Log:
record accept, connect and close events in socket wrapper

metze
Modified:
   branches/SAMBA_4_0/source/lib/socket_wrapper/socket_wrapper.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/socket_wrapper/socket_wrapper.c
===================================================================
--- branches/SAMBA_4_0/source/lib/socket_wrapper/socket_wrapper.c	2006-09-12 08:27:27 UTC (rev 18422)
+++ branches/SAMBA_4_0/source/lib/socket_wrapper/socket_wrapper.c	2006-09-12 09:08:55 UTC (rev 18423)
@@ -113,6 +113,23 @@
 	return s;
 }
 
+static const char *socket_wrapper_dump_dir(void)
+{
+	const char *s = getenv("SOCKET_WRAPPER_DUMP_DIR");
+
+	if (!socket_wrapper_dir()) {
+		return NULL;
+	}
+
+	if (s == NULL) {
+		return NULL;
+	}
+	if (strncmp(s, "./", 2) == 0) {
+		s += 2;
+	}
+	return s;
+}
+
 static unsigned int socket_wrapper_default_iface(void)
 {
 	const char *s = getenv("SOCKET_WRAPPER_DEFAULT_IFACE");
@@ -401,16 +418,22 @@
 }
 
 enum swrap_packet_type {
+	SWRAP_CONNECT,
+	SWRAP_ACCEPT,
 	SWRAP_RECVFROM,
 	SWRAP_SENDTO,
 	SWRAP_RECV,
-	SWRAP_SEND
+	SWRAP_SEND,
+	SWRAP_CLOSE
 };
 
 static void swrap_dump_packet(struct socket_info *si, const struct sockaddr *addr,
 			      enum swrap_packet_type type,
 			      const void *buf, size_t len, ssize_t ret)
 {
+	if (!socket_wrapper_dump_dir()) {
+		return;
+	}
 
 }
 
@@ -493,6 +516,8 @@
 
 	DLIST_ADD(sockets, child_si);
 
+	swrap_dump_packet(child_si, addr, SWRAP_ACCEPT, NULL, 0, 0);
+
 	return fd;
 }
 
@@ -586,6 +611,8 @@
 		si->peername = sockaddr_dup(serv_addr, addrlen);
 	}
 
+	swrap_dump_packet(si, serv_addr, SWRAP_CONNECT, NULL, 0, ret);
+
 	return ret;
 }
 
@@ -822,6 +849,8 @@
 	if (si) {
 		DLIST_REMOVE(sockets, si);
 
+		swrap_dump_packet(si, NULL, SWRAP_CLOSE, NULL, 0, 0);
+
 		free(si->path);
 		free(si->myname);
 		free(si->peername);



More information about the samba-cvs mailing list