summaryrefslogtreecommitdiffstats
path: root/iptables.c
diff options
context:
space:
mode:
author/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org>2006-07-20 17:00:19 +0000
committer/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org>2006-07-20 17:00:19 +0000
commit877fab32b43e91b0a55b655a7b7d6ac0844918fd (patch)
treec7345c2720ad5cf6ffb5ebe4bf5bc985b609ec51 /iptables.c
parent138ab553e6e7e928ff163bdae0ddd0d403c62d56 (diff)
[PATCH] reduce service_to_port duplication (Phil Oester <kernel@linuxace.com>)
The service_to_port function is used in a number of places, and could benefit from some centralization instead of being duplicated everywhere.
Diffstat (limited to 'iptables.c')
-rw-r--r--iptables.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/iptables.c b/iptables.c
index 7814986..56921db 100644
--- a/iptables.c
+++ b/iptables.c
@@ -249,6 +249,17 @@ proto_to_name(u_int8_t proto, int nolookup)
return NULL;
}
+int
+service_to_port(const char *name, const char *proto)
+{
+ struct servent *service;
+
+ if ((service = getservbyname(name, proto)) != NULL)
+ return ntohs((unsigned short) service->s_port);
+
+ return -1;
+}
+
struct in_addr *
dotted_to_addr(const char *dotted)
{