blob: bc18225d424f911d3934f45004a9dc4c6320f482 [file] [log] [blame]
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +01001
2
3{ .af = AF_INET, .ip = "1.2.3.4", .port = 5 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +01004 OSMO_SOCKADDR_STR_FMT: '1.2.3.4:5'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +01005 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +02006 osmo_sockaddr_str_is_nonzero() = true
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +01007 osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=01020304
8 -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 }
9 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
10 osmo_sockaddr_str_to_32() rc == 0 uint32_t=0x4030201
11 -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 }
12 osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0x1020304
13 -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 }
14 osmo_sockaddr_str_to_sockaddr_in() rc == 0 sockaddr_in=02000005010203040000000000000000
15 -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 }
16 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
17 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0200000501020304000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
18 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 }
19 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 }
20
21
22{ .af = AF_INET, .ip = "0.0.0.0", .port = 0 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +010023 OSMO_SOCKADDR_STR_FMT: '0.0.0.0:0'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010024 osmo_sockaddr_str_is_set() = false
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +020025 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010026 osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=00000000
27 -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 }
28 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
29 osmo_sockaddr_str_to_32() rc == 0 uint32_t=0x0
30 -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 }
31 osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0x0
32 -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 }
33 osmo_sockaddr_str_to_sockaddr_in() rc == 0 sockaddr_in=02000000000000000000000000000000
34 -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 }
35 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
36 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
37 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 }
38 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 0 }
39
40
41{ .af = AF_INET, .ip = "255.255.255.255", .port = 65535 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +010042 OSMO_SOCKADDR_STR_FMT: '255.255.255.255:65535'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010043 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +020044 osmo_sockaddr_str_is_nonzero() = true
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010045 osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=ffffffff
46 -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 }
47 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
48 osmo_sockaddr_str_to_32() rc == 0 uint32_t=0xffffffff
49 -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 }
50 osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0xffffffff
51 -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 }
52 osmo_sockaddr_str_to_sockaddr_in() rc == 0 sockaddr_in=0200ffffffffffff0000000000000000
53 -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 }
54 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
55 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0200ffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
56 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 }
57 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET, .ip = "255.255.255.255", .port = 65535 }
58
59
60{ .af = AF_INET, .ip = "0.0.0.256", .port = 1 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +010061 OSMO_SOCKADDR_STR_FMT: '0.0.0.256:1'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010062 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +020063 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010064 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
65 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
66 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
67 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
68 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=02000001000000000000000000000000
69 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
70 osmo_sockaddr_str_to_sockaddr() rc < 0 sockaddr_storage=0200000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
71 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET, .ip = "0.0.0.256", .port = 1 }
72
73
74{ .af = AF_INET, .ip = "not an ip address", .port = 1 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +010075 OSMO_SOCKADDR_STR_FMT: 'not an ip address:1'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010076 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +020077 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010078 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
79 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
80 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
81 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
82 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=02000001000000000000000000000000
83 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
84 osmo_sockaddr_str_to_sockaddr() rc < 0 sockaddr_storage=0200000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
85 osmo_sockaddr_str_from_str() rc < 0 { .af = AF_UNSPEC, .ip = "not an ip address", .port = 1 }
86
87
88{ .af = AF_INET6, .ip = "1:2:3::4", .port = 5 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +020089 OSMO_SOCKADDR_STR_FMT: '[1:2:3::4]:5'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010090 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +020091 osmo_sockaddr_str_is_nonzero() = true
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010092 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
93 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=00010002000300000000000000000004
94 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 }
95 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
96 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
97 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
98 osmo_sockaddr_str_to_sockaddr_in6() rc == 0 sockaddr_in6=0a000005000000000001000200030000000000000000000400000000
99 -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 }
100 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0a00000500000000000100020003000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
101 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 }
102 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 }
103
104
105{ .af = AF_INET6, .ip = "::", .port = 0 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +0200106 OSMO_SOCKADDR_STR_FMT: '[::]:0'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100107 osmo_sockaddr_str_is_set() = false
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200108 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100109 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
110 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=00000000000000000000000000000000
111 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::", .port = 0 }
112 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
113 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
114 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
115 osmo_sockaddr_str_to_sockaddr_in6() rc == 0 sockaddr_in6=0a000000000000000000000000000000000000000000000000000000
116 -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "::", .port = 0 }
117 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
118 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "::", .port = 0 }
119 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "::", .port = 0 }
120
121
122{ .af = AF_INET6, .ip = "::1", .port = 0 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +0200123 OSMO_SOCKADDR_STR_FMT: '[::1]:0'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100124 osmo_sockaddr_str_is_set() = false
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200125 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100126 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
127 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=00000000000000000000000000000001
128 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::1", .port = 0 }
129 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
130 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
131 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
132 osmo_sockaddr_str_to_sockaddr_in6() rc == 0 sockaddr_in6=0a000000000000000000000000000000000000000000000100000000
133 -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "::1", .port = 0 }
134 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0a00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
135 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "::1", .port = 0 }
136 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "::1", .port = 0 }
137
138
139{ .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +0200140 OSMO_SOCKADDR_STR_FMT: '[ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff]:65535'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100141 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200142 osmo_sockaddr_str_is_nonzero() = true
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100143 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
144 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=ffffffffffffffffffffffffffffffff
145 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
146 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
147 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
148 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
149 osmo_sockaddr_str_to_sockaddr_in6() rc == 0 sockaddr_in6=0a00ffff00000000ffffffffffffffffffffffffffffffff00000000
150 -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
151 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0a00ffff00000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
152 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
153 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
154
155
156{ .af = AF_INET6, .ip = "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", .port = 65535 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +0200157 OSMO_SOCKADDR_STR_FMT: '[FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF]:65535'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100158 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200159 osmo_sockaddr_str_is_nonzero() = true
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100160 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
161 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=ffffffffffffffffffffffffffffffff
162 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
163 DIFFERS!
164 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
165 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
166 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
167 osmo_sockaddr_str_to_sockaddr_in6() rc == 0 sockaddr_in6=0a00ffff00000000ffffffffffffffffffffffffffffffff00000000
168 -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
169 DIFFERS!
170 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0a00ffff00000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
171 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
172 DIFFERS!
173 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF", .port = 65535 }
174
175
176{ .af = AF_INET6, .ip = "::fffff", .port = 1 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +0200177 OSMO_SOCKADDR_STR_FMT: '[::fffff]:1'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100178 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200179 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100180 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
181 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
182 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
183 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
184 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
185 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=0a000001000000000000000000000000000000000000000000000000
186 osmo_sockaddr_str_to_sockaddr() rc < 0 sockaddr_storage=0a00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
187 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "::fffff", .port = 1 }
188
189
190{ .af = AF_INET6, .ip = "not an ip address", .port = 1 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +0200191 OSMO_SOCKADDR_STR_FMT: '[not an ip address]:1'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100192 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200193 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100194 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
195 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
196 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
197 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
198 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
199 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=0a000001000000000000000000000000000000000000000000000000
200 osmo_sockaddr_str_to_sockaddr() rc < 0 sockaddr_storage=0a00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
201 osmo_sockaddr_str_from_str() rc < 0 { .af = AF_UNSPEC, .ip = "not an ip address", .port = 1 }
202
203
204{ .af = AF_INET6, .ip = "1.2.3.4", .port = 5 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +0200205 OSMO_SOCKADDR_STR_FMT: '[1.2.3.4]:5'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100206 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200207 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100208 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
209 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
210 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
211 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
212 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
213 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=0a000005000000000000000000000000000000000000000000000000
214 osmo_sockaddr_str_to_sockaddr() rc < 0 sockaddr_storage=0a00000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
215 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 }
216 DIFFERS!
217
218
219{ .af = AF_INET, .ip = "1:2:3::4", .port = 5 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +0100220 OSMO_SOCKADDR_STR_FMT: '1:2:3::4:5'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100221 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200222 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100223 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
224 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
225 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
226 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
227 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=02000005000000000000000000000000
228 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
229 osmo_sockaddr_str_to_sockaddr() rc < 0 sockaddr_storage=0200000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
230 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "1:2:3::4", .port = 5 }
231 DIFFERS!
232
233
234{ .af = AF_UNSPEC, .ip = "1.2.3.4", .port = 5 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +0100235 OSMO_SOCKADDR_STR_FMT: '1.2.3.4:5'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100236 osmo_sockaddr_str_is_set() = false
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200237 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100238 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
239 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
240 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
241 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
242 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
243 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
244 osmo_sockaddr_str_to_sockaddr() rc < 0 sockaddr_storage=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
245 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 5 }
246 DIFFERS!
247
248
249{ .af = AF_INET, .ip = "", .port = 5 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +0100250 OSMO_SOCKADDR_STR_FMT: ':5'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100251 osmo_sockaddr_str_is_set() = false
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200252 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100253 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
254 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
255 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
256 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
257 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=02000005000000000000000000000000
258 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
259 osmo_sockaddr_str_to_sockaddr() rc < 0 sockaddr_storage=0200000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
260 osmo_sockaddr_str_from_str() rc < 0 { .af = AF_UNSPEC, .ip = "", .port = 5 }
261
262
263{ .af = AF_INET6, .ip = "", .port = 5 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +0200264 OSMO_SOCKADDR_STR_FMT: '[]:5'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100265 osmo_sockaddr_str_is_set() = false
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200266 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100267 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
268 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
269 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
270 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
271 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
272 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=0a000005000000000000000000000000000000000000000000000000
273 osmo_sockaddr_str_to_sockaddr() rc < 0 sockaddr_storage=0a00000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
274 osmo_sockaddr_str_from_str() rc < 0 { .af = AF_UNSPEC, .ip = "", .port = 5 }
275
276
277{ .af = AF_INET, .ip = "1.2.3.4", .port = 0 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +0100278 OSMO_SOCKADDR_STR_FMT: '1.2.3.4:0'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100279 osmo_sockaddr_str_is_set() = false
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200280 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100281 osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=01020304
282 -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 }
283 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
284 osmo_sockaddr_str_to_32() rc == 0 uint32_t=0x4030201
285 -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 }
286 osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0x1020304
287 -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 }
288 osmo_sockaddr_str_to_sockaddr_in() rc == 0 sockaddr_in=02000000010203040000000000000000
289 -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 }
290 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
291 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0200000001020304000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
292 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 }
293 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", .port = 0 }
294
295
296{ .af = AF_INET, .ip = "1.2.3:4:5", .port = 0 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +0100297 OSMO_SOCKADDR_STR_FMT: '1.2.3:4:5:0'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100298 osmo_sockaddr_str_is_set() = false
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200299 osmo_sockaddr_str_is_nonzero() = false
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100300 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
301 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
302 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
303 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
304 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=02000000000000000000000000000000
305 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
306 osmo_sockaddr_str_to_sockaddr() rc < 0 sockaddr_storage=0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
307 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "1.2.3:4:5", .port = 0 }
308 DIFFERS!
309
310
311{ .af = AF_INET6, .ip = "::1:10.9.8.7", .port = 1 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +0200312 OSMO_SOCKADDR_STR_FMT: '[::1:10.9.8.7]:1'
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100313 osmo_sockaddr_str_is_set() = true
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200314 osmo_sockaddr_str_is_nonzero() = true
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100315 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
316 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=0000000000000000000000010a090807
317 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::1:a09:807", .port = 1 }
318 DIFFERS!
319 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
320 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
321 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
322 osmo_sockaddr_str_to_sockaddr_in6() rc == 0 sockaddr_in6=0a000001000000000000000000000000000000010a09080700000000
323 -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "::1:a09:807", .port = 1 }
324 DIFFERS!
325 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0a000001000000000000000000000000000000010a0908070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
326 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "::1:a09:807", .port = 1 }
327 DIFFERS!
328 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "::1:10.9.8.7", .port = 1 }
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200329
330
331{ .af = AF_INET, .ip = "0.0.0.0", .port = 5 }
Neels Hofmeyr83d69102019-11-04 16:59:05 +0100332 OSMO_SOCKADDR_STR_FMT: '0.0.0.0:5'
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200333 osmo_sockaddr_str_is_set() = true
334 osmo_sockaddr_str_is_nonzero() = false
335 osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=00000000
336 -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 }
337 osmo_sockaddr_str_to_in6_addr() rc < 0 in6_addr=00000000000000000000000000000000
338 osmo_sockaddr_str_to_32() rc == 0 uint32_t=0x0
339 -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 }
340 osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0x0
341 -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 }
342 osmo_sockaddr_str_to_sockaddr_in() rc == 0 sockaddr_in=02000005000000000000000000000000
343 -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 }
344 osmo_sockaddr_str_to_sockaddr_in6() rc < 0 sockaddr_in6=00000000000000000000000000000000000000000000000000000000
345 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0200000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
346 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 }
347 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", .port = 5 }
348
349
350{ .af = AF_INET6, .ip = "::", .port = 5 }
Neels Hofmeyrd0e8d6b2019-10-24 04:08:16 +0200351 OSMO_SOCKADDR_STR_FMT: '[::]:5'
Neels Hofmeyr2ceb7582019-10-05 05:12:33 +0200352 osmo_sockaddr_str_is_set() = true
353 osmo_sockaddr_str_is_nonzero() = false
354 osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
355 osmo_sockaddr_str_to_in6_addr() rc == 0 in6_addr=00000000000000000000000000000000
356 -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::", .port = 5 }
357 osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
358 osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
359 osmo_sockaddr_str_to_sockaddr_in() rc < 0 sockaddr_in=00000000000000000000000000000000
360 osmo_sockaddr_str_to_sockaddr_in6() rc == 0 sockaddr_in6=0a000005000000000000000000000000000000000000000000000000
361 -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = "::", .port = 5 }
362 osmo_sockaddr_str_to_sockaddr() rc == 0 sockaddr_storage=0a00000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
363 -> osmo_sockaddr_str_from_sockaddr() rc == 0 { .af = AF_INET6, .ip = "::", .port = 5 }
364 osmo_sockaddr_str_from_str() rc == 0 { .af = AF_INET6, .ip = "::", .port = 5 }