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

metze at samba.org metze at samba.org
Mon Sep 20 09:13:18 GMT 2004


Author: metze
Date: 2004-09-20 09:13:17 +0000 (Mon, 20 Sep 2004)
New Revision: 2439

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/lib/socket&rev=2439&nolog=1

Log:
- function that return just an int don't need a TALLOC_CTX
- fix some return and state bugs

metze

Modified:
   branches/SAMBA_4_0/source/lib/socket/socket.c
   branches/SAMBA_4_0/source/lib/socket/socket.h
   branches/SAMBA_4_0/source/lib/socket/socket_ipv4.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/socket/socket.c
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/socket.c	2004-09-20 08:53:45 UTC (rev 2438)
+++ branches/SAMBA_4_0/source/lib/socket/socket.c	2004-09-20 09:13:17 UTC (rev 2439)
@@ -39,7 +39,7 @@
 	(*new_sock)->ops = socket_getops_byname(name, type);
 	if (!(*new_sock)->ops) {
 		talloc_free((*new_sock));
-		return status;
+		return NT_STATUS_INVALID_PARAMETER;
 	}
 
 	status = (*new_sock)->ops->init((*new_sock));
@@ -120,7 +120,7 @@
 		return NT_STATUS_INVALID_PARAMETER;
 	}
 
-	if (sock->state != SOCKET_STATE_CLIENT_CONNECTED ||
+	if (sock->state != SOCKET_STATE_CLIENT_CONNECTED &&
 	    sock->state != SOCKET_STATE_SERVER_CONNECTED) {
 		return NT_STATUS_INVALID_PARAMETER;
 	}
@@ -139,7 +139,7 @@
 		return NT_STATUS_INVALID_PARAMETER;
 	}
 
-	if (sock->state != SOCKET_STATE_CLIENT_CONNECTED ||
+	if (sock->state != SOCKET_STATE_CLIENT_CONNECTED &&
 	    sock->state != SOCKET_STATE_SERVER_CONNECTED) {
 		return NT_STATUS_INVALID_PARAMETER;
 	}
@@ -169,13 +169,13 @@
 	return sock->ops->get_peer_addr(sock, mem_ctx);
 }
 
-int socket_get_peer_port(struct socket_context *sock, TALLOC_CTX *mem_ctx)
+int socket_get_peer_port(struct socket_context *sock)
 {
 	if (!sock->ops->get_peer_port) {
 		return -1;
 	}
 
-	return sock->ops->get_peer_port(sock, mem_ctx);
+	return sock->ops->get_peer_port(sock);
 }
 
 char *socket_get_my_addr(struct socket_context *sock, TALLOC_CTX *mem_ctx)
@@ -187,22 +187,22 @@
 	return sock->ops->get_my_addr(sock, mem_ctx);
 }
 
-int socket_get_my_port(struct socket_context *sock, TALLOC_CTX *mem_ctx)
+int socket_get_my_port(struct socket_context *sock)
 {
 	if (!sock->ops->get_my_port) {
 		return -1;
 	}
 
-	return sock->ops->get_my_port(sock, mem_ctx);
+	return sock->ops->get_my_port(sock);
 }
 
-int socket_get_fd(struct socket_context *sock, TALLOC_CTX *mem_ctx)
+int socket_get_fd(struct socket_context *sock)
 {
 	if (!sock->ops->get_fd) {
 		return -1;
 	}
 
-	return sock->ops->get_fd(sock, mem_ctx);
+	return sock->ops->get_fd(sock);
 }
 
 const struct socket_ops *socket_getops_byname(const char *name, enum socket_type type)

Modified: branches/SAMBA_4_0/source/lib/socket/socket.h
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/socket.h	2004-09-20 08:53:45 UTC (rev 2438)
+++ branches/SAMBA_4_0/source/lib/socket/socket.h	2004-09-20 09:13:17 UTC (rev 2439)
@@ -56,11 +56,11 @@
 	NTSTATUS (*set_option)(struct socket_context *sock, const char *option, const char *val);
 
 	char *(*get_peer_addr)(struct socket_context *sock, TALLOC_CTX *mem_ctx);
-	int (*get_peer_port)(struct socket_context *sock, TALLOC_CTX *mem_ctx);
+	int (*get_peer_port)(struct socket_context *sock);
 	char *(*get_my_addr)(struct socket_context *sock, TALLOC_CTX *mem_ctx);
-	int (*get_my_port)(struct socket_context *sock, TALLOC_CTX *mem_ctx);
+	int (*get_my_port)(struct socket_context *sock);
 
-	int (*get_fd)(struct socket_context *sock, TALLOC_CTX *mem_ctx);
+	int (*get_fd)(struct socket_context *sock);
 };
 
 enum socket_state {

Modified: branches/SAMBA_4_0/source/lib/socket/socket_ipv4.c
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/socket_ipv4.c	2004-09-20 08:53:45 UTC (rev 2438)
+++ branches/SAMBA_4_0/source/lib/socket/socket_ipv4.c	2004-09-20 09:13:17 UTC (rev 2439)
@@ -67,7 +67,7 @@
 		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 @@
 	}
 
 
-	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 @@
 	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 @@
 	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 @@
 		}
 	}
 
-	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 @@
 	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 @@
 	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;
 }



More information about the samba-cvs mailing list