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.