Hex Artifact Content

Artifact 3effdf848f2b92a46a8bd59c191b5e561b6656a80c8ab0fa147db5ee1a6cbea6:

Ticket change [3effdf848f] - New ticket [6a63c165d876c087|6a63c165d8] <i>tcltls-2.0.b1 infinite loop in Tls_WaitForConnect</i>. by anonymous on 2025-04-06 22:30:05.
0000: 44 20 32 30 32 35 2d 30 34 2d 30 36 54 32 32 3a  D 2025-04-06T22:
0010: 33 30 3a 30 35 2e 33 37 34 0a 4a 20 69 63 6f 6d  30:05.374.J icom
0020: 6d 65 6e 74 20 54 68 69 73 5c 73 63 6f 64 65 5c  ment This\scode\
0030: 73 77 69 6c 6c 5c 73 72 65 70 72 6f 64 75 63 65  swill\sreproduce
0040: 5c 73 74 68 65 5c 73 70 72 6f 62 6c 65 6d 3a 5c  \sthe\sproblem:\
0050: 72 5c 6e 3c 70 72 65 3e 5c 72 5c 6e 23 21 2f 75  r\n<pre>\r\n#!/u
0060: 73 72 2f 62 69 6e 2f 65 6e 76 5c 73 74 63 6c 73  sr/bin/env\stcls
0070: 68 5c 72 5c 6e 70 61 63 6b 61 67 65 5c 73 72 65  h\r\npackage\sre
0080: 71 75 69 72 65 5c 73 54 63 6c 5c 73 38 2e 36 2d  quire\sTcl\s8.6-
0090: 5c 72 5c 6e 70 61 63 6b 61 67 65 5c 73 72 65 71  \r\npackage\sreq
00a0: 75 69 72 65 5c 73 74 6c 73 5c 72 5c 6e 70 61 63  uire\stls\r\npac
00b0: 6b 61 67 65 5c 73 72 65 71 75 69 72 65 5c 73 68  kage\srequire\sh
00c0: 74 74 70 5c 72 5c 6e 5c 73 5c 72 5c 6e 73 65 74  ttp\r\n\s\r\nset
00d0: 5c 73 75 72 6c 5c 73 22 68 74 74 70 73 3a 2f 2f  \surl\s"https://
00e0: 70 69 6e 61 63 6e 65 77 73 2e 63 6f 6d 22 5c 72  pinacnews.com"\r
00f0: 5c 6e 73 65 74 5c 73 70 6f 72 74 5c 73 34 34 33  \nset\sport\s443
0100: 5c 72 5c 6e 73 65 74 5c 73 70 72 6f 74 6f 63 6f  \r\nset\sprotoco
0110: 6c 5c 73 22 68 74 74 70 2f 31 2e 31 22 5c 72 5c  l\s"http/1.1"\r\
0120: 6e 5c 73 5c 72 5c 6e 23 5c 73 52 65 67 69 73 74  n\s\r\n#\sRegist
0130: 65 72 5c 73 68 74 74 70 73 5c 73 70 72 6f 74 6f  er\shttps\sproto
0140: 63 6f 6c 5c 73 68 61 6e 64 6c 65 72 5c 73 77 69  col\shandler\swi
0150: 74 68 5c 73 68 74 74 70 5c 73 70 61 63 6b 61 67  th\shttp\spackag
0160: 65 5c 72 5c 6e 68 74 74 70 3a 3a 72 65 67 69 73  e\r\nhttp::regis
0170: 74 65 72 5c 73 68 74 74 70 73 5c 73 34 34 33 5c  ter\shttps\s443\
0180: 73 5b 6c 69 73 74 5c 73 3a 3a 74 6c 73 3a 3a 73  s[list\s::tls::s
0190: 6f 63 6b 65 74 5c 73 2d 61 75 74 6f 73 65 72 76  ocket\s-autoserv
01a0: 65 72 6e 61 6d 65 5c 73 31 5c 73 2d 72 65 71 75  ername\s1\s-requ
01b0: 69 72 65 5c 73 31 5c 73 2d 61 6c 70 6e 5c 73 5b  ire\s1\s-alpn\s[
01c0: 6c 69 73 74 5c 73 5b 73 74 72 69 6e 67 5c 73 74  list\s[string\st
01d0: 6f 6c 6f 77 65 72 5c 73 24 70 72 6f 74 6f 63 6f  olower\s$protoco
01e0: 6c 5d 5d 5d 5c 72 5c 6e 5c 73 5c 72 5c 6e 23 5c  l]]]\r\n\s\r\n#\
01f0: 73 47 65 74 5c 73 77 65 62 70 61 67 65 5c 72 5c  sGet\swebpage\r\
0200: 6e 73 65 74 5c 73 74 6f 6b 65 6e 5c 73 5b 3a 3a  nset\stoken\s[::
0210: 68 74 74 70 3a 3a 67 65 74 75 72 6c 5c 73 24 75  http::geturl\s$u
0220: 72 6c 5c 73 2d 62 6c 6f 63 6b 73 69 7a 65 5c 73  rl\s-blocksize\s
0230: 31 36 33 38 34 5d 5c 72 5c 6e 69 66 5c 73 7b 5b  16384]\r\nif\s{[
0240: 68 74 74 70 3a 3a 73 74 61 74 75 73 5c 73 24 74  http::status\s$t
0250: 6f 6b 65 6e 5d 5c 73 6e 65 5c 73 22 6f 6b 22 7d  oken]\sne\s"ok"}
0260: 5c 73 7b 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 70  \s{\r\n\s\s\s\sp
0270: 75 74 73 5c 73 5b 66 6f 72 6d 61 74 5c 73 22 45  uts\s[format\s"E
0280: 72 72 6f 72 3a 5c 73 5c 5c 22 25 73 5c 5c 22 22  rror:\s\\"%s\\""
0290: 5c 73 5b 68 74 74 70 3a 3a 73 74 61 74 75 73 5c  \s[http::status\
02a0: 73 24 74 6f 6b 65 6e 5d 5d 5c 72 5c 6e 5c 73 5c  s$token]]\r\n\s\
02b0: 73 5c 73 5c 73 3a 3a 68 74 74 70 3a 3a 63 6c 65  s\s\s::http::cle
02c0: 61 6e 75 70 5c 73 24 74 6f 6b 65 6e 5c 72 5c 6e  anup\s$token\r\n
02d0: 5c 73 5c 73 5c 73 5c 73 65 78 69 74 5c 72 5c 6e  \s\s\s\sexit\r\n
02e0: 7d 5c 72 5c 6e 5c 73 5c 72 5c 6e 23 5c 73 47 65  }\r\n\s\r\n#\sGe
02f0: 74 5c 73 77 65 62 5c 73 70 61 67 65 5c 72 5c 6e  t\sweb\spage\r\n
0300: 73 65 74 5c 73 64 61 74 61 5c 73 5b 68 74 74 70  set\sdata\s[http
0310: 3a 3a 64 61 74 61 5c 73 24 74 6f 6b 65 6e 5d 5c  ::data\s$token]\
0320: 72 5c 6e 5c 73 5c 72 5c 6e 23 5c 73 43 6c 65 61  r\n\s\r\n#\sClea
0330: 6e 75 70 5c 72 5c 6e 3a 3a 68 74 74 70 3a 3a 63  nup\r\n::http::c
0340: 6c 65 61 6e 75 70 5c 73 24 74 6f 6b 65 6e 5c 72  leanup\s$token\r
0350: 5c 6e 5c 73 5c 72 5c 6e 23 5c 73 53 61 76 65 5c  \n\s\r\n#\sSave\
0360: 73 64 61 74 61 5c 73 74 6f 5c 73 66 69 6c 65 5c  sdata\sto\sfile\
0370: 72 5c 6e 73 65 74 5c 73 63 68 5c 73 5b 6f 70 65  r\nset\sch\s[ope
0380: 6e 5c 73 22 74 63 6c 5f 74 6b 5f 68 6f 6d 65 2e  n\s"tcl_tk_home.
0390: 68 74 6d 6c 22 5c 73 77 62 5d 5c 72 5c 6e 70 75  html"\swb]\r\npu
03a0: 74 73 5c 73 24 63 68 5c 73 24 64 61 74 61 5c 72  ts\s$ch\s$data\r
03b0: 5c 6e 63 6c 6f 73 65 5c 73 24 63 68 5c 72 5c 6e  \nclose\s$ch\r\n
03c0: 3c 2f 70 72 65 3e 5c 72 5c 6e 5c 72 5c 6e 41 6c  </pre>\r\n\r\nAl
03d0: 74 68 6f 75 67 68 5c 73 74 68 65 5c 73 63 6f 6e  though\sthe\scon
03e0: 66 69 67 75 72 65 5c 73 73 63 72 69 70 74 5c 73  figure\sscript\s
03f0: 68 61 73 5c 73 74 68 65 5c 73 3c 69 3e 2d 2d 65  has\sthe\s<i>--e
0400: 6e 61 62 6c 65 2d 73 73 6c 2d 66 61 73 74 70 61  nable-ssl-fastpa
0410: 74 68 3c 2f 69 3e 5c 73 6f 70 74 69 6f 6e 5c 73  th</i>\soption\s
0420: 74 68 65 5c 73 73 6f 75 72 63 65 5c 73 6e 65 76  the\ssource\snev
0430: 65 72 5c 73 69 6e 63 6c 75 64 65 73 5c 73 63 6f  er\sincludes\sco
0440: 6e 66 64 65 66 73 2e 68 2e 5c 73 42 79 5c 73 68  nfdefs.h.\sBy\sh
0450: 61 63 6b 69 6e 67 5c 73 3c 70 72 65 3e 23 64 65  acking\s<pre>#de
0460: 66 69 6e 65 5c 73 54 43 4c 54 4c 53 5f 53 53 4c  fine\sTCLTLS_SSL
0470: 5f 55 53 45 5f 46 41 53 54 50 41 54 48 5c 73 31  _USE_FASTPATH\s1
0480: 3c 2f 70 72 65 3e 5c 73 69 6e 74 6f 5c 73 67 65  </pre>\sinto\sge
0490: 6e 65 72 69 63 2f 74 6c 73 42 49 4f 2e 63 5c 73  neric/tlsBIO.c\s
04a0: 49 5c 73 77 61 73 5c 73 61 62 6c 65 5c 73 74 6f  I\swas\sable\sto
04b0: 5c 73 67 65 74 5c 73 70 61 73 74 5c 73 74 68 65  \sget\spast\sthe
04c0: 5c 73 62 75 67 2e 5c 72 5c 6e 5c 72 5c 6e 54 68  \sbug.\r\n\r\nTh
04d0: 65 5c 73 73 69 74 65 5c 73 68 74 74 70 73 3a 2f  e\ssite\shttps:/
04e0: 2f 70 69 6e 61 63 6e 65 77 73 2e 63 6f 6d 5c 73  /pinacnews.com\s
04f0: 6f 6e 6c 79 5c 73 72 65 73 70 6f 6e 64 73 5c 73  only\sresponds\s
0500: 77 69 74 68 5c 73 52 53 54 5c 73 74 6f 5c 73 74  with\sRST\sto\st
0510: 68 65 5c 73 53 59 4e 5c 73 73 65 6e 74 2e 5c 73  he\sSYN\ssent.\s
0520: 5c 72 5c 6e 42 79 5c 73 72 75 6e 6e 69 6e 67 5c  \r\nBy\srunning\
0530: 72 5c 6e 3c 70 72 65 3e 5c 72 5c 6e 25 5c 73 73  r\n<pre>\r\n%\ss
0540: 65 74 5c 73 73 6f 63 6b 5c 73 5b 74 6c 73 3a 3a  et\ssock\s[tls::
0550: 73 6f 63 6b 65 74 5c 73 2d 61 75 74 6f 73 65 72  socket\s-autoser
0560: 76 65 72 6e 61 6d 65 5c 73 31 5c 73 2d 72 65 71  vername\s1\s-req
0570: 75 69 72 65 5c 73 31 5c 73 2d 61 6c 70 6e 5c 73  uire\s1\s-alpn\s
0580: 5b 6c 69 73 74 5c 73 5b 73 74 72 69 6e 67 5c 73  [list\s[string\s
0590: 74 6f 6c 6f 77 65 72 5c 73 7b 68 74 74 70 2f 31  tolower\s{http/1
05a0: 2e 31 7d 5d 5d 5c 73 70 69 6e 61 63 6e 65 77 73  .1}]]\spinacnews
05b0: 2e 63 6f 6d 5c 73 34 34 33 5d 5c 72 5c 6e 63 6f  .com\s443]\r\nco
05c0: 75 6c 64 6e 27 74 5c 73 6f 70 65 6e 5c 73 73 6f  uldn't\sopen\sso
05d0: 63 6b 65 74 3a 5c 73 63 6f 6e 6e 65 63 74 69 6f  cket:\sconnectio
05e0: 6e 5c 73 72 65 66 75 73 65 64 5c 72 5c 6e 3c 2f  n\srefused\r\n</
05f0: 70 72 65 3e 5c 73 5c 72 5c 6e 49 5c 73 63 6f 75  pre>\s\r\nI\scou
0600: 6c 64 5c 73 73 65 65 5c 73 74 68 61 74 5c 73 69  ld\ssee\sthat\si
0610: 74 5c 73 77 61 73 6e 27 74 5c 73 61 5c 73 70 72  t\swasn't\sa\spr
0620: 6f 62 6c 65 6d 5c 73 77 69 74 68 5c 73 74 68 65  oblem\swith\sthe
0630: 5c 73 73 6f 63 6b 65 74 5c 73 62 75 74 5c 73 66  \ssocket\sbut\sf
0640: 6f 72 5c 73 77 68 61 74 65 76 65 72 5c 73 72 65  or\swhatever\sre
0650: 61 73 6f 6e 5c 73 74 68 65 5c 73 73 6f 63 6b 65  ason\sthe\ssocke
0660: 74 5c 73 77 61 73 5c 73 62 65 69 6e 67 5c 73 70  t\swas\sbeing\sp
0670: 61 73 73 65 64 5c 73 74 6f 5c 73 74 6c 73 49 4f  assed\sto\stlsIO
0680: 2e 63 5c 73 65 76 65 6e 5c 73 74 68 6f 75 67 68  .c\seven\sthough
0690: 5c 73 69 74 5c 73 68 61 64 5c 73 61 6c 72 65 61  \sit\shad\salrea
06a0: 64 79 5c 73 66 61 69 6c 65 64 2e 5c 72 5c 6e 5c  dy\sfailed.\r\n\
06b0: 72 5c 6e 54 68 65 5c 73 65 72 72 6f 72 5c 73 68  r\nThe\serror\sh
06c0: 61 6e 64 6c 69 6e 67 5c 73 69 6e 5c 73 74 6c 73  andling\sin\stls
06d0: 49 4f 2e 63 5c 73 74 68 69 6e 6b 73 5c 73 74 68  IO.c\sthinks\sth
06e0: 65 5c 73 65 72 72 6f 72 5c 73 73 68 6f 75 6c 64  e\serror\sshould
06f0: 5c 73 68 61 76 65 5c 73 61 5c 73 72 65 74 72 79  \shave\sa\sretry
0700: 5c 73 61 6e 64 5c 73 65 6e 64 73 5c 73 75 70 5c  \sand\sends\sup\
0710: 73 6c 6f 6f 70 69 6e 67 5c 73 66 6f 72 65 76 65  slooping\sforeve
0720: 72 5c 73 67 65 74 74 69 6e 67 5c 73 74 68 65 5c  r\sgetting\sthe\
0730: 73 73 61 6d 65 5c 73 65 72 72 6f 72 5c 73 65 61  ssame\serror\sea
0740: 63 68 5c 73 74 69 6d 65 2e 0a 4a 20 6c 6f 67 69  ch\stime..J logi
0750: 6e 20 61 6e 6f 6e 79 6d 6f 75 73 0a 4a 20 6d 69  n anonymous.J mi
0760: 6d 65 74 79 70 65 20 74 65 78 74 2f 68 74 6d 6c  metype text/html
0770: 0a 4a 20 70 72 69 76 61 74 65 5f 63 6f 6e 74 61  .J private_conta
0780: 63 74 20 33 31 39 34 30 39 61 62 36 61 30 62 63  ct 319409ab6a0bc
0790: 33 31 64 32 61 30 64 61 36 37 62 34 39 62 38 33  31d2a0da67b49b83
07a0: 62 30 62 33 33 64 35 34 30 35 38 0a 4a 20 73 65  b0b33d54058.J se
07b0: 76 65 72 69 74 79 20 43 72 69 74 69 63 61 6c 0a  verity Critical.
07c0: 4a 20 73 74 61 74 75 73 20 4f 70 65 6e 0a 4a 20  J status Open.J 
07d0: 74 69 74 6c 65 20 74 63 6c 74 6c 73 2d 32 2e 30  title tcltls-2.0
07e0: 2e 62 31 5c 73 69 6e 66 69 6e 69 74 65 5c 73 6c  .b1\sinfinite\sl
07f0: 6f 6f 70 5c 73 69 6e 5c 73 54 6c 73 5f 57 61 69  oop\sin\sTls_Wai
0800: 74 46 6f 72 43 6f 6e 6e 65 63 74 0a 4a 20 74 79  tForConnect.J ty
0810: 70 65 20 43 6f 64 65 5c 73 44 65 66 65 63 74 0a  pe Code\sDefect.
0820: 4b 20 36 61 36 33 63 31 36 35 64 38 37 36 63 30  K 6a63c165d876c0
0830: 38 37 39 65 32 63 30 35 66 34 38 32 36 62 64 39  879e2c05f4826bd9
0840: 33 31 65 37 38 64 36 63 31 33 0a 55 20 61 6e 6f  31e78d6c13.U ano
0850: 6e 79 6d 6f 75 73 0a 5a 20 35 33 65 63 62 30 31  nymous.Z 53ecb01
0860: 33 33 35 38 35 61 32 61 61 32 61 35 39 35 62 30  33585a2aa2a595b0
0870: 34 31 33 39 38 38 37 38 39 0a                    413988789.