Commit fdf13ca
committed
gh-157254: Preserve email content on failure and reject unsupported bytes CTEs
Failed content setup, such as an unknown charset, can discard an existing message's content or leave its parent converted to multipart. Restore the original headers and payload when a content handler raises, and prepare new parts before converting their parent while preserving conversion error precedence.
Reject unsupported bytes content-transfer encodings with ValueError instead of emitting an unrecognized Content-Transfer-Encoding header.1 parent c700121 commit fdf13ca
5 files changed
Lines changed: 129 additions & 9 deletions
File tree
- Lib
- email
- test/test_email
- Misc/NEWS.d/next/Library
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
39 | 46 | | |
40 | 47 | | |
41 | 48 | | |
| |||
234 | 241 | | |
235 | 242 | | |
236 | 243 | | |
| 244 | + | |
| 245 | + | |
237 | 246 | | |
238 | 247 | | |
239 | 248 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1144 | 1144 | | |
1145 | 1145 | | |
1146 | 1146 | | |
1147 | | - | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
1148 | 1154 | | |
1149 | 1155 | | |
1150 | 1156 | | |
1151 | 1157 | | |
1152 | 1158 | | |
1153 | 1159 | | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
1154 | 1163 | | |
1155 | 1164 | | |
1156 | 1165 | | |
| |||
1172 | 1181 | | |
1173 | 1182 | | |
1174 | 1183 | | |
1175 | | - | |
| 1184 | + | |
| 1185 | + | |
1176 | 1186 | | |
1177 | 1187 | | |
1178 | | - | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
1179 | 1191 | | |
1180 | 1192 | | |
1181 | | - | |
| 1193 | + | |
| 1194 | + | |
1182 | 1195 | | |
1183 | 1196 | | |
1184 | | - | |
1185 | | - | |
1186 | | - | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
1187 | 1202 | | |
1188 | 1203 | | |
1189 | 1204 | | |
1190 | 1205 | | |
| 1206 | + | |
| 1207 | + | |
1191 | 1208 | | |
1192 | 1209 | | |
1193 | 1210 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
134 | 148 | | |
135 | 149 | | |
136 | 150 | | |
| |||
145 | 159 | | |
146 | 160 | | |
147 | 161 | | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
148 | 187 | | |
149 | 188 | | |
150 | 189 | | |
| |||
725 | 764 | | |
726 | 765 | | |
727 | 766 | | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
728 | 778 | | |
729 | 779 | | |
730 | 780 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
709 | 709 | | |
710 | 710 | | |
711 | 711 | | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
712 | 752 | | |
713 | 753 | | |
714 | 754 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
0 commit comments