svn commit: samba r25545 - in branches/SAMBA_4_0: . source/lib/socket

jelmer at samba.org jelmer at samba.org
Sat Oct 6 21:31:03 GMT 2007


Author: jelmer
Date: 2007-10-06 21:31:00 +0000 (Sat, 06 Oct 2007)
New Revision: 25545

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

Log:
Use inet_ntop for ipv4 code as well - should make it easier to share code between IPv4 and IPv6 later on.
Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/lib/socket/socket.h
   branches/SAMBA_4_0/source/lib/socket/socket_ip.c


Changeset:

Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:file-ids
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...

Modified: branches/SAMBA_4_0/source/lib/socket/socket.h
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/socket.h	2007-10-06 00:17:44 UTC (rev 25544)
+++ branches/SAMBA_4_0/source/lib/socket/socket.h	2007-10-06 21:31:00 UTC (rev 25545)
@@ -121,6 +121,9 @@
 	void *private_data;
 	const struct socket_ops *ops;
 	const char *backend_name;
+
+	/* specific to the ip backend */
+	int family;
 };
 
 

Modified: branches/SAMBA_4_0/source/lib/socket/socket_ip.c
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/socket_ip.c	2007-10-06 00:17:44 UTC (rev 25544)
+++ branches/SAMBA_4_0/source/lib/socket/socket_ip.c	2007-10-06 21:31:00 UTC (rev 25545)
@@ -47,6 +47,7 @@
 	}
 
 	sock->backend_name = "ipv4";
+	sock->family = AF_INET;
 
 	return NT_STATUS_OK;
 }
@@ -278,7 +279,7 @@
 	struct sockaddr_in *from_addr;
 	socklen_t from_len = sizeof(*from_addr);
 	struct socket_address *src;
-	const char *addr;
+	char addrstring[INET_ADDRSTRLEN];
 	
 	src = talloc(addr_ctx, struct socket_address);
 	if (!src) {
@@ -309,12 +310,12 @@
 
 	src->sockaddrlen = from_len;
 
-	addr = inet_ntoa(from_addr->sin_addr);
-	if (addr == NULL) {
+	if (inet_ntop(AF_INET, &from_addr->sin_addr, addrstring, 
+			 sizeof(addrstring)) == NULL) {
 		talloc_free(src);
 		return NT_STATUS_INTERNAL_ERROR;
 	}
-	src->addr = talloc_strdup(src, addr);
+	src->addr = talloc_strdup(src, addrstring);
 	if (src->addr == NULL) {
 		talloc_free(src);
 		return NT_STATUS_NO_MEMORY;
@@ -412,8 +413,8 @@
 {
 	struct sockaddr_in *peer_addr;
 	socklen_t len = sizeof(*peer_addr);
-	const char *addr;
 	struct socket_address *peer;
+	char addrstring[INET_ADDRSTRLEN];
 	int ret;
 	
 	peer = talloc(mem_ctx, struct socket_address);
@@ -438,12 +439,12 @@
 
 	peer->sockaddrlen = len;
 
-	addr = inet_ntoa(peer_addr->sin_addr);
-	if (addr == NULL) {
+	if (inet_ntop(AF_INET, &peer_addr->sin_addr, addrstring,
+			 sizeof(addrstring)) == NULL) {
 		talloc_free(peer);
 		return NULL;
 	}
-	peer->addr = talloc_strdup(peer, addr);
+	peer->addr = talloc_strdup(peer, addrstring);
 	if (!peer->addr) {
 		talloc_free(peer);
 		return NULL;
@@ -457,8 +458,8 @@
 {
 	struct sockaddr_in *local_addr;
 	socklen_t len = sizeof(*local_addr);
-	const char *addr;
 	struct socket_address *local;
+	char addrstring[INET_ADDRSTRLEN];
 	int ret;
 	
 	local = talloc(mem_ctx, struct socket_address);
@@ -483,12 +484,12 @@
 
 	local->sockaddrlen = len;
 
-	addr = inet_ntoa(local_addr->sin_addr);
-	if (addr == NULL) {
+	if (inet_ntop(AF_INET, &local_addr->sin_addr, addrstring, 
+			 sizeof(addrstring)) == NULL) {
 		talloc_free(local);
 		return NULL;
 	}
-	local->addr = talloc_strdup(local, addr);
+	local->addr = talloc_strdup(local, addrstring);
 	if (!local->addr) {
 		talloc_free(local);
 		return NULL;
@@ -580,6 +581,7 @@
 	}
 
 	sock->backend_name = "ipv6";
+	sock->family = AF_INET6;
 
 	return NT_STATUS_OK;
 }



More information about the samba-cvs mailing list