Closed Bug 790445 Opened 12 years ago Closed 12 years ago

Hitting PORT_Assert(!ss->xtnData.sniNameArr); on TLS 1.1 client to TLS 1.1 server

Categories

(NSS :: Libraries, defect)

3.14
All
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: KaiE, Unassigned)

References

Details

Trying the new TLS 1.1 code. Starting the server with selfserv -D -p 8443 -d ../server -n localhost.localdomain -B -s -w nss \ -c ABCDEF:0041:0084cdefgijklmnvyz -i ./serverpid also happening when I add the new -V SSL3:TLS1.1 option. Starting client with tstclnt -p 8443 -h localhost.localdomain -c f -V TLS1.1:TLS1.1 -f \ -d ../client -v -w nss \ < /home/kaie/moz/nss/head/mozilla/security/nss/tests/ssl/sslreq.dat We hit PORT_Assert(!ss->xtnData.sniNameArr); at #0 0x00000039c8e35925 in raise () from /lib64/libc.so.6 #1 0x00000039c8e370d8 in abort () from /lib64/libc.so.6 #2 0x00007ffff6f59dbe in PR_Assert (s=0x7ffff7df0c21 "!ss->xtnData.sniNameArr", file=0x7ffff7df0bb2 "sslsock.c", ln=441) at ../../../../pr/src/io/prlog.c:554 #3 0x00007ffff7ddbc15 in ssl_DestroySocketContents (ss=0x7ffff33a9d10) at sslsock.c:441 #4 0x00007ffff7ddbe53 in ssl_FreeSocket (ss=0x69d3e0) at sslsock.c:478 #5 0x00007ffff7dcd7cc in ssl_DefClose (ss=0x69d3e0) at ssldef.c:206 #6 0x00007ffff7dd5e05 in ssl_SecureClose (ss=0x69d3e0) at sslsecur.c:1063 #7 0x00007ffff7ddf862 in ssl_Close (fd=0x68d3a0) at sslsock.c:2061 #8 0x00007ffff6f55bd4 in PR_Close (fd=0x68d3a0) at ../../../../pr/src/io/priometh.c:104 #9 0x0000000000408104 in handle_connection (tcp_sock=0x68d3a0, model_sock=0x61f3f0, requestCert=0) at selfserv.c:1336 #10 0x0000000000406d20 in jobLoop (a=0x0, b=0x0, c=0) at selfserv.c:575 #11 0x0000000000406bd1 in thread_wrapper (arg=0x677f80) at selfserv.c:544 #12 0x00007ffff6f7c9cd in _pt_root (arg=0x67c120) at ../../../../pr/src/pthreads/ptthread.c:156 #13 0x00000039c9207d14 in start_thread () from /lib64/libpthread.so.0 #14 0x00000039c8ef167d in clone () from /lib64/libc.so.6 Just in case it's interesting, I had a hardware watchpoint set to the place that modifies the string at *xtnData->sniNameArr.data It got (earlier) reset to zero at #0 0x00000039c8e88bbe in __memset_sse2 () from /lib64/libc.so.6 #1 0x00007ffff75bc509 in PORT_ZFree_Util (ptr=0x6a4e00, len=18432) at secport.c:127 #2 0x00007ffff7dd2247 in ssl_DestroyGather (gs=0x7ffff33aa0a0) at sslgathr.c:416 #3 0x00007ffff7ddba67 in ssl_DestroySocketContents (ss=0x7ffff33a9d10) at sslsock.c:410 #4 0x00007ffff7ddbe53 in ssl_FreeSocket (ss=0x69d3e0) at sslsock.c:478 #5 0x00007ffff7dcd7cc in ssl_DefClose (ss=0x69d3e0) at ssldef.c:206 #6 0x00007ffff7dd5e05 in ssl_SecureClose (ss=0x69d3e0) at sslsecur.c:1063 #7 0x00007ffff7ddf862 in ssl_Close (fd=0x68d3a0) at sslsock.c:2061 #8 0x00007ffff6f55bd4 in PR_Close (fd=0x68d3a0) at ../../../../pr/src/io/priometh.c:104 #9 0x0000000000408104 in handle_connection (tcp_sock=0x68d3a0, model_sock=0x61f3f0, requestCert=0) at selfserv.c:1336 #10 0x0000000000406d20 in jobLoop (a=0x0, b=0x0, c=0) at selfserv.c:575 #11 0x0000000000406bd1 in thread_wrapper (arg=0x677f80) at selfserv.c:544 #12 0x00007ffff6f7c9cd in _pt_root (arg=0x67c120) at ../../../../pr/src/pthreads/ptthread.c:156 #13 0x00000039c9207d14 in start_thread () from /lib64/libpthread.so.0 #14 0x00000039c8ef167d in clone () from /lib64/libc.so.6 The value gets originally assigned in ssl3_HandleServerNameXtn xtnData->sniNameArr = names; In the debugger I set a watchpoint to watch -l xtnData->sniNameArr and it didn't get changed to zero(as the assert seems to expect). (Only the DEBUG code in ssl_FreeSocket modified it.) The assert is only triggered, if the client connects in TLS 1.1 mode (If the client connects with TLS 1.1 disabled, no abort.)
Blocks: RFC4346
Blocks: 785170
I can no longer reproduce this bug. It was probably caused by an incorrect change to the NSS tools, that I meanwhile fixed with the latest patch for bug 785170. I'll reopen the bug, should I see it again.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.