summaryrefslogtreecommitdiff
path: root/src/src/host.c
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2022-06-26 12:10:03 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2022-06-26 12:21:08 +0100
commit9f1a75f126ae217a3a3568b106c9133b3c5c413a (patch)
tree9a7ac8fe4c827c981b49946260ea0d1aa1e5524d /src/src/host.c
parent57318bfd2312ea561661906ca8001bd74a01b312 (diff)
parent89318c714454e11217505d2163d807d5d827f50a (diff)
downloadexim4-9f1a75f126ae217a3a3568b106c9133b3c5c413a.tar.gz
Merge branch '4.next'4.next
Diffstat (limited to 'src/src/host.c')
-rw-r--r--src/src/host.c74
1 files changed, 0 insertions, 74 deletions
diff --git a/src/src/host.c b/src/src/host.c
index e43b507e5..fed9f4b5f 100644
--- a/src/src/host.c
+++ b/src/src/host.c
@@ -363,80 +363,6 @@ while ((name = string_nextinlist(&list, &sep, NULL, 0)))
}
-
-
-
-/*************************************************
-* Extract port from address string *
-*************************************************/
-
-/* In the -oMa and -oMi options, a host plus port is given as an IP address
-followed by a dot and a port number. This function decodes this.
-
-An alternative format for the -oMa and -oMi options is [ip address]:port which
-is what Exim uses for output, because it seems to becoming commonly used,
-whereas the dot form confuses some programs/people. So we recognize that form
-too.
-
-The spool file used to use the first form, but this breaks with a v4mapped ipv6
-hybrid, because the parsing here is not clever. So for spool we now use the
-second form.
-
-Argument:
- address points to the string; if there is a port, the '.' in the string
- is overwritten with zero to terminate the address; if the string
- is in the [xxx]:ppp format, the address is shifted left and the
- brackets are removed
-
-Returns: 0 if there is no port, else the port number. If there's a syntax
- error, leave the incoming address alone, and return 0.
-*/
-
-int
-host_address_extract_port(uschar *address)
-{
-int port = 0;
-uschar *endptr;
-
-/* Handle the "bracketed with colon on the end" format */
-
-if (*address == '[')
- {
- uschar *rb = address + 1;
- while (*rb != 0 && *rb != ']') rb++;
- if (*rb++ == 0) return 0; /* Missing ]; leave invalid address */
- if (*rb == ':')
- {
- port = Ustrtol(rb + 1, &endptr, 10);
- if (*endptr != 0) return 0; /* Invalid port; leave invalid address */
- }
- else if (*rb != 0) return 0; /* Bad syntax; leave invalid address */
- memmove(address, address + 1, rb - address - 2);
- rb[-2] = 0;
- }
-
-/* Handle the "dot on the end" format */
-
-else
- {
- int skip = -3; /* Skip 3 dots in IPv4 addresses */
- address--;
- while (*(++address) != 0)
- {
- int ch = *address;
- if (ch == ':') skip = 0; /* Skip 0 dots in IPv6 addresses */
- else if (ch == '.' && skip++ >= 0) break;
- }
- if (*address == 0) return 0;
- port = Ustrtol(address + 1, &endptr, 10);
- if (*endptr != 0) return 0; /* Invalid port; leave invalid address */
- *address = 0;
- }
-
-return port;
-}
-
-
/*************************************************
* Get port from a host item's name *
*************************************************/