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 (limited to 'src/lib') 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 -.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 -#include -#include -#include -#include - -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