mirror of
https://github.com/samba-team/samba.git
synced 2025-01-20 14:03:59 +03:00
ctdb-protocol: Allow rfc5952 "[2001:db8::1]:80" ipv6 notation
Bug: https://bugzilla.samba.org/show_bug.cgi?id=14934 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Martin Schwenke <martin@meltin.net> (cherry picked from commit 224e99804efef960ef4ce2ff2f4f6dced1e74146)
This commit is contained in:
parent
70d81ab148
commit
870991a12c
@ -240,6 +240,19 @@ static int ip_from_string(const char *str, ctdb_sock_addr *addr)
|
|||||||
uint8_t ipv4_mapped_prefix[12] = {
|
uint8_t ipv4_mapped_prefix[12] = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff
|
||||||
};
|
};
|
||||||
|
size_t len = strlen(str);
|
||||||
|
char s[64];
|
||||||
|
|
||||||
|
len = strlcpy(s, str, sizeof(s));
|
||||||
|
if (len >= sizeof(s)) {
|
||||||
|
return EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((len >= 2) && (s[0] == '[') && (s[len-1] == ']')) {
|
||||||
|
s[len-1] = '\0';
|
||||||
|
str = s+1;
|
||||||
|
p = strrchr(str, ':');
|
||||||
|
}
|
||||||
|
|
||||||
ret = ipv6_from_string(str, &addr->ip6);
|
ret = ipv6_from_string(str, &addr->ip6);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user