tags 727103 + patch
tags 727103 + pending
tags 744667 + patch
tags 744667 + pending
thanks

Dear maintainer,

I've prepared an NMU for tacacs+ (versioned as 4.0.4.27a-1.1) and
uploaded it to DELAYED/15. Please feel free to tell me if I
should delay it longer.

Regards.
Robert

diff -Nru tacacs+-4.0.4.27a/debian/changelog tacacs+-4.0.4.27a/debian/changelog
--- tacacs+-4.0.4.27a/debian/changelog  2014-02-22 11:16:29.000000000 -0500
+++ tacacs+-4.0.4.27a/debian/changelog  2014-12-27 04:49:49.000000000 -0500
@@ -1,3 +1,20 @@
+tacacs+ (4.0.4.27a-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Closes: #744667 dh-autoreconf needed to update config.{guess,sub}
+  * Closes: #727103 patch was already added upstream (no work done)
+  * changing from configure.in to configure.ac for automake 1.14.  Also
+    removing AM_C_PROTOTYPES because of deprecation
+  * changing build-dep from autotools-dev to dh-autoreconf
+  * removing fix_hurd.patch and integrating the changes into configure.ac so
+    they won't get wiped out each time "configure" is rebuilt
+  * lintian fixes: init.d-script-missing-lsb-description,
+    init.d-script-does-not-provide-itself
+  * tried to write a longer description to satisfy
+    extended-description-is-probably-too-short, duplicate-short-description
+
+ -- Robert Drake <rdr...@cpan.org>  Sat, 27 Dec 2014 01:21:57 -0500
+
 tacacs+ (4.0.4.27a-1) unstable; urgency=low
   * Closes: #714908 incorrect var substitute in multiarch.
   * New upstream release
diff -Nru tacacs+-4.0.4.27a/debian/control tacacs+-4.0.4.27a/debian/control
--- tacacs+-4.0.4.27a/debian/control    2014-02-22 12:32:43.000000000 -0500
+++ tacacs+-4.0.4.27a/debian/control    2014-12-27 04:50:32.000000000 -0500
@@ -2,7 +2,7 @@
 Section: net
 Priority: extra
 Maintainer: Henry-Nicolas Tourneur <henry.nico...@tourneur.be>
-Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.2), dh-exec (>=0.3), 
autotools-dev, flex, m4, bison, libwrap0-dev, libpam0g-dev, quilt, 
hardening-wrapper, chrpath
+Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.2), dh-exec (>=0.3), 
dh-autoreconf, flex, m4, bison, libwrap0-dev, libpam0g-dev, quilt, 
hardening-wrapper, chrpath
 Standards-Version: 3.9.5
 Homepage: http://www.shrubbery.net/tac_plus/
 
@@ -10,18 +10,24 @@
 Architecture: any
 Depends: ${misc:Depends}, ${shlibs:Depends}, libwrap0, libpam0g, libtacacs+1 
(>= ${source:Upstream-Version}), python
 Description: TACACS+ authentication daemon
- TACACS+ is a protocol (not TACACS or XTACACS) for authentication, 
- authorization and accounting (AAA) services for routers and network devices.
+ tac_plus is shrubbery.net's version of the classic TACACS+ authentication
+ daemon. This was originally developed by Cisco but is now maintained by
+ Shrubbery.net.
+ It is primarily used for authentication, authorization and accounting (AAA)
+ services for routers and network devices.
 
 Package: libtacacs+1
 Architecture: any
 Multi-Arch: same
 Depends: ${misc:Depends}, ${shlibs:Depends}, libwrap0
 Pre-Depends: ${misc:Pre-Depends}
-Description: TACACS+ authentication daemon
- TACACS+ is a protocol (not TACACS or XTACACS) for authentication, 
- authorization and accounting (AAA) services for routers and network devices.
- This package include the library used by the Daemon.
+Description: TACACS+ authentication daemon (libraries)
+ tac_plus is shrubbery.net's version of the classic TACACS+ authentication
+ daemon. This was originally developed by Cisco but is now maintained by
+ Shrubbery.net.
+ It is primarily used for authentication, authorization and accounting (AAA)
+ services for routers and network devices.
+ libtacacs+ is a backend library used to provide some of the functions needed.
 
 Package: libtacacs+1-dev
 Architecture: all
@@ -29,7 +35,11 @@
 Section: libdevel
 Depends: ${misc:Depends}, libtacacs+1 (>= ${source:Upstream-Version}), 
libtacacs+1 (<< ${source:Upstream-Version}+1~)
 Pre-Depends: ${misc:Pre-Depends}
-Description: TACACS+ authentication daemon
- TACACS+ is a protocol (not TACACS or XTACACS) for authentication, 
- authorization and accounting (AAA) services for routers and network devices.
- This package include the header file used for development purpose.
+Description: TACACS+ authentication daemon (development files)
+ tac_plus is shrubbery.net's version of the classic TACACS+ authentication
+ daemon. This was originally developed by Cisco but is now maintained by
+ Shrubbery.net.
+ It is primarily used for authentication, authorization and accounting (AAA)
+ services for routers and network devices.
+ libtacacs+-dev is the header files for developing new applications which use
+ the libtacacs+ library.
diff -Nru tacacs+-4.0.4.27a/debian/patches/fix_configure.patch 
tacacs+-4.0.4.27a/debian/patches/fix_configure.patch
--- tacacs+-4.0.4.27a/debian/patches/fix_configure.patch        1969-12-31 
19:00:00.000000000 -0500
+++ tacacs+-4.0.4.27a/debian/patches/fix_configure.patch        2014-12-27 
04:23:29.000000000 -0500
@@ -0,0 +1,2095 @@
+Index: tacacs+-4.0.4.27a/configure.ac
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ tacacs+-4.0.4.27a/configure.ac     2014-12-27 04:23:19.038006683 -0500
+@@ -0,0 +1,1048 @@
++dnl Process this file with autoconf to produce a configure script.
++dnl A configure script is provided, in cause you do not have autoconf.
++
++AC_PREREQ(2.13)
++AC_INIT(CHANGES)
++
++PACKAGE=`sed -n 's/.*package.*"\(.*\)".*/\1/p' $srcdir/version.h.in|tr -d ' '`
++VERSION=`sed -n 's/.*version.*"\(.*\)".*/\1/p' $srcdir/version.h.in|tr -d ' '`
++
++dnl VERSION needs to be updated in version.h.in such that 'make dist'
++dnl uses the correct filename for the directory name and tarball and binaries
++dnl get the right version numbers.
++AM_INIT_AUTOMAKE($PACKAGE, $VERSION, tac_p...@shrubbery.net)
++
++AC_CONFIG_MACRO_DIR([.])
++
++AM_MAINTAINER_MODE()
++
++dnl AC_CONFIG_SUBDIRS(etc man share)
++
++# what OS
++dnl ---- XXX: these really should deal with the individual reasons why
++dnl      linux/whatever is different, rather than a blanket stmt
++dnl is this crack, i mean linux?
++AH_TEMPLATE(AIX, [define this if your o/s is AIX])
++AH_TEMPLATE(FREEBSD, [define this if your o/s is FreeBSD])
++AH_TEMPLATE(NETBSD, [define this if your o/s is NetBSD])
++AH_TEMPLATE(SOLARIS, [define this if your o/s is Solaris])
++AH_TEMPLATE(HPUX, [define this if your o/s is HPux])
++AH_TEMPLATE(LINUX, [define this if your o/s is Linux])
++AH_TEMPLATE(MIPS, [define this if your o/s is MIPS])
++AC_CANONICAL_HOST
++case "${host_os}" in
++    *aix* )
++      # For AIX
++      echo "See /usr/lpp/bos/bsdport on your system for details of how " \
++              "to define bsdcc."
++      CC=bsdcc; export CC
++      # CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
++      # LDFLAGS="$LDFLAGS -L/usr/local/lib"; export LDFLAGS
++      # LIBS="-lcrypt $LIBS"; export LIBS
++        AC_DEFINE(AIX)
++    ;;
++    *freebsd* )
++      #CPPFLAGS="$CFLAGS -I/usr/pkg/include"; export CPPFLAGS
++      #LDFLAGS="$LDFLAGS -L/usr/pkg/lib -Xlinker -rpath -Xlinker /usr/pkg/lib"
++      #export LDFLAGS
++      LIBS="-lcrypt $LIBS"; export LIBS
++        AC_DEFINE(FREEBSD)
++    ;;
++    *netbsd* )
++      #CPPFLAGS="$CFLAGS -I/usr/pkg/include"; export CPPFLAGS
++      #LDFLAGS="$LDFLAGS -L/usr/pkg/lib -Xlinker -rpath -Xlinker /usr/pkg/lib"
++      #export LDFLAGS
++      LIBS="-lcrypt $LIBS"; export LIBS
++        AC_DEFINE(NETBSD)
++    ;;
++    *solaris* )
++      #CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
++      #LDFLAGS="$LDFLAGS -L/usr/local/lib"; export LDFLAGS
++      LIBS="-lnsl -lsocket"; export LIBS
++        AC_DEFINE(SOLARIS)
++    ;;
++    *hpux* )
++      # For HP/UX
++      # CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
++      # LDFLAGS="$LDFLAGS -L/usr/local/lib"; export LDFLAGS
++      # LIBS="-lcrypt $LIBS"; export LIBS
++        AC_DEFINE(HPUX)
++    ;;
++    *linux* )
++      # XXX: not sure if /usr/local is necessary.
++      # XXX: linux libwrap needs -lnsl. configure should check for
++      #      existence of libnsl instead of hard-coding
++      CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
++      LDFLAGS="$LDFLAGS -L/usr/local/lib -L/lib"; export LDFLAGS
++      LIBS="-lnsl -lcrypt $LIBS"; export LIBS
++        AC_DEFINE(LINUX)
++
++      # XXX: does linux need glibc: -DGLIBC
++    ;;
++    *gnu* )
++       # For GNU HURD
++       # XXX: not sure if /usr/local is necessary.
++       # XXX: linux libwrap needs -lnsl. configure should check for
++       #      existence of libnsl instead of hard-coding
++       CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
++       LDFLAGS="$LDFLAGS -L/usr/local/lib -L/lib"; export LDFLAGS
++       LIBS="-lnsl -lcrypt $LIBS"; export LIBS
++        AC_DEFINE(LINUX)
++    ;;
++    *mips* )
++      CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
++      LDFLAGS="$LDFLAGS -L/usr/local/lib"; export LDFLAGS
++      LIBS="-lcrypt $LIBS"; export LIBS
++        AC_DEFINE(MIPS)
++    ;;
++    * )
++      CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
++      LDFLAGS="$LDFLAGS -L/usr/local/lib"; export LDFLAGS
++    ;;
++esac
++
++##################
++
++#PATH=${PATH}:/usr/local/bin
++
++dnl default install location
++AC_PREFIX_DEFAULT(/usr/local)
++
++dnl this doesnt work well if the program has not been installed before.
++dnl # guess the --prefix setting
++dnl AC_PREFIX_PROGRAM(tac_plus)
++
++# make sure MAKE sets ${MAKE}
++AC_PATH_PROG(MAKE,gmake,no)
++if test $MAKE = no; then
++    unset ac_cv_path_MAKE
++    AC_PATH_PROG(MAKE,make,no)
++    if test $MAKE = no; then
++      AC_MSG_ERROR([can't locate a make.])
++      exit 1
++    fi
++fi
++AC_PROG_MAKE_SET()
++
++AM_MAINTAINER_MODE()
++
++dnl AC_DISABLE_SHARED()
++dnl use libtool, not ranlib
++dnl AC_PROG_RANLIB
++AC_LIBTOOL_DLOPEN()
++AC_PROG_LIBTOOL()
++
++ACX_PTHREAD([CC=$PTHREAD_CC; CFLAGS="$CFLAGS $PTHREAD_CFLAGS";
++          LIBS="$PTHREAD_LIBS $LIBS"
++          AC_DEFINE(HAVE_PTHREAD)])
++
++# compiler specifics
++AC_PROG_CC
++AC_PROG_CPP
++AC_C_CONST
++AC_C_INLINE
++AC_C_STRINGIZE
++
++# compiler compiler specifics
++AM_PROG_LEX
++dnl XXX sets LEX and LEXLIB == -fl and YYTEXT?
++# see if 'lex' is flex in disguise
++if test "$LEX" != "flex" ; then
++      AC_MSG_CHECKING([whether lex is flex in disguise])
++      # this may not be a valid way to test for flex, but it's cheap.
++      $LEX --version > /dev/null 2>&1
++      if test $? -ne 0 ; then
++              AC_MSG_RESULT()
++              AC_MSG_ERROR([registry requires gnu flex.  sorry])
++      fi
++      AC_MSG_RESULT(yes)
++fi
++AC_PROG_YACC
++# see if 'yacc' is bison in disguise
++if test "$YACC" != "bison" ; then
++      AC_MSG_CHECKING([whether yacc is bison in disguise])
++      # this may not be a valid way to test for bison, but it's cheap.
++      $YACC --version > /dev/null 2>&1
++      if test $? -ne 0 ; then
++              AC_MSG_RESULT()
++              AC_MSG_ERROR([registry requires gnu bison.  sorry])
++      fi
++      AC_MSG_RESULT(yes)
++fi
++
++# platform specifics
++AC_WORDS_BIGENDIAN
++AC_LONG_64_BITS
++
++AC_PROG_INSTALL
++
++dnl configure options
++dnl
++dnl debug - aka compiler symbols
++dnl
++AC_MSG_CHECKING(whether to include symbols)
++AH_TEMPLATE(DBG, [define this to include debugging support])
++AC_ARG_ENABLE(debug,
++[
++  --enable-debug          include compiler symbols],
++[ case "$enable_debug" in
++  no)
++    AC_MSG_RESULT(no)
++    ;;
++  yes)
++    AC_MSG_RESULT(yes)
++    DBG="-g"
++    AC_DEFINE(DBG)
++    ;;
++  *)
++    AC_MSG_RESULT(no)
++    ;;
++  esac ],
++  # ie: no --{enable,disable}-debug option, withval == ""
++  AC_MSG_RESULT(no)
++)
++AC_SUBST(DBG)
++dnl
++dnl warn - aka gcc warnings
++dnl
++dnl             XXX: this should only be set for gcc....
++AC_MSG_CHECKING(whether to set gcc warnings)
++AH_TEMPLATE(WARN, [define this to set pedantic gcc warnings])
++AC_ARG_ENABLE(warn,
++[
++  --enable-warn           pedantic gcc warnings],
++[ case "$enable_debug" in
++  no)
++    AC_MSG_RESULT(no)
++    WARN=""
++    AC_DEFINE(WARN)
++    ;;
++  yes)
++    AC_MSG_RESULT([yes -Wall])
++    WARN="-Wall"
++    AC_DEFINE(WARN)
++    ;;
++  *)
++    AC_MSG_RESULT(no)
++    WARN=""
++    AC_DEFINE(WARN)
++    ;;
++  esac ],
++  # ie: no --{enable,disable}-warn option, withval == ""
++  WARN=""
++  AC_DEFINE(WARN)
++  AC_MSG_RESULT(no)
++)
++AC_SUBST(WARN)
++
++dnl
++dnl libwarp - aka tcp_wrappers
++dnl hijacked this from ssh, but mimiced the '*' "clause" for 'yes'
++dnl
++AC_MSG_CHECKING(whether to use libwrap)
++AH_TEMPLATE(LIBWRAP, [define this to include libwrap (tcp_wrappers) support])
++AH_TEMPLATE(HAVE_LIBWRAP, [])
++AC_ARG_WITH(libwrap,
++[
++  --with-libwrap[[=PATH]]   libwrap (tcp_wrappers) support.  PATH is dir above
++                          lib, eg: /usr/local. (default)],
++[ case "$withval" in
++  no)
++    AC_MSG_RESULT(no)
++    ;;
++  yes)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(LIBWRAP)
++    WRAPLIBS="-lwrap"
++    OLDLIBS="$LIBS"
++    LIBS="$WRAPLIBS $LIBS"
++    AC_TRY_LINK([ int allow_severity; int deny_severity; ],
++                [ hosts_access(); ],
++        [AC_DEFINE(LIBWRAP)
++        WRAPLIBS="-lwrap"
++        AC_DEFINE(HAVE_LIBWRAP) ],
++                [ AC_MSG_ERROR(Could not find libwrap.  You must first 
install tcp_wrappers.) ])
++    LIBS="$OLDLIBS"
++    ;;
++  *)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(LIBWRAP)
++    if test -d "$withval"; then
++        WRAPINCS="-I$withval/include"
++        WRAPLIBS="-L$withval/lib -lwrap -R$withval/lib"
++    else
++        WRAPLIBS="$withval"
++    fi
++    OLDLIBS="$LIBS"
++    OLDINCS="$INCLUDES"
++    LIBS="$WRAPLIBS $LIBS"
++    INCLUDES="$WRAPINCS"
++    AC_TRY_LINK([ int allow_severity; int deny_severity; ],
++                [ hosts_access(); ],
++                [],
++                [ AC_MSG_ERROR(Could not find libwrap.  You must first 
install tcp_wrappers.) ])
++    LIBS="$OLDLIBS"
++    INCLUDES="$OLDINCS"
++    ;;
++  esac ],
++              # XXX: is "no" correct?
++  AC_MSG_RESULT(yes)
++  AC_DEFINE(LIBWRAP)
++  WRAPLIBS="-lwrap"
++  OLDLIBS="$LIBS"
++  LIBS="$WRAPLIBS $LIBS"
++  AC_TRY_LINK([ int allow_severity; int deny_severity; ],
++                [ hosts_access(); ],
++        [AC_DEFINE(LIBWRAP)
++        WRAPLIBS="-lwrap"
++        AC_DEFINE(HAVE_LIBWRAP) ],
++                [ AC_MSG_ERROR(Could not find libwrap.  You must first 
install tcp_wrappers.) ])
++  LIBS="$OLDLIBS"
++)
++AC_SUBST(WRAPINCS)
++AC_SUBST(WRAPLIBS)
++
++dnl
++dnl skey - aka One Time Password mechanism
++dnl
++AC_MSG_CHECKING([whether to include skey support])
++AH_TEMPLATE(SKEY, [define this to include support for skey])
++AC_ARG_WITH(skey,
++[  --with-skey[[=PATH]]      libskey (skey) support.  PATH is dir above lib,
++                          eg: /usr/local],
++[ case "$withval" in
++  no)
++    AC_MSG_RESULT(no)
++    ;;
++  yes)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(SKEY)
++    AC_SEARCH_LIBS([skeychallenge], [skey],
++        [ ],
++        [AC_MSG_ERROR(Could not find libskey.  You must first install skey or 
provide a hint to the location of library and includes, as in 
--with-skey=/usr/local.)])
++    ;;
++  *)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(SKEY)
++    if test -d "$withval" ; then
++      LDFAGS="$LDFLAGS -L$withval/lib"
++        CFLAGS="$CFLAGS -I$withval/include"
++        AC_SEARCH_LIBS([skeychallenge], [skey],
++            [ ],
++            [AC_MSG_ERROR([Could not find libskey.])
++      ])
++    else
++        AC_SEARCH_LIBS([skeychallenge], [$withval],
++            [ ],
++            [AC_MSG_ERROR([Could not find lib$withval.])
++      ])
++    fi
++    ;;
++  esac ],
++  AC_MSG_RESULT(no)
++  with_skey="no"
++)
++AC_SUBST(SKEY)
++AM_CONDITIONAL([TACSKEY], [test "${with_skey}" != "no"])
++
++dnl
++dnl aceclnt - aka RSA SecurID
++dnl
++AC_MSG_CHECKING([whether to include RSA SecurID support])
++AH_TEMPLATE(ACECLNT, [define this to include support for RSA SecurID])
++AC_ARG_WITH(aceclnt,
++      [AS_HELP_STRING([--with-aceclnt[[=PATH]]],[libaceclnt (RSA SecurID) 
support. PATH is dir above lib, eg: /usr/local])],
++[ case "$withval" in
++  no)
++    AC_MSG_RESULT(no)
++    ;;
++  yes)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(ACECLNT)
++    AC_SEARCH_LIBS([SD_Init], [aceclnt],
++        [ ],
++        [AC_MSG_ERROR(Could not find libaceclnt.  You must first install 
aceclnt or provide a hint to the location of library and includes, as in 
--with-aceclnt=/usr/local)])
++    ;;
++  *)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(ACECLNT)
++    if test -d "$withval" ; then
++      LDFAGS="$LDFLAGS -L$withval/lib"
++        CFLAGS="$CFLAGS -I$withval/include"
++        AC_SEARCH_LIBS([SD_Init], [aceclnt],
++            [ ],
++            [AC_MSG_ERROR([Could not find libaceclnt.])
++      ])
++    else
++        AC_SEARCH_LIBS([SD_Init], [$withval],
++            [ ],
++            [AC_MSG_ERROR([Could not find lib$withval.])
++      ])
++    fi
++    ;;
++  esac ],
++  AC_MSG_RESULT(no)
++  with_aceclnt="no"
++)
++AC_SUBST(ACECLNT)
++AM_CONDITIONAL([TACACECLNT], [test "${with_aceclnt}" != "no"])
++
++dnl
++dnl           XXX: might be good to have these as config file options
++dnl                or just options for running scripts
++dnl userid - aka TACPLUS_USERID
++dnl
++AC_MSG_CHECKING([whether to setuid()])
++AH_TEMPLATE(TACPLUS_USERID, [define this to a UID for setuid() at run-time])
++AC_ARG_WITH(userid,
++[  --with-userid=UID       tacacs will setuid(UID) after it binds the tcp 
port],
++[ case "$withval" in
++  no)
++    AC_MSG_RESULT(no)
++    ;;
++  yes)
++    AC_MSG_ERROR([--with-userid requires a UID argument.])
++    ;;
++  *)
++    expr $withval + 1 > /dev/null 2>&1
++    if test $? != 0  ; then
++      AC_MSG_ERROR([--with-userid requires a numeric UID argument.])
++    fi
++    AC_MSG_RESULT($withval)
++    AC_DEFINE_UNQUOTED(TACPLUS_USERID, $withval)
++    ;;
++  esac ],
++  # ie: no --{with,without}-userid option, withval == ""
++  AC_MSG_RESULT(no)
++)
++AC_SUBST(TACPLUS_USERID)
++
++dnl
++dnl groupid - aka TACPLUS_GROUPID
++dnl
++AC_MSG_CHECKING(whether to setgid())
++AH_TEMPLATE(TACPLUS_GROUPID, [define this to a GID for setgid() at run-time])
++AC_ARG_WITH(groupid,
++[  --with-groupid=UID      tacacs will setgid(GID) after it binds the tcp 
port],
++[ case "$withval" in
++  no)
++    AC_MSG_RESULT(no)
++    ;;
++  yes)
++    AC_MSG_ERROR([--with-groupid requires a GID argument.])
++    ;;
++  *)
++    expr $withval + 1 > /dev/null 2>&1
++    if test $? != 0  ; then
++      AC_MSG_ERROR([--with-groupid requires a numeric GID argument.])
++    fi
++    AC_MSG_RESULT($withval)
++    AC_DEFINE_UNQUOTED(TACPLUS_GROUPID, $withval)
++    ;;
++  esac ],
++  # ie: no --{with,without}-userid option, withval == ""
++  AC_MSG_RESULT(no)
++)
++AC_SUBST(TACPLUS_GROUPID)
++
++dnl
++dnl ACLs - aka tacacs config ACLs
++dnl
++AC_MSG_CHECKING(whether to include ACL support)
++AH_TEMPLATE(ACLS, [define this to include ACL support])
++AC_ARG_ENABLE(acls,
++[  --enable-acls           tacacs config ACL support (default)],
++[ case "$enable_acls" in
++  no)
++    AC_MSG_RESULT(no)
++    use_acls=0
++    ;;
++  yes)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(ACLS)
++    use_acls=1
++    ;;
++  *)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(ACLS)
++    use_acls=1
++    ;;
++  esac ],
++  # ie: no --{enable,disable}-acls option, withval == ""
++  AC_MSG_RESULT(yes)
++  AC_DEFINE(ACLS)
++  use_acls=1
++)
++AC_SUBST(ACLS)
++
++dnl
++dnl UENABLE - aka tacacs config user enable.  UENABLE requires ACLS.
++dnl
++AC_MSG_CHECKING(whether to include user-enable support)
++AH_TEMPLATE(UENABLE, [define this to include user-specific enable password 
support])
++AC_ARG_ENABLE(uenable,
++[  --enable-uenable        tacacs config per-user enable support (default)],
++[ case "$enable_uenable" in
++  no)
++    AC_MSG_RESULT(no)
++    use_uenable=0
++    ;;
++  yes | *)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(UENABLE)
++    use_uenable=1
++    ;;
++  esac ],
++  # ie: no --{enable,disable}-uenable option, withval == ""
++  AC_MSG_RESULT(yes)
++  AC_DEFINE(UENABLE)
++  use_uenable=1
++)
++AC_SUBST(UENABLE)
++if test $use_acls -eq 0 -a $use_uenable -eq 1; then
++    AC_MSG_WARN([unenable (user enable) option requires the acls option.])
++    AC_DEFINE(ACLS)
++    AC_SUBST(ACLS)
++fi
++
++dnl
++dnl MAXSESS - Enforce a limit on maximum sessions per user
++dnl
++AC_MSG_CHECKING(whether to include maximum sessions (maxsess) support)
++AH_TEMPLATE(MAXSESS, [define this to include MAXSESS support to enforce a 
limit on maximum sessions per user ])
++AC_ARG_ENABLE(maxsess,
++[  --enable-maxsess        Enforce a limit on maximum sessions per user],
++[ case "$enable_maxsess" in
++  no)
++    AC_MSG_RESULT(no)
++    ;;
++  yes)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(MAXSESS)
++    ;;
++  *)
++    AC_MSG_RESULT(no)
++    ;;
++  esac ],
++  # ie: no --{enable,disable}-maxsess option, withval == ""
++  AC_MSG_RESULT(no)
++)
++AC_SUBST(MAXSESS)
++dnl
++dnl ENABLE_FINGER - use finger(1) to check number of sessions a user has on
++dnl                 a NAS.
++dnl
++AC_MSG_CHECKING(whether to include maxsess finger support)
++AH_TEMPLATE(MAXSESS_FINGER, [define this to include support to finger NASes 
for
++the number of sessions a user is using])
++AC_ARG_ENABLE(finger,
++[  --enable-finger         finger NAS for number of sessions a user is using],
++[ case "$enable_finger" in
++  no)
++    AC_MSG_RESULT(no)
++    use_finger=0
++    ;;
++  yes)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(MAXSESS_FINGER)
++    use_finger=1
++    ;;
++  *)
++    AC_MSG_RESULT(no)
++    ;;
++  esac ],
++  # ie: no --{enable,disable}-finger option, withval == ""
++  AC_MSG_RESULT(no)
++)
++AC_SUBST(MAXSESS_FINGER)
++dnl
++dnl ARAP_DES - enable DES for ARAP
++dnl
++AC_MSG_CHECKING(whether to include ARAP DES support)
++AH_TEMPLATE(ARAP_DES, [Define this if you have DES routines you can link to 
for ARAP (See the user guide for more details)])
++AC_ARG_ENABLE(arapdes,
++[  --enable-arapdes        enable DES for ARAP],
++[ case "$enable_arapdes" in
++  yes)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(ARAP_DES)
++    ;;
++  * | no)
++    AC_MSG_RESULT(no)
++    ;;
++  esac ],
++  # ie: no --{enable,disable}-arapdes option, withval == ""
++  AC_MSG_RESULT(no)
++)
++AC_SUBST(ARAP_DES)
++dnl
++dnl MSCHAP - enable MSCHAP
++dnl
++AC_MSG_CHECKING(whether to include MSCHAP support)
++AH_TEMPLATE(MSCHAP, [Define this if you need MSCHAP support])
++AC_ARG_ENABLE(mschap,
++[  --enable-mschap        enable MSCHAP],
++[ case "$enable_mschap" in
++  yes)
++    AC_CHECK_HEADER(mschap_.h)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(MSCHAP)
++    ;;
++  * | no)
++    AC_MSG_RESULT(no)
++    ;;
++  esac ],
++  # ie: no --{enable,disable}-mschap option, withval == ""
++  AC_MSG_RESULT(no)
++)
++AC_SUBST(MSCHAP_)
++dnl
++dnl MSCHAP_DES - enable DES for MSCHAP
++dnl
++AC_MSG_CHECKING(whether to include MSCHAP DES support)
++AH_TEMPLATE(MSCHAP_DES, [Define this if you have DES routines you can link to 
for MSCHAP (See the user guide for more details)])
++AC_ARG_ENABLE(mschapdes,
++[  --enable-mschapdes        enable DES for MSCHAP],
++[ case "$enable_mschapdes" in
++  yes)
++    AC_CHECK_HEADER(mschap_des.h)
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(MSCHAP_DES)
++    ;;
++  * | no)
++    AC_MSG_RESULT(no)
++    ;;
++  esac ],
++  # ie: no --{enable,disable}-mschapdes option, withval == ""
++  AC_MSG_RESULT(no)
++)
++AC_SUBST(MSCHAP_DES)
++
++dnl
++dnl pid file location
++dnl
++AC_MSG_CHECKING(for alt pid file FQPN)
++if test -d /var/run; then
++    TACPLUS_PIDFILE="/var/run/tac_plus.pid"
++else
++    TACPLUS_PIDFILE="/etc/tac_plus.pid"
++fi
++AC_ARG_WITH(pidfile,
++[  --with-pidfile=PATH     alternate pidfile FQPN],
++[ case "$withval" in
++  *)
++    AC_MSG_RESULT($withval)
++    TACPLUS_PIDFILE=$withval
++    ;;
++  esac ],
++  AC_MSG_RESULT($TACPLUS_PIDFILE)
++)
++AC_SUBST(TACPLUS_PIDFILE)
++
++dnl
++dnl default accounting file location
++dnl
++AC_MSG_CHECKING(for alt accounting file FQPN)
++if test -d /var/log; then
++    TACPLUS_ACCTFILE="/var/log/tac_plus.acct"
++else
++    TACPLUS_ACCTFILE="/var/tmp/tac_plus.acct"
++fi
++AC_ARG_WITH(acctfile,
++[  --with-acctfile=PATH    alternate accounting file FQPN],
++[ case "$withval" in
++  *)
++    AC_MSG_RESULT($withval)
++    TACPLUS_ACCTFILE=$withval
++    ;;
++  esac ],
++  AC_MSG_RESULT($TACPLUS_ACCTFILE)
++)
++AC_SUBST(TACPLUS_ACCTFILE)
++
++dnl
++dnl default log file location
++dnl
++AC_MSG_CHECKING(for alt log file FQPN)
++if test -d /var/log; then
++    TACPLUS_LOGFILE="/var/log/tac_plus.log"
++else
++    TACPLUS_LOGFILE="/var/tmp/tac_plus.log"
++fi
++AC_ARG_WITH(logfile,
++[  --with-logfile=PATH     alternate log file FQPN],
++[ case "$withval" in
++  *)
++    AC_MSG_RESULT($withval)
++    TACPLUS_LOGFILE=$withval
++    ;;
++  esac ],
++  AC_MSG_RESULT($TACPLUS_LOGFILE)
++)
++AC_SUBST(TACPLUS_LOGFILE)
++
++dnl
++dnl default wholog file location
++dnl
++AC_MSG_CHECKING(for alt wholog file FQPN)
++if test -d /var/log; then
++    TACPLUS_WHOLOGFILE="/var/log/tacwho.log"
++else
++    TACPLUS_WHOLOGFILE="/var/tmp/tacwho.log"
++fi
++AC_ARG_WITH(whologfile,
++[  --with-whologfile=PATH     alternate wholog file FQPN],
++[ case "$withval" in
++  *)
++    AC_MSG_RESULT($withval)
++    TACPLUS_WHOLOGFILE=$withval
++    ;;
++  esac ],
++  AC_MSG_RESULT($TACPLUS_WHOLOGFILE)
++)
++AC_SUBST(TACPLUS_WHOLOGFILE)
++
++dnl
++dnl profiling
++dnl
++AC_MSG_CHECKING(whether to profile)
++AH_TEMPLATE(PROFILE, [define this to include profiling])
++AC_ARG_WITH(prof,
++[  --with-prof             Compile in profiling.],
++[ case "$withval" in
++  yes)
++    AC_MSG_RESULT(yes)
++    #AC_DEFINE(PROF)
++    PROFLAGS="-pg"; export PROFLAGS
++    PROFLIBS="-lc_p -lc"; export PROFLIBS
++    OLDCFLAGS="$CFLAGS"
++    OLDLIBS="$LIBS"
++    CFLAGS="$PROFLAGS $CFLAGS"
++    LIBS="$PROFLIBS $LIBS"
++    AC_TRY_LINK([ ],
++              [ moncontrol(0); ],
++      [AC_DEFINE(PROFILE) ],
++              [ AC_MSG_ERROR(Could not compile with -pg.) ])
++    CFLAGS="$OLDCFLAGS"
++    LIBS="$OLDLIBS"
++    ;;
++  *)
++    AC_MSG_RESULT(no)
++    ;;
++  esac ],
++  AC_MSG_RESULT(no)
++)
++AC_SUBST(PROFLAGS)
++AC_SUBST(PROFLIBS)
++
++# look for PAM
++AH_TEMPLATE(HAVE_PAM, [define if your system has libpam])
++AC_CHECK_LIB([pam], [pam_start],
++      [AC_DEFINE(HAVE_PAM)
++       LIBS="-lpam $LIBS"])
++
++# check includes/headers
++AC_HEADER_STDC
++AC_HEADER_TIME
++AC_CHECK_HEADERS(crypt.h ctype.h errno.h fcntl.h malloc.h shadow.h stdlib.h \
++              stdint.h string.h strings.h sys/resource.h sys/socket.h \
++              sys/types.h sys/wait.h sysexits.h syslog.h termios.h unistd.h \
++              utmp.h utmpx.h wait.h)
++
++AH_TEMPLATE([SHADOW_PASSWORDS],
++          [define if your system has a shadow password file])
++if test $ac_cv_header_shadow_h = yes ; then
++    AC_DEFINE(SHADOW_PASSWORDS)
++fi
++
++# type checks
++dnl AC_TYPE_MODE_T
++dnl AC_TYPE_OFF_T
++dnl AC_TYPE_PID_T
++AC_TYPE_SIGNAL
++dnl AC_TYPE_SIZE_T
++# Do we have socklen_t definition?
++AC_CHECK_TYPES([socklen_t], [], [], [#if HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++#if HAVE_SYS_SOCKET_H
++# include <sys/socket.h>
++#endif])
++# Do we have pid_t definition?
++AC_CHECK_TYPES([pid_t], [], [], [#if HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++#if HAVE_UNISTD_H
++# include <unistd.h>
++#endif])
++
++# check functions
++AC_CHECK_FUNCS([getdtablesize memcpy memset random strchr strcspn strerror \
++              strrchr wait3 wait4 waitpid])
++AC_FUNC_SETPGRP
++
++# Is the wait(2) status an int or union
++AH_TEMPLATE([UNIONWAIT],
++          [define this if your waitpid() takes an union wait status pointer])
++AC_MSG_CHECKING([if waitpid takes a union wait])
++AC_TRY_COMPILE([#if HAVE_SYS_WAIT_H
++# include <sys/wait.h>
++#endif
++#if HAVE_WAIT_H
++# include <wait.h>
++#endif], [union wait status;
++int pid;
++pid = wait (&status);
++#ifdef WEXITSTATUS
++/* Some POSIX systems have both the new-style macros and the old
++   union wait type, and they do not work together.  If union wait
++   conflicts with WEXITSTATUS et al, we dont want to use it.
++ */
++if (WEXITSTATUS(status) != 0)
++      pid = -1;
++#ifdef WTERMSIG
++      /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */
++      -- blow chunks here --
++#endif
++#endif
++#ifdef HAVE_WAITPID
++      /* Make sure union wait works with waitpid.  */
++      pid = waitpid(-1, &status, 0);
++#endif],
++[AC_MSG_RESULT(yes)
++ AC_DEFINE(UNIONWAIT)],
++[AC_MSG_RESULT(no)])
++
++# Check for re-arming signal
++AH_TEMPLATE([REARMSIGNAL],
++          [define this if you find that your daemon quits after being sent
++           more than one SIGUSR1. Some systems need to explicitly re-arm
++           signals after they've been used once])
++AC_MSG_CHECKING([if signals need to be re-armed])
++AC_TRY_RUN([#include <signal.h>
++#if HAVE_STDLIB_H
++#include <stdlib.h>
++#endif
++#if HAVE_UNISTD_H
++#include <unistd.h>
++#endif
++int hit = 0;
++RETSIGTYPE
++handler(n)
++int n;
++{
++      hit++;
++}
++int main()
++{
++      signal(SIGUSR1, handler);
++      kill(getpid(), SIGUSR1);
++      kill(getpid(), SIGUSR1);
++      if (hit == 2)
++          exit(0);
++      else
++          exit(114);
++}],
++[AC_MSG_RESULT(no)],
++[AC_MSG_RESULT(yes);AC_DEFINE(REARMSIGNAL)],
++[AC_MSG_WARN([tac_plus may be less efficient when cross-compiled])
++ AC_DEFINE(REARMSIGNAL)],
++)
++
++# Check for need to reap children when the default is to ignore SIGCHLD
++AH_TEMPLATE([REAPCHILD],
++          [define this if your o/s needs children reaped even though the
++           SIGCHLD default is SIG_IGN])
++AH_TEMPLATE([REAPSIGIGN],
++          [define this if your o/s needs children reaped even with an
++           explicit SIG_IGN])
++AC_MSG_CHECKING([if children need to be reaped])
++AC_TRY_RUN([#include <signal.h>
++#if HAVE_STDLIB_H
++#include <stdlib.h>
++#endif
++#if HAVE_UNISTD_H
++#include <unistd.h>
++#endif
++#if HAVE_SYS_WAIT_H
++#include <sys/wait.h>
++#endif
++#if HAVE_SYS_RESOURCE_H
++#include <sys/resource.h>
++#endif
++#include <errno.h>
++pid_t child, pid;
++int main()
++{
++      int status;
++      child = vfork();
++      if (child == 0)
++              exit(1);
++#if HAVE_WAIT4
++      pid = wait4(child, &status, WNOHANG, NULL);
++#else
++      do {
++              pid = wait3(&status, WNOHANG, NULL);
++      } while (pid != child && pid != -1);
++#endif
++      if (pid == -1 && errno == ECHILD)
++              exit(0);
++      exit(114);
++}],
++[AC_MSG_RESULT(no)],
++[AC_MSG_RESULT(yes)
++ AC_DEFINE(REAPCHILD)
++ # try again with SIG_IGN
++ AC_MSG_CHECKING([if children need to be reaped with SIG_IGN])
++ AC_TRY_RUN([#include <signal.h>
++#if HAVE_STDLIB_H
++#include <stdlib.h>
++#endif
++#if HAVE_UNISTD_H
++#include <unistd.h>
++#endif
++#if HAVE_SYS_WAIT_H
++#include <sys/wait.h>
++#endif
++#if HAVE_SYS_RESOURCE_H
++#include <sys/resource.h>
++#endif
++#include <errno.h>
++pid_t child, pid;
++int main()
++{
++      int status;
++      signal(SIGCHLD, SIG_IGN);
++      child = vfork();
++      if (child == 0)
++              exit(1);
++#if HAVE_WAIT4
++      pid = wait4(child, &status, WNOHANG, NULL);
++#else
++      do {
++              pid = wait3(&status, WNOHANG, NULL);
++      } while (pid != child && pid != -1);
++#endif
++      if (pid == -1 && errno == ECHILD)
++              exit(0);
++      exit(114);
++}],
++ [AC_MSG_RESULT(no)],
++ [AC_MSG_RESULT(yes);AC_DEFINE(REAPSIGIGN)])],
++[AC_MSG_WARN([tac_plus may be less efficient when cross-compiled])
++ AC_DEFINE(REAPCHILD)],
++)
++
++# Find an appropriate tar for use in "dist" targets.  A "best guess"
++# is good enough -- if we can't find GNU tar, we don't really care.
++AC_CHECK_PROGS(TAR, gnutar gtar tar)
++
++AC_SUBST(INST_PROGS)
++INST_PROGS=$progs
++
++dnl locate perl 5
++AC_PROG_INSTALL
++AC_PATH_PROG(PERLV_PATH,perl5,no)
++if test $PERLV_PATH = no; then
++    unset ac_cv_path_PERLV_PATH
++    AC_PATH_PROG(PERLV_PATH,perl,no)
++    if test $PERLV_PATH = no; then
++        AC_MSG_ERROR([can't locate a suitable perl5.])
++        exit 1
++    else
++        $PERLV_PATH -e 'require 5;'
++        if test $? -ne 0 ; then
++           AC_MSG_ERROR([can't locate a suitable perl5.])
++           exit 1
++        fi
++    fi
++fi
++AC_SUBST(PERLV_PATH)
++
++AC_SUBST(CFLAGS)
++AC_SUBST(CPPFLAGS)
++AC_SUBST(LDFLAGS)
++dnl AC_SUBST(PG_LDFLAGS)
++dnl AC_SUBST(PG_CPPFLAGS)
++
++# i did this so that i could end up w/ a #define for the config file */
++if test "x$prefix" = xNONE; then
++    prefix_save=$prefix
++    prefix=$ac_default_prefix
++    MYSYSCONFDIR=`eval echo $sysconfdir`
++    prefix=$prefix_save
++else
++    MYSYSCONFDIR=`eval echo $sysconfdir`
++fi
++AC_SUBST(MYSYSCONFDIR)
++
++# autoheader bits
++AH_TOP([
++#ifndef CONFIG_H
++#define CONFIG_H        1
++])
++AH_BOTTOM([
++/* UENABLE requires ACLS */
++#ifdef UENABLE
++# ifndef ACLS
++#  define ACLS        1
++# endif
++#endif
++
++/* MAXSESS_FINGER requires MAXSESS */
++#ifdef MAXSESS_FINGER
++# ifndef MAXSESS
++#  define MAXSESS     1
++# endif
++#endif
++
++/* Some, eg: solaris 2.6, dont have socklen_t */
++#ifndef HAVE_SOCKLEN_T
++# define socklen_t    int
++#endif
++
++/* host specifics */
++/* Define this if your password file does not contain age and comment fields. 
*/
++#define NO_PWAGE
++
++#if AIX
++/*
++ * The only way to properly compile BSD stuff on AIX is to define a
++ * "bsdcc" compiler on your system.  See /usr/lpp/bos/bsdport on your
++ * system for details. People who do NOT do this tell me that the code
++ * still compiles but that it then doesn't behave correctly e.g. child
++ * processes are not reaped correctly.  Don't expect much sympathy if
++ * you do this.
++ */
++# define _BSD 1
++# define _BSD_INCLUDES
++# define NO_PWAGE
++#endif        /* AIX */
++
++#if LINUX
++# define NO_PWAGE
++# include <unistd.h>
++# ifdef GLIBC
++#  define CONST_SYSERRLIST
++# endif
++#endif        /* LINUX */
++
++#if NETBSD
++# define NO_PWAGE
++# define CONST_SYSERRLIST
++#endif
++
++#if FREEBSD
++# define CONST_SYSERRLIST
++# define NO_PWAGE
++#endif
++
++#if BSDI
++# define NO_PWAGE
++#endif
++#endif /* CONFIG_H */
++])
++AC_CONFIG_HEADERS(config.h)
++AC_CONFIG_FILES(Makefile version.h pathsl.h tac_plus.8 tac_plus.conf.5)
++
++AC_OUTPUT()
+Index: tacacs+-4.0.4.27a/configure.in
+===================================================================
+--- tacacs+-4.0.4.27a.orig/configure.in        2014-12-27 04:21:29.987470275 
-0500
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,1037 +0,0 @@
+-dnl Process this file with autoconf to produce a configure script.
+-dnl A configure script is provided, in cause you do not have autoconf.
+-
+-AC_PREREQ(2.13)
+-AC_INIT(CHANGES)
+-
+-PACKAGE=`sed -n 's/.*package.*"\(.*\)".*/\1/p' $srcdir/version.h.in|tr -d ' '`
+-VERSION=`sed -n 's/.*version.*"\(.*\)".*/\1/p' $srcdir/version.h.in|tr -d ' '`
+-
+-dnl VERSION needs to be updated in version.h.in such that 'make dist'
+-dnl uses the correct filename for the directory name and tarball and binaries
+-dnl get the right version numbers.
+-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, tac_p...@shrubbery.net)
+-
+-AM_MAINTAINER_MODE()
+-
+-dnl AC_CONFIG_SUBDIRS(etc man share)
+-
+-# what OS
+-dnl ---- XXX: these really should deal with the individual reasons why
+-dnl      linux/whatever is different, rather than a blanket stmt
+-dnl is this crack, i mean linux?
+-AH_TEMPLATE(AIX, [define this if your o/s is AIX])
+-AH_TEMPLATE(FREEBSD, [define this if your o/s is FreeBSD])
+-AH_TEMPLATE(NETBSD, [define this if your o/s is NetBSD])
+-AH_TEMPLATE(SOLARIS, [define this if your o/s is Solaris])
+-AH_TEMPLATE(HPUX, [define this if your o/s is HPux])
+-AH_TEMPLATE(LINUX, [define this if your o/s is Linux])
+-AH_TEMPLATE(MIPS, [define this if your o/s is MIPS])
+-AC_CANONICAL_HOST
+-case "${host_os}" in
+-    *aix* )
+-      # For AIX
+-      echo "See /usr/lpp/bos/bsdport on your system for details of how " \
+-              "to define bsdcc."
+-      CC=bsdcc; export CC
+-      # CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
+-      # LDFLAGS="$LDFLAGS -L/usr/local/lib"; export LDFLAGS
+-      # LIBS="-lcrypt $LIBS"; export LIBS
+-        AC_DEFINE(AIX)
+-    ;;
+-    *freebsd* )
+-      #CPPFLAGS="$CFLAGS -I/usr/pkg/include"; export CPPFLAGS
+-      #LDFLAGS="$LDFLAGS -L/usr/pkg/lib -Xlinker -rpath -Xlinker /usr/pkg/lib"
+-      #export LDFLAGS
+-      LIBS="-lcrypt $LIBS"; export LIBS
+-        AC_DEFINE(FREEBSD)
+-    ;;
+-    *netbsd* )
+-      #CPPFLAGS="$CFLAGS -I/usr/pkg/include"; export CPPFLAGS
+-      #LDFLAGS="$LDFLAGS -L/usr/pkg/lib -Xlinker -rpath -Xlinker /usr/pkg/lib"
+-      #export LDFLAGS
+-      LIBS="-lcrypt $LIBS"; export LIBS
+-        AC_DEFINE(NETBSD)
+-    ;;
+-    *solaris* )
+-      #CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
+-      #LDFLAGS="$LDFLAGS -L/usr/local/lib"; export LDFLAGS
+-      LIBS="-lnsl -lsocket"; export LIBS
+-        AC_DEFINE(SOLARIS)
+-    ;;
+-    *hpux* )
+-      # For HP/UX
+-      # CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
+-      # LDFLAGS="$LDFLAGS -L/usr/local/lib"; export LDFLAGS
+-      # LIBS="-lcrypt $LIBS"; export LIBS
+-        AC_DEFINE(HPUX)
+-    ;;
+-    *linux* )
+-      # XXX: not sure if /usr/local is necessary.
+-      # XXX: linux libwrap needs -lnsl. configure should check for
+-      #      existence of libnsl instead of hard-coding
+-      CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
+-      LDFLAGS="$LDFLAGS -L/usr/local/lib -L/lib"; export LDFLAGS
+-      LIBS="-lnsl -lcrypt $LIBS"; export LIBS
+-        AC_DEFINE(LINUX)
+-
+-      # XXX: does linux need glibc: -DGLIBC
+-    ;;
+-    *mips* )
+-      CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
+-      LDFLAGS="$LDFLAGS -L/usr/local/lib"; export LDFLAGS
+-      LIBS="-lcrypt $LIBS"; export LIBS
+-        AC_DEFINE(MIPS)
+-    ;;
+-    * )
+-      CPPFLAGS="$CFLAGS -I/usr/local/include"; export CPPFLAGS
+-      LDFLAGS="$LDFLAGS -L/usr/local/lib"; export LDFLAGS
+-    ;;
+-esac
+-
+-##################
+-
+-#PATH=${PATH}:/usr/local/bin
+-
+-dnl default install location
+-AC_PREFIX_DEFAULT(/usr/local)
+-
+-dnl this doesnt work well if the program has not been installed before.
+-dnl # guess the --prefix setting
+-dnl AC_PREFIX_PROGRAM(tac_plus)
+-
+-# make sure MAKE sets ${MAKE}
+-AC_PATH_PROG(MAKE,gmake,no)
+-if test $MAKE = no; then
+-    unset ac_cv_path_MAKE
+-    AC_PATH_PROG(MAKE,make,no)
+-    if test $MAKE = no; then
+-      AC_MSG_ERROR([can't locate a make.])
+-      exit 1
+-    fi
+-fi
+-AC_PROG_MAKE_SET()
+-
+-AM_MAINTAINER_MODE()
+-
+-dnl AC_DISABLE_SHARED()
+-dnl use libtool, not ranlib
+-dnl AC_PROG_RANLIB
+-AC_LIBTOOL_DLOPEN()
+-AC_PROG_LIBTOOL()
+-
+-ACX_PTHREAD([CC=$PTHREAD_CC; CFLAGS="$CFLAGS $PTHREAD_CFLAGS";
+-          LIBS="$PTHREAD_LIBS $LIBS"
+-          AC_DEFINE(HAVE_PTHREAD)])
+-
+-# compiler specifics
+-AC_PROG_CC
+-AM_C_PROTOTYPES
+-AC_PROG_CPP
+-AC_C_CONST
+-AC_C_INLINE
+-AC_C_STRINGIZE
+-
+-# compiler compiler specifics
+-AM_PROG_LEX
+-dnl XXX sets LEX and LEXLIB == -fl and YYTEXT?
+-# see if 'lex' is flex in disguise
+-if test "$LEX" != "flex" ; then
+-      AC_MSG_CHECKING([whether lex is flex in disguise])
+-      # this may not be a valid way to test for flex, but it's cheap.
+-      $LEX --version > /dev/null 2>&1
+-      if test $? -ne 0 ; then
+-              AC_MSG_RESULT()
+-              AC_MSG_ERROR([registry requires gnu flex.  sorry])
+-      fi
+-      AC_MSG_RESULT(yes)
+-fi
+-AC_PROG_YACC
+-# see if 'yacc' is bison in disguise
+-if test "$YACC" != "bison" ; then
+-      AC_MSG_CHECKING([whether yacc is bison in disguise])
+-      # this may not be a valid way to test for bison, but it's cheap.
+-      $YACC --version > /dev/null 2>&1
+-      if test $? -ne 0 ; then
+-              AC_MSG_RESULT()
+-              AC_MSG_ERROR([registry requires gnu bison.  sorry])
+-      fi
+-      AC_MSG_RESULT(yes)
+-fi
+-
+-# platform specifics
+-AC_WORDS_BIGENDIAN
+-AC_LONG_64_BITS
+-
+-AC_PROG_INSTALL
+-
+-dnl configure options
+-dnl
+-dnl debug - aka compiler symbols
+-dnl
+-AC_MSG_CHECKING(whether to include symbols)
+-AH_TEMPLATE(DBG, [define this to include debugging support])
+-AC_ARG_ENABLE(debug,
+-[
+-  --enable-debug          include compiler symbols],
+-[ case "$enable_debug" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  yes)
+-    AC_MSG_RESULT(yes)
+-    DBG="-g"
+-    AC_DEFINE(DBG)
+-    ;;
+-  *)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  esac ],
+-  # ie: no --{enable,disable}-debug option, withval == ""
+-  AC_MSG_RESULT(no)
+-)
+-AC_SUBST(DBG)
+-dnl
+-dnl warn - aka gcc warnings
+-dnl
+-dnl             XXX: this should only be set for gcc....
+-AC_MSG_CHECKING(whether to set gcc warnings)
+-AH_TEMPLATE(WARN, [define this to set pedantic gcc warnings])
+-AC_ARG_ENABLE(warn,
+-[
+-  --enable-warn           pedantic gcc warnings],
+-[ case "$enable_debug" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    WARN=""
+-    AC_DEFINE(WARN)
+-    ;;
+-  yes)
+-    AC_MSG_RESULT([yes -Wall])
+-    WARN="-Wall"
+-    AC_DEFINE(WARN)
+-    ;;
+-  *)
+-    AC_MSG_RESULT(no)
+-    WARN=""
+-    AC_DEFINE(WARN)
+-    ;;
+-  esac ],
+-  # ie: no --{enable,disable}-warn option, withval == ""
+-  WARN=""
+-  AC_DEFINE(WARN)
+-  AC_MSG_RESULT(no)
+-)
+-AC_SUBST(WARN)
+-
+-dnl
+-dnl libwarp - aka tcp_wrappers
+-dnl hijacked this from ssh, but mimiced the '*' "clause" for 'yes'
+-dnl
+-AC_MSG_CHECKING(whether to use libwrap)
+-AH_TEMPLATE(LIBWRAP, [define this to include libwrap (tcp_wrappers) support])
+-AH_TEMPLATE(HAVE_LIBWRAP, [])
+-AC_ARG_WITH(libwrap,
+-[
+-  --with-libwrap[[=PATH]]   libwrap (tcp_wrappers) support.  PATH is dir above
+-                          lib, eg: /usr/local. (default)],
+-[ case "$withval" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  yes)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(LIBWRAP)
+-    WRAPLIBS="-lwrap"
+-    OLDLIBS="$LIBS"
+-    LIBS="$WRAPLIBS $LIBS"
+-    AC_TRY_LINK([ int allow_severity; int deny_severity; ],
+-                [ hosts_access(); ],
+-        [AC_DEFINE(LIBWRAP)
+-        WRAPLIBS="-lwrap"
+-        AC_DEFINE(HAVE_LIBWRAP) ],
+-                [ AC_MSG_ERROR(Could not find libwrap.  You must first 
install tcp_wrappers.) ])
+-    LIBS="$OLDLIBS"
+-    ;;
+-  *)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(LIBWRAP)
+-    if test -d "$withval"; then
+-        WRAPINCS="-I$withval/include"
+-        WRAPLIBS="-L$withval/lib -lwrap -R$withval/lib"
+-    else
+-        WRAPLIBS="$withval"
+-    fi
+-    OLDLIBS="$LIBS"
+-    OLDINCS="$INCLUDES"
+-    LIBS="$WRAPLIBS $LIBS"
+-    INCLUDES="$WRAPINCS"
+-    AC_TRY_LINK([ int allow_severity; int deny_severity; ],
+-                [ hosts_access(); ],
+-                [],
+-                [ AC_MSG_ERROR(Could not find libwrap.  You must first 
install tcp_wrappers.) ])
+-    LIBS="$OLDLIBS"
+-    INCLUDES="$OLDINCS"
+-    ;;
+-  esac ],
+-              # XXX: is "no" correct?
+-  AC_MSG_RESULT(yes)
+-  AC_DEFINE(LIBWRAP)
+-  WRAPLIBS="-lwrap"
+-  OLDLIBS="$LIBS"
+-  LIBS="$WRAPLIBS $LIBS"
+-  AC_TRY_LINK([ int allow_severity; int deny_severity; ],
+-                [ hosts_access(); ],
+-        [AC_DEFINE(LIBWRAP)
+-        WRAPLIBS="-lwrap"
+-        AC_DEFINE(HAVE_LIBWRAP) ],
+-                [ AC_MSG_ERROR(Could not find libwrap.  You must first 
install tcp_wrappers.) ])
+-  LIBS="$OLDLIBS"
+-)
+-AC_SUBST(WRAPINCS)
+-AC_SUBST(WRAPLIBS)
+-
+-dnl
+-dnl skey - aka One Time Password mechanism
+-dnl
+-AC_MSG_CHECKING([whether to include skey support])
+-AH_TEMPLATE(SKEY, [define this to include support for skey])
+-AC_ARG_WITH(skey,
+-[  --with-skey[[=PATH]]      libskey (skey) support.  PATH is dir above lib,
+-                          eg: /usr/local],
+-[ case "$withval" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  yes)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(SKEY)
+-    AC_SEARCH_LIBS([skeychallenge], [skey],
+-        [ ],
+-        [AC_MSG_ERROR(Could not find libskey.  You must first install skey or 
provide a hint to the location of library and includes, as in 
--with-skey=/usr/local.)])
+-    ;;
+-  *)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(SKEY)
+-    if test -d "$withval" ; then
+-      LDFAGS="$LDFLAGS -L$withval/lib"
+-        CFLAGS="$CFLAGS -I$withval/include"
+-        AC_SEARCH_LIBS([skeychallenge], [skey],
+-            [ ],
+-            [AC_MSG_ERROR([Could not find libskey.])
+-      ])
+-    else
+-        AC_SEARCH_LIBS([skeychallenge], [$withval],
+-            [ ],
+-            [AC_MSG_ERROR([Could not find lib$withval.])
+-      ])
+-    fi
+-    ;;
+-  esac ],
+-  AC_MSG_RESULT(no)
+-  with_skey="no"
+-)
+-AC_SUBST(SKEY)
+-AM_CONDITIONAL([TACSKEY], [test "${with_skey}" != "no"])
+-
+-dnl
+-dnl aceclnt - aka RSA SecurID
+-dnl
+-AC_MSG_CHECKING([whether to include RSA SecurID support])
+-AH_TEMPLATE(ACECLNT, [define this to include support for RSA SecurID])
+-AC_ARG_WITH(aceclnt,
+-      [AS_HELP_STRING([--with-aceclnt[[=PATH]]],[libaceclnt (RSA SecurID) 
support. PATH is dir above lib, eg: /usr/local])],
+-[ case "$withval" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  yes)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(ACECLNT)
+-    AC_SEARCH_LIBS([SD_Init], [aceclnt],
+-        [ ],
+-        [AC_MSG_ERROR(Could not find libaceclnt.  You must first install 
aceclnt or provide a hint to the location of library and includes, as in 
--with-aceclnt=/usr/local)])
+-    ;;
+-  *)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(ACECLNT)
+-    if test -d "$withval" ; then
+-      LDFAGS="$LDFLAGS -L$withval/lib"
+-        CFLAGS="$CFLAGS -I$withval/include"
+-        AC_SEARCH_LIBS([SD_Init], [aceclnt],
+-            [ ],
+-            [AC_MSG_ERROR([Could not find libaceclnt.])
+-      ])
+-    else
+-        AC_SEARCH_LIBS([SD_Init], [$withval],
+-            [ ],
+-            [AC_MSG_ERROR([Could not find lib$withval.])
+-      ])
+-    fi
+-    ;;
+-  esac ],
+-  AC_MSG_RESULT(no)
+-  with_aceclnt="no"
+-)
+-AC_SUBST(ACECLNT)
+-AM_CONDITIONAL([TACACECLNT], [test "${with_aceclnt}" != "no"])
+-
+-dnl
+-dnl           XXX: might be good to have these as config file options
+-dnl                or just options for running scripts
+-dnl userid - aka TACPLUS_USERID
+-dnl
+-AC_MSG_CHECKING([whether to setuid()])
+-AH_TEMPLATE(TACPLUS_USERID, [define this to a UID for setuid() at run-time])
+-AC_ARG_WITH(userid,
+-[  --with-userid=UID       tacacs will setuid(UID) after it binds the tcp 
port],
+-[ case "$withval" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  yes)
+-    AC_MSG_ERROR([--with-userid requires a UID argument.])
+-    ;;
+-  *)
+-    expr $withval + 1 > /dev/null 2>&1
+-    if test $? != 0  ; then
+-      AC_MSG_ERROR([--with-userid requires a numeric UID argument.])
+-    fi
+-    AC_MSG_RESULT($withval)
+-    AC_DEFINE_UNQUOTED(TACPLUS_USERID, $withval)
+-    ;;
+-  esac ],
+-  # ie: no --{with,without}-userid option, withval == ""
+-  AC_MSG_RESULT(no)
+-)
+-AC_SUBST(TACPLUS_USERID)
+-
+-dnl
+-dnl groupid - aka TACPLUS_GROUPID
+-dnl
+-AC_MSG_CHECKING(whether to setgid())
+-AH_TEMPLATE(TACPLUS_GROUPID, [define this to a GID for setgid() at run-time])
+-AC_ARG_WITH(groupid,
+-[  --with-groupid=UID      tacacs will setgid(GID) after it binds the tcp 
port],
+-[ case "$withval" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  yes)
+-    AC_MSG_ERROR([--with-groupid requires a GID argument.])
+-    ;;
+-  *)
+-    expr $withval + 1 > /dev/null 2>&1
+-    if test $? != 0  ; then
+-      AC_MSG_ERROR([--with-groupid requires a numeric GID argument.])
+-    fi
+-    AC_MSG_RESULT($withval)
+-    AC_DEFINE_UNQUOTED(TACPLUS_GROUPID, $withval)
+-    ;;
+-  esac ],
+-  # ie: no --{with,without}-userid option, withval == ""
+-  AC_MSG_RESULT(no)
+-)
+-AC_SUBST(TACPLUS_GROUPID)
+-
+-dnl
+-dnl ACLs - aka tacacs config ACLs
+-dnl
+-AC_MSG_CHECKING(whether to include ACL support)
+-AH_TEMPLATE(ACLS, [define this to include ACL support])
+-AC_ARG_ENABLE(acls,
+-[  --enable-acls           tacacs config ACL support (default)],
+-[ case "$enable_acls" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    use_acls=0
+-    ;;
+-  yes)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(ACLS)
+-    use_acls=1
+-    ;;
+-  *)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(ACLS)
+-    use_acls=1
+-    ;;
+-  esac ],
+-  # ie: no --{enable,disable}-acls option, withval == ""
+-  AC_MSG_RESULT(yes)
+-  AC_DEFINE(ACLS)
+-  use_acls=1
+-)
+-AC_SUBST(ACLS)
+-
+-dnl
+-dnl UENABLE - aka tacacs config user enable.  UENABLE requires ACLS.
+-dnl
+-AC_MSG_CHECKING(whether to include user-enable support)
+-AH_TEMPLATE(UENABLE, [define this to include user-specific enable password 
support])
+-AC_ARG_ENABLE(uenable,
+-[  --enable-uenable        tacacs config per-user enable support (default)],
+-[ case "$enable_uenable" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    use_uenable=0
+-    ;;
+-  yes | *)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(UENABLE)
+-    use_uenable=1
+-    ;;
+-  esac ],
+-  # ie: no --{enable,disable}-uenable option, withval == ""
+-  AC_MSG_RESULT(yes)
+-  AC_DEFINE(UENABLE)
+-  use_uenable=1
+-)
+-AC_SUBST(UENABLE)
+-if test $use_acls -eq 0 -a $use_uenable -eq 1; then
+-    AC_MSG_WARN([unenable (user enable) option requires the acls option.])
+-    AC_DEFINE(ACLS)
+-    AC_SUBST(ACLS)
+-fi
+-
+-dnl
+-dnl MAXSESS - Enforce a limit on maximum sessions per user
+-dnl
+-AC_MSG_CHECKING(whether to include maximum sessions (maxsess) support)
+-AH_TEMPLATE(MAXSESS, [define this to include MAXSESS support to enforce a 
limit on maximum sessions per user ])
+-AC_ARG_ENABLE(maxsess,
+-[  --enable-maxsess        Enforce a limit on maximum sessions per user],
+-[ case "$enable_maxsess" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  yes)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(MAXSESS)
+-    ;;
+-  *)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  esac ],
+-  # ie: no --{enable,disable}-maxsess option, withval == ""
+-  AC_MSG_RESULT(no)
+-)
+-AC_SUBST(MAXSESS)
+-dnl
+-dnl ENABLE_FINGER - use finger(1) to check number of sessions a user has on
+-dnl                 a NAS.
+-dnl
+-AC_MSG_CHECKING(whether to include maxsess finger support)
+-AH_TEMPLATE(MAXSESS_FINGER, [define this to include support to finger NASes 
for
+-the number of sessions a user is using])
+-AC_ARG_ENABLE(finger,
+-[  --enable-finger         finger NAS for number of sessions a user is using],
+-[ case "$enable_finger" in
+-  no)
+-    AC_MSG_RESULT(no)
+-    use_finger=0
+-    ;;
+-  yes)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(MAXSESS_FINGER)
+-    use_finger=1
+-    ;;
+-  *)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  esac ],
+-  # ie: no --{enable,disable}-finger option, withval == ""
+-  AC_MSG_RESULT(no)
+-)
+-AC_SUBST(MAXSESS_FINGER)
+-dnl
+-dnl ARAP_DES - enable DES for ARAP
+-dnl
+-AC_MSG_CHECKING(whether to include ARAP DES support)
+-AH_TEMPLATE(ARAP_DES, [Define this if you have DES routines you can link to 
for ARAP (See the user guide for more details)])
+-AC_ARG_ENABLE(arapdes,
+-[  --enable-arapdes        enable DES for ARAP],
+-[ case "$enable_arapdes" in
+-  yes)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(ARAP_DES)
+-    ;;
+-  * | no)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  esac ],
+-  # ie: no --{enable,disable}-arapdes option, withval == ""
+-  AC_MSG_RESULT(no)
+-)
+-AC_SUBST(ARAP_DES)
+-dnl
+-dnl MSCHAP - enable MSCHAP
+-dnl
+-AC_MSG_CHECKING(whether to include MSCHAP support)
+-AH_TEMPLATE(MSCHAP, [Define this if you need MSCHAP support])
+-AC_ARG_ENABLE(mschap,
+-[  --enable-mschap        enable MSCHAP],
+-[ case "$enable_mschap" in
+-  yes)
+-    AC_CHECK_HEADER(mschap_.h)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(MSCHAP)
+-    ;;
+-  * | no)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  esac ],
+-  # ie: no --{enable,disable}-mschap option, withval == ""
+-  AC_MSG_RESULT(no)
+-)
+-AC_SUBST(MSCHAP_)
+-dnl
+-dnl MSCHAP_DES - enable DES for MSCHAP
+-dnl
+-AC_MSG_CHECKING(whether to include MSCHAP DES support)
+-AH_TEMPLATE(MSCHAP_DES, [Define this if you have DES routines you can link to 
for MSCHAP (See the user guide for more details)])
+-AC_ARG_ENABLE(mschapdes,
+-[  --enable-mschapdes        enable DES for MSCHAP],
+-[ case "$enable_mschapdes" in
+-  yes)
+-    AC_CHECK_HEADER(mschap_des.h)
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(MSCHAP_DES)
+-    ;;
+-  * | no)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  esac ],
+-  # ie: no --{enable,disable}-mschapdes option, withval == ""
+-  AC_MSG_RESULT(no)
+-)
+-AC_SUBST(MSCHAP_DES)
+-
+-dnl
+-dnl pid file location
+-dnl
+-AC_MSG_CHECKING(for alt pid file FQPN)
+-if test -d /var/run; then
+-    TACPLUS_PIDFILE="/var/run/tac_plus.pid"
+-else
+-    TACPLUS_PIDFILE="/etc/tac_plus.pid"
+-fi
+-AC_ARG_WITH(pidfile,
+-[  --with-pidfile=PATH     alternate pidfile FQPN],
+-[ case "$withval" in
+-  *)
+-    AC_MSG_RESULT($withval)
+-    TACPLUS_PIDFILE=$withval
+-    ;;
+-  esac ],
+-  AC_MSG_RESULT($TACPLUS_PIDFILE)
+-)
+-AC_SUBST(TACPLUS_PIDFILE)
+-
+-dnl
+-dnl default accounting file location
+-dnl
+-AC_MSG_CHECKING(for alt accounting file FQPN)
+-if test -d /var/log; then
+-    TACPLUS_ACCTFILE="/var/log/tac_plus.acct"
+-else
+-    TACPLUS_ACCTFILE="/var/tmp/tac_plus.acct"
+-fi
+-AC_ARG_WITH(acctfile,
+-[  --with-acctfile=PATH    alternate accounting file FQPN],
+-[ case "$withval" in
+-  *)
+-    AC_MSG_RESULT($withval)
+-    TACPLUS_ACCTFILE=$withval
+-    ;;
+-  esac ],
+-  AC_MSG_RESULT($TACPLUS_ACCTFILE)
+-)
+-AC_SUBST(TACPLUS_ACCTFILE)
+-
+-dnl
+-dnl default log file location
+-dnl
+-AC_MSG_CHECKING(for alt log file FQPN)
+-if test -d /var/log; then
+-    TACPLUS_LOGFILE="/var/log/tac_plus.log"
+-else
+-    TACPLUS_LOGFILE="/var/tmp/tac_plus.log"
+-fi
+-AC_ARG_WITH(logfile,
+-[  --with-logfile=PATH     alternate log file FQPN],
+-[ case "$withval" in
+-  *)
+-    AC_MSG_RESULT($withval)
+-    TACPLUS_LOGFILE=$withval
+-    ;;
+-  esac ],
+-  AC_MSG_RESULT($TACPLUS_LOGFILE)
+-)
+-AC_SUBST(TACPLUS_LOGFILE)
+-
+-dnl
+-dnl default wholog file location
+-dnl
+-AC_MSG_CHECKING(for alt wholog file FQPN)
+-if test -d /var/log; then
+-    TACPLUS_WHOLOGFILE="/var/log/tacwho.log"
+-else
+-    TACPLUS_WHOLOGFILE="/var/tmp/tacwho.log"
+-fi
+-AC_ARG_WITH(whologfile,
+-[  --with-whologfile=PATH     alternate wholog file FQPN],
+-[ case "$withval" in
+-  *)
+-    AC_MSG_RESULT($withval)
+-    TACPLUS_WHOLOGFILE=$withval
+-    ;;
+-  esac ],
+-  AC_MSG_RESULT($TACPLUS_WHOLOGFILE)
+-)
+-AC_SUBST(TACPLUS_WHOLOGFILE)
+-
+-dnl
+-dnl profiling
+-dnl
+-AC_MSG_CHECKING(whether to profile)
+-AH_TEMPLATE(PROFILE, [define this to include profiling])
+-AC_ARG_WITH(prof,
+-[  --with-prof             Compile in profiling.],
+-[ case "$withval" in
+-  yes)
+-    AC_MSG_RESULT(yes)
+-    #AC_DEFINE(PROF)
+-    PROFLAGS="-pg"; export PROFLAGS
+-    PROFLIBS="-lc_p -lc"; export PROFLIBS
+-    OLDCFLAGS="$CFLAGS"
+-    OLDLIBS="$LIBS"
+-    CFLAGS="$PROFLAGS $CFLAGS"
+-    LIBS="$PROFLIBS $LIBS"
+-    AC_TRY_LINK([ ],
+-              [ moncontrol(0); ],
+-      [AC_DEFINE(PROFILE) ],
+-              [ AC_MSG_ERROR(Could not compile with -pg.) ])
+-    CFLAGS="$OLDCFLAGS"
+-    LIBS="$OLDLIBS"
+-    ;;
+-  *)
+-    AC_MSG_RESULT(no)
+-    ;;
+-  esac ],
+-  AC_MSG_RESULT(no)
+-)
+-AC_SUBST(PROFLAGS)
+-AC_SUBST(PROFLIBS)
+-
+-# look for PAM
+-AH_TEMPLATE(HAVE_PAM, [define if your system has libpam])
+-AC_CHECK_LIB([pam], [pam_start],
+-      [AC_DEFINE(HAVE_PAM)
+-       LIBS="-lpam $LIBS"])
+-
+-# check includes/headers
+-AC_HEADER_STDC
+-AC_HEADER_TIME
+-AC_CHECK_HEADERS(crypt.h ctype.h errno.h fcntl.h malloc.h shadow.h stdlib.h \
+-              stdint.h string.h strings.h sys/resource.h sys/socket.h \
+-              sys/types.h sys/wait.h sysexits.h syslog.h termios.h unistd.h \
+-              utmp.h utmpx.h wait.h)
+-
+-AH_TEMPLATE([SHADOW_PASSWORDS],
+-          [define if your system has a shadow password file])
+-if test $ac_cv_header_shadow_h = yes ; then
+-    AC_DEFINE(SHADOW_PASSWORDS)
+-fi
+-
+-# type checks
+-dnl AC_TYPE_MODE_T
+-dnl AC_TYPE_OFF_T
+-dnl AC_TYPE_PID_T
+-AC_TYPE_SIGNAL
+-dnl AC_TYPE_SIZE_T
+-# Do we have socklen_t definition?
+-AC_CHECK_TYPES([socklen_t], [], [], [#if HAVE_SYS_TYPES_H
+-# include <sys/types.h>
+-#endif
+-#if HAVE_SYS_SOCKET_H
+-# include <sys/socket.h>
+-#endif])
+-# Do we have pid_t definition?
+-AC_CHECK_TYPES([pid_t], [], [], [#if HAVE_SYS_TYPES_H
+-# include <sys/types.h>
+-#endif
+-#if HAVE_UNISTD_H
+-# include <unistd.h>
+-#endif])
+-
+-# check functions
+-AC_CHECK_FUNCS([getdtablesize memcpy memset random strchr strcspn strerror \
+-              strrchr wait3 wait4 waitpid])
+-AC_FUNC_SETPGRP
+-
+-# Is the wait(2) status an int or union
+-AH_TEMPLATE([UNIONWAIT],
+-          [define this if your waitpid() takes an union wait status pointer])
+-AC_MSG_CHECKING([if waitpid takes a union wait])
+-AC_TRY_COMPILE([#if HAVE_SYS_WAIT_H
+-# include <sys/wait.h>
+-#endif
+-#if HAVE_WAIT_H
+-# include <wait.h>
+-#endif], [union wait status;
+-int pid;
+-pid = wait (&status);
+-#ifdef WEXITSTATUS
+-/* Some POSIX systems have both the new-style macros and the old
+-   union wait type, and they do not work together.  If union wait
+-   conflicts with WEXITSTATUS et al, we dont want to use it.
+- */
+-if (WEXITSTATUS(status) != 0)
+-      pid = -1;
+-#ifdef WTERMSIG
+-      /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */
+-      -- blow chunks here --
+-#endif
+-#endif
+-#ifdef HAVE_WAITPID
+-      /* Make sure union wait works with waitpid.  */
+-      pid = waitpid(-1, &status, 0);
+-#endif],
+-[AC_MSG_RESULT(yes)
+- AC_DEFINE(UNIONWAIT)],
+-[AC_MSG_RESULT(no)])
+-
+-# Check for re-arming signal
+-AH_TEMPLATE([REARMSIGNAL],
+-          [define this if you find that your daemon quits after being sent
+-           more than one SIGUSR1. Some systems need to explicitly re-arm
+-           signals after they've been used once])
+-AC_MSG_CHECKING([if signals need to be re-armed])
+-AC_TRY_RUN([#include <signal.h>
+-#if HAVE_STDLIB_H
+-#include <stdlib.h>
+-#endif
+-#if HAVE_UNISTD_H
+-#include <unistd.h>
+-#endif
+-int hit = 0;
+-RETSIGTYPE
+-handler(n)
+-int n;
+-{
+-      hit++;
+-}
+-int main()
+-{
+-      signal(SIGUSR1, handler);
+-      kill(getpid(), SIGUSR1);
+-      kill(getpid(), SIGUSR1);
+-      if (hit == 2)
+-          exit(0);
+-      else
+-          exit(114);
+-}],
+-[AC_MSG_RESULT(no)],
+-[AC_MSG_RESULT(yes);AC_DEFINE(REARMSIGNAL)],
+-[AC_MSG_WARN([tac_plus may be less efficient when cross-compiled])
+- AC_DEFINE(REARMSIGNAL)],
+-)
+-
+-# Check for need to reap children when the default is to ignore SIGCHLD
+-AH_TEMPLATE([REAPCHILD],
+-          [define this if your o/s needs children reaped even though the
+-           SIGCHLD default is SIG_IGN])
+-AH_TEMPLATE([REAPSIGIGN],
+-          [define this if your o/s needs children reaped even with an
+-           explicit SIG_IGN])
+-AC_MSG_CHECKING([if children need to be reaped])
+-AC_TRY_RUN([#include <signal.h>
+-#if HAVE_STDLIB_H
+-#include <stdlib.h>
+-#endif
+-#if HAVE_UNISTD_H
+-#include <unistd.h>
+-#endif
+-#if HAVE_SYS_WAIT_H
+-#include <sys/wait.h>
+-#endif
+-#if HAVE_SYS_RESOURCE_H
+-#include <sys/resource.h>
+-#endif
+-#include <errno.h>
+-pid_t child, pid;
+-int main()
+-{
+-      int status;
+-      child = vfork();
+-      if (child == 0)
+-              exit(1);
+-#if HAVE_WAIT4
+-      pid = wait4(child, &status, WNOHANG, NULL);
+-#else
+-      do {
+-              pid = wait3(&status, WNOHANG, NULL);
+-      } while (pid != child && pid != -1);
+-#endif
+-      if (pid == -1 && errno == ECHILD)
+-              exit(0);
+-      exit(114);
+-}],
+-[AC_MSG_RESULT(no)],
+-[AC_MSG_RESULT(yes)
+- AC_DEFINE(REAPCHILD)
+- # try again with SIG_IGN
+- AC_MSG_CHECKING([if children need to be reaped with SIG_IGN])
+- AC_TRY_RUN([#include <signal.h>
+-#if HAVE_STDLIB_H
+-#include <stdlib.h>
+-#endif
+-#if HAVE_UNISTD_H
+-#include <unistd.h>
+-#endif
+-#if HAVE_SYS_WAIT_H
+-#include <sys/wait.h>
+-#endif
+-#if HAVE_SYS_RESOURCE_H
+-#include <sys/resource.h>
+-#endif
+-#include <errno.h>
+-pid_t child, pid;
+-int main()
+-{
+-      int status;
+-      signal(SIGCHLD, SIG_IGN);
+-      child = vfork();
+-      if (child == 0)
+-              exit(1);
+-#if HAVE_WAIT4
+-      pid = wait4(child, &status, WNOHANG, NULL);
+-#else
+-      do {
+-              pid = wait3(&status, WNOHANG, NULL);
+-      } while (pid != child && pid != -1);
+-#endif
+-      if (pid == -1 && errno == ECHILD)
+-              exit(0);
+-      exit(114);
+-}],
+- [AC_MSG_RESULT(no)],
+- [AC_MSG_RESULT(yes);AC_DEFINE(REAPSIGIGN)])],
+-[AC_MSG_WARN([tac_plus may be less efficient when cross-compiled])
+- AC_DEFINE(REAPCHILD)],
+-)
+-
+-# Find an appropriate tar for use in "dist" targets.  A "best guess"
+-# is good enough -- if we can't find GNU tar, we don't really care.
+-AC_CHECK_PROGS(TAR, gnutar gtar tar)
+-
+-AC_SUBST(INST_PROGS)
+-INST_PROGS=$progs
+-
+-dnl locate perl 5
+-AC_PROG_INSTALL
+-AC_PATH_PROG(PERLV_PATH,perl5,no)
+-if test $PERLV_PATH = no; then
+-    unset ac_cv_path_PERLV_PATH
+-    AC_PATH_PROG(PERLV_PATH,perl,no)
+-    if test $PERLV_PATH = no; then
+-        AC_MSG_ERROR([can't locate a suitable perl5.])
+-        exit 1
+-    else
+-        $PERLV_PATH -e 'require 5;'
+-        if test $? -ne 0 ; then
+-           AC_MSG_ERROR([can't locate a suitable perl5.])
+-           exit 1
+-        fi
+-    fi
+-fi
+-AC_SUBST(PERLV_PATH)
+-
+-AC_SUBST(CFLAGS)
+-AC_SUBST(CPPFLAGS)
+-AC_SUBST(LDFLAGS)
+-dnl AC_SUBST(PG_LDFLAGS)
+-dnl AC_SUBST(PG_CPPFLAGS)
+-
+-# i did this so that i could end up w/ a #define for the config file */
+-if test "x$prefix" = xNONE; then
+-    prefix_save=$prefix
+-    prefix=$ac_default_prefix
+-    MYSYSCONFDIR=`eval echo $sysconfdir`
+-    prefix=$prefix_save
+-else
+-    MYSYSCONFDIR=`eval echo $sysconfdir`
+-fi
+-AC_SUBST(MYSYSCONFDIR)
+-
+-# autoheader bits
+-AH_TOP([
+-#ifndef CONFIG_H
+-#define CONFIG_H        1
+-])
+-AH_BOTTOM([
+-/* UENABLE requires ACLS */
+-#ifdef UENABLE
+-# ifndef ACLS
+-#  define ACLS        1
+-# endif
+-#endif
+-
+-/* MAXSESS_FINGER requires MAXSESS */
+-#ifdef MAXSESS_FINGER
+-# ifndef MAXSESS
+-#  define MAXSESS     1
+-# endif
+-#endif
+-
+-/* Some, eg: solaris 2.6, dont have socklen_t */
+-#ifndef HAVE_SOCKLEN_T
+-# define socklen_t    int
+-#endif
+-
+-/* host specifics */
+-/* Define this if your password file does not contain age and comment fields. 
*/
+-#define NO_PWAGE
+-
+-#if AIX
+-/*
+- * The only way to properly compile BSD stuff on AIX is to define a
+- * "bsdcc" compiler on your system.  See /usr/lpp/bos/bsdport on your
+- * system for details. People who do NOT do this tell me that the code
+- * still compiles but that it then doesn't behave correctly e.g. child
+- * processes are not reaped correctly.  Don't expect much sympathy if
+- * you do this.
+- */
+-# define _BSD 1
+-# define _BSD_INCLUDES
+-# define NO_PWAGE
+-#endif        /* AIX */
+-
+-#if LINUX
+-# define NO_PWAGE
+-# include <unistd.h>
+-# ifdef GLIBC
+-#  define CONST_SYSERRLIST
+-# endif
+-#endif        /* LINUX */
+-
+-#if NETBSD
+-# define NO_PWAGE
+-# define CONST_SYSERRLIST
+-#endif
+-
+-#if FREEBSD
+-# define CONST_SYSERRLIST
+-# define NO_PWAGE
+-#endif
+-
+-#if BSDI
+-# define NO_PWAGE
+-#endif
+-#endif /* CONFIG_H */
+-])
+-AC_CONFIG_HEADERS(config.h)
+-AC_CONFIG_FILES(Makefile version.h pathsl.h tac_plus.8 tac_plus.conf.5)
+-
+-AC_OUTPUT()
diff -Nru tacacs+-4.0.4.27a/debian/patches/series 
tacacs+-4.0.4.27a/debian/patches/series
--- tacacs+-4.0.4.27a/debian/patches/series     2012-06-11 12:59:02.000000000 
-0400
+++ tacacs+-4.0.4.27a/debian/patches/series     2014-12-27 04:05:29.000000000 
-0500
@@ -1 +1 @@
-fix_hurd.patch
+fix_configure.patch
diff -Nru tacacs+-4.0.4.27a/debian/rules tacacs+-4.0.4.27a/debian/rules
--- tacacs+-4.0.4.27a/debian/rules      2014-02-22 12:26:17.000000000 -0500
+++ tacacs+-4.0.4.27a/debian/rules      2014-12-27 01:37:52.000000000 -0500
@@ -10,7 +10,7 @@
 include /usr/share/dpkg/buildflags.mk
 
 %:
-       dh $@ --with autotools-dev,quilt
+       dh $@ --with autoreconf,quilt
 
 override_dh_auto_install:
        dh_installdirs
diff -Nru tacacs+-4.0.4.27a/debian/tacacs+.tacacs_plus.init 
tacacs+-4.0.4.27a/debian/tacacs+.tacacs_plus.init
--- tacacs+-4.0.4.27a/debian/tacacs+.tacacs_plus.init   2012-12-17 
12:10:30.000000000 -0500
+++ tacacs+-4.0.4.27a/debian/tacacs+.tacacs_plus.init   2014-12-27 
04:36:50.000000000 -0500
@@ -1,19 +1,22 @@
 #!/bin/sh
 ### BEGIN INIT INFO
-# Provides:          tacacs+
+# Provides:          tacacs_plus
 # Required-Start:    $network $local_fs $syslog $remote_fs
 # Required-Stop:     $network $local_fs $remote_fs
 # Should-Start:      $named
 # Default-Start:     2 3 4 5
 # Default-Stop:      0 1 6
+# Description:       TACACS+ is an authentication daemon
+#        used mainly for ISPs to authenticate users connecting to
+#        network devices.
 # Short-Description: TACACS+ authentication daemon
 ### END INIT INFO
 
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
 DAEMON=/usr/sbin/tac_plus
-NAME="tacacs+"              
-DESC="TACACS+ authentication daemon"              
+NAME="tacacs+"
+DESC="TACACS+ authentication daemon"
 LOGDIR=/var/log/
 STARTTIME=1
 
@@ -27,7 +30,7 @@
 # at /etc/default/$NAME
 DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf"          # Additional options 
given to the server
 
-                        
+
 LOGFILE=$LOGDIR/tac_plus.log  # Server logfile
 
 # Include defaults if available
@@ -106,12 +109,12 @@
 
 check_config() {
        $DAEMON -P $DAEMON_OPTS
-       return $?       
+       return $?
 }
 
 check_config_quiet() {
        $DAEMON -P $DAEMON_OPTS >/dev/null 2>&1
-       return $?       
+       return $?
 }
 
 force_stop() {
@@ -147,7 +150,7 @@
             # NOTE: Some servers might die some time after they start,
             # this code will detect this issue if STARTTIME is set
             # to a reasonable value
-            [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time 
+            [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
             if  running ;  then
                 # It's ok, the server started and is running
                 log_end_msg 0
@@ -214,7 +217,7 @@
        if reload_server ; then
                if running ; then
                        log_end_msg 0
-               else 
+               else
                        log_progress_msg "$NAME not running"
                        log_end_msg 1
                fi


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to