Hex Artifact Content

Artifact 515aa59d81d5f5c1a9c81677f6d92e7aeb8fce674a2cff86531ce1589cf709bf:

Ticket change [515aa59d81] - Ticket [88c0c8496999c48f|88c0c84969] <i>EOF handling potentially broken with OpenSSL 1.1.1e or newer</i> status still Open with 5 other changes by azazel on 2023-11-10 21:15:10.
0000: 44 20 32 30 32 33 2d 31 31 2d 31 30 54 32 31 3a  D 2023-11-10T21:
0010: 31 35 3a 31 30 2e 35 39 33 0a 4a 20 69 63 6f 6d  15:10.593.J icom
0020: 6d 65 6e 74 20 54 68 65 72 65 5c 73 69 73 5c 73  ment There\sis\s
0030: 61 6e 5c 73 53 53 4c 5c 73 6f 70 74 69 6f 6e 5c  an\sSSL\soption\
0040: 73 67 6f 76 65 72 6e 69 6e 67 5c 73 74 68 69 73  sgoverning\sthis
0050: 5c 73 62 65 68 61 76 69 6f 75 72 3a 5c 73 60 53  \sbehaviour:\s`S
0060: 53 4c 5f 4f 50 5f 49 47 4e 4f 52 45 5f 55 4e 45  SL_OP_IGNORE_UNE
0070: 58 50 45 43 54 45 44 5f 45 4f 46 60 2e 5c 73 5c  XPECTED_EOF`.\s\
0080: 73 54 68 65 72 65 5c 73 61 72 65 5c 73 72 65 61  sThere\sare\srea
0090: 73 6f 6e 73 5c 73 77 68 79 5c 73 4f 70 65 6e 53  sons\swhy\sOpenS
00a0: 53 4c 5c 73 6d 61 64 65 5c 73 74 68 69 73 5c 73  SL\smade\sthis\s
00b0: 63 68 61 6e 67 65 2e 5c 73 5c 73 53 65 65 3a 5c  change.\s\sSee:\
00c0: 72 5c 6e 5c 72 5c 6e 2a 5c 73 68 74 74 70 73 3a  r\n\r\n*\shttps:
00d0: 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 70 65  //github.com/ope
00e0: 6e 73 73 6c 2f 6f 70 65 6e 73 73 6c 2f 69 73 73  nssl/openssl/iss
00f0: 75 65 73 2f 31 30 38 38 30 5c 72 5c 6e 2a 5c 73  ues/10880\r\n*\s
0100: 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63  https://github.c
0110: 6f 6d 2f 6f 70 65 6e 73 73 6c 2f 6f 70 65 6e 73  om/openssl/opens
0120: 73 6c 2f 70 75 6c 6c 2f 31 30 38 38 32 5c 72 5c  sl/pull/10882\r\
0130: 6e 5c 72 5c 6e 4d 79 5c 73 69 6e 69 74 69 61 6c  n\r\nMy\sinitial
0140: 5c 73 74 68 6f 75 67 68 74 5c 73 77 61 73 5c 73  \sthought\swas\s
0150: 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 5c  unconditionally\
0160: 73 74 6f 5c 73 73 65 74 5c 73 74 68 65 5c 73 6f  sto\sset\sthe\so
0170: 70 74 69 6f 6e 3a 5c 72 5c 6e 5c 72 5c 6e 5c 74  ption:\r\n\r\n\t
0180: 2d 2d 2d 5c 73 74 6c 73 2e 63 5c 72 5c 6e 5c 74  ---\stls.c\r\n\t
0190: 2b 2b 2b 5c 73 74 6c 73 2e 63 5c 72 5c 6e 5c 74  +++\stls.c\r\n\t
01a0: 40 40 5c 73 2d 31 32 31 32 2c 31 30 5c 73 2b 31  @@\s-1212,10\s+1
01b0: 32 31 32 2c 31 33 5c 73 40 40 5c 72 5c 6e 5c 74  212,13\s@@\r\n\t
01c0: 5c 73 23 65 6e 64 69 66 5c 72 5c 6e 5c 74 5c 73  \s#endif\r\n\t\s
01d0: 5c 73 5c 73 5c 73 5c 73 5c 72 5c 6e 5c 74 5c 73  \s\s\s\s\r\n\t\s
01e0: 5c 73 5c 73 5c 73 5c 73 53 53 4c 5f 43 54 58 5f  \s\s\s\sSSL_CTX_
01f0: 73 65 74 5f 61 70 70 5f 64 61 74 61 28 5c 73 63  set_app_data(\sc
0200: 74 78 2c 5c 73 28 56 4f 49 44 2a 29 69 6e 74 65  tx,\s(VOID*)inte
0210: 72 70 29 3b 5c 73 2f 2a 5c 73 72 65 6d 65 6d 62  rp);\s/*\srememb
0220: 65 72 5c 73 74 68 65 5c 73 69 6e 74 65 72 70 72  er\sthe\sinterpr
0230: 65 74 65 72 5c 73 2a 2f 5c 72 5c 6e 5c 74 5c 73  eter\s*/\r\n\t\s
0240: 5c 73 5c 73 5c 73 5c 73 53 53 4c 5f 43 54 58 5f  \s\s\s\sSSL_CTX_
0250: 73 65 74 5f 6f 70 74 69 6f 6e 73 28 5c 73 63 74  set_options(\sct
0260: 78 2c 5c 73 53 53 4c 5f 4f 50 5f 41 4c 4c 29 3b  x,\sSSL_OP_ALL);
0270: 5c 73 5c 73 5c 73 5c 73 5c 73 2f 2a 5c 73 61 6c  \s\s\s\s\s/*\sal
0280: 6c 5c 73 53 53 4c 5c 73 62 75 67 5c 73 77 6f 72  l\sSSL\sbug\swor
0290: 6b 61 72 6f 75 6e 64 73 5c 73 2a 2f 5c 72 5c 6e  karounds\s*/\r\n
02a0: 5c 74 5c 73 5c 73 5c 73 5c 73 5c 73 53 53 4c 5f  \t\s\s\s\s\sSSL_
02b0: 43 54 58 5f 73 65 74 5f 6f 70 74 69 6f 6e 73 28  CTX_set_options(
02c0: 5c 73 63 74 78 2c 5c 73 6f 66 66 29 3b 5c 73 5c  \sctx,\soff);\s\
02d0: 73 5c 73 5c 73 2f 2a 5c 73 61 6c 6c 5c 73 53 53  s\s\s/*\sall\sSS
02e0: 4c 5c 73 62 75 67 5c 73 77 6f 72 6b 61 72 6f 75  L\sbug\sworkarou
02f0: 6e 64 73 5c 73 2a 2f 5c 72 5c 6e 5c 74 2b 23 69  nds\s*/\r\n\t+#i
0300: 66 64 65 66 5c 73 53 53 4c 5f 4f 50 5f 49 47 4e  fdef\sSSL_OP_IGN
0310: 4f 52 45 5f 55 4e 45 58 50 45 43 54 45 44 5f 45  ORE_UNEXPECTED_E
0320: 4f 46 5c 72 5c 6e 5c 74 2b 5c 73 5c 73 5c 73 5c  OF\r\n\t+\s\s\s\
0330: 73 53 53 4c 5f 43 54 58 5f 73 65 74 5f 6f 70 74  sSSL_CTX_set_opt
0340: 69 6f 6e 73 28 5c 73 63 74 78 2c 5c 73 53 53 4c  ions(\sctx,\sSSL
0350: 5f 4f 50 5f 49 47 4e 4f 52 45 5f 55 4e 45 58 50  _OP_IGNORE_UNEXP
0360: 45 43 54 45 44 5f 45 4f 46 29 3b 5c 72 5c 6e 5c  ECTED_EOF);\r\n\
0370: 74 2b 23 65 6e 64 69 66 5c 72 5c 6e 5c 74 5c 73  t+#endif\r\n\t\s
0380: 5c 73 5c 73 5c 73 5c 73 53 53 4c 5f 43 54 58 5f  \s\s\s\sSSL_CTX_
0390: 73 65 73 73 5f 73 65 74 5f 63 61 63 68 65 5f 73  sess_set_cache_s
03a0: 69 7a 65 28 5c 73 63 74 78 2c 5c 73 31 32 38 29  ize(\sctx,\s128)
03b0: 3b 5c 72 5c 6e 5c 74 5c 73 5c 72 5c 6e 5c 74 5c  ;\r\n\t\s\r\n\t\
03c0: 73 5c 73 5c 73 5c 73 5c 73 69 66 5c 73 28 63 69  s\s\s\s\sif\s(ci
03d0: 70 68 65 72 73 5c 73 21 3d 5c 73 4e 55 4c 4c 29  phers\s!=\sNULL)
03e0: 5c 72 5c 6e 5c 74 5c 73 5c 73 5c 73 5c 73 5c 73  \r\n\t\s\s\s\s\s
03f0: 5c 73 5c 73 5c 73 53 53 4c 5f 43 54 58 5f 73 65  \s\s\sSSL_CTX_se
0400: 74 5f 63 69 70 68 65 72 5f 6c 69 73 74 28 63 74  t_cipher_list(ct
0410: 78 2c 5c 73 63 69 70 68 65 72 73 29 3b 5c 72 5c  x,\sciphers);\r\
0420: 6e 5c 74 5c 73 5c 72 5c 6e 5c 72 5c 6e 48 6f 77  n\t\s\r\n\r\nHow
0430: 65 76 65 72 2c 5c 73 67 69 76 65 6e 5c 73 74 68  ever,\sgiven\sth
0440: 61 74 5c 73 74 68 69 73 5c 73 63 68 61 6e 67 65  at\sthis\schange
0450: 5c 73 69 6e 5c 73 62 65 68 61 76 69 6f 75 72 5c  \sin\sbehaviour\
0460: 73 77 61 73 5c 73 69 6e 74 65 6e 64 65 64 5c 73  swas\sintended\s
0470: 74 6f 5c 73 72 65 76 65 61 6c 5c 73 65 72 72 6f  to\sreveal\serro
0480: 72 73 5c 73 74 68 61 74 5c 73 77 65 72 65 5c 73  rs\sthat\swere\s
0490: 70 72 65 76 69 6f 75 73 6c 79 5c 73 75 6e 72 65  previously\sunre
04a0: 70 6f 72 74 65 64 2c 5c 73 49 5c 73 74 68 69 6e  ported,\sI\sthin
04b0: 6b 5c 73 69 74 5c 73 6d 61 79 5c 73 6d 61 6b 65  k\sit\smay\smake
04c0: 5c 73 73 65 6e 73 65 5c 73 74 6f 5c 73 61 64 64  \ssense\sto\sadd
04d0: 5c 73 61 6e 5c 73 6f 70 74 69 6f 6e 5c 73 28 74  \san\soption\s(t
04e0: 68 69 73 5c 73 69 73 5c 73 77 68 61 74 5c 73 6f  his\sis\swhat\so
04f0: 70 65 6e 73 73 6c 5c 73 64 69 64 5c 73 66 6f 72  penssl\sdid\sfor
0500: 5c 73 73 5f 63 6c 69 65 6e 74 29 3a 5c 73 5f 65  \ss_client):\s_e
0510: 2e 67 2e 5f 2c 5c 73 60 2d 69 67 6e 6f 72 65 75  .g._,\s`-ignoreu
0520: 6e 65 78 70 65 63 74 65 64 65 6f 66 5c 73 62 6f  nexpectedeof\sbo
0530: 6f 6c 60 2e 5c 73 5c 73 54 68 65 5c 73 6e 65 78  ol`.\s\sThe\snex
0540: 74 5c 73 71 75 65 73 74 69 6f 6e 5c 73 69 73 5c  t\squestion\sis\
0550: 73 77 68 65 74 68 65 72 5c 73 74 6f 5c 73 64 65  swhether\sto\sde
0560: 66 61 75 6c 74 5c 73 69 74 5c 73 74 6f 5c 73 74  fault\sit\sto\st
0570: 72 75 65 5c 73 6f 72 5c 73 66 61 6c 73 65 2e 5c  rue\sor\sfalse.\
0580: 73 5c 73 54 6f 5c 73 70 72 65 73 65 72 76 65 5c  s\sTo\spreserve\
0590: 73 62 61 63 6b 77 61 72 64 73 5c 73 63 6f 6d 70  sbackwards\scomp
05a0: 61 74 69 62 69 6c 69 74 79 5c 73 61 6e 64 5c 73  atibility\sand\s
05b0: 62 65 5c 73 6c 69 62 65 72 61 6c 5c 73 69 6e 5c  be\sliberal\sin\
05c0: 73 77 68 61 74 5c 73 77 65 5c 73 61 63 63 65 70  swhat\swe\saccep
05d0: 74 2c 5c 73 6d 79 5c 73 69 6e 63 6c 69 6e 61 74  t,\smy\sinclinat
05e0: 69 6f 6e 5c 73 77 6f 75 6c 64 5c 73 62 65 5c 73  ion\swould\sbe\s
05f0: 74 6f 5c 73 64 65 66 61 75 6c 74 5c 73 74 6f 5c  to\sdefault\sto\
0600: 73 74 72 75 65 2e 0a 4a 20 6c 6f 67 69 6e 20 61  strue..J login a
0610: 7a 61 7a 65 6c 0a 4a 20 6d 69 6d 65 74 79 70 65  zazel.J mimetype
0620: 20 74 65 78 74 2f 78 2d 6d 61 72 6b 64 6f 77 6e   text/x-markdown
0630: 0a 4a 20 70 72 69 6f 72 69 74 79 20 49 6d 6d 65  .J priority Imme
0640: 64 69 61 74 65 0a 4a 20 72 65 73 6f 6c 75 74 69  diate.J resoluti
0650: 6f 6e 20 4f 70 65 6e 0a 4b 20 38 38 63 30 63 38  on Open.K 88c0c8
0660: 34 39 36 39 39 39 63 34 38 66 35 31 33 65 62 34  496999c48f513eb4
0670: 66 39 37 61 61 61 30 61 63 39 38 32 39 62 33 35  f97aaa0ac9829b35
0680: 64 33 0a 55 20 61 7a 61 7a 65 6c 0a 5a 20 64 65  d3.U azazel.Z de
0690: 30 62 31 61 61 33 38 38 30 33 66 35 39 64 31 64  0b1aa38803f59d1d
06a0: 37 62 38 33 35 32 35 61 64 39 30 34 31 33 0a     7b83525ad90413.