(addr)
| 775 | |
| 776 | |
| 777 | def valid_net(addr): |
| 778 | # type: (str) -> bool |
| 779 | try: |
| 780 | addr = plain_str(addr) |
| 781 | except UnicodeDecodeError: |
| 782 | return False |
| 783 | if '/' in addr: |
| 784 | ip, mask = addr.split('/', 1) |
| 785 | return valid_ip(ip) and mask.isdigit() and 0 <= int(mask) <= 32 |
| 786 | return valid_ip(addr) |
| 787 | |
| 788 | |
| 789 | def valid_ip6(addr): |