summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-12-18 15:02:42 +0100
committerStefan Metzmacher <metze@samba.org>2008-12-30 16:18:08 +0100
commit465176b7e2fc1370dded850a80a8fe8519e79db8 (patch)
treeea30f048d79a7a0ce5d7b382a9312908e1825d05 /source3/smbd
parentfee2664dad37536b05ce8bdae3e74d45b257f632 (diff)
downloadsamba-465176b7e2fc1370dded850a80a8fe8519e79db8.tar.gz
samba-465176b7e2fc1370dded850a80a8fe8519e79db8.tar.bz2
samba-465176b7e2fc1370dded850a80a8fe8519e79db8.zip
s3:cluster: register the client connection via CTDB_CONTROL_TCP_ADD
This means we correctly pass IPv6 addresses too. (CTDB_CONTROL_TCP_CLIENT was IPv4 only) metze
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/server.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index f7bdb58288..cfdd05ba2f 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -59,7 +59,8 @@ int get_client_fd(void)
return server_fd;
}
-int client_get_tcp_info(struct sockaddr_in *server, struct sockaddr_in *client)
+static int client_get_tcp_info(struct sockaddr_storage *server,
+ struct sockaddr_storage *client)
{
socklen_t length;
if (server_fd == -1) {
@@ -1466,7 +1467,7 @@ extern void build_options(bool screen);
* client.
*/
- struct sockaddr_in srv, clnt;
+ struct sockaddr_storage srv, clnt;
if (client_get_tcp_info(&srv, &clnt) == 0) {
@@ -1474,7 +1475,9 @@ extern void build_options(bool screen);
status = ctdbd_register_ips(
messaging_ctdbd_connection(),
- &srv, &clnt, release_ip, NULL);
+ (struct sockaddr *)&srv,
+ (struct sockaddr *)&clnt,
+ release_ip, NULL);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("ctdbd_register_ips failed: %s\n",