[SCM] Samba Shared Repository - branch v4-19-test updated
Jule Anger
janger at samba.org
Thu Dec 28 17:16:01 UTC 2023
The branch, v4-19-test has been updated
via 8c63b219a26 s3:ctdbd_conn: fix ctdbd_public_ip_foreach() for ipv6 addresses
from efc1a606a27 VERSION: move COPYRIGHT_STARTUP_MESSAGE as SAMBA_COPYRIGHT_STRING into version.h
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-19-test
- Log -----------------------------------------------------------------
commit 8c63b219a2688ebbe3fcb1e3fd03af4512c3c6e0
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Aug 15 08:57:57 2023 +0200
s3:ctdbd_conn: fix ctdbd_public_ip_foreach() for ipv6 addresses
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15534
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Volker Lendecke <vl at samba.org>
Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
Autobuild-Date(master): Thu Dec 21 11:09:30 UTC 2023 on atb-devel-224
(cherry picked from commit 828f3c99122fb033ecb79e24ed24821b8510f0f8)
Autobuild-User(v4-19-test): Jule Anger <janger at samba.org>
Autobuild-Date(v4-19-test): Thu Dec 28 17:15:55 UTC 2023 on atb-devel-224
-----------------------------------------------------------------------
Summary of changes:
source3/lib/ctdbd_conn.c | 33 ++++++++++++++++++++++++++++-----
1 file changed, 28 insertions(+), 5 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/lib/ctdbd_conn.c b/source3/lib/ctdbd_conn.c
index a739c97f3fd..3698c9d3672 100644
--- a/source3/lib/ctdbd_conn.c
+++ b/source3/lib/ctdbd_conn.c
@@ -1438,6 +1438,32 @@ static int ctdbd_control_get_public_ips(struct ctdbd_connection *conn,
return 0;
}
+static struct samba_sockaddr ctdbd_sock_addr_to_samba(const ctdb_sock_addr *c)
+{
+ struct samba_sockaddr s = {};
+
+ switch (c->sa.sa_family) {
+ case AF_INET:
+ s.u.in = c->ip;
+ break;
+ case AF_INET6:
+ /*
+ * ctdb always requires HAVE_IPV6,
+ * so we don't need an ifdef here.
+ */
+ s.u.in6 = c->ip6;
+ break;
+ default:
+ /*
+ * ctdb_sock_addr only supports ipv4 and ipv6
+ */
+ smb_panic(__location__);
+ break;
+ }
+
+ return s;
+}
+
int ctdbd_public_ip_foreach(struct ctdbd_connection *conn,
int (*cb)(uint32_t total_ip_count,
const struct sockaddr_storage *ip,
@@ -1457,11 +1483,8 @@ int ctdbd_public_ip_foreach(struct ctdbd_connection *conn,
}
for (i=0; i < ips->num; i++) {
- struct samba_sockaddr tmp = {
- .u = {
- .sa = ips->ips[i].addr.sa,
- },
- };
+ const ctdb_sock_addr *addr = &ips->ips[i].addr;
+ struct samba_sockaddr tmp = ctdbd_sock_addr_to_samba(addr);
ret = cb(ips->num,
&tmp.u.ss,
--
Samba Shared Repository
More information about the samba-cvs
mailing list