mirror of https://github.com/python/cpython
gh-93010: InvalidHeaderError used but nonexistent (GH-93015)
* fix issue 93010
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
(cherry picked from commit 71abeb0895
)
Co-authored-by: oda-gitso <105083118+oda-gitso@users.noreply.github.com>
This commit is contained in:
parent
fc31e2de3c
commit
a509d2674a
|
@ -2379,7 +2379,7 @@ def get_section(value):
|
||||||
digits += value[0]
|
digits += value[0]
|
||||||
value = value[1:]
|
value = value[1:]
|
||||||
if digits[0] == '0' and digits != '0':
|
if digits[0] == '0' and digits != '0':
|
||||||
section.defects.append(errors.InvalidHeaderError(
|
section.defects.append(errors.InvalidHeaderDefect(
|
||||||
"section number has an invalid leading 0"))
|
"section number has an invalid leading 0"))
|
||||||
section.number = int(digits)
|
section.number = int(digits)
|
||||||
section.append(ValueTerminal(digits, 'digits'))
|
section.append(ValueTerminal(digits, 'digits'))
|
||||||
|
|
|
@ -19,24 +19,25 @@ import email
|
||||||
import email.policy
|
import email.policy
|
||||||
|
|
||||||
from email.charset import Charset
|
from email.charset import Charset
|
||||||
from email.header import Header, decode_header, make_header
|
|
||||||
from email.parser import Parser, HeaderParser
|
|
||||||
from email.generator import Generator, DecodedGenerator, BytesGenerator
|
from email.generator import Generator, DecodedGenerator, BytesGenerator
|
||||||
|
from email.header import Header, decode_header, make_header
|
||||||
|
from email.headerregistry import HeaderRegistry
|
||||||
from email.message import Message
|
from email.message import Message
|
||||||
from email.mime.application import MIMEApplication
|
from email.mime.application import MIMEApplication
|
||||||
from email.mime.audio import MIMEAudio
|
from email.mime.audio import MIMEAudio
|
||||||
from email.mime.text import MIMEText
|
|
||||||
from email.mime.image import MIMEImage
|
|
||||||
from email.mime.base import MIMEBase
|
from email.mime.base import MIMEBase
|
||||||
|
from email.mime.image import MIMEImage
|
||||||
from email.mime.message import MIMEMessage
|
from email.mime.message import MIMEMessage
|
||||||
from email.mime.multipart import MIMEMultipart
|
from email.mime.multipart import MIMEMultipart
|
||||||
from email.mime.nonmultipart import MIMENonMultipart
|
from email.mime.nonmultipart import MIMENonMultipart
|
||||||
from email import utils
|
from email.mime.text import MIMEText
|
||||||
from email import errors
|
from email.parser import Parser, HeaderParser
|
||||||
from email import encoders
|
|
||||||
from email import iterators
|
|
||||||
from email import base64mime
|
from email import base64mime
|
||||||
|
from email import encoders
|
||||||
|
from email import errors
|
||||||
|
from email import iterators
|
||||||
from email import quoprimime
|
from email import quoprimime
|
||||||
|
from email import utils
|
||||||
|
|
||||||
from test.support import threading_helper
|
from test.support import threading_helper
|
||||||
from test.support.os_helper import unlink
|
from test.support.os_helper import unlink
|
||||||
|
@ -5541,7 +5542,12 @@ class TestSigned(TestEmailBase):
|
||||||
result = fp.getvalue()
|
result = fp.getvalue()
|
||||||
self._signed_parts_eq(original, result)
|
self._signed_parts_eq(original, result)
|
||||||
|
|
||||||
|
class TestHeaderRegistry(TestEmailBase):
|
||||||
|
# See issue gh-93010.
|
||||||
|
def test_HeaderRegistry(self):
|
||||||
|
reg = HeaderRegistry()
|
||||||
|
a = reg('Content-Disposition', 'attachment; 0*00="foo"')
|
||||||
|
self.assertIsInstance(a.defects[0], errors.InvalidHeaderDefect)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
In a very special case, the email package tried to append the nonexistent ``InvalidHeaderError`` to the defect list. It should have been ``InvalidHeaderDefect``.
|
Loading…
Reference in New Issue