mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-24 09:34:24 +01:00
wireaddr: adds helper is_ipaddr, is_toraddr and is_dnsaddr
This commit is contained in:
committed by
Rusty Russell
parent
300303a8f2
commit
25bd09716f
@@ -117,6 +117,26 @@ int main(int argc, char *argv[])
|
||||
|
||||
common_setup(argv[0]);
|
||||
|
||||
/* Check IP/TOR/DNS parser */
|
||||
assert(is_ipaddr("192.168.1.2"));
|
||||
assert(!is_ipaddr("foo.bar.1.2"));
|
||||
assert(is_toraddr("qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion"));
|
||||
assert(is_toraddr("qubesos4rrrrz6n4.onion"));
|
||||
assert(!is_toraddr("QUBESOSfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion"));
|
||||
assert(!is_toraddr("QUBESOS4rrrrz6n4.onion"));
|
||||
assert(!is_toraddr("qubesos-asa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion"));
|
||||
assert(is_dnsaddr("example.com"));
|
||||
assert(is_dnsaddr("example.digits123.com"));
|
||||
assert(is_dnsaddr("example-hyphen.com"));
|
||||
assert(is_dnsaddr("123example.com"));
|
||||
assert(is_dnsaddr("example123.com"));
|
||||
assert(is_dnsaddr("is-valid.3hostname123.com"));
|
||||
assert(!is_dnsaddr("UPPERCASE.invalid.com"));
|
||||
assert(!is_dnsaddr("-.invalid.com"));
|
||||
assert(!is_dnsaddr("invalid.-example.com"));
|
||||
assert(!is_dnsaddr("invalid.example-.com"));
|
||||
assert(!is_dnsaddr("invalid..example.com"));
|
||||
|
||||
/* Grossly invalid. */
|
||||
assert(!separate_address_and_port(tmpctx, "[", &ip, &port));
|
||||
assert(!separate_address_and_port(tmpctx, "[123", &ip, &port));
|
||||
@@ -148,6 +168,19 @@ int main(int argc, char *argv[])
|
||||
assert(streq(ip, "192.168.2.255"));
|
||||
assert(port == 0);
|
||||
|
||||
/* DNS types */
|
||||
assert(separate_address_and_port(tmpctx, "example.com:42", &ip, &port));
|
||||
assert(streq(ip, "example.com"));
|
||||
assert(port == 42);
|
||||
assert(separate_address_and_port(tmpctx, "sub.example.com:21", &ip, &port));
|
||||
assert(streq(ip, "sub.example.com"));
|
||||
assert(port == 21);
|
||||
port = 123;
|
||||
assert(separate_address_and_port(tmpctx, "sub.example.com", &ip, &port));
|
||||
assert(streq(ip, "sub.example.com"));
|
||||
assert(port == 123);
|
||||
port = 0;
|
||||
|
||||
// unusual but possibly valid case
|
||||
assert(separate_address_and_port(tmpctx, "[::1]", &ip, &port));
|
||||
assert(streq(ip, "::1"));
|
||||
|
||||
Reference in New Issue
Block a user