This function performs the legacy search method via TXT records.
(google_dns, logger)
| 67 | |
| 68 | |
| 69 | def dns_search(google_dns, logger): |
| 70 | """ |
| 71 | This function performs the legacy search method via TXT records. |
| 72 | """ |
| 73 | ip_ranges = recursive_search( |
| 74 | logger, "_cloud-netblocks.googleusercontent.com", google_dns |
| 75 | ) |
| 76 | |
| 77 | ipv4_ranges = [] |
| 78 | ipv6_ranges = [] |
| 79 | |
| 80 | already_seen = set() |
| 81 | |
| 82 | for entry in ip_ranges: |
| 83 | parts = entry.split(":", 1) |
| 84 | if parts[0] == "ip4" and parts[1] not in already_seen: |
| 85 | ipv4_ranges.append({"ip_prefix": parts[1]}) |
| 86 | already_seen.add(parts[1]) |
| 87 | elif parts[0] == "ip6" and parts[1] not in already_seen: |
| 88 | ipv6_ranges.append({"ipv6_prefix": parts[1]}) |
| 89 | already_seen.add(parts[1]) |
| 90 | else: |
| 91 | logger.warning("Unrecognized data: " + entry) |
| 92 | |
| 93 | return ipv4_ranges, ipv6_ranges |
| 94 | |
| 95 | |
| 96 | def _requests_retry_session( |
no test coverage detected