summaryrefslogtreecommitdiff
path: root/source4/lib/socket/socket_ipv4.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2004-09-20 09:13:17 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:58:53 -0500
commitbe61c9d8773eb3d0dd97bcd5e9ccd3f1aabcd1d6 (patch)
tree419697c4f043ce721b110da67def9678a4c90d82 /source4/lib/socket/socket_ipv4.c
parent635f5fa942c2ecd82a2a787b96bf2ce2a587c616 (diff)
downloadsamba-be61c9d8773eb3d0dd97bcd5e9ccd3f1aabcd1d6.tar.gz
samba-be61c9d8773eb3d0dd97bcd5e9ccd3f1aabcd1d6.tar.bz2
samba-be61c9d8773eb3d0dd97bcd5e9ccd3f1aabcd1d6.zip
r2439: - function that return just an int don't need a TALLOC_CTX
- fix some return and state bugs metze (This used to be commit 2757c593ab746b9dd7090f2cf5fcc31686adf67f)
Diffstat (limited to 'source4/lib/socket/socket_ipv4.c')
-rw-r--r--source4/lib/socket/socket_ipv4.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/source4/lib/socket/socket_ipv4.c b/source4/lib/socket/socket_ipv4.c
index 9246ac4070..f423ded302 100644
--- a/source4/lib/socket/socket_ipv4.c
+++ b/source4/lib/socket/socket_ipv4.c
@@ -67,7 +67,7 @@ static NTSTATUS ipv4_tcp_connect(struct socket_context *sock,
return NT_STATUS_FOOBAR;
}
- ret = bind(sock->fd, &my_addr, sizeof(my_addr));
+ ret = bind(sock->fd, (struct sockaddr *)&my_addr, sizeof(my_addr));
if (ret == -1) {
/* TODO: we need to map from errno to NTSTATUS here! */
return NT_STATUS_FOOBAR;
@@ -90,7 +90,7 @@ static NTSTATUS ipv4_tcp_connect(struct socket_context *sock,
}
- ret = connect(sock->fd, &srv_addr, sizeof(srv_addr));
+ ret = connect(sock->fd, (const struct sockaddr *)&srv_addr, sizeof(srv_addr));
if (ret == -1) {
/* TODO: we need to map from errno to NTSTATUS here! */
return NT_STATUS_FOOBAR;
@@ -109,14 +109,13 @@ static NTSTATUS ipv4_tcp_listen(struct socket_context *sock,
struct in_addr ip_addr;
int ret;
- ZERO_STRUCT(my_addr);
-
ret = inet_aton(my_address, &ip_addr);
if (ret == 0) {
/* not a valid ipv4 address */
return NT_STATUS_FOOBAR;
}
+ ZERO_STRUCT(my_addr);
#ifdef HAVE_SOCK_SIN_LEN
my_addr.sin_len = sizeof(my_addr);
#endif
@@ -124,7 +123,7 @@ static NTSTATUS ipv4_tcp_listen(struct socket_context *sock,
my_addr.sin_port = htons(port);
my_addr.sin_family = PF_INET;
- ret = bind(sock->fd, &my_addr, sizeof(my_addr));
+ ret = bind(sock->fd, (struct sockaddr *)&my_addr, sizeof(my_addr));
if (ret == -1) {
/* TODO: we need to map from errno to NTSTATUS here! */
return NT_STATUS_FOOBAR;
@@ -144,7 +143,9 @@ static NTSTATUS ipv4_tcp_listen(struct socket_context *sock,
}
}
- return NT_STATUS_NOT_IMPLEMENTED;
+ sock->state= SOCKET_STATE_SERVER_LISTEN;
+
+ return NT_STATUS_OK;
}
static NTSTATUS ipv4_tcp_accept(struct socket_context *sock, struct socket_context **new_sock, uint32_t flags)
@@ -298,7 +299,7 @@ static char *ipv4_tcp_get_peer_addr(struct socket_context *sock, TALLOC_CTX *mem
return NULL;
}
-static int ipv4_tcp_get_peer_port(struct socket_context *sock, TALLOC_CTX *mem_ctx)
+static int ipv4_tcp_get_peer_port(struct socket_context *sock)
{
return -1;
}
@@ -308,12 +309,12 @@ static char *ipv4_tcp_get_my_addr(struct socket_context *sock, TALLOC_CTX *mem_c
return NULL;
}
-static int ipv4_tcp_get_my_port(struct socket_context *sock, TALLOC_CTX *mem_ctx)
+static int ipv4_tcp_get_my_port(struct socket_context *sock)
{
return -1;
}
-static int ipv4_tcp_get_fd(struct socket_context *sock, TALLOC_CTX *mem_ctx)
+static int ipv4_tcp_get_fd(struct socket_context *sock)
{
return sock->fd;
}