/usr/lib/python3/dist-packages/twisted/web/test/__pycache__
Edit: /usr/lib/python3/dist-packages/twisted/web/test/__pycache__/injectionhelpers.cpython-310.pyc (5656B)
o
b @ sX d Z ddlZeeddeeejd ZeeddZG dd dZG dd d Z dS )
zF
Helpers for URI and method injection tests.
@see: U{CVE-2019-12387}
N ascii c @ s0 e Zd ZdZdd Zdd Zdd Zdd Zd
S )MethodInjectionTestsMixina9
A mixin that runs HTTP method injection tests. Define
L{MethodInjectionTestsMixin.attemptRequestWithMaliciousMethod} in
a L{twisted.trial.unittest.SynchronousTestCase} subclass to test
how HTTP client code behaves when presented with malicious HTTP
methods.
@see: U{CVE-2019-12387}
c C t )z
Attempt to send a request with the given method. This should
synchronously raise a L{ValueError} if either is invalid.
@param method: the method (e.g. C{GET })
@param uri: the URI
@type method:
NotImplementedErrorselfmethod r C/usr/lib/python3/dist-packages/twisted/web/test/injectionhelpers.py!attemptRequestWithMaliciousMethod s z;MethodInjectionTestsMixin.attemptRequestWithMaliciousMethodc C N | t}d}| | W d n1 sw Y | t|jd dS )z
Issuing a request with a method that contains a carriage
return and line feed fails with a L{ValueError}.
s GET
X-Injected-Header: valueN^Invalid method)assertRaises
ValueErrorr assertRegexstr exception)r
cmr r r r
test_methodWithCLRFRejected(
z5MethodInjectionTestsMixin.test_methodWithCLRFRejectedc C d t D ]-}dt|gf }| t
}| | W d n1 s!w Y | t|jd qdS )z
Issuing a request with a method that contains unprintable
ASCII characters fails with a L{ValueError}.
GET%sNr )UNPRINTABLE_ASCII bytearrayr r r r r r r
cr r r r r
'test_methodWithUnprintableASCIIRejected2 zAMethodInjectionTestsMixin.test_methodWithUnprintableASCIIRejectedc C r )zx
Issuing a request with a method that contains non-ASCII
characters fails with a L{ValueError}.
r Nr )NONASCIIr r r r r r r r r r r
test_methodWithNonASCIIRejected= r z9MethodInjectionTestsMixin.test_methodWithNonASCIIRejectedN)__name__
__module____qualname____doc__r r r r" r r r r
r s
r c @ sH e Zd ZdZdd Zdd Zdd Zdd Zd
d Zdd
Z dd Z
dS )URIInjectionTestsMixina
A mixin that runs HTTP URI injection tests. Define
L{MethodInjectionTestsMixin.attemptRequestWithMaliciousURI} in a
L{twisted.trial.unittest.SynchronousTestCase} subclass to test how
HTTP client code behaves when presented with malicious HTTP
URIs.
c C r )z
Attempt to send a request with the given URI. This should
synchronously raise a L{ValueError} if either is invalid.
@param uri: the URI.
@type method:
r r r r r
attemptRequestWithMaliciousURIR s z5URIInjectionTestsMixin.attemptRequestWithMaliciousURIc C r )z
Issuing a request with a URI whose host contains a carriage
return and line feed fails with a L{ValueError}.
s http://twisted
.invalid/pathN^Invalid URIr r r( r r r r
r urir r r
test_hostWithCRLFRejected] r z0URIInjectionTestsMixin.test_hostWithCRLFRejectedc C r )z
Issuing a request with a URI whose host contains unprintable
ASCII characters fails with a L{ValueError}.
http://twisted%s.invalid/OKNr) r r r r r( r r r r
r r, r r r r
)test_hostWithWithUnprintableASCIIRejectedg r z@URIInjectionTestsMixin.test_hostWithWithUnprintableASCIIRejectedc C r )z{
Issuing a request with a URI whose host contains non-ASCII
characters fails with a L{ValueError}.
r. Nr) r! r r r r( r r r r0 r r r
test_hostWithNonASCIIRejectedr r z4URIInjectionTestsMixin.test_hostWithNonASCIIRejectedc C r )z
Issuing a request with a URI whose path contains a carriage
return and line feed fails with a L{ValueError}.
s http://twisted.invalid/
pathNr) r* r+ r r r
test_pathWithCRLFRejected} r z0URIInjectionTestsMixin.test_pathWithCRLFRejectedc C r )z
Issuing a request with a URI whose path contains unprintable
ASCII characters fails with a L{ValueError}.
http://twisted.invalid/OK%sNr) r/ r0 r r r
)test_pathWithWithUnprintableASCIIRejected r z@URIInjectionTestsMixin.test_pathWithWithUnprintableASCIIRejectedc C r )z{
Issuing a request with a URI whose path contains non-ASCII
characters fails with a L{ValueError}.
r5 Nr) r2 r0 r r r
test_pathWithNonASCIIRejected r z4URIInjectionTestsMixin.test_pathWithNonASCIIRejectedN)r# r$ r% r&