From efaeb5589cc66ce5e81f0b91547c67428ad04ed5 Mon Sep 17 00:00:00 2001
From: deraadt <>
Date: Tue, 17 Jan 2012 02:33:20 +0000
Subject: net_addrcmp() dies. found out to be a horrific function by eric ok
 guenther

---
 src/lib/libc/net/Makefile.inc  |  7 ++--
 src/lib/libc/net/net_addrcmp.3 | 91 ------------------------------------------
 src/lib/libc/net/net_addrcmp.c | 63 -----------------------------
 3 files changed, 3 insertions(+), 158 deletions(-)
 delete mode 100644 src/lib/libc/net/net_addrcmp.3
 delete mode 100644 src/lib/libc/net/net_addrcmp.c

diff --git a/src/lib/libc/net/Makefile.inc b/src/lib/libc/net/Makefile.inc
index 530bc3f3f0..48279d2423 100644
--- a/src/lib/libc/net/Makefile.inc
+++ b/src/lib/libc/net/Makefile.inc
@@ -1,4 +1,4 @@
-#	$OpenBSD: Makefile.inc,v 1.48 2010/07/01 19:15:30 deraadt Exp $
+#	$OpenBSD: Makefile.inc,v 1.49 2012/01/17 02:33:20 deraadt Exp $
 
 # net sources
 .PATH: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/net ${LIBCSRCDIR}/net
@@ -12,7 +12,7 @@ SRCS+=	base64.c freeaddrinfo.c gai_strerror.c getaddrinfo.c gethostnamadr.c \
 	herror.c if_indextoname.c if_nameindex.c if_nametoindex.c inet_addr.c \
 	inet_lnaof.c inet_makeaddr.c inet_neta.c inet_netof.c inet_network.c \
 	inet_net_ntop.c inet_net_pton.c inet_ntoa.c inet_ntop.c inet_pton.c \
-	linkaddr.c net_addrcmp.c nsap_addr.c \
+	linkaddr.c nsap_addr.c \
 	rcmd.c ruserok.c rresvport.c recv.c res_comp.c res_data.c res_debug.c \
 	res_debug_syms.c \
 	res_init.c res_mkquery.c res_query.c res_random.c res_send.c send.c \
@@ -31,8 +31,7 @@ MAN+=	byteorder.3 ethers.3 gai_strerror.3 getaddrinfo.3 gethostbyname.3 \
 	getifaddrs.3 getnameinfo.3 getnetent.3 getpeereid.3 getprotoent.3 \
 	getrrsetbyname.3 getservent.3 if_indextoname.3 inet.3 \
 	inet_net.3 inet6_option_space.3 inet6_rthdr_space.3 \
-	inet6_opt_init.3 inet6_rth_space.3 \
-	link_addr.3 net_addrcmp.3 \
+	inet6_opt_init.3 inet6_rth_space.3 link_addr.3 \
 	rcmd.3 rcmdsh.3 resolver.3
 
 MLINKS+=byteorder.3 htonl.3 byteorder.3 htons.3 byteorder.3 ntohl.3 \
diff --git a/src/lib/libc/net/net_addrcmp.3 b/src/lib/libc/net/net_addrcmp.3
deleted file mode 100644
index a02e6e2619..0000000000
--- a/src/lib/libc/net/net_addrcmp.3
+++ /dev/null
@@ -1,91 +0,0 @@
-.\"	$OpenBSD: net_addrcmp.3,v 1.4 2007/05/31 19:19:30 jmc Exp $
-.\"
-.\" Copyright (c) 1999 Theo de Raadt
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.Dd $Mdocdate: May 31 2007 $
-.Dt NET_ADDRCMP 3
-.Os
-.Sh NAME
-.Nm net_addrcmp
-.Nd compare socket address structures
-.Sh SYNOPSIS
-.Fd #include <netdb.h>
-.Ft int
-.Fn net_addrcmp "struct sockaddr *sa1" "struct sockaddr *sa2"
-.Sh DESCRIPTION
-The
-.Fn net_addrcmp
-function compares two socket address structures,
-.Fa sa1
-and
-.Fa sa2 .
-.Sh RETURN VALUES
-If
-.Fa sa1
-and
-.Fa sa2
-are for the same address,
-.Fn net_addrcmp
-returns 0.
-.Pp
-The
-.Fa sa_len
-fields are compared first.
-If they do not match,
-.Fn net_addrcmp
-returns \-1 or 1 if
-.Li sa1->sa_len
-is less than or greater than
-.Li sa2->sa_len ,
-respectively.
-.Pp
-Next, the
-.Fa sa_family
-members are compared.
-If they do not match,
-.Fn net_addrcmp
-returns \-1 or 1 if
-.Li sa1->sa_family
-is less than or greater than
-.Li sa2->sa_family ,
-respectively.
-.Pp
-Lastly, if each socket address structure's
-.Fa sa_len
-and
-.Fa sa_family
-fields match,
-the protocol-specific data (the
-.Fa sa_data
-field) is compared.
-If there's a match, both
-.Fa sa1
-and
-.Fa sa2
-must refer to the same address, and 0 is returned; otherwise, a value >0
-or <0 is returned.
-.Sh HISTORY
-A
-.Fn net_addrcmp
-function was added in
-.Ox 2.5 .
diff --git a/src/lib/libc/net/net_addrcmp.c b/src/lib/libc/net/net_addrcmp.c
deleted file mode 100644
index c2630a5265..0000000000
--- a/src/lib/libc/net/net_addrcmp.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*	$OpenBSD: net_addrcmp.c,v 1.10 2005/06/17 20:36:16 henning Exp $	*/
-
-/*
- * Copyright (c) 1999 Theo de Raadt
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#include <netinet/in.h>
-#include <string.h>
-
-int
-net_addrcmp(struct sockaddr *sa1, struct sockaddr *sa2)
-{
-
-	if (sa1->sa_len != sa2->sa_len)
-		return (sa1->sa_len < sa2->sa_len) ? -1 : 1;
-	if (sa1->sa_family != sa2->sa_family)
-		return (sa1->sa_family < sa2->sa_family) ? -1 : 1;
-
-	switch(sa1->sa_family) {
-	case AF_INET:
-		return (memcmp(&((struct sockaddr_in *)sa1)->sin_addr,
-		    &((struct sockaddr_in *)sa2)->sin_addr,
-		    sizeof(struct in_addr)));
-	case AF_INET6:
-		if (((struct sockaddr_in6 *)sa1)->sin6_scope_id !=
-		    ((struct sockaddr_in6 *)sa2)->sin6_scope_id)
-			return (((struct sockaddr_in6 *)sa1)->sin6_scope_id < 
-			    ((struct sockaddr_in6 *)sa2)->sin6_scope_id)
-			    ? -1 : 1;
-		return memcmp(&((struct sockaddr_in6 *)sa1)->sin6_addr,
-		    &((struct sockaddr_in6 *)sa2)->sin6_addr,
-		    sizeof(struct in6_addr));
-	case AF_LOCAL:
-		return (strcmp(((struct sockaddr_un *)sa1)->sun_path,
-		    ((struct sockaddr_un *)sa1)->sun_path));
-	default:
-		return -1;
-	}
-}
-- 
cgit v1.2.3-55-g6feb