summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--INSTALL8
-rw-r--r--acconfig.h5
-rw-r--r--configure.ac86
-rw-r--r--openbsd-compat/fake-regex.h106
5 files changed, 10 insertions, 203 deletions
diff --git a/ChangeLog b/ChangeLog
index 61efb3700..f05268b6c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,8 @@
120011205 120011207
2 - (bal) PCRE no longer required. Banished from the source along with
3 fake-regex.h
4
520011206
2 - (bal) OpenBSD CVS Sync 6 - (bal) OpenBSD CVS Sync
3 - deraadt@cvs.openbsd.org 2001/11/14 20:45:08 7 - deraadt@cvs.openbsd.org 2001/11/14 20:45:08
4 [sshd.c] 8 [sshd.c]
@@ -6994,4 +6998,4 @@
6994 - Wrote replacements for strlcpy and mkdtemp 6998 - Wrote replacements for strlcpy and mkdtemp
6995 - Released 1.0pre1 6999 - Released 1.0pre1
6996 7000
6997$Id: ChangeLog,v 1.1687 2001/12/06 18:22:17 mouring Exp $ 7001$Id: ChangeLog,v 1.1688 2001/12/07 17:20:47 mouring Exp $
diff --git a/INSTALL b/INSTALL
index 7c890b142..4e1c1da58 100644
--- a/INSTALL
+++ b/INSTALL
@@ -51,12 +51,6 @@ ftp://ftp.gnu.org/gnu/make/
51OpenSSH has only been tested with GNU make. It may work with other 51OpenSSH has only been tested with GNU make. It may work with other
52'make' programs, but you are on your own. 52'make' programs, but you are on your own.
53 53
54PCRE (PERL-compatible Regular Expression library):
55ftp://ftp.cus.cam.ac.uk/pub/software/programing/pcre/
56
57Most platforms do not require this. However older Unices may not have a
58posix regex library. PCRE provides a POSIX interface.
59
60S/Key Libraries: 54S/Key Libraries:
61http://www.sparc.spb.su/solaris/skey/ 55http://www.sparc.spb.su/solaris/skey/
62 56
@@ -230,4 +224,4 @@ Please refer to the "reporting bugs" section of the webpage at
230http://www.openssh.com/ 224http://www.openssh.com/
231 225
232 226
233$Id: INSTALL,v 1.46 2001/06/29 12:39:24 mouring Exp $ 227$Id: INSTALL,v 1.47 2001/12/07 17:20:48 mouring Exp $
diff --git a/acconfig.h b/acconfig.h
index 1e3b80e68..766a92687 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -1,4 +1,4 @@
1/* $Id: acconfig.h,v 1.119 2001/11/03 19:09:33 tim Exp $ */ 1/* $Id: acconfig.h,v 1.120 2001/12/07 17:20:48 mouring Exp $ */
2 2
3#ifndef _CONFIG_H 3#ifndef _CONFIG_H
4#define _CONFIG_H 4#define _CONFIG_H
@@ -59,9 +59,6 @@
59/* Define if you are on Cygwin */ 59/* Define if you are on Cygwin */
60#undef HAVE_CYGWIN 60#undef HAVE_CYGWIN
61 61
62/* Define if you lack native POSIX regex and you are using PCRE */
63#undef HAVE_LIBPCRE
64
65/* Define if you have a broken realpath. */ 62/* Define if you have a broken realpath. */
66#undef BROKEN_REALPATH 63#undef BROKEN_REALPATH
67 64
diff --git a/configure.ac b/configure.ac
index d86a2062d..ae2b6a7a5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.5 2001/11/27 01:19:43 tim Exp $ 1# $Id: configure.ac,v 1.6 2001/12/07 17:20:48 mouring Exp $
2 2
3AC_INIT 3AC_INIT
4AC_CONFIG_SRCDIR([ssh.c]) 4AC_CONFIG_SRCDIR([ssh.c])
@@ -317,46 +317,6 @@ AC_ARG_WITH(libs,
317 ] 317 ]
318) 318)
319 319
320AC_ARG_WITH(pcre,
321 [ --with-pcre[[=PATH]] Override built in regex library with pcre
322 (optionally in PATH)],
323 [
324 case "$withval" in
325 no) ;;
326 *)
327 if test "x$withval" != "xyes"; then
328 if test -d "$withval/lib"; then
329 if test -n "${need_dash_r}"; then
330 LDFLAGS="-L${withval}/lib -R${withval}/lib ${LDFLAGS}"
331 else
332 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
333 fi
334 else
335 if test -n "${need_dash_r}"; then
336 LDFLAGS="-L${withval} -R${withval} ${LDFLAGS}"
337 else
338 LDFLAGS="-L${withval} ${LDFLAGS}"
339 fi
340 fi
341 if test -d "$withval/include"; then
342 CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
343 else
344 CPPFLAGS="-I${withval} ${CPPFLAGS}"
345 fi
346 fi
347
348 AC_CHECK_HEADER(pcreposix.h,
349 AC_CHECK_LIB(pcre, pcre_info,[
350 AC_DEFINE(HAVE_LIBPCRE)
351 LIBS="$LIBS -lpcreposix -lpcre"
352 no_comp_check=yes],
353 AC_MSG_ERROR([*** unable to locate pcre library ***])),
354 AC_MSG_ERROR([*** unable to locate pcreposix.h include file ***]))
355 ;;
356 esac
357 ]
358)
359
360# Checks for libraries. 320# Checks for libraries.
361AC_CHECK_FUNC(yp_match, , AC_CHECK_LIB(nsl, yp_match)) 321AC_CHECK_FUNC(yp_match, , AC_CHECK_LIB(nsl, yp_match))
362AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt)) 322AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
@@ -398,48 +358,6 @@ AC_ARG_WITH(zlib,
398 358
399AC_CHECK_LIB(z, deflate, ,AC_MSG_ERROR([*** zlib missing - please install first or check config.log ***])) 359AC_CHECK_LIB(z, deflate, ,AC_MSG_ERROR([*** zlib missing - please install first or check config.log ***]))
400 360
401# We don't want to check if we did an pcre override.
402if test -z "$no_comp_check" ; then
403 AC_CHECK_FUNC(regcomp,
404 [
405 AC_CHECK_FUNC(regsub,
406 [
407 has_regcomp=no
408 ],
409 [
410 AC_DEFINE(HAVE_REGCOMP)
411 has_regcomp=yes
412 ]
413 )
414 ],
415 [
416 has_regcomp=no
417 ]
418 )
419 # Either regcomp wasn't defined or regsub is defined (which means
420 # that the libc regex is probably an old non-POSIX implementation.
421 # Now check for -lregex and -lpcreposix to find some usable regex
422 # implementation.
423 if test "$has_regcomp" = "no" ; then
424 AC_CHECK_LIB(regex, regcomp,
425 [
426 AC_DEFINE(HAVE_REGCOMP)
427 LIBS="$LIBS -lregex"
428 ],
429 [
430 AC_CHECK_LIB(pcre, pcre_info,
431 [
432 AC_DEFINE(HAVE_LIBPCRE)
433 LIBS="$LIBS -lpcreposix -lpcre"
434 ],
435 [
436 AC_MSG_ERROR([*** No regex library found.])
437 ])
438 ]
439 )
440 fi
441fi
442
443dnl UnixWare 2.x 361dnl UnixWare 2.x
444AC_CHECK_FUNC(strcasecmp, 362AC_CHECK_FUNC(strcasecmp,
445 [], [ AC_CHECK_LIB(resolv, strcasecmp, LIBS="$LIBS -lresolv") ] 363 [], [ AC_CHECK_LIB(resolv, strcasecmp, LIBS="$LIBS -lresolv") ]
@@ -459,7 +377,7 @@ AC_FUNC_STRFTIME
459AC_CHECK_HEADERS(bstring.h crypt.h endian.h floatingpoint.h \ 377AC_CHECK_HEADERS(bstring.h crypt.h endian.h floatingpoint.h \
460 getopt.h glob.h lastlog.h limits.h login.h \ 378 getopt.h glob.h lastlog.h limits.h login.h \
461 login_cap.h maillock.h netdb.h netgroup.h \ 379 login_cap.h maillock.h netdb.h netgroup.h \
462 netinet/in_systm.h paths.h poll.h pty.h regex.h \ 380 netinet/in_systm.h paths.h poll.h pty.h \
463 security/pam_appl.h shadow.h stddef.h stdint.h \ 381 security/pam_appl.h shadow.h stddef.h stdint.h \
464 strings.h sys/bitypes.h sys/bsdtty.h sys/cdefs.h \ 382 strings.h sys/bitypes.h sys/bsdtty.h sys/cdefs.h \
465 sys/poll.h sys/queue.h sys/select.h sys/stat.h \ 383 sys/poll.h sys/queue.h sys/select.h sys/stat.h \
diff --git a/openbsd-compat/fake-regex.h b/openbsd-compat/fake-regex.h
deleted file mode 100644
index 8f7f6eddd..000000000
--- a/openbsd-compat/fake-regex.h
+++ /dev/null
@@ -1,106 +0,0 @@
1/* $OpenBSD: regex.h,v 1.3 1997/09/21 10:45:48 niklas Exp $ */
2/* $NetBSD: regex.h,v 1.4.6.1 1996/06/10 18:57:07 explorer Exp $ */
3
4/*-
5 * Copyright (c) 1992 Henry Spencer.
6 * Copyright (c) 1992, 1993
7 * The Regents of the University of California. All rights reserved.
8 *
9 * This code is derived from software contributed to Berkeley by
10 * Henry Spencer of the University of Toronto.
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 * notice, this list of conditions and the following disclaimer in the
19 * documentation and/or other materials provided with the distribution.
20 * 3. All advertising materials mentioning features or use of this software
21 * must display the following acknowledgement:
22 * This product includes software developed by the University of
23 * California, Berkeley and its contributors.
24 * 4. Neither the name of the University nor the names of its contributors
25 * may be used to endorse or promote products derived from this software
26 * without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
29 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
32 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38 * SUCH DAMAGE.
39 *
40 * @(#)regex.h 8.1 (Berkeley) 6/2/93
41 */
42
43#ifndef _REGEX_H_
44#define _REGEX_H_
45
46#include <sys/types.h>
47
48/* types */
49typedef off_t regoff_t;
50
51typedef struct {
52 int re_magic;
53 size_t re_nsub; /* number of parenthesized subexpressions */
54 const char *re_endp; /* end pointer for REG_PEND */
55 struct re_guts *re_g; /* none of your business :-) */
56} regex_t;
57
58typedef struct {
59 regoff_t rm_so; /* start of match */
60 regoff_t rm_eo; /* end of match */
61} regmatch_t;
62
63/* regcomp() flags */
64#define REG_BASIC 0000
65#define REG_EXTENDED 0001
66#define REG_ICASE 0002
67#define REG_NOSUB 0004
68#define REG_NEWLINE 0010
69#define REG_NOSPEC 0020
70#define REG_PEND 0040
71#define REG_DUMP 0200
72
73/* regerror() flags */
74#define REG_NOMATCH 1
75#define REG_BADPAT 2
76#define REG_ECOLLATE 3
77#define REG_ECTYPE 4
78#define REG_EESCAPE 5
79#define REG_ESUBREG 6
80#define REG_EBRACK 7
81#define REG_EPAREN 8
82#define REG_EBRACE 9
83#define REG_BADBR 10
84#define REG_ERANGE 11
85#define REG_ESPACE 12
86#define REG_BADRPT 13
87#define REG_EMPTY 14
88#define REG_ASSERT 15
89#define REG_INVARG 16
90#define REG_ATOI 255 /* convert name to number (!) */
91#define REG_ITOA 0400 /* convert number to name (!) */
92
93/* regexec() flags */
94#define REG_NOTBOL 00001
95#define REG_NOTEOL 00002
96#define REG_STARTEND 00004
97#define REG_TRACE 00400 /* tracing of execution */
98#define REG_LARGE 01000 /* force large representation */
99#define REG_BACKR 02000 /* force use of backref code */
100
101int regcomp(regex_t*, const char*, int);
102size_t regerror(int, const regex_t*, char*, size_t);
103int regexec(const regex_t*, const char*, size_t, regmatch_t[], int);
104void regfree(regex_t*);
105
106#endif /* !_REGEX_H_ */