Skip to content

Commit c056d64

Browse files
NorbioxNorbert Chmiel
andauthored
added ipv4 digit lengts validation (#191)
Co-authored-by: Norbert Chmiel <Norbert.Chmiel@pbkm.pl>
1 parent 4afa243 commit c056d64

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

tests/test_ipv4.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def test_returns_true_on_valid_ipv4_address(address):
1919
('1278.0.0.1',),
2020
('127.0.0.abc',),
2121
('900.200.100.75',),
22+
('0127.0.0.1',),
2223
])
2324
def test_returns_failed_validation_on_invalid_ipv4_address(address):
2425
assert isinstance(ipv4(address), ValidationFailure)

validators/ip_address.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@ def ipv4(value):
2323
2424
:param value: IP address string to validate
2525
"""
26-
groups = value.split('.')
27-
if len(groups) != 4 or any(not x.isdigit() for x in groups):
26+
groups = value.split(".")
27+
if (
28+
len(groups) != 4
29+
or any(not x.isdigit() for x in groups)
30+
or any(len(x) > 3 for x in groups)
31+
):
2832
return False
2933
return all(0 <= int(part) < 256 for part in groups)
3034

0 commit comments

Comments
 (0)