cryptoparser 0.10.0__tar.gz → 0.10.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/CHANGELOG.rst +31 -0
  2. {CryptoParser-0.10.0 → CryptoParser-0.10.2/CryptoParser.egg-info}/PKG-INFO +25 -3
  3. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/CryptoParser.egg-info/SOURCES.txt +1 -1
  4. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/CryptoParser.egg-info/requires.txt +1 -0
  5. {CryptoParser-0.10.0/CryptoParser.egg-info → CryptoParser-0.10.2}/PKG-INFO +25 -3
  6. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/README.rst +8 -1
  7. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/__setup__.py +1 -1
  8. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/common/base.py +4 -0
  9. CryptoParser-0.10.0/cryptoparser/httpx/parse.py → CryptoParser-0.10.2/cryptoparser/common/field.py +485 -277
  10. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/common/parse.py +61 -26
  11. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/httpx/header.py +105 -95
  12. CryptoParser-0.10.2/cryptoparser/httpx/parse.py +32 -0
  13. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/ssh/key.py +91 -91
  14. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/requirements.txt +1 -0
  15. CryptoParser-0.10.0/cryptoparser/common/key.py +0 -42
  16. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/CONTRIBUTING.rst +0 -0
  17. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/CryptoParser.egg-info/dependency_links.txt +0 -0
  18. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/CryptoParser.egg-info/top_level.txt +0 -0
  19. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/LICENSE.txt +0 -0
  20. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/MANIFEST.in +0 -0
  21. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/__init__.py +0 -0
  22. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/common/__init__.py +0 -0
  23. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/common/classes.py +0 -0
  24. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/common/exception.py +0 -0
  25. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/common/utils.py +0 -0
  26. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/common/x509.py +0 -0
  27. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/httpx/__init__.py +0 -0
  28. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/httpx/version.py +0 -0
  29. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/ssh/__init__.py +0 -0
  30. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/ssh/record.py +0 -0
  31. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/ssh/subprotocol.py +0 -0
  32. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/ssh/version.py +0 -0
  33. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/__init__.py +0 -0
  34. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/algorithm.py +0 -0
  35. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/ciphersuite.py +0 -0
  36. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/extension.py +0 -0
  37. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/grease.py +0 -0
  38. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/ldap.py +0 -0
  39. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/mysql.py +0 -0
  40. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/openvpn.py +0 -0
  41. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/postgresql.py +0 -0
  42. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/rdp.py +0 -0
  43. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/record.py +0 -0
  44. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/subprotocol.py +0 -0
  45. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/cryptoparser/tls/version.py +0 -0
  46. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/setup.cfg +0 -0
  47. {CryptoParser-0.10.0 → CryptoParser-0.10.2}/setup.py +0 -0
@@ -1,6 +1,37 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 0.10.2 - 2023-08-28
5
+ -------------------
6
+
7
+ Features
8
+ ~~~~~~~~
9
+
10
+ - DNS
11
+
12
+ - add parser for e-mail authentication and reporting related records (#74, #35, #36, #37, #38)
13
+
14
+ - `mail exchange <https://www.rfc-editor.org/rfc/rfc1035>`__ (MX)
15
+ - `Domain-based Message Authentication, Reporting, and Conformance <https://www.rfc-editor.org/rfc/rfc7489>`__
16
+ (DMARC)
17
+ - `Sender Policy Framework <https://www.rfc-editor.org/rfc/rfc7208>`__ (SPF)
18
+ - `SMTP MTA Strict Transport Security <https://www.rfc-editor.org/rfc/rfc8461>`__ (MTA-STS)
19
+ - `SMTP TLS Reporting <https://www.rfc-editor.org/rfc/rfc8460>`__ (TLSRPT)
20
+
21
+ 0.10.1 - 2023-08-29
22
+ -------------------
23
+
24
+ Features
25
+ ~~~~~~~~
26
+
27
+ - DNS
28
+
29
+ - add parser for DNSSEC-related records (#72)
30
+
31
+ - `DNSKEY <https://www.rfc-editor.org/rfc/rfc4034#section-2>`__
32
+ - `DS <https://www.rfc-editor.org/rfc/rfc4034#section-5>`__
33
+ - `RRSIG <https://www.rfc-editor.org/rfc/rfc4034#section-3>`__
34
+
4
35
  0.10.0 - 2023-08-03
5
36
  -------------------
6
37
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: CryptoParser
3
- Version: 0.10.0
3
+ Version: 0.10.2
4
4
  Summary: Fast and flexible security protocol parser and generator
5
5
  Author: Szilárd Pfeiffer
6
6
  Author-email: coroner@pfeifferszilard.hu
@@ -45,10 +45,25 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
45
45
  Classifier: Topic :: Software Development :: Testing :: Traffic Generation
46
46
  Classifier: Topic :: Software Development :: Testing
47
47
  Description-Content-Type: text/x-rst
48
+ License-File: LICENSE.txt
49
+ Requires-Dist: asn1crypto
50
+ Requires-Dist: attrs<22.0.1,>=20.3.0
51
+ Requires-Dist: cryptodatahub>=0.10.0
52
+ Requires-Dist: python-dateutil
53
+ Requires-Dist: py2-ipaddress; python_version < "3.4"
54
+ Requires-Dist: typing; python_version < "3.5"
55
+ Requires-Dist: python-dateutil
56
+ Requires-Dist: urllib3
57
+ Requires-Dist: enum34==1.1.6; python_version < "3"
58
+ Requires-Dist: pathlib2==2.3.7.post1; python_version < "3"
59
+ Requires-Dist: Mock; python_version < "3"
60
+ Requires-Dist: unittest2; python_version < "3"
48
61
  Provides-Extra: test
62
+ Requires-Dist: coverage; extra == "test"
49
63
  Provides-Extra: pep8
64
+ Requires-Dist: flake8; extra == "pep8"
50
65
  Provides-Extra: pylint
51
- License-File: LICENSE.txt
66
+ Requires-Dist: pylint; extra == "pylint"
52
67
 
53
68
  **CryptoParser** is a cryptographic protocol (TLS, SSH) and security-related protocol piece (HTTP headers) parser. It
54
69
  is neither a comprehensive nor a secure implementation of any cryptographic protocol. The goal is to support
@@ -81,10 +96,17 @@ Operating systems
81
96
  - macOS
82
97
  - Windows
83
98
 
99
+ Documentation
100
+ -------------
101
+
102
+ Detailed `documentation <https://cryptoparser.readthedocs.io>`__ is available on the project's
103
+ `Read the Docs <https://readthedocs.com>`__ site.
104
+
84
105
  License
85
106
  -------
86
107
 
87
- The code is available under the terms of Mozilla Public License Version 2.0 (MPL 2.0).
108
+ The `code <https://gitlab.com/coroner/cryptoparser>`__ is available under the terms of
109
+ `Mozilla Public License Version 2.0 <https://www.mozilla.org/en-US/MPL/2.0/>`__ (MPL 2.0).
88
110
 
89
111
  A non-comprehensive, but straightforward description of MPL 2.0 can be found at
90
112
  `Choose an open source license <https://choosealicense.com/licenses#mpl-2.0>`__ website.
@@ -16,7 +16,7 @@ cryptoparser/common/__init__.py
16
16
  cryptoparser/common/base.py
17
17
  cryptoparser/common/classes.py
18
18
  cryptoparser/common/exception.py
19
- cryptoparser/common/key.py
19
+ cryptoparser/common/field.py
20
20
  cryptoparser/common/parse.py
21
21
  cryptoparser/common/utils.py
22
22
  cryptoparser/common/x509.py
@@ -3,6 +3,7 @@ attrs<22.0.1,>=20.3.0
3
3
  cryptodatahub>=0.10.0
4
4
  python-dateutil
5
5
  python-dateutil
6
+ urllib3
6
7
 
7
8
  [:python_version < "3.4"]
8
9
  py2-ipaddress
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: CryptoParser
3
- Version: 0.10.0
3
+ Version: 0.10.2
4
4
  Summary: Fast and flexible security protocol parser and generator
5
5
  Author: Szilárd Pfeiffer
6
6
  Author-email: coroner@pfeifferszilard.hu
@@ -45,10 +45,25 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
45
45
  Classifier: Topic :: Software Development :: Testing :: Traffic Generation
46
46
  Classifier: Topic :: Software Development :: Testing
47
47
  Description-Content-Type: text/x-rst
48
+ License-File: LICENSE.txt
49
+ Requires-Dist: asn1crypto
50
+ Requires-Dist: attrs<22.0.1,>=20.3.0
51
+ Requires-Dist: cryptodatahub>=0.10.0
52
+ Requires-Dist: python-dateutil
53
+ Requires-Dist: py2-ipaddress; python_version < "3.4"
54
+ Requires-Dist: typing; python_version < "3.5"
55
+ Requires-Dist: python-dateutil
56
+ Requires-Dist: urllib3
57
+ Requires-Dist: enum34==1.1.6; python_version < "3"
58
+ Requires-Dist: pathlib2==2.3.7.post1; python_version < "3"
59
+ Requires-Dist: Mock; python_version < "3"
60
+ Requires-Dist: unittest2; python_version < "3"
48
61
  Provides-Extra: test
62
+ Requires-Dist: coverage; extra == "test"
49
63
  Provides-Extra: pep8
64
+ Requires-Dist: flake8; extra == "pep8"
50
65
  Provides-Extra: pylint
51
- License-File: LICENSE.txt
66
+ Requires-Dist: pylint; extra == "pylint"
52
67
 
53
68
  **CryptoParser** is a cryptographic protocol (TLS, SSH) and security-related protocol piece (HTTP headers) parser. It
54
69
  is neither a comprehensive nor a secure implementation of any cryptographic protocol. The goal is to support
@@ -81,10 +96,17 @@ Operating systems
81
96
  - macOS
82
97
  - Windows
83
98
 
99
+ Documentation
100
+ -------------
101
+
102
+ Detailed `documentation <https://cryptoparser.readthedocs.io>`__ is available on the project's
103
+ `Read the Docs <https://readthedocs.com>`__ site.
104
+
84
105
  License
85
106
  -------
86
107
 
87
- The code is available under the terms of Mozilla Public License Version 2.0 (MPL 2.0).
108
+ The `code <https://gitlab.com/coroner/cryptoparser>`__ is available under the terms of
109
+ `Mozilla Public License Version 2.0 <https://www.mozilla.org/en-US/MPL/2.0/>`__ (MPL 2.0).
88
110
 
89
111
  A non-comprehensive, but straightforward description of MPL 2.0 can be found at
90
112
  `Choose an open source license <https://choosealicense.com/licenses#mpl-2.0>`__ website.
@@ -29,10 +29,17 @@ Operating systems
29
29
  - macOS
30
30
  - Windows
31
31
 
32
+ Documentation
33
+ -------------
34
+
35
+ Detailed `documentation <https://cryptoparser.readthedocs.io>`__ is available on the project's
36
+ `Read the Docs <https://readthedocs.com>`__ site.
37
+
32
38
  License
33
39
  -------
34
40
 
35
- The code is available under the terms of Mozilla Public License Version 2.0 (MPL 2.0).
41
+ The `code <https://gitlab.com/coroner/cryptoparser>`__ is available under the terms of
42
+ `Mozilla Public License Version 2.0 <https://www.mozilla.org/en-US/MPL/2.0/>`__ (MPL 2.0).
36
43
 
37
44
  A non-comprehensive, but straightforward description of MPL 2.0 can be found at
38
45
  `Choose an open source license <https://choosealicense.com/licenses#mpl-2.0>`__ website.
@@ -2,7 +2,7 @@
2
2
 
3
3
  __title__ = 'CryptoParser'
4
4
  __technical_name__ = __title__.lower()
5
- __version__ = '0.10.0'
5
+ __version__ = '0.10.2'
6
6
  __description__ = 'Fast and flexible security protocol parser and generator'
7
7
  __author__ = 'Szilárd Pfeiffer'
8
8
  __author_email__ = 'coroner@pfeifferszilard.hu'
@@ -6,6 +6,8 @@ import json
6
6
  import math
7
7
  import types
8
8
 
9
+ import ipaddress
10
+
9
11
  try:
10
12
  from collections.abc import MutableSequence # only works on python 3.3+
11
13
  except ImportError: # pragma: no cover
@@ -212,6 +214,8 @@ class Serializable(object): # pylint: disable=too-few-public-methods
212
214
  return False, str(obj.value)
213
215
 
214
216
  return False, obj.name
217
+ elif isinstance(obj, (ipaddress.IPv4Network, ipaddress.IPv6Network)):
218
+ return False, str(obj)
215
219
  elif attr.has(type(obj)):
216
220
  result = cls._markdown_result_complex(obj, level)
217
221
  elif hasattr(obj, '_asdict'):