ftw

View on PyPIReverse Dependencies (0)

1.3.0 ftw-1.3.0-py3-none-any.whl

Wheel Details

Project: ftw
Version: 1.3.0
Filename: ftw-1.3.0-py3-none-any.whl
Download: [link]
Size: 152853
MD5: e8abed72268647670567da21f8228fb2
SHA256: f64a871a202a7b5304d0de5296c147c0375bbf4833687eb493a46d6c337b74c3
Uploaded: 2022-03-29 12:56:20 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: ftw
Version: 1.3.0
Summary: Framework for Testing WAFs
Author: Chaim Sanders, Zack Allen
Author-Email: zma4580[at]gmail.com, chaim.sanders[at]gmail.com
Home-Page: https://github.com/coreruleset/ftw
Project-Url: Bug Tracker, https://github.com/coreruleset/ftw/issues
Keywords: waf
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Framework :: Pytest
Requires-Python: >=3.6
Requires-Dist: Brotli (==1.0.9)
Requires-Dist: IPy (==1.01)
Requires-Dist: PyYAML (==6.0)
Requires-Dist: pytest (==6.2.5)
Requires-Dist: python-dateutil (==2.8.2)
Description-Content-Type: text/markdown
License-File: LICENSE
[Description omitted; length: 2655 characters]

WHEEL

Wheel-Version: 1.0
Generator: bdist_wheel (0.37.1)
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
ftw/__init__.py sha256=_3y6nXdcION8gMISNyxWIEZxJoCZi6WebR9BvELDkjo 196
ftw/errors.py sha256=RBElQ3Vu17h5gkgXLqs-9idJ2qN6DLK_312jWzuaSJs 142
ftw/http.py sha256=Mm9IRIk9acwio_20H4qmZzCAekL8TDpbkycSw7cXArQ 23372
ftw/logchecker.py sha256=cB65b6iRl1OaSOeMAQIX3VMscK0NjbGLde13ZsbkJm4 1110
ftw/pytest_plugin.py sha256=9YWbd1l7eUXqfXhV4h3JAE2on7jCkIB1gmIMVAZF5ec 4562
ftw/ruleset.py sha256=vOyXwVH1nGJCWmWJdB-YRQjxY55YdGOfD11HB0jHaNg 7899
ftw/testrunner.py sha256=DFEwllsfx_aoLusr5q_qy4KUm6hgjFlaitKKNoNGL3s 8758
ftw/util.py sha256=Lf7xKrGMUecrGz6GeaEiAIHltL7zFIu7SSwZ5KZYSBs 3412
ftw/util/ironbee.py sha256=u_9-YQERcrCil5GnBtYPkRVI_JtTh-CSEJJq3qyudgw 765
ftw/util/public_suffix_list.dat sha256=Tc8vgGEbdHiFPkZjbZm9-J87ZpmX4TdPXLvt_JmVkhc 227456
ftw/util/request_to_yaml.py sha256=wzEivCVjWCNSl1VgXiMQyDnOwMTn9MCncVCJcv9Bdtc 2039
ftw/util/output/b00-01-normal.yaml sha256=bV0aFZpaP4v3cXhrOtTx7SP3igYXN1kbm1DDnYxY4gc 281
ftw/util/output/b01-01-query-string.yaml sha256=uY8ioS7f3fA5jRXNou1OAVmGB7DUaye69fexur92J0k 298
ftw/util/output/b02-01-request-hostname-uri.yaml sha256=xLxOwye51diNnZ5Rs2RjmjGrxpY4UcDlCANrJAdCUYI 306
ftw/util/output/b02-02-request-hostname-header.yaml sha256=kPs3c_aXBn-GlQ_47X2p7aGla0tFn6LRTWQa5qUafSs 313
ftw/util/output/b03-01-header.yaml sha256=d6odBPh6USucbafUq9zh9WBw5eGgwaVhGfHCxGcZtLI 309
ftw/util/output/b03-02-header-user-agent.yaml sha256=DR2N0TI0qcLczOA0V7H1A7p6VWcktisFB5WBEidmmLU 315
ftw/util/output/b03-03-header-referer.yaml sha256=yH9MFQj52CCOe8rgnyGWCRhSHXAvFlAZJQKVlfY-MpI 312
ftw/util/output/b03-04-header-cookie.yaml sha256=ESMyajef6-1rivSI5nyJF5H-TKh7jcjxmVc1YA-vMSs 316
ftw/util/output/b03-05-header-authorization-username.yaml sha256=hDuZJMs8fHlk7yykOfLMBVgj0KARPfO47FikvMEx6Aw 334
ftw/util/output/b03-06-header-authorization-password.yaml sha256=KnzLhHis1zcvGqeqHbTkoeVmp9SoSsx913_MJ-NjkgU 334
ftw/util/output/b04-01-request-filename.yaml sha256=X44Jh-hFuPz6imPvNvJdgXm9VtUS9V54KbiEJqVPoQ4 299
ftw/util/output/b05-01-request-method.yaml sha256=q0aA4cFDbOEDlQ33fNDD0rRA5Esin7-3BWygYGOteqo 296
ftw/util/output/b06-01-request-protocol.yaml sha256=5oIeUCJvPbk2DEfeYYimuduEd_mZBszdI9TmuxZ12pg 295
ftw/util/output/b07-01-trailing-header-cookie.yaml sha256=oCvk5XPN8zAzjfUXjUqJQFa5_8kt2U5yyKkz04fgyVk 516
ftw/util/output/b08-01-request-body-urlencoded-param-value.yaml sha256=tBbPq811g9gg31PXo8bwz_JtXaC44CVu3w1oWzec9eQ 428
ftw/util/output/b08-02-request-body-urlencoded-param-name.yaml sha256=jhb8UPqU-FwTsBH39Rm4vnfhWVPQNoDW3rYBXEpxsgE 429
ftw/util/output/b09-01-request-body-json.yaml sha256=9zFxSumWJMjFED7gGpPSe_PzrgpP0MPcQQmPi4JdjV0 444
ftw/util/output/b10-01-multipart-preamble.yaml sha256=OtHKOhJ3u5NyesRSi4rHJSbq-7reFyYTzAwfgSaUNYQ 773
ftw/util/output/b10-02-multipart-param-name.yaml sha256=ffx4ZuTCrOdX5n6JcLQqGq-wIqXJRS_fKFQXfhOX2UE 767
ftw/util/output/b10-03-multipart-param-filename.yaml sha256=bJVRPoNkrMrQVH5xDtogCkSllPcQLjk22b4u9kJtoFU 758
ftw/util/output/b10-04-multipart-file-contents.yaml sha256=eNtDQSe3lyHcLez-yQZXkhLHdxZKyUrl5uaMcL7FgW4 757
ftw/util/output/b10-05-multipart-epilogue.yaml sha256=LvEp4EYdXgqGb_8TeAl9S28K9Rm1uXLgzzfuvPIkBoA 776
ftw/util/output/m00-01-normal.yaml sha256=fFDzY_ek28NRflF2bbZPBinHL0m2ssC9OpIoYgLDUpI 782
ftw/util/output/m01-01-invalid-separator.yaml sha256=-Jqums9lul_T2KEvVq2Txf14HaHkitcE0ufkZBelIgo 782
ftw/util/output/m01-02-invalid-separator.yaml sha256=u3RvgVEQohcN4KMTcH0YjXlKoSNqyOVuZB6u2XOFGdI 781
ftw/util/output/m02-01-invalid-parameter-name.yaml sha256=z07Asg1iVzW3XN_0V9np-cTTfV1DJeKIH1sycfJZ2Uw 782
ftw/util/output/m02-02-invalid-parameter-name.yaml sha256=Bh1crFm7shDmRw6ThsZ5njfXaOdYDUuQitShTennU5M 785
ftw/util/output/m03-01-multiple-boundaries.yaml sha256=Ama5kdHwGxs0pfC1B6mhQQDNWBp3AFbktjsHxZ4BxEE 797
ftw/util/output/m03-02-multiple-boundaries.yaml sha256=GKkXmmC0zMc-MbKUKXEuGRdJT5TRxD6ICDsgRediAmM 771
ftw/util/output/m03-03-multiple-boundaries.yaml sha256=hw3I1d-TQ2L_BrhfAQgjJOBk4kMwuGkvpO0nCexW2yE 797
ftw/util/output/m03-04-multiple-boundaries.yaml sha256=Co8d0z3GqTIrQdCNvuGe41DeeidbEYZz0rLP7ok8HkU 774
ftw/util/output/m04-whitespace-after-parameter-name.yaml sha256=hToL-eK5Qr7l5_-KIHJEwwUVcF71CJ9GeheaEkjG5hg 783
ftw/util/output/m05-whitespace-before-parameter-value.yaml sha256=DYnQXNbUCB8XVy3u42WZoV3cCvD0fNwuEoh7Zc0WrRE 783
ftw/util/output/m06-whitespace-after-parameter-value.yaml sha256=3en0KlYxZAETvD0B9TG5EQjcNv9NnbADazkJCARvDRY 782
ftw/util/output/m07-01-special-chars-in-boundary.yaml sha256=_wHp0laSKDvC_-lpneBAbKF-sJwA9ewL5bG1NIJKUbw 787
ftw/util/output/m07-02-special-chars-in-boundary.yaml sha256=uHp4ArDjeQsg-P6rnHSRRAgY66hzOa6WrMFrt6mdrm0 787
ftw/util/output/m08-01-quoted-boundary.yaml sha256=VuIAymVcfMo8Cs4RYxmcubbRZI_LrLbp0SWVfi7jezE 784
ftw/util/output/m08-02-whitespace-in-quoted-boundary.yaml sha256=R2qaFcB82vjGq144cedsBErpFjoCBQZRpvl6u5bG3is 785
ftw/util/output/m08-03-whitespace-in-quoted-boundary.yaml sha256=6KjxQyA2aLJ_rAyes-evdsEWxHHXHzsbCkN0nZd8xSI 785
ftw/util/output/m08-04-quote-in-quoted-boundary.yaml sha256=vsZ0Js-miOP4qWVYc12smgyH42_ER6CbEjpqi4MwhrA 794
ftw/util/output/m08-05-quote-in-quoted-boundary.yaml sha256=eowpKn8y3ndSFJS60OKzPGhC_dyvs0iG9K-7m8mtqyE 794
ftw/util/output/m08-06-partial-quote.yaml sha256=V2c7jhNN2ST2rhLjT57LSypSc7RBXcjT10sHvW9_LrQ 783
ftw/util/output/m08-07-partial-quote.yaml sha256=tOLIcmONquM5AcoM6Mb_1UnDtvElDQE0008u1oH2mj4 783
ftw/util/output/m08-08-whitespace-after-boundary.yaml sha256=fFDzY_ek28NRflF2bbZPBinHL0m2ssC9OpIoYgLDUpI 782
ftw/util/output/m09-data-after-last-boundary.yaml sha256=qr2lcT4M7M6zeqC48ISamevPgLpZ_bxRgfK1ABYnbmc 912
ftw/util/output/m10-boundary-case-sensitivity.yaml sha256=igmMwNjqDOiReLXa6uFW1LS_tVKMzn4TpLgFwbMzSbQ 782
ftw/util/output/m11-01-invalid-multipart-type.yaml sha256=KCGfP2mVCtjA4K5sGPq34DyAlRbCV1Dq2TO-WrcXPv8 780
ftw/util/output/m11-02-invalid-multipart-type.yaml sha256=wtpcoZwd9uiJfxARcKDMu0EFqnq0w86XCWU2kRiVjr0 778
ftw/util/output/m11-03-invalid-multipart-type.yaml sha256=6zIKknphAsgQcuPr40oXxcoJk_TAErp_1fMNaCru69w 784
ftw/util/output/m11-04-invalid-multipart-type.yaml sha256=bKXg_V_iX_8SOW6rPjAh9v-HSahbPXYiw_sUiMTiWO8 779
ftw/util/output/m11-05-invalid-multipart-type.yaml sha256=w5afhwQCSyI2Au5lx2o8l8W-r396_2bjsRR01zdNlVY 782
ftw/util/output/m11-06-invalid-multipart-type.yaml sha256=efxrvmf2Hgw1OBaj3Zv8eAuuEY9DvJGkeu2LhhmMWh4 783
ftw/util/output/m11-07-invalid-multipart-type.yaml sha256=PJKNKkTTbpmWRxOHpSIIwFOUbJOM7SoOfD-hX-jsNlQ 787
ftw/util/output/m12-01-disposition-multiple-param-names.yaml sha256=JrZo-Pu6Cd71t0jhws2CseOkcofqgGw_yAyXTfDCGEA 798
ftw/util/output/m12-02-disposition-name-no-quotes.yaml sha256=mfZmB5JllSfUkZ315Q8KHYcUCIVPyh5gnKzl8BgOrjo 779
ftw/util/output/m12-03-disposition-name-single-quotes.yaml sha256=1qymbK5xiPiBjqS1AMmST2bIH0Lm_PGJVeTl7MBKE4A 780
ftw/util/output/m12-04-disposition-name-partial-quote.yaml sha256=iQRcUh0kWtKpjPP1FC5o2lUKUGkqWE7r3uZR0PZg-Vw 780
ftw/util/output/m12-05-disposition-name-partial-quote.yaml sha256=c3WsA4RPKZx_ovJ5plPFUnusZRb582TG8VNI_YBBYug 780
ftw/util/output/m13-01-disposition-folding.yaml sha256=umiLf19GSVNHH01SXL-9bTYIcx52IYLs1txQ5J2RYp8 788
ftw/util/output/m13-02-disposition-folding-isspace.yaml sha256=EVQsvPJoVOnoYzarhYFbzlklZdfBFk2VkC8GRPOPvAw 789
ftw/util/output/m13-03-disposition-folding.yaml sha256=YvMBsX7ZzTyAgkbwn92GnGaOOn7LDJzssfPf2-q8-60 789
ftw/util/output/m13-04-disposition-folding.yaml sha256=nV9RvYMfQ0MsliBgykhDpD6I2OgvuBv2YSZwZ9H2wIE 789
ftw/util/output/m13-05-disposition-folding.yaml sha256=pEOecuYcWDusV_82zvOnne0GCUzKNbMbE_lF6ndP0Y4 787
ftw/util/output/m13-06-disposition-folding.yaml sha256=x_5AmX4pxxmHKrvzSP-3YN7xI0Hy4nC2liuqaAkXf9E 784
ftw/util/output/m14-01-disposition-php-quoting.yaml sha256=ZglRnaRwyTwMzqmArRaUHcKBWGpkMjScRm5dr2KgXs4 803
ftw/util/output/m15-01-invalid-part.yaml sha256=5fn3KyVBQjE7UBGs-it-3Dq0jR0qyKyO-bvs5sEhbLk 877
ftw/util/output/m16-lf-line-endings.yaml sha256=pXGsQ1AbPkIDtrl3Xn_BxnJOZl2eqOA20cVIiEN4XZY 751
ftw/util/output/m17-01-first-boundary-lf.yaml sha256=kwPs9WxsZZgzwptCeMnbXEuwmim88HVYwPODWP3aTts 786
ftw/util/output/m17-02-first-boundary-crlf.yaml sha256=DaUZf4VgJqcrCL5bj06TYCguYD3roy1708lP7KPn1Ko 788
ftw/util/output/m18-cr-line.yaml sha256=x8i_TT0e6APVYSH9qTibfyH2FTyOzcxFTtcckomnt1g 775
ftw/util/output/m19-multiple-ct-headers.yaml sha256=CxuLg-ZBOonW34wpHu0qZOf2Ut5avxw1DE5ZhiOQHkU 761
ftw/util/output/path-00-baseline.yaml sha256=awHzVsXmdEnLs4ZxRZWj3GL02b8TepxvjdkNbthDcP4 285
ftw/util/output/path-01-url-encoding.yaml sha256=yNfmom114yWCcrD2S4ApoWZ6ZmZd-Zx4ha8RJySN8e4 287
ftw/util/output/path-02-u-encoding.yaml sha256=8RNnsMd-3Yr2P1JDpCaAHpkxTPuPArK7vlwJ1RDopxs 290
ftw/util/output/path-03-utf8-encoded.yaml sha256=Yi8Gm21b3YWa0ifiQ-Mcub6-O6z1xQBcLk6aT8H3VCA 292
ftw/util/output/path-04-utf8-bare.yaml sha256=g8OzZdA4UGh8FIJ8sHs4bmLxCkDHAQIVNhZ0mOyenQU 307
ftw/util/output/path-05-u-bestfit.yaml sha256=YkXVkHRNICHJ9JVAr5RA6b1wpJlYBzD2kzblfdVZQ7E 292
ftw/util/output/path-06-utf8-bare-bestfit.yaml sha256=g8OzZdA4UGh8FIJ8sHs4bmLxCkDHAQIVNhZ0mOyenQU 307
ftw/util/output/path-07-utf8-encoded-bestfit.yaml sha256=Yi8Gm21b3YWa0ifiQ-Mcub6-O6z1xQBcLk6aT8H3VCA 292
ftw/util/output/path-08-invalid-url-encoding.yaml sha256=NOFwVxh3zfLwmyrlhVcg13J6-Idei8PlpBIjXmYOH0c 286
ftw/util/output/path-09-invalid-u-encoding.yaml sha256=4aAQiewQJosTBasGVvk3XIfsvnNYLHlgXUFsJA5KrOU 286
ftw/util/output/path-10-valid-invalid-urle-preference.yaml sha256=q9K0f6gDLw4bpjFJPnf41___pOq7qZgu4GbMXo5GHLY 284
ftw/util/output/path-11-valid-invalid-u-preference.yaml sha256=vfIfMbGn0NqG8wK3kDlSSB330Ok2dV_tJyVDqUGoRYA 287
ftw/util/output/path-12-NUL-encoded.yaml sha256=364S7fXovyQp1ocpSe5A0s2RVu08is4neSK3udFxHxs 292
ftw/util/output/path-13-NUL-bare.yaml sha256=Vlu9eT18cJCTMeOOIlWf0KTVqVvmMlKClqdrQHtbpE4 290
ftw/util/output/path-14-backslash-separator.yaml sha256=_N7mmaEoInOPNhIWbzMO7gf6doFfshOgRjOqsoWzkB0 285
ftw/util/output/path-15-forward-slash-separator-url-encoded.yaml sha256=Y7Kk8yaZy5VHSN-rTwXMFJvwzqF90AkvNBsV-VF-Y00 290
ftw/util/output/path-16-forward-slash-separator-u-encoded.yaml sha256=g5KsYisQfehG-ONtU1QM4J6lTf6IMJ0U851AIIzuNr0 287
ftw/util/output/path-17-backslash-separator-url-encoded.yaml sha256=4fGiqsA9R_9TTARUAFA8n8bfds5Vq8JVSKHyrCOt51k 287
ftw/util/output/path-18-backslash-separator-u-encoded.yaml sha256=_anBjd7df66bS67UFYJdzhvkyP3gV7rxSQrlYKmHY7k 290
ftw/util/output/path-19-control-chars-encoded.yaml sha256=gktviCIhESJFsF-8bV6LklI1gT__86wEma6-ZwdsXmg 288
ftw/util/output/path-20-control-chars-bare.yaml sha256=wBXKjhvdd8nqvqKH1ggEku-v_pY8uHP5ncrBmAjcGJE 291
ftw/util/output/path-21-utf8-overlong-encoded-2.yaml sha256=K7F9C1Ih__NGJvnk-JjkRD1AlWA2GyFG3jL5rlVpLKI 290
ftw/util/output/path-22-utf8-overlong-encoded-3.yaml sha256=kW4-wfRnbjQAK0KgDdEPmSgiyuesWgf0vypQApBXBFs 293
ftw/util/output/path-23-utf8-overlong-encoded-4.yaml sha256=vxbKbfsz1RHqsEFOomG9sHy8sAfUSp0U9MScuyNI2OY 296
ftw/util/output/path-24-utf8-overlong-bare-2.yaml sha256=aK8dlhXFTvi-684sXyO76QG2gZwlv0qZIRcjl6Y6qsI 314
ftw/util/output/path-25-utf8-overlong-bare-3.yaml sha256=3lZNeqxrBiGhgIgZJJQ2NEw96nNebEDAoLEYnUEwInk 314
ftw/util/output/path-26-utf8-overlong-bare-4.yaml sha256=ie8bZCcJyTjXRS3ybBsRTOy2svn-cOpPalpGphlix_w 314
ftw/util/output/path-27-utf8-separators-overlong-encoded-2.yaml sha256=2glf0UeQarJ23JG1_-JUyH4M7WHbsOAgDmdFJEVYObM 290
ftw/util/output/path-28-utf8-separators-overlong-encoded-3.yaml sha256=qcdZnAH1T5jizfbxalRcFqsaU_dv-RwVSQH1THczRHA 293
ftw/util/output/path-29-utf8-separators-overlong-encoded-4.yaml sha256=8ZYo5C2qmSI87kiTLD6uncvDOukoE7jafnTlIATgJI0 296
ftw/util/output/path-30-utf8-separators-overlong-bare-2.yaml sha256=Jwe9jXe6pIOAbXHHhCJG5MDPS34ahEfFnwJSaZ0SR8I 314
ftw/util/output/path-31-utf8-separators-overlong-bare-3.yaml sha256=IesiE4dJkXt-OSHJbCrekIzfpBWeJLvAFS3P9-ch2gw 314
ftw/util/output/path-32-utf8-separators-overlong-bare-4.yaml sha256=4tXueU9m11oNMtuZeiafCve2PeFeJbF0ZfWG947QZdE 314
ftw/util/output/path-33-u-fullwidth-mapping.yaml sha256=SxnzZyG6VSDb-NPytDq5JxAHhYyOwt6K6PoeUuzcuQw 290
ftw/util/output/path-34-utf8-invalid-encoding.yaml sha256=lQ7k-rgopSa3o5X6UvHgo-aDA69MVVtPbwowlewc6go 291
ftw/util/output/path-35-utf8-encoded-fullwidth-mapping.yaml sha256=GJTMotDUS2Oqg-u7hsaQeQw90ioSdL6P8E4CdkByLbo 293
ftw/util/output/path-36-double-url-decoding.yaml sha256=_ROVxfJd9dx9q-hY_gCZPfYbHP8_a4w5AQl2beQnJng 289
ftw/util/output/path-37-unicode-normalization.yaml sha256=aZU3Cw6ayq6cH_1XZLwry6AlF21ASuNrym6nG_LRgvU 298
ftw/util/output/path-38-utf8-bare-fullwidth-mapping.yaml sha256=pvvbMGEDwvIxBJzeUGtzbitjW1L-EGzqQRrSCkZQAWE 305
ftw-1.3.0.dist-info/LICENSE sha256=4bmsrSQIkJYKS3-VIcAt7mh5MuHX0QxahtMDojCBAYc 10818
ftw-1.3.0.dist-info/METADATA sha256=5ysSi6jHp8Um035AkJYqlgTSO3yoN32UUy0LNHgEze8 3431
ftw-1.3.0.dist-info/WHEEL sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA 92
ftw-1.3.0.dist-info/entry_points.txt sha256=f2iMEJRfK4U5zI8BnD_t0FnmfhW-7yHt8kGjYYzLx7M 36
ftw-1.3.0.dist-info/top_level.txt sha256=bh9goOMJrnS5JgIkEdmhE04UF7WPZHe4ziWMNpDQ7Yw 4
ftw-1.3.0.dist-info/RECORD

top_level.txt

ftw

entry_points.txt

ftw = ftw.pytest_plugin