Included into MirOS BSD and MirPorts. As usual, full CVSweb for the source and the patches, respectively: • http://cvs.mirbsd.de/src/gnu/usr.bin/lynx/ • http://cvs.mirbsd.de/ports/www/lynx/patches/
Some of them are meant for inclusion, especially the (new) one below. Commit ID: 10049483AAC038754C9 CVSROOT: /cvs Module name: src Changes by: [email protected] 2008/12/16 23:33:05 UTC Modified files: gnu/usr.bin/lynx/WWW/Library/Implementation: HTTP.c Log message: re-apply original logic from myself stripping off the IPv6 brackets from sslhost and certhost, which got lost in the HTParsePort transition Index: HTTP.c =================================================================== RCS file: /cvs/src/gnu/usr.bin/lynx/WWW/Library/Implementation/HTTP.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -p -r1.16 -r1.17 --- HTTP.c 16 Dec 2008 23:27:08 -0000 1.16 +++ HTTP.c 16 Dec 2008 23:33:04 -0000 1.17 @@ -778,6 +778,13 @@ static int HTLoadHTTP(const char *arg, /* strip port number or extract hostname component */ if ((p = HTParsePort(ssl_host, &port_number)) != 0) *p = '\0'; + else + p = ssl_host + strlen(ssl_host); + /* strip IPv6 brackets */ + if (*ssl_host == '[' && *--p == ']') { + ++ssl_host; + *p = '\0'; + } /* validate all CNs found in DN */ CTRACE((tfp, "Validating CNs in '%s'\n", ssl_dn_start)); @@ -791,9 +798,16 @@ static int HTLoadHTTP(const char *arg, ssl_dn_start = p; /* yes this points to the NUL byte */ } else ssl_dn_start = NULL; - /* strip port number (XXX [ip]:port encap here too? -TG) */ + /* strip port number */ if ((p = HTParsePort(cert_host, &port_number)) != 0) *p = '\0'; + else + p = cert_host + strlen(cert_host); + /* strip IPv6 brackets */ + if (*cert_host == '[' && *--p == ']') { + ++cert_host; + *p = '\0'; + } /* verify this CN */ CTRACE((tfp, "Matching\n\tssl_host '%s'\n\tcert_host '%s'\n", @@ -889,6 +903,12 @@ static int HTLoadHTTP(const char *arg, /* verify this SubjectAltName (see above) */ if ((p = HTParsePort(cert_host, &port_number)) != 0) *p = '\0'; + else + p = cert_host + strlen(cert_host); + if (*cert_host == '[' && *--p == ']') { + ++cert_host; + *p = '\0'; + } if (!(gn->type == GEN_IPADD ? strcasecomp : strcasecomp_asterisk) (ssl_host, cert_host)) { status_sslcertcheck = 2; bye, //mirabilos -- 13:22⎜«neurodamage» mira, what's up man? I have a CVS question for you in #cvs 13:22⎜«neurodamage» since you're so good w. it │ «neurodamage:#cvs» i love you 13:28⎜«neurodamage:#cvs» you're a handy guy to have around for systems stuff ☺ 16:06⎜<Draget:#cvs> Thank god I found you =) 20:03│«bioe007:#cvs» mira2k: ty 17:14⎜<ldiain:#cvs> Thanks big help you are :-) <bioe007> mira|nwt: ty again 18:35⎜«alturiak:#cvs» mirabilos: aw, nice. thanks :o 18:36⎜«ThunderChicken:#cvs» mirabilos FTW! 23:03⎜«mithraic:#cvs» aaah. thanks 18:41⎜«alturiak:#cvs» phew. thanks a bunch, guys. you just made my weekend :-) 18:10⎜«sumit:#cvs» mirabilos: oh ok.. thanks for that 21:57⎜<bhuey:#cvs> yeah, I really appreciate help 18:50⎜«grndlvl:#cvs» thankyou 18:50⎜«grndlvl:#cvs» worked perfectly 20:50⎜<paolo:#cvs> i see. mirabilos, thnks for your support 00:36⎜«halirutan:#cvs» ok, the obvious way:-) thx 18:44⎜«arcfide:#cvs» mirabilos, I am running OpenBSD. 18:59⎜«arcfide:#cvs» Hrm, yes, I see what you mean. 19:01⎜«arcfide:#cvs» Yeah, thanks for the help. 21:33⎜«CardinalFang:#cvs» Ugh. Okay. Sorry for the dumb question. Thank you 21:34⎜<centosian:#cvs> mirabilos: whoa that's sweet 21:52⎜«garrett__:#cvs» much appreciated «garrett__:#cvs» thanks for your time 23:39⎜<symons:#cvs> this worked, thank you very much _______________________________________________ Lynx-dev mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lynx-dev
