From 4649cc23c5d9d98f35535e06da8906b158d0ae57 Mon Sep 17 00:00:00 2001 From: mellon Date: Tue, 5 Sep 2000 00:50:07 +0000 Subject: [PATCH] Update some instances of file movement in the ISC release. --- usr.sbin/dhcp/Makefile.inc | 4 +- usr.sbin/dhcp/common/Makefile | 2 +- usr.sbin/dhcp/common/convert.c | 193 ---------------------- usr.sbin/dhcp/common/hash.c | 284 --------------------------------- usr.sbin/dhcp/omapip/Makefile | 3 +- 5 files changed, 5 insertions(+), 481 deletions(-) delete mode 100644 usr.sbin/dhcp/common/convert.c delete mode 100644 usr.sbin/dhcp/common/hash.c diff --git a/usr.sbin/dhcp/Makefile.inc b/usr.sbin/dhcp/Makefile.inc index 0aeb0668a1c4..0f9b6e5bb09c 100644 --- a/usr.sbin/dhcp/Makefile.inc +++ b/usr.sbin/dhcp/Makefile.inc @@ -40,8 +40,8 @@ MROBJDIR!=cd $(.CURDIR)/../minires; \ printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}\n" | ${MAKE} -s -f- CPPFLAGS+= -I${.CURDIR}/.. -I${.CURDIR}/../includes -LDADD= ${COBJDIR}/libdhcp.a ${OMOBJDIR}/libomapi.a ${MROBJDIR}/libminires.a -DPADD= ${COBJDIR}/libdhcp.a ${OMOBJDIR}/libomapi.a ${MROBJDIR}/libminires.a +LDADD= ${OMOBJDIR}/libomapi.a ${COBJDIR}/libdhcp.a ${MROBJDIR}/libminires.a +DPADD= ${OMOBJDIR}/libomapi.a ${COBJDIR}/libdhcp.a ${MROBJDIR}/libminires.a .if exists(${.CURDIR}/../../Makefile.inc) .include "${.CURDIR}/../../Makefile.inc" diff --git a/usr.sbin/dhcp/common/Makefile b/usr.sbin/dhcp/common/Makefile index 553df3c3c00f..558b6a5ad68f 100644 --- a/usr.sbin/dhcp/common/Makefile +++ b/usr.sbin/dhcp/common/Makefile @@ -33,7 +33,7 @@ MAN = dhcp-options.5 dhcp-eval.5 LIB = dhcp SRCS = raw.c parse.c nit.c icmp.c dispatch.c conflex.c upf.c bpf.c socket.c \ lpf.c dlpi.c packet.c tr.c ethernet.c memory.c print.c options.c \ - inet.c convert.c tree.c tables.c hash.c alloc.c fddi.c \ + inet.c tree.c tables.c alloc.c fddi.c \ inet_addr.c dns.c resolv.c execute.c discover.c comapi.c MKLINT= no diff --git a/usr.sbin/dhcp/common/convert.c b/usr.sbin/dhcp/common/convert.c deleted file mode 100644 index 663e147942df..000000000000 --- a/usr.sbin/dhcp/common/convert.c +++ /dev/null @@ -1,193 +0,0 @@ -/* convert.c - - Safe copying of option values into and out of the option buffer, which - can't be assumed to be aligned. */ - -/* - * Copyright (c) 1996-1999 Internet Software Consortium. - * 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. - * 3. Neither the name of The Internet Software Consortium nor the names - * of its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND - * CONTRIBUTORS ``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 INTERNET SOFTWARE CONSORTIUM OR - * CONTRIBUTORS 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. - * - * This software has been written for the Internet Software Consortium - * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. - * To learn more about the Internet Software Consortium, see - * ``http://www.isc.org/''. To learn more about Vixie Enterprises, - * see ``http://www.vix.com''. To learn more about Nominum, Inc., see - * ``http://www.nominum.com''. - */ - -#ifndef lint -static char copyright[] = -"$Id: convert.c,v 1.1.1.4 2000/04/22 07:11:32 mellon Exp $ Copyright (c) 1996-1999 The Internet Software Consortium. All rights reserved.\n"; -#endif /* not lint */ - -#include "dhcpd.h" - -u_int32_t getULong (buf) - const unsigned char *buf; -{ - unsigned long ibuf; - - memcpy (&ibuf, buf, sizeof (u_int32_t)); - return ntohl (ibuf); -} - -int32_t getLong (buf) - const unsigned char *buf; -{ - long ibuf; - - memcpy (&ibuf, buf, sizeof (int32_t)); - return ntohl (ibuf); -} - -u_int32_t getUShort (buf) - const unsigned char *buf; -{ - unsigned short ibuf; - - memcpy (&ibuf, buf, sizeof (u_int16_t)); - return ntohs (ibuf); -} - -int32_t getShort (buf) - const unsigned char *buf; -{ - short ibuf; - - memcpy (&ibuf, buf, sizeof (int16_t)); - return ntohs (ibuf); -} - -void putULong (obuf, val) - unsigned char *obuf; - u_int32_t val; -{ - u_int32_t tmp = htonl (val); - memcpy (obuf, &tmp, sizeof tmp); -} - -void putLong (obuf, val) - unsigned char *obuf; - int32_t val; -{ - int32_t tmp = htonl (val); - memcpy (obuf, &tmp, sizeof tmp); -} - -void putUShort (obuf, val) - unsigned char *obuf; - u_int32_t val; -{ - u_int16_t tmp = htons (val); - memcpy (obuf, &tmp, sizeof tmp); -} - -void putShort (obuf, val) - unsigned char *obuf; - int32_t val; -{ - int16_t tmp = htons (val); - memcpy (obuf, &tmp, sizeof tmp); -} - -void putUChar (obuf, val) - unsigned char *obuf; - u_int32_t val; -{ - *obuf = val; -} - -u_int32_t getUChar (obuf) - const unsigned char *obuf; -{ - return obuf [0]; -} - -int converted_length (buf, base, width) - const unsigned char *buf; - unsigned int base; - unsigned int width; -{ - u_int32_t number; - u_int32_t column; - int power = 1; - u_int32_t newcolumn = base; - - if (base > 16) - return 0; - - if (width == 1) - number = getUChar (buf); - else if (width == 2) - number = getUShort (buf); - else if (width == 4) - number = getULong (buf); - - do { - column = newcolumn; - - if (number < column) - return power; - power++; - newcolumn = column * base; - /* If we wrap around, it must be the next power of two up. */ - } while (newcolumn > column); - - return power; -} - -int binary_to_ascii (outbuf, inbuf, base, width) - unsigned char *outbuf; - const unsigned char *inbuf; - unsigned int base; - unsigned int width; -{ - u_int32_t number; - static char h2a [] = "0123456789abcdef"; - int power = converted_length (inbuf, base, width); - int i, j; - - if (base > 16) - return 0; - - if (width == 1) - number = getUChar (inbuf); - else if (width == 2) - number = getUShort (inbuf); - else if (width == 4) - number = getULong (inbuf); - - for (i = power - 1 ; i >= 0; i--) { - outbuf [i] = h2a [number % base]; - number /= base; - } - - return power; -} diff --git a/usr.sbin/dhcp/common/hash.c b/usr.sbin/dhcp/common/hash.c deleted file mode 100644 index e3b3c4ecc229..000000000000 --- a/usr.sbin/dhcp/common/hash.c +++ /dev/null @@ -1,284 +0,0 @@ -/* hash.c - - Routines for manipulating hash tables... */ - -/* - * Copyright (c) 1995-2000 Internet Software Consortium. - * 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. - * 3. Neither the name of The Internet Software Consortium nor the names - * of its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND - * CONTRIBUTORS ``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 INTERNET SOFTWARE CONSORTIUM OR - * CONTRIBUTORS 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. - * - * This software has been written for the Internet Software Consortium - * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. - * To learn more about the Internet Software Consortium, see - * ``http://www.isc.org/''. To learn more about Vixie Enterprises, - * see ``http://www.vix.com''. To learn more about Nominum, Inc., see - * ``http://www.nominum.com''. - */ - -#ifndef lint -static char copyright[] = -"$Id: hash.c,v 1.4 2000/06/24 06:50:02 mellon Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n"; -#endif /* not lint */ - -#include "dhcpd.h" -#include - -static int do_hash PROTO ((const unsigned char *, unsigned, unsigned)); -static int do_case_hash PROTO ((const unsigned char *, unsigned, unsigned)); - -struct hash_table *new_hash (hash_reference referencer, - hash_dereference dereferencer, - int casep) -{ - struct hash_table *rv = new_hash_table (DEFAULT_HASH_SIZE, MDL); - if (!rv) - return rv; - memset (&rv -> buckets [0], 0, - DEFAULT_HASH_SIZE * sizeof (struct hash_bucket *)); - rv -> referencer = referencer; - rv -> dereferencer = dereferencer; - if (casep) { - rv -> cmp = casecmp; - rv -> do_hash = do_case_hash; - } else { - rv -> cmp = (hash_comparator_t)memcmp; - rv -> do_hash = do_hash; - } - return rv; -} - -static int do_case_hash (name, len, size) - const unsigned char *name; - unsigned len; - unsigned size; -{ - register int accum = 0; - register const unsigned char *s = (const unsigned char *)name; - int i = len; - register unsigned c; - - while (i--) { - /* Make the hash case-insensitive. */ - c = *s++; - if (isascii (c) && isupper (c)) - c = tolower (c); - - /* Add the character in... */ - accum = (accum << 1) + c; - - /* Add carry back in... */ - while (accum > 65535) { - accum = (accum & 65535) + (accum >> 16); - } - } - return accum % size; -} - -static int do_hash (name, len, size) - const unsigned char *name; - unsigned len; - unsigned size; -{ - register int accum = 0; - register const unsigned char *s = (const unsigned char *)name; - int i = len; - - while (i--) { - /* Add the character in... */ - accum = (accum << 1) + *s++; - - /* Add carry back in... */ - while (accum > 65535) { - accum = (accum & 65535) + (accum >> 16); - } - } - return accum % size; -} - -void add_hash (table, name, len, pointer, file, line) - struct hash_table *table; - unsigned len; - const unsigned char *name; - hashed_object_t *pointer; - const char *file; - int line; -{ - int hashno; - struct hash_bucket *bp; - void *foo; - - if (!table) - return; - - if (!len) - len = strlen ((const char *)name); - - hashno = (*table -> do_hash) (name, len, table -> hash_count); - bp = new_hash_bucket (file, line); - - if (!bp) { - log_error ("Can't add %s to hash table.", name); - return; - } - bp -> name = name; - if (table -> referencer) { - foo = &bp -> value; - (*(table -> referencer)) (foo, pointer, file, line); - } else - bp -> value = pointer; - bp -> next = table -> buckets [hashno]; - bp -> len = len; - table -> buckets [hashno] = bp; -} - -void delete_hash_entry (table, name, len, file, line) - struct hash_table *table; - unsigned len; - const unsigned char *name; - const char *file; - int line; -{ - int hashno; - struct hash_bucket *bp, *pbp = (struct hash_bucket *)0; - void *foo; - - if (!table) - return; - - if (!len) - len = strlen ((const char *)name); - - hashno = (*table -> do_hash) (name, len, table -> hash_count); - - /* Go through the list looking for an entry that matches; - if we find it, delete it. */ - for (bp = table -> buckets [hashno]; bp; bp = bp -> next) { - if ((!bp -> len && - !strcmp ((const char *)bp -> name, (const char *)name)) || - (bp -> len == len && - !(*table -> cmp) (bp -> name, name, len))) { - if (pbp) { - pbp -> next = bp -> next; - } else { - table -> buckets [hashno] = bp -> next; - } - if (table -> dereferencer) { - foo = &bp -> value; - (*(table -> dereferencer)) (foo, file, line); - } - free_hash_bucket (bp, file, line); - break; - } - pbp = bp; /* jwg, 9/6/96 - nice catch! */ - } -} - -int hash_lookup (vp, table, name, len, file, line) - hashed_object_t **vp; - struct hash_table *table; - const unsigned char *name; - unsigned len; - const char *file; - int line; -{ - int hashno; - struct hash_bucket *bp; - - if (!table) - return 0; - if (!len) - len = strlen ((const char *)name); - - hashno = (*table -> do_hash) (name, len, table -> hash_count); - - for (bp = table -> buckets [hashno]; bp; bp = bp -> next) { - if (len == bp -> len - && !(*table -> cmp) (bp -> name, name, len)) { - if (table -> referencer) - (*table -> referencer) (vp, bp -> value, - file, line); - else - *vp = bp -> value; - return 1; - } - } - return 0; -} - -int hash_foreach (struct hash_table *table, hash_foreach_func func) -{ - int i; - struct hash_bucket *bp, *next; - int count = 0; - - if (!table) - return 0; - - for (i = 0; i < table -> hash_count; i++) { - bp = table -> buckets [i]; - while (bp) { - next = bp -> next; - (*func) (bp -> name, bp -> len, bp -> value); - bp = next; - count++; - } - } - return count; -} - -int casecmp (const void *v1, const void *v2, unsigned long len) -{ - unsigned i; - const char *s = v1; - const char *t = v2; - - for (i = 0; i < len; i++) - { - int c1, c2; - if (isascii (s [i]) && isupper (s [i])) - c1 = tolower (s [i]); - else - c1 = s [i]; - - if (isascii (t [i]) && isupper (t [i])) - c2 = tolower (t [i]); - else - c2 = t [i]; - - if (c1 < c2) - return -1; - if (c1 > c2) - return 1; - } - return 0; -} - -HASH_FUNCTIONS (group, const char *, struct group_object) -HASH_FUNCTIONS (universe, const char *, struct universe) -HASH_FUNCTIONS (option, const char *, struct option) diff --git a/usr.sbin/dhcp/omapip/Makefile b/usr.sbin/dhcp/omapip/Makefile index 8f4a5858325c..30b1acdbd36f 100644 --- a/usr.sbin/dhcp/omapip/Makefile +++ b/usr.sbin/dhcp/omapip/Makefile @@ -31,7 +31,8 @@ LIB = omapi SRCS = protocol.c buffer.c alloc.c result.c connection.c errwarn.c \ - listener.c dispatch.c generic.c support.c handle.c message.c + listener.c dispatch.c generic.c support.c handle.c message.c \ + auth.c convert.c hash.c MKLINT= no MKPIC= no