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