don't know if this warrants a patch. it seems I need to relax reporting this length error to be able to make it through the handshake. might be just a bug in the implementation I'm trying to handshake with (still, I have to work around it to make it through the handshake...), or there is something else happening -- if so, I missed it - ignoring this check makes it work: the length fields of the individual DistinguishedName (cas) read in the while loop are correct in this case. Axel. Notes: Mon Aug 22 07:09:12 EDT 2005 rsc I applied this change (in a different form), but I would like to know which branch of the || is failing so that I can leave the other half in. Thanks. Reference: /n/sources/patch/applied/tlshand-msgrecv-hcertreq-ignore-error Date: Fri Aug 19 23:14:17 CES 2005 Reviewed-by: rsc --- /sys/src/libsec/port/tlshand.c Fri Aug 19 22:49:18 2005 +++ /sys/src/libsec/port/tlshand.c Fri Aug 19 22:49:13 2005 @@ -1143,7 +1143,7 @@ p += 3; n -= 3; if(nn == 0 || n != nn) - goto Short; + ; /* ignore parse error (was: goto Short;) */ /* cas */ i = 0; while(n > 0) {