diff options
author | Stefan Metzmacher <metze@samba.org> | 2008-12-18 15:02:42 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-12-30 16:18:08 +0100 |
commit | 465176b7e2fc1370dded850a80a8fe8519e79db8 (patch) | |
tree | ea30f048d79a7a0ce5d7b382a9312908e1825d05 /source3/smbd | |
parent | fee2664dad37536b05ce8bdae3e74d45b257f632 (diff) | |
download | samba-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.c | 9 |
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", |