Commit af7849f1 authored by Neil Conway's avatar Neil Conway

License cleanup: crypt.c and qsort.c to latest NetBSD CVS sources, to

pickup license clarification (3-clause BSD is now used). Add license
terms to memcmp.c (also from NetBSD), which previously had none.
Finally, pickup an upstream fix to crypt.c (const-ify some arrays).
parent 1b7f2140
...@@ -15,11 +15,7 @@ ...@@ -15,11 +15,7 @@
* 2. Redistributions in binary form must reproduce the above copyright * 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the * notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution. * documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software * 3. Neither the name of the University nor the names of its contributors
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software * may be used to endorse or promote products derived from this software
* without specific prior written permission. * without specific prior written permission.
* *
...@@ -337,7 +333,7 @@ int chars_in; ...@@ -337,7 +333,7 @@ int chars_in;
/* ===== (mostly) Standard DES Tables ==================== */ /* ===== (mostly) Standard DES Tables ==================== */
static unsigned char IP[] = { /* initial permutation */ static const unsigned char IP[] = { /* initial permutation */
58, 50, 42, 34, 26, 18, 10, 2, 58, 50, 42, 34, 26, 18, 10, 2,
60, 52, 44, 36, 28, 20, 12, 4, 60, 52, 44, 36, 28, 20, 12, 4,
62, 54, 46, 38, 30, 22, 14, 6, 62, 54, 46, 38, 30, 22, 14, 6,
...@@ -350,7 +346,7 @@ static unsigned char IP[] = { /* initial permutation */ ...@@ -350,7 +346,7 @@ static unsigned char IP[] = { /* initial permutation */
/* The final permutation is the inverse of IP - no table is necessary */ /* The final permutation is the inverse of IP - no table is necessary */
static unsigned char ExpandTr[] = { /* expansion operation */ static const unsigned char ExpandTr[] = { /* expansion operation */
32, 1, 2, 3, 4, 5, 32, 1, 2, 3, 4, 5,
4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9,
8, 9, 10, 11, 12, 13, 8, 9, 10, 11, 12, 13,
...@@ -361,7 +357,7 @@ static unsigned char ExpandTr[] = { /* expansion operation */ ...@@ -361,7 +357,7 @@ static unsigned char ExpandTr[] = { /* expansion operation */
28, 29, 30, 31, 32, 1, 28, 29, 30, 31, 32, 1,
}; };
static unsigned char PC1[] = { /* permuted choice table 1 */ static const unsigned char PC1[] = { /* permuted choice table 1 */
57, 49, 41, 33, 25, 17, 9, 57, 49, 41, 33, 25, 17, 9,
1, 58, 50, 42, 34, 26, 18, 1, 58, 50, 42, 34, 26, 18,
10, 2, 59, 51, 43, 35, 27, 10, 2, 59, 51, 43, 35, 27,
...@@ -373,12 +369,12 @@ static unsigned char PC1[] = { /* permuted choice table 1 */ ...@@ -373,12 +369,12 @@ static unsigned char PC1[] = { /* permuted choice table 1 */
21, 13, 5, 28, 20, 12, 4, 21, 13, 5, 28, 20, 12, 4,
}; };
static unsigned char Rotates[] = { /* PC1 rotation schedule */ static const unsigned char Rotates[] = { /* PC1 rotation schedule */
1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1,
}; };
/* note: each "row" of PC2 is left-padded with bits that make it invertible */ /* note: each "row" of PC2 is left-padded with bits that make it invertible */
static unsigned char PC2[] = { /* permuted choice table 2 */ static const unsigned char PC2[] = { /* permuted choice table 2 */
9, 18, 14, 17, 11, 24, 1, 5, 9, 18, 14, 17, 11, 24, 1, 5,
22, 25, 3, 28, 15, 6, 21, 10, 22, 25, 3, 28, 15, 6, 21, 10,
35, 38, 23, 19, 12, 4, 26, 8, 35, 38, 23, 19, 12, 4, 26, 8,
...@@ -390,7 +386,7 @@ static unsigned char PC2[] = { /* permuted choice table 2 */ ...@@ -390,7 +386,7 @@ static unsigned char PC2[] = { /* permuted choice table 2 */
0, 0, 46, 42, 50, 36, 29, 32, 0, 0, 46, 42, 50, 36, 29, 32,
}; };
static unsigned char S[8][64] = { /* 48->32 bit substitution tables */ static const unsigned char S[8][64] = { /* 48->32 bit substitution tables */
/* S[1] */ /* S[1] */
{14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, {14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7,
0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8,
...@@ -433,7 +429,7 @@ static unsigned char S[8][64] = { /* 48->32 bit substitution tables */ ...@@ -433,7 +429,7 @@ static unsigned char S[8][64] = { /* 48->32 bit substitution tables */
2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11} 2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11}
}; };
static unsigned char P32Tr[] = { /* 32-bit permutation function */ static const unsigned char P32Tr[] = { /* 32-bit permutation function */
16, 7, 20, 21, 16, 7, 20, 21,
29, 12, 28, 17, 29, 12, 28, 17,
1, 15, 23, 26, 1, 15, 23, 26,
...@@ -444,7 +440,7 @@ static unsigned char P32Tr[] = { /* 32-bit permutation function */ ...@@ -444,7 +440,7 @@ static unsigned char P32Tr[] = { /* 32-bit permutation function */
22, 11, 4, 25, 22, 11, 4, 25,
}; };
static unsigned char CIFP[] = { /* compressed/interleaved permutation */ static const unsigned char CIFP[] = { /* compressed/interleaved permutation */
1, 2, 3, 4, 17, 18, 19, 20, 1, 2, 3, 4, 17, 18, 19, 20,
5, 6, 7, 8, 21, 22, 23, 24, 5, 6, 7, 8, 21, 22, 23, 24,
9, 10, 11, 12, 25, 26, 27, 28, 9, 10, 11, 12, 25, 26, 27, 28,
...@@ -456,7 +452,7 @@ static unsigned char CIFP[] = { /* compressed/interleaved permutation */ ...@@ -456,7 +452,7 @@ static unsigned char CIFP[] = { /* compressed/interleaved permutation */
45, 46, 47, 48, 61, 62, 63, 64, 45, 46, 47, 48, 61, 62, 63, 64,
}; };
static unsigned char itoa64[] = /* 0..63 => ascii-64 */ static const unsigned char itoa64[] = /* 0..63 => ascii-64 */
"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
......
...@@ -4,16 +4,46 @@ ...@@ -4,16 +4,46 @@
* compares memory bytes * compares memory bytes
* *
* Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/port/memcmp.c,v 1.5 2004/08/29 04:13:12 momjian Exp $ * $PostgreSQL: pgsql/src/port/memcmp.c,v 1.6 2004/10/05 00:12:49 neilc Exp $
* *
* This file was taken from NetBSD and is used by SunOS because memcmp * This file was taken from NetBSD and is used by SunOS because memcmp
* on that platform does not properly compare negative bytes. * on that platform does not properly compare negative bytes. The
* NetBSD copyright terms follow.
*/
/*-
* Copyright (c) 1990, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Chris Torek.
*
* 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 University 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 REGENTS 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 REGENTS 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.
*/ */
#include <string.h> #include <string.h>
......
/* /*
* Copied from NetBSD CVS, 2002-07-19, bjm * Modifications from vanilla NetBSD source:
* Add do ... while() macro fix * Add do ... while() macro fix
* Remove __inline, _DIAGASSERTs, __P * Remove __inline, _DIAGASSERTs, __P
* *
* $PostgreSQL: pgsql/src/port/qsort.c,v 1.4 2003/11/29 19:52:13 pgsql Exp $ * $PostgreSQL: pgsql/src/port/qsort.c,v 1.5 2004/10/05 00:12:49 neilc Exp $
*/ */
/* $NetBSD: qsort.c,v 1.12 1999/09/20 04:39:40 lukem Exp $ */ /* $NetBSD: qsort.c,v 1.13 2003/08/07 16:43:42 agc Exp $ */
/*- /*-
* Copyright (c) 1992, 1993 * Copyright (c) 1992, 1993
...@@ -20,11 +20,7 @@ ...@@ -20,11 +20,7 @@
* 2. Redistributions in binary form must reproduce the above copyright * 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the * notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution. * documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software * 3. Neither the name of the University nor the names of its contributors
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software * may be used to endorse or promote products derived from this software
* without specific prior written permission. * without specific prior written permission.
* *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment