manoj       99/08/19 13:53:36

  Modified:    pthreads INSTALL KEYS Makefile.tmpl config.layout configure
               pthreads/src .gdbinit ApacheCore.def ApacheCore.dsp
                        ApacheCore.mak CHANGES Configuration.tmpl Configure
               pthreads/src/ap Makefile.tmpl ap.dsp ap.mak ap_md5c.c
                        ap_snprintf.c
               pthreads/src/helpers GuessOS TestCompile binbuild.sh
                        buildinfo.sh find-dbm-lib mkshadow.sh
               pthreads/src/include ap.h ap_config.h ap_md5.h ap_mmn.h
                        http_conf_globals.h http_core.h httpd.h
               pthreads/src/main acceptlock.c buff.c http_config.c
                        http_core.c http_main.c http_protocol.c rfc1413.c
                        util.c util_script.c util_uri.c
               pthreads/src/modules/experimental Makefile.tmpl
               pthreads/src/modules/proxy ApacheModuleProxy.dsp
                        ApacheModuleProxy.mak proxy_cache.c proxy_ftp.c
               pthreads/src/modules/standard .cvsignore mod_access.c
                        mod_auth.c mod_auth_db.c mod_auth_dbm.c mod_cgi.c
                        mod_log_config.c mod_rewrite.c mod_rewrite.h
                        mod_unique_id.c
               pthreads/src/os/bs2000 Makefile.tmpl bs2login.c os.h
               pthreads/src/os/os2 util_os2.c
               pthreads/src/os/tpf os.c os.h
               pthreads/src/os/unix os.c
               pthreads/src/os/win32 ApacheModuleRewrite.dsp
                        ApacheModuleRewrite.mak os.h registry.c
               pthreads/src/os/win32/installer/installdll install.c
               pthreads/src/regex debug.c main.c split.c
               pthreads/src/support Makefile.tmpl README ab.c apxs.8
                        apxs.pl htdigest.c htpasswd.1 htpasswd.c httpd.8
                        httpd.exp suexec.c
               pthreads/src/test check_chunked
  Log:
  merge the differences in apache-1.3 from tag apache-apr-merge-3 to
  APACHE_1_3_9.
  
  Revision  Changes    Path
  1.5       +3 -3      apache-apr/pthreads/INSTALL
  
  Index: INSTALL
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/INSTALL,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- INSTALL   1999/06/10 06:25:33     1.4
  +++ INSTALL   1999/08/19 20:51:48     1.5
  @@ -82,8 +82,8 @@
              - Linux     - SunOS         - UnixWare     - Mac OS X Server
              - FreeBSD   - Solaris       - AIX          - Mac OS
              - OpenBSD   - IRIX          - SCO          - OpenStep/Mach
  -           - NetBSD    - HPUX          - ReliantUNIX
  -           - BSDI      - Digital Unix  
  +           - NetBSD    - HPUX          - ReliantUNIX  - DYNIX/ptx
  +           - BSDI      - Digital Unix  - DGUX
   
           o Entirely unsupported platforms are:
              - Ultrix
  @@ -326,7 +326,7 @@
        this way implicitly enables them itself). 
        
            Note 1: The --enable-shared option DOES NOT AUTOMATICALLY enable the
  -                 module because there are variants like `--enable-shared=all'
  +                 module because there are variants like `--enable-shared=max'
                    which should not imply `--enable-module=all'.  
   
            Note 2: Per default the DSO mechanism is globally disabled, i.e. no
  
  
  
  1.4       +232 -123  apache-apr/pthreads/KEYS
  
  Index: KEYS
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/KEYS,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- KEYS      1999/06/10 06:25:34     1.3
  +++ KEYS      1999/08/19 20:51:49     1.4
  @@ -386,133 +386,242 @@
   
   
   Type Bits/KeyID    Date       User ID
  -pub   999/F88341D9 1994/11/08 Lars Eilebrecht <[EMAIL PROTECTED]>
  +pub   999/F88341D9 1994/11/08 Lars Eilebrecht <[EMAIL PROTECTED]>
  +                              Lars Eilebrecht <[EMAIL PROTECTED]>
  +                              Lars Eilebrecht <[EMAIL PROTECTED]>
                                 Lars Eilebrecht <[EMAIL PROTECTED]>
  -                              Lars `SFX' Eilebrecht <[EMAIL PROTECTED]>
  -                              Lars `SFX' Eilebrecht <[EMAIL PROTECTED]>
  -                              Lars `SFX' Eilebrecht <[EMAIL PROTECTED]>
   
   -----BEGIN PGP PUBLIC KEY BLOCK-----
  -Version: 2.6.3a
  +Version: 2.6.3ia
   
   mQCKAi6+wOsAAAED53PJgrIYS7iHbZn0ycrnzS03fwvwsDpoAVouoqqBSVNoVXH+
   lL+8HzX/fADvNyk1lYi5kTiYR2meKB1p0qpvj4bQ8ZEmcBemhV0FbESJ4CxIgy6V
  -euxOD3v9gauyf1u4lkfyLIsCepuJqpkH+aOviE9VhTcE/D6Pt/L4g0HZAAURtCFM
  -YXJzIEVpbGVicmVjaHQgPHNmeEB1bml4LWFnLm9yZz6JAJUDBRA2KRwZms08wKmf
  -dd0BASoSA/9ZwyAWilXJNMWsV0KfyUeHZ7CsFA9/KQixLtpSH8ij4raLasr6rurc
  -Sckrd+OiQKPQG0/TSXSAEP7suatV6XTTLEFHJbmqchTZXMSapwxFWGLxdG+buCiO
  -uVxbpop4ZoKz2xb+GtdeyeDr+//gFL+wbEqlZMXfvwgzBCxcOM/tZYkAkgMFEDPN
  -Dtg+j7fy+INB2QEBxpcD527wocmN2jHxCkmImID+YMVF8g1Rij3CEy+oLAZiiNWS
  -Rxj2lWTHhsVZXtzF53+AD79rJqrFhZUCx+W6vG46uLMuu3/VpnEfq2QsD0d6zIUv
  -SDFIxsy/s4knyvgfMeXczHmb7vjGbGsyP9mqjAyN7MUcqgBBANH4HX9CSRN8tC1M
  -YXJzIEVpbGVicmVjaHQgPExhcnMuRWlsZWJyZWNodEB1bml4LWFnLm9yZz6JAJID
  -BRAzzQwFPo+38viDQdkBAa31A+dPvsRw1zWvyMDp2aQwqIawIi2wiFl56lYfpkwW
  -WjsdftuK0HHe+gek0aJ1vLwJFlrivroEukF1JaK3kS/ob2u/TNIZ4MKWjfhbkJW4
  -0Y7gCKCUJPzh6hDw1nYfc4N9XKnwubiRVdW2ig1HVoKZUN9Ad034m30jMHEzqXbO
  -4LQxTGFycyBgU0ZYJyBFaWxlYnJlY2h0IDxTRlhAdW5peC1hZy51bmktc2llZ2Vu
  -LmRlPokAdQMFEDMR9XVLXCU0Hmjw3QEBftADALeK5boLfjNzxZ7g1VPHw6k6QwSU
  -ESwiPJCmGTIT5f941YhHqohgwN5kGR9XDxWCCJAqQfFvbxhiZv0zu4HvQ7FYLVLO
  -2zwZrVvOfR259jvGDFpPqRBq1ccxTNXuvf2a44kAlQIFEDD5Hn++gkWXZmzJrQEB
  -WVYD/R4XFxImsJxzpaykt8Hl4kpQNWYWHd5ae81QFla/vfIplBqeVWr299pUbO1x
  -Bt4EFPi5aya8CGwXs8uRsHKn3u711jfTri1mKpiMBWt149BsUk5lFCnE9gVo5UxY
  -cpM2vb1I5DKeo/8/DuYz1FQhXwOxGqBqIr+ggQ1fN7Q0v5qziQEVAwUQMSxVdPCJ
  -hGMAVxgRAQFafAf+OZxiZqpgeA3iMZzbOr17v4YjL/J4N3phrcy8ssh0rmTBbNHW
  -OfRR0yzGlAXespCSLzBnSQMph2MXc3Al51LK4z487iAQxpu5k/ZKrg5ahZI7X5ok
  -viTcRjmXkpbbXp+sMs6J3ZOOjxO1tWytSXW5/3lKwbjzaURlbUbBA9QQSGAYPnsw
  -Z+CPKRNuUsk2EI3y4DWVjuabOcCeNy4TLfB9UIY81oXfXOyT+i2FwZ0f1befeZuu
  -PICGQIxlEFi3Hd3hDEAgNJ8Hu9C6XACnYieT7dVYtlYH14UTk6/CLKkbWNhd/I5S
  -QMPbijKK2zU5U3vPcolA1UalSBckftDQ2iTmmYkAlQMFEDD5QYseKXCPGoSZUQEB
  -yFYD/jqPx2u8D1aQzKHvZqS9PUYSsPMTgn10FR/tp2c9Ch60f+BQ96fOUCzmRt94
  -Iq1iMZsJ0oTyLLf6wf/Mdb1LhvsGf7rXFATh25OUpPx1qPUWstSToHSn0+Zf8e1B
  -0p6PJ96duI6rimoc8NKppOwSmRvqAD3ATCKpMiOSwWe9+mBZiQBVAwUQMPl9Sgk0
  -Yuy5gjk9AQEX2AIAlCphj4JI/yvodYIlpC2MPOs+hfTvaMPVhSCZZ0EVfZgTZpLQ
  -XQDiUolYBvTHJnjBZyXZozln/df4MBHQgKWwmIkAVQIFEDD5RPk+NMzsOfhZGwEB
  -5EoCAINMQWZZn+12r2nFScCScf5TaKpm+Y6MfEsvVg0trveEJ74ibbFDo8ABZ2g6
  -FgzfDxAMbxNsUQaMrhh0TaSC9EyJAJUCBRAw+O6OHdm2eHD917EBAfj1A/4/cYEE
  -a7jN8+ptmxZKsfZ0xOP2dxsPnicDT4VR16MHN6rkVrto782XSiRx3ZUsd9RjUmfH
  -ZA3mHoJIGo6JRFVOeyjg3LEASSSfZr4YFkhutnf0lDlJOeEKhqvIw/dSO7MDwdLx
  -hOqAFv9UzAlpOm4GLx9p1N61xDl1dIYEnY9cOIkAlQIFEDD5QnyFat0badac6QEB
  -CCMEAKV60AedWZyXWokcwWIbW/PLgNTCh8JL1vijXGnBvT2PuA0L7/rCXPhbb20A
  -rrq+P6xbGFxi42iWieeU2T5zN5IlPObT6cPeRWJkxPnaSf8ZD33Y1almcuhhYMUc
  -7lkL7yqSo1J8TRVCSxjQ4W0+QDUFIEvrigb5Scd7zYHGOqoSiQBVAgUQMPjN2pva
  -UYPwhBsRAQGNhQH/Z6IlBI4hdGb8teelMgY2kf3Iq08NByyygJAI48HqTe0cKIW6
  -BPcBkJqMooJtRJTX6Rkt8fRKe/IPGeHGqyW3eIkA7gMFEDDhUR6K3WTWEs11KQEB
  -TnkGwQEgJMk8SHR+2iBmOJQ2x+kv4LVmPp8hdaKCBdfvJDmrSpuEgrBWFI9PDpSw
  -F7NWLPqESPnWo5dd8YeynzYz3aCiIXAOUB0rG8tujF1dSn/kFUCMqgqvbPOU3sSv
  -6tVlECIAh67GTNHn61IIhLM0KG4v9elo0Lk/SpWwRRPJZW/ltQBApjtR+juFOiq6
  -86+eE9kKBCImCIthBeE/cf6JfwuS4+1ui+MmkkqrnO8+07bdjbkWTSzTL3l12v/t
  -M2p8Fwqps41y+3nIEOzq7Isf4zBjfw2ZKeXbEXq0M0xhcnMgYFNGWCcgRWlsZWJy
  -ZWNodCA8U0ZYQGFwcGwyLmhyei51bmktc2llZ2VuLmRlPokAlQIFEDD5Hv6+gkWX
  -ZmzJrQEBD9QD/iIIvOUqyKRBWjHgJD7zoskxDQH/YVhJu59zoCEOJGwXFPLlT3ce
  -meMCaVLa5XvoDnLYWZ/bfI5nFd9vF9GwwbmP8/x39Z3N2xKfJpD8eH5inu5AwtIs
  -kfXjmcZhSfDgv2XpAaFigz3wIBt+XbkPRxJJxfqD5oJ1ys0qNe0U6jjyiQEVAwUQ
  -MSxVrvCJhGMAVxgRAQHLVgf/cW6FlzmOeIvJ/3yB7vhSOlpivnY00iKnzzCpWLOa
  -saC4NPazhqNIewBa01KSuamIicYkzXk8MeaTq5EaQfJyA+NtdWSm/3/ivKWoO4Ka
  -qJbVPnxaDnB2KBH+2mq0BJ4rS4i2jVZuopbtMAHV+lQUHaVH826YaFPa+425A/H+
  -Oaqn2EdkL80fpIJsACsudYPDGCKS3zcMjspVK1cXqNRDzIOZ8I/XtyNEJpw1yRGf
  -t4jrn4lj9jU4y0v6sFOt6jpuvAmyRN/pebwjYJw1Ye697MMkn0nEafH55Et+XfdB
  -OYNm3Sb/J2g8j2JVVhN6JKuFYyM1kvK13Rky3SiLPUzD94kAlQIFEDD5QqqFat0b
  -adac6QEB6HsD/RooPR6pFnSisCerTlPhSvDI2gl2HUMFw0CZJ5JKVlj5GFDZp5jl
  -0yhgCFCweFuE7RUgMOkvGeEoEPZeyipacsrVIcO26aCQyerLTQd6JTgOuCEeEvkj
  -BwiqOrVNSEPM5TWPzQc7Q7IDtKTsCT+xNGtO6Pi2+ArZaodZTtp4tXkCiQBVAgUQ
  -MPjOC5vaUYPwhBsRAQHdVAH/eIgCk6fo3/Mvxu7IESdDLM/ozh14yvZz6FvC/VKt
  -Sp51goqsV5jI9wKANIjonLeO7GJubjO+lqHvsEVsGQ+wpIkA7gMFEDDhUjOK3WTW
  -Es11KQEBgTUGwQGH8Ic7zNaUlRmYm5J8R375iP8CrJ/xILbET69VsR2aDG2MA2z8
  -NBBkV1ARrAC2YWa9sO91yCyf3NAI6I1oqtbv/09Im/s0bTu66dWrqRAiuTB3Ou+g
  -HJ0fc85gTWcBd9/xS/mNlZb1/ZXjkBaYdl0Bzm72c3+HqZjHzT3nlxVY5HCi15J4
  -iDgCuCPzeo1r8QgGmsbP7fD+0Hka7tlXb87WxPZt+nkjGS9xmLrNHw5/vJpcN4+f
  -zevzhTQD8IcsUr0QcZUH9jZpm6xWpibPF5z7FzXTorguf+W0M0xhcnMgYFNGWCcg
  -RWlsZWJyZWNodCA8U0ZYQGFwcGwxLmhyei51bmktc2llZ2VuLmRlPokAlQIFEDD5
  -Htq+gkWXZmzJrQEBjswD/1Nwm7yoV6sj7qTiKaW9S3DQD3LKXtweiDdYF0lp961I
  -WkuyBur4aYBNROQK82zFQqKNKfsm+FXu+N6AYQ2zEUJEUkT9RQgmsrfU1q067Zoo
  -+dck5T2zuH+/kqmF9t28Gv4jjxVTit6C92NEhciutNO48kK32BT2mgX2w7tds6G4
  -iQEVAwUQMSxVvPCJhGMAVxgRAQFUKgf/Y4Djeo18+ZAfr0BKl14P29dKK3p8OLcn
  -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
  -u8i03dqPbuVwfrxSzy+m
  -=tg0D
  +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
  +=Duku
   -----END PGP PUBLIC KEY BLOCK-----
  
  
  
  1.5       +8 -1      apache-apr/pthreads/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/Makefile.tmpl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- Makefile.tmpl     1999/06/10 06:25:34     1.4
  +++ Makefile.tmpl     1999/08/19 20:51:50     1.5
  @@ -259,6 +259,7 @@
        $(MKDIR) $(root)$(iconsdir)
        $(MKDIR) $(root)$(cgidir)
        $(MKDIR) $(root)$(includedir)
  +     $(MKDIR) $(root)$(includedir)/xml
        $(MKDIR) $(root)$(runtimedir)
        $(MKDIR) $(root)$(logfiledir)
        $(MKDIR) $(root)$(proxycachedir)
  @@ -277,6 +278,11 @@
        [EMAIL PROTECTED] [ ".`grep '^[         ]*AddModule.*mod_so\.o' 
$(TOP)/$(SRC)/Configuration.apaci`" != . ]; then \
                echo "$(INSTALL_CORE) $(TOP)/$(SRC)/$(TARGET) 
$(root)$(sbindir)/$(TARGET)"; \
                $(INSTALL_CORE) $(TOP)/$(SRC)/$(TARGET) 
$(root)$(sbindir)/$(TARGET); \
  +             SHLIB_EXPORT_FILES="`grep '^SHLIB_EXPORT_FILES=' 
$(TOP)/$(SRC)/Makefile | sed -e 's:^.*=::'`"; \
  +             if [ ".$${SHLIB_EXPORT_FILES}" != . ]; then \
  +                     $(CP) $(TOP)/$(SRC)/support/httpd.exp 
$(root)$(libexecdir)/; \
  +                     chmod 644 $(root)$(libexecdir)/httpd.exp; \
  +             fi; \
        else \
                echo "$(INSTALL_PROGRAM) $(TOP)/$(SRC)/$(TARGET) 
$(root)$(sbindir)/$(TARGET)"; \
                $(INSTALL_PROGRAM) $(TOP)/$(SRC)/$(TARGET) 
$(root)$(sbindir)/$(TARGET); \
  @@ -422,12 +428,13 @@
   install-include:
        @echo "===> [include: Installing Apache C header files]"
        $(CP) $(TOP)/$(SRC)/include/*.h $(root)$(includedir)/
  +     $(CP) $(TOP)/$(SRC)/lib/expat-lite/*.h $(root)$(includedir)/xml/
        @osdir=`grep '^OSDIR=' $(TOP)/$(SRC)/Makefile.config | sed -e 
's:^OSDIR=.*/os/:os/:'`; \
                echo "$(CP) $(TOP)/$(SRC)/$${osdir}/os.h 
$(root)$(includedir)/"; \
                $(CP) $(TOP)/$(SRC)/$${osdir}/os.h $(root)$(includedir)/; \
                echo "$(CP) $(TOP)/$(SRC)/$${osdir}/os-inline.c 
$(root)$(includedir)/"; \
                $(CP) $(TOP)/$(SRC)/$${osdir}/os-inline.c $(root)$(includedir)/
  -     chmod 644 $(root)$(includedir)/*.h
  +     chmod 644 $(root)$(includedir)/*.h $(root)$(includedir)/xml/*.h
        @echo "<=== [include]"
   
   #   create an initial document root containing the Apache manual,
  
  
  
  1.4       +22 -1     apache-apr/pthreads/config.layout
  
  Index: config.layout
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/config.layout,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- config.layout     1999/06/10 06:25:34     1.3
  +++ config.layout     1999/08/19 20:51:51     1.4
  @@ -101,7 +101,7 @@
       sysconfdir:    /etc/httpd/conf
       datadir:       /home/httpd
       iconsdir:      $datadir/icons
  -    htdocsdir:     $datadir/htdocs
  +    htdocsdir:     $datadir/html
       cgidir:        $datadir/cgi-bin
       includedir:    $prefix/include/apache
       localstatedir: /var
  @@ -129,3 +129,24 @@
       logfiledir:    $localstatedir/logs
       proxycachedir: $localstatedir/proxy
   </Layout>
  +
  +#  BeOS layout...
  +<Layout beos>
  +    prefix:        /boot/home/apache
  +    exec_prefix:   $prefix
  +    bindir:        $exec_prefix/bin
  +    sbindir:       $exec_prefix/bin
  +    libexecdir:    $exec_prefix/libexec
  +    mandir:        $prefix/man
  +    sysconfdir:    $prefix/conf
  +    datadir:       $prefix
  +    iconsdir:      $datadir/icons
  +    htdocsdir:     $datadir/htdocs
  +    cgidir:        $datadir/cgi-bin
  +    includedir:    $prefix/include
  +    localstatedir: $prefix
  +    runtimedir:    $localstatedir/logs
  +    logfiledir:    $localstatedir/logs
  +    proxycachedir: $localstatedir/proxy
  +</Layout>
  +
  
  
  
  1.5       +44 -17    apache-apr/pthreads/configure
  
  Index: configure
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/configure,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- configure 1999/06/10 06:25:35     1.4
  +++ configure 1999/08/19 20:51:51     1.5
  @@ -317,9 +317,19 @@
   ## Platform-specific defaults
   ##
   case $PLATFORM in
  -    *-apple-rhapsody*) default_layout="Mac OS X Server";;
  -    *-apple-macos*)    default_layout="Mac OS X Server";;
  -    *)                 default_layout="Apache";;
  +    *-apple-rhapsody*)
  +     default_layout="Mac OS X Server"
  +     iflags_core="${iflags_core} -S \"-S\""
  +     iflags_dso="${iflags_dso} -S \"-S\""
  +     ;;
  +    *-apple-macos*)
  +     default_layout="Mac OS X Server"
  +     iflags_core="${iflags_core} -S \"-S\"" 
  +     iflags_dso="${iflags_dso} -S \"-S\""
  +     ;;
  +   *)
  +     default_layout="Apache"
  +     ;;
   esac
   
   ##
  @@ -714,8 +724,8 @@
               esac
               case "$apc_feature" in
                   rule   )
  -                    apc_optarg=`echo "$apc_optarg" | tr "A-Z" "a-z"`
  -                    apc_optarg_real=`echo "$apc_optarg" | tr "a-z" "A-Z"`
  +                    apc_optarg=`echo "$apc_optarg" | tr '[A-Z]' '[a-z]'`
  +                    apc_optarg_real=`echo "$apc_optarg" | tr '[a-z]' '[A-Z]'`
                       eval "exists=\$rule_${apc_optarg}" 
                       if [ "x$exists" = "x" ]; then
                           echo "configure:Error: No such rule named 
'${apc_optarg_real}'" 1>&2
  @@ -732,6 +742,7 @@
                                  eval "module_${module}=yes" 
                              done
                              IFS="$OOIFS"
  +                           module_auth_digest=no # conflict with mod_digest
                              ;;
                          most ) 
                              OOIFS="$IFS"
  @@ -744,6 +755,7 @@
                              module_mmap_static=no # not all platforms have 
mmap()
                              module_so=no          # not all platforms have 
dlopen()
                              module_example=no     # only for developers
  +                           module_auth_digest=no # conflict with mod_digest
                              module_log_agent=no   # deprecated
                              module_log_referer=no # deprecated
                              ;;
  @@ -809,8 +821,8 @@
               esac
               case "$apc_feature" in
                   rule   ) 
  -                    apc_optarg=`echo "$apc_optarg" | tr "A-Z" "a-z"`
  -                    apc_optarg_real=`echo "$apc_optarg" | tr "a-z" "A-Z"`
  +                    apc_optarg=`echo "$apc_optarg" | tr '[A-Z]' '[a-z]'`
  +                    apc_optarg_real=`echo "$apc_optarg" | tr '[a-z]' '[A-Z]'`
                       eval "exists=\$rule_${apc_optarg}" 
                       if [ "x$exists" = "x" ]; then
                           echo "configure:Error: No such rule named 
'${apc_optarg_real}'" 1>&2
  @@ -991,14 +1003,14 @@
           exit 1
       fi
       if [ "x`$aux/getuid.sh`" != "x0" ]; then
  -        echo " + Warning: You enabled the suEXEC feature. Be aware that you 
need" 1>&2
  -        echo " + root privileges for this, at the latest at the installation 
step." 1>&2
  +        echo " + Warning: You have enabled the suEXEC feature. Be aware that 
you need" 1>&2
  +        echo " + root privileges to complete the final installation step." 
1>&2
       fi
   fi
   if [ "x$PERL" = "xno-perl-on-this-system" ]; then
       if [ "x$quiet" = "xno" ]; then
  -        echo " + Warning: no Perl interpreter available for support scripts."
  -        echo " + Perhaps you have to select one with --with-perl=FILE."
  +        echo " + Warning: no Perl interpreter detected for support scripts."
  +        echo " + Perhaps you need to specify one with --with-perl=FILE."
       fi
   fi
   
  @@ -1274,7 +1286,7 @@
   OIFS="$IFS"
   IFS=':'
   for rule in $rules; do
  -    name="`echo $rule | tr "a-z" "A-Z"`"
  +    name="`echo $rule | tr '[a-z]' '[A-Z]'`"
       eval "val=\$rule_$rule"
       echo $SEO "s%^\\(Rule $name=\\).*%\\1$val%g" >>$sedsubst
       if [ "x$verbose" = "xyes" ]; then
  @@ -1382,22 +1394,28 @@
   fi
   
   #   generate module directives
  +#   (paths are modules/foo/mod_bar.ext and modules/foo/libbar.ext)
   OIFS="$IFS"
   IFS=':'
   for module in $modules; do
       eval "add=\$module_$module"
       if [ "x$add" = "xyes" ]; then
  -        echo $SEO "s%^.*\\(AddModule.*[_b/]$module\\..*\\)%\\1%g" >>$sedsubst
  -        echo $SEO "s%^.*\\(SharedModule.*[_b/]$module\\..*\\)%\\1%g" 
>>$sedsubst
  +        echo $SEO "s%^.*\\(AddModule.*mod_$module\\..*\\)%\\1%g" >>$sedsubst
  +        echo $SEO "s%^.*\\(AddModule.*lib$module\\..*\\)%\\1%g" >>$sedsubst
  +        echo $SEO "s%^.*\\(SharedModule.*mod_$module\\..*\\)%\\1%g" 
>>$sedsubst
  +        echo $SEO "s%^.*\\(SharedModule.*lib$module\\..*\\)%\\1%g" 
>>$sedsubst
           m="yes"
       else
  -        echo $SEO "s%^.*\\(AddModule.*[_b/]$module\\..*\\)%# \\1%g" 
>>$sedsubst
  -        echo $SEO "s%^.*\\(SharedModule.*[_b/]$module\\..*\\)%# \\1%g" 
>>$sedsubst
  +        echo $SEO "s%^.*\\(AddModule.*mod_$module\\..*\\)%# \\1%g" 
>>$sedsubst
  +        echo $SEO "s%^.*\\(AddModule.*lib$module\\..*\\)%# \\1%g" >>$sedsubst
  +        echo $SEO "s%^.*\\(SharedModule.*mod_$module\\..*\\)%# \\1%g" 
>>$sedsubst
  +        echo $SEO "s%^.*\\(SharedModule.*lib$module\\..*\\)%# \\1%g" 
>>$sedsubst
           m=no
       fi
       eval "share=\$shared_$module"
       if [ "x$share" = "xyes" ]; then
  -        echo $SEO 
"s%^\\(.*\\)AddModule\\(.*[_b/]$module\\.\\)[oam].*\\(.*\\)%\\1SharedModule\\2so\\3%g"
 >>$sedsubst
  +        echo $SEO 
"s%^\\(.*\\)AddModule\\(.*mod_$module\\.\\)[oam].*\\(.*\\)%\\1SharedModule\\2so\\3%g"
 >>$sedsubst
  +        echo $SEO 
"s%^\\(.*\\)AddModule\\(.*lib$module\\.\\)[oam].*\\(.*\\)%\\1SharedModule\\2so\\3%g"
 >>$sedsubst
           m="$m [shared]"
       fi
       if [ "x$verbose" = "xyes" ]; then
  @@ -1405,6 +1423,15 @@
       fi
   done
   IFS="$OIFS"
  +
  +# translate module names to dll names for OS/2 so that they are no more
  +# than 8 characters long and have an extension of "dll" instead of "so"
  +case $PLATFORM in
  +    *OS/2* ) 
  +        echo $SEO "s%/mod_\\(.\\{1,8\\}\\).*\\.so%/\\1\\.dll%" >>$sedsubst
  +        echo $SEO "s%/\\(lib.*\\)\\.so$%/\\1.dll%" >>$sedsubst
  +        ;;
  +esac
   
   #   split sedsubst into chunks of 50 commands
   #   to workaround limits in braindead seds
  
  
  
  1.2       +13 -0     apache-apr/pthreads/src/.gdbinit
  
  Index: .gdbinit
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/.gdbinit,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- .gdbinit  1999/01/21 23:08:31     1.1
  +++ .gdbinit  1999/08/19 20:51:56     1.2
  @@ -13,3 +13,16 @@
   document dump_table
       Print the key/value pairs in a table.
   end
  +
  +define dump_string_array
  +    set $a = (char **)((array_header *)$arg0)->elts
  +    set $n = (int)((array_header *)$arg0)->nelts
  +    set $i = 0
  +    while $i < $n
  +     printf "[%u] '%s'\n", $i, $a[$i]
  +     set $i = $i + 1
  +    end
  +end
  +document dump_string_array
  +    Print all of the elements in an array of strings.
  +end
  
  
  
  1.4       +16 -0     apache-apr/pthreads/src/ApacheCore.def
  
  Index: ApacheCore.def
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/ApacheCore.def,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- ApacheCore.def    1999/03/17 17:00:32     1.3
  +++ ApacheCore.def    1999/08/19 20:51:57     1.4
  @@ -343,4 +343,20 @@
        ap_standalone   @337
        ap_server_confname   @338
        ap_sub_req_method_uri   @339
  +     ap_regerror   @341
  +     ap_regexec   @342
  +     ap_field_noparam   @343
  +     ap_pbase64decode   @344
  +     ap_pbase64encode   @345
  +     ap_base64encode   @346
  +     ap_base64encode_binary   @347
  +     ap_base64encode_len   @348
  +     ap_base64decode   @349
  +     ap_base64decode_binary   @350
  +     ap_base64decode_len   @351
  +     ap_SHA1Init   @352
  +     ap_SHA1Update_binary   @353
  +     ap_SHA1Update   @354
  +     ap_SHA1Final   @355
  +     ap_sha1_base64   @356
   
  
  
  
  1.3       +4 -4      apache-apr/pthreads/src/ApacheCore.dsp
  
  Index: ApacheCore.dsp
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/ApacheCore.dsp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- ApacheCore.dsp    1999/02/07 06:29:08     1.2
  +++ ApacheCore.dsp    1999/08/19 20:51:57     1.3
  @@ -44,7 +44,7 @@
   # PROP Ignore_Export_Lib 0
   # PROP Target_Dir ""
   # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" 
/YX /c
  -# ADD CPP /nologo /MD /W3 /GX /O2 /I ".\include" /D "WIN32" /D "NDEBUG" /D 
"_WINDOWS" /YX /FD /c
  +# ADD CPP /nologo /MD /W3 /GX /O2 /I ".\include" /D "NDEBUG" /D "WIN32" /D 
"_WINDOWS" /D "WIN32_LEAN_AND_MEAN" /YX /FD /c
   # ADD BASE MTL /nologo /D "NDEBUG" /win32
   # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
   # ADD BASE RSC /l 0x809 /d "NDEBUG"
  @@ -54,7 +54,7 @@
   # ADD BSC32 /nologo
   LINK32=link.exe
   # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib 
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
  -# ADD LINK32 os\win32\ApacheOSR\ApacheOS.lib regex\release\regex.lib 
ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib wsock32.lib /nologo /subsystem:windows /dll 
/machine:I386
  +# ADD LINK32 os\win32\ApacheOSR\ApacheOS.lib regex\release\regex.lib 
ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ws2_32.lib /nologo /subsystem:windows /dll 
/machine:I386
   
   !ELSEIF  "$(CFG)" == "ApacheCore - Win32 Debug"
   
  @@ -70,7 +70,7 @@
   # PROP Ignore_Export_Lib 0
   # PROP Target_Dir ""
   # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D 
"_WINDOWS" /YX /c
  -# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ".\include" /D "WIN32" /D 
"_DEBUG" /D "_WINDOWS" /FR /YX /FD /c
  +# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ".\include" /D "_DEBUG" /D 
"WIN32" /D "_WINDOWS" /D "WIN32_LEAN_AND_MEAN" /FR /YX /FD /c
   # ADD BASE MTL /nologo /D "_DEBUG" /win32
   # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
   # ADD BASE RSC /l 0x809 /d "_DEBUG"
  @@ -80,7 +80,7 @@
   # ADD BSC32 /nologo
   LINK32=link.exe
   # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib 
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
  -# ADD LINK32 os\win32\ApacheOSD\ApacheOS.lib regex\debug\regex.lib 
ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib wsock32.lib /nologo /subsystem:windows /dll /debug 
/machine:I386
  +# ADD LINK32 os\win32\ApacheOSD\ApacheOS.lib regex\debug\regex.lib 
ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ws2_32.lib /nologo /subsystem:windows /dll /debug 
/machine:I386
   # SUBTRACT LINK32 /map
   
   !ENDIF 
  
  
  
  1.2       +4 -303    apache-apr/pthreads/src/ApacheCore.mak
  
  Index: ApacheCore.mak
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/ApacheCore.mak,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- ApacheCore.mak    1999/01/21 23:08:31     1.1
  +++ ApacheCore.mak    1999/08/19 20:51:58     1.2
  @@ -144,7 +144,7 @@
   LINK32=link.exe
   LINK32_FLAGS=os\win32\ApacheOSR\ApacheOS.lib regex\release\regex.lib\
    ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib 
comdlg32.lib\
  - advapi32.lib shell32.lib wsock32.lib /nologo /subsystem:windows /dll\
  + advapi32.lib shell32.lib ws2_32.lib /nologo /subsystem:windows /dll\
    /incremental:no /pdb:"$(OUTDIR)\ApacheCore.pdb" /machine:I386\
    /def:".\ApacheCore.def" /out:"$(OUTDIR)\ApacheCore.dll"\
    /implib:"$(OUTDIR)\ApacheCore.lib" 
  @@ -408,7 +408,7 @@
   LINK32=link.exe
   LINK32_FLAGS=os\win32\ApacheOSD\ApacheOS.lib regex\debug\regex.lib\
    ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
  - advapi32.lib shell32.lib wsock32.lib /nologo /subsystem:windows /dll\
  + advapi32.lib shell32.lib ws2_32.lib /nologo /subsystem:windows /dll\
    /incremental:yes /pdb:"$(OUTDIR)\ApacheCore.pdb" /debug /machine:I386\
    /def:".\ApacheCore.def" /out:"$(OUTDIR)\ApacheCore.dll"\
    /implib:"$(OUTDIR)\ApacheCore.lib" 
  @@ -506,14 +506,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_ALLOC=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\alloc.obj"        "$(INTDIR)\alloc.sbr" : $(SOURCE) 
$(DEP_CPP_ALLOC)\
  @@ -561,14 +553,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_BUFF_=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\buff.obj" "$(INTDIR)\buff.sbr" : $(SOURCE) $(DEP_CPP_BUFF_)\
  @@ -611,14 +595,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_BUILD=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\buildmark.obj"    "$(INTDIR)\buildmark.sbr" : $(SOURCE)\
  @@ -693,15 +669,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_HTTP_=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\http_config.obj"  "$(INTDIR)\http_config.sbr" : $(SOURCE)\
    $(DEP_CPP_HTTP_) "$(INTDIR)"
  @@ -770,15 +738,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_HTTP_C=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\http_core.obj"    "$(INTDIR)\http_core.sbr" : $(SOURCE)\
    $(DEP_CPP_HTTP_C) "$(INTDIR)"
  @@ -829,15 +789,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_HTTP_L=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\http_log.obj"     "$(INTDIR)\http_log.sbr" : $(SOURCE) 
$(DEP_CPP_HTTP_L)\
    "$(INTDIR)"
  @@ -910,14 +862,6 @@
        ".\os\win32\readdir.h"\
        ".\os\win32\registry.h"\
        ".\os\win32\service.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_HTTP_M=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\http_main.obj"    "$(INTDIR)\http_main.sbr" : $(SOURCE)\
  @@ -979,14 +923,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_HTTP_P=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\http_protocol.obj"        "$(INTDIR)\http_protocol.sbr" : 
$(SOURCE)\
  @@ -1046,15 +982,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_HTTP_R=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\http_request.obj" "$(INTDIR)\http_request.sbr" : $(SOURCE)\
    $(DEP_CPP_HTTP_R) "$(INTDIR)"
  @@ -1107,14 +1035,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_HTTP_V=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\http_vhost.obj"   "$(INTDIR)\http_vhost.sbr" : $(SOURCE)\
  @@ -1206,14 +1126,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_MOD_A=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\mod_access.obj"   "$(INTDIR)\mod_access.sbr" : $(SOURCE)\
  @@ -1271,15 +1183,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MOD_AC=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\mod_actions.obj"  "$(INTDIR)\mod_actions.sbr" : $(SOURCE)\
    $(DEP_CPP_MOD_AC) "$(INTDIR)"
  @@ -1324,15 +1228,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MOD_AL=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\mod_alias.obj"    "$(INTDIR)\mod_alias.sbr" : $(SOURCE)\
    $(DEP_CPP_MOD_AL) "$(INTDIR)"
  @@ -1387,14 +1283,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_MOD_AS=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\mod_asis.obj"     "$(INTDIR)\mod_asis.sbr" : $(SOURCE) 
$(DEP_CPP_MOD_AS)\
  @@ -1446,14 +1334,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_MOD_AU=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\mod_auth.obj"     "$(INTDIR)\mod_auth.sbr" : $(SOURCE) 
$(DEP_CPP_MOD_AU)\
  @@ -1473,6 +1353,7 @@
        ".\include\ap_config.h"\
        ".\include\ap_ctype.h"\
        ".\include\buff.h"\
  +     ".\include\fnmatch.h"\
        ".\include\hsregex.h"\
        ".\include\http_config.h"\
        ".\include\http_core.h"\
  @@ -1511,15 +1392,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MOD_AUT=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\mod_autoindex.obj"        "$(INTDIR)\mod_autoindex.sbr" : 
$(SOURCE)\
    $(DEP_CPP_MOD_AUT) "$(INTDIR)"
  @@ -1538,6 +1411,7 @@
        ".\include\ap_config.h"\
        ".\include\ap_ctype.h"\
        ".\include\buff.h"\
  +     ".\include\fnmatch.h"\
        ".\include\hsregex.h"\
        ".\include\http_conf_globals.h"\
        ".\include\http_config.h"\
  @@ -1578,14 +1452,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_MOD_C=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\mod_cgi.obj"      "$(INTDIR)\mod_cgi.sbr" : $(SOURCE) 
$(DEP_CPP_MOD_C)\
  @@ -1643,15 +1509,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MOD_D=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\mod_dir.obj"      "$(INTDIR)\mod_dir.sbr" : $(SOURCE) 
$(DEP_CPP_MOD_D)\
    "$(INTDIR)"
  @@ -1696,15 +1554,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MOD_E=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\mod_env.obj"      "$(INTDIR)\mod_env.sbr" : $(SOURCE) 
$(DEP_CPP_MOD_E)\
    "$(INTDIR)"
  @@ -1761,14 +1611,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_MOD_I=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\mod_imap.obj"     "$(INTDIR)\mod_imap.sbr" : $(SOURCE) 
$(DEP_CPP_MOD_I)\
  @@ -1826,17 +1668,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MOD_IN=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     ".\modules\standard\config.h"\
  -     ".\modules\standard\modules\perl\mod_perl.h"\
  -     
   
   "$(INTDIR)\mod_include.obj"  "$(INTDIR)\mod_include.sbr" : $(SOURCE)\
    $(DEP_CPP_MOD_IN) "$(INTDIR)"
  @@ -1891,13 +1723,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_MOD_IS=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\mod_isapi.obj"    "$(INTDIR)\mod_isapi.sbr" : $(SOURCE)\
  @@ -1947,15 +1772,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MOD_L=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\mod_log_config.obj"       "$(INTDIR)\mod_log_config.sbr" : 
$(SOURCE)\
    $(DEP_CPP_MOD_L) "$(INTDIR)"
  @@ -2002,15 +1819,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MOD_M=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\mod_mime.obj"     "$(INTDIR)\mod_mime.sbr" : $(SOURCE) 
$(DEP_CPP_MOD_M)\
    "$(INTDIR)"
  @@ -2063,15 +1872,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MOD_N=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\mod_negotiation.obj"      "$(INTDIR)\mod_negotiation.sbr" : 
$(SOURCE)\
    $(DEP_CPP_MOD_N) "$(INTDIR)"
  @@ -2120,14 +1921,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_MOD_S=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\mod_setenvif.obj" "$(INTDIR)\mod_setenvif.sbr" : $(SOURCE)\
  @@ -2175,15 +1968,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MOD_SO=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\mod_so.obj"       "$(INTDIR)\mod_so.sbr" : $(SOURCE) 
$(DEP_CPP_MOD_SO)\
    "$(INTDIR)"
  @@ -2228,14 +2013,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_MOD_U=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\mod_userdir.obj"  "$(INTDIR)\mod_userdir.sbr" : $(SOURCE)\
  @@ -2281,13 +2058,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_MODUL=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\modules.obj"      "$(INTDIR)\modules.sbr" : $(SOURCE) 
$(DEP_CPP_MODUL)\
  @@ -2321,12 +2091,7 @@
        ".\include\hsregex.h"\
        ".\include\multithread.h"\
        ".\os\win32\os.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_MULTI=\
  -     ".\include\ap_config_auto.h"\
  -     
   
   "$(INTDIR)\multithread.obj"  "$(INTDIR)\multithread.sbr" : $(SOURCE)\
    $(DEP_CPP_MULTI) "$(INTDIR)"
  @@ -2393,13 +2158,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_REGIS=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\registry.obj"     "$(INTDIR)\registry.sbr" : $(SOURCE) 
$(DEP_CPP_REGIS)\
  @@ -2449,14 +2207,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_RFC14=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\rfc1413.obj"      "$(INTDIR)\rfc1413.sbr" : $(SOURCE) 
$(DEP_CPP_RFC14)\
  @@ -2512,14 +2262,7 @@
        ".\os\win32\readdir.h"\
        ".\os\win32\registry.h"\
        ".\os\win32\service.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_SERVI=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\service.obj"      "$(INTDIR)\service.sbr" : $(SOURCE) 
$(DEP_CPP_SERVI)\
    "$(INTDIR)"
  @@ -2568,14 +2311,6 @@
        ".\main\test_char.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_UTIL_=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\util.obj" "$(INTDIR)\util.sbr" : $(SOURCE) $(DEP_CPP_UTIL_)\
  @@ -2586,9 +2321,6 @@
   !ENDIF 
   
   SOURCE=.\main\util_date.c
  -
  -!IF  "$(CFG)" == "ApacheCore - Win32 Release"
  -
   DEP_CPP_UTIL_D=\
        ".\include\ap_config.h"\
        ".\include\ap_ctype.h"\
  @@ -2662,15 +2394,7 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_UTIL_M=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\util_md5.obj"     "$(INTDIR)\util_md5.sbr" : $(SOURCE) 
$(DEP_CPP_UTIL_M)\
    "$(INTDIR)"
  @@ -2731,14 +2455,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_UTIL_S=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\util_script.obj"  "$(INTDIR)\util_script.sbr" : $(SOURCE)\
  @@ -2788,15 +2504,7 @@
        ".\main\uri_delims.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
        
  -NODEP_CPP_UTIL_U=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\os.h"\
  -     ".\include\sfio.h"\
  -     
   
   "$(INTDIR)\util_uri.obj"     "$(INTDIR)\util_uri.sbr" : $(SOURCE) 
$(DEP_CPP_UTIL_U)\
    "$(INTDIR)"
  @@ -2841,13 +2549,6 @@
        ".\include\util_uri.h"\
        ".\os\win32\os.h"\
        ".\os\win32\readdir.h"\
  -     {$(INCLUDE)}"sys\stat.h"\
  -     {$(INCLUDE)}"sys\types.h"\
  -     
  -NODEP_CPP_UTIL_W=\
  -     ".\include\ap_config_auto.h"\
  -     ".\include\ebcdic.h"\
  -     ".\include\sfio.h"\
        
   
   "$(INTDIR)\util_win32.obj"   "$(INTDIR)\util_win32.sbr" : $(SOURCE)\
  
  
  
  1.9       +217 -5    apache-apr/pthreads/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/CHANGES,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -d -u -r1.8 -r1.9
  --- CHANGES   1999/06/10 06:25:40     1.8
  +++ CHANGES   1999/08/19 20:51:59     1.9
  @@ -20,8 +20,217 @@
     *) Removed the ap_block_alarms and ap_unblock_alarm calls.  These aren't
        needed in a threaded server.
   
  -Changes with Apache 1.3.7
  +Changes with Apache 1.3.9
  +
  +  *) Remove bogus error message when a redirect doesn't set Location.
  +     Instead, use an empty string to avoid coredump if the error message
  +     was supposed to include a location.  [Roy Fielding]
  +
  +  *) Don't allow configure to include mod_auth_digest unless it is
  +     explicitly requested, even if the user asked for all modules.
  +     [Roy Fielding]
  +
  +  *) Translate module names to dll names for OS/2 so that they are no more
  +     than 8 characters long and have an extension of "dll" instead of "so".
  +     [Brian Havard]
  +
  +  *) Print out pointer to Rule DEV_RANDOM when truerand lib not found.
  +     Fix test-compile check to check for randbyte instead of trand32.
  +     Use ap_base64encode_binary/decode instead of copy in mod_auth_digest.c
  +     and tweak to make Amaya happier.  [Ronald Tschalär]
  +
  +  *) Ensure that the installed expat include files are world readable,
  +     just like the other header files.  [Martin Kraemer]
  +
  +  *) Fixed generated AddModule adjustments in APACI's `configure' script
  +     in order to allow (new) modules like mod_vhost_alias to be handled
  +     correctly (which was touched by the adjustments for mod_alias).
  +     [Ralf S. Engelschall]
  +
  +  *) For binary builds, add -R flag to apachectl to work around the lack of
  +     an absolute path to the ./libexec directory where the libhttp.ep file
  +     is needed for SHARED_CORE architectures.  [Randy Terbush]
  +
  +  *) WIN32: Create the CGI script process as DETACHED.  This may solve the
  +     problem observed by some Win95/98 users where they get CGI script
  +     output sent to the console.  [Bill Stoddard]
  +
  +  *) Fix (re)naming in the uuencode/decode section. The ap/ap_
  +     routines are now called ap_base64* and are 'plain' (i.e., no 
  +     pool access or anything clever). Inside util.c the routines acting
  +     like pstrdup are called ap_pbase64encode() and ap_pbase64decode().
  +     The oddly named ap_uuencode(), ap_uudecode() are kept around for
  +     now but deprecated.  [dirkx]
  +
  +  *) Clean up the base64 and SHA1 additions and make sure they are
  +     represented in the ApacheCore.def, ApacheCoreOS2.def, and httpd.exp
  +     files.  [Roy Fielding]
  +
  +  *) WIN32: Migrate to InstallShield 5.5 and provide a bit more error
  +     checking.  Allow compiling on VS 6.0.  [Randy Terbush]
  +
  +  *) Fixed assumption of absolute paths in binbuild.sh.  [Tony Finch]
  +
  +  *) Use TestCompile to search for the truerand library (rather than blindly
  +     assuming its existence). If it is not found, complain (but do not
  +     exit - yet).  [Martin Kraemer]
  +
  +  *) We forgot to add the new exported function names to
  +     src/support/httpd.exp.  [Bill Stoddard, Randy Terbush]
  +
  +  *) Add description of -T command-line option to usage().
  +     [Ralf S. Engelschall]
  +
  +  *) For "some" platforms (notably, EBCDIC based ones), libos needs to be
  +     searched only AFTER libap has been searched, because libap needs
  +     some symbols from libos.  [Martin Kraemer]
  +
  +  *) Fix conflict with original mod_digest related to the symbol of the
  +     module dispatch list (which has to be unique for DSO and follow the
  +     usual conventions for the installation procedure).
  +     [Ralf S. Engelschall]
  +
  +  *) Add a dbm-library check for the "usual places" (-ldbm, -lndbm, -ldb)
  +     for other platforms as well.  [Martin Kraemer]
  +
  +  *) Make ap_sha1.c compile for EBCDIC platforms: replace remaining LONG
  +     types by AP_LONG and replace reference to renamed variable 'ubuf'
  +     by 'buffer'.  [Martin Kraemer]
  +
  +Changes with Apache 1.3.8 [not released]
  +
  +  *) Flush the output buffer immediately after sending an error or redirect
  +     response, since the result may be needed by the client to abort a
  +     long data transfer or restart a series of pipelined requests.
  +     [Tom Vaughan <[EMAIL PROTECTED]>, Roy Fielding]
  +
  +  *) PORT: Improved compilation and DSO support on Sequent DYNIX/ptx.
  +     [Ian Turner <[EMAIL PROTECTED]>] PR#4735
  +
  +  *) Local struct mmap in http_core.c conflicted with system structure
  +     name on DYNIX -- changed to mmap_rec.  [Roy Fielding] PR#4735
  +
  +  *) Added updated mod_digest as modules/experimental/mod_auth_digest.
  +     [Ronald Tschalär <[EMAIL PROTECTED]>]
  +
  +  *) Fix a memory leak where the module counts were getting messed
  +     up across restarts.  [David Harris <[EMAIL PROTECTED]>]
  +
  +  *) CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
  +     properly in mod_access.
  +     ["Paul J. Reder" <[EMAIL PROTECTED]>] PR#4770
  +
  +  *) RewriteLock/RewriteMap didn't work properly with virtual hosts.
  +     [Dmitry Khrustalev <[EMAIL PROTECTED]>] PR#3874
  +
  +  *) PORT: Support for compaq/tandem/com.
  +     [Michael Ottati <[EMAIL PROTECTED]>, dirkx]
  +
  +  *) Added SHA1 password encryption support to easy migration from 
  +     Netscape servers. See support/SHA1 for more information.
  +     Caused the separation of ap_md5.c into md5, sha1 and a general
  +     ap_checkpass.c with just a validate_passwd routine. Added a
  +     couple of flags to support/htpasswd. Some reuse of the to64()
  +     function; hence renamed to ap_to64().
  +     [Dirk-Willem van Gulik, Clinton Wong <[EMAIL PROTECTED]>]
  +
  +  *) Change for EBCDIC platforms (TPF and BS2000) to correctly deal
  +     with ASCII/EBCDIC conversions in "ident" query.
  +     [David McCreedy <[EMAIL PROTECTED]>]
  +
  +  *) Get rid of redefinition warning on MAC_OS_X_SERVER platform.
  +     Change "Power Macintosh" to Power* so if uname prints "Power Book"
  +     we're still happy on Rhapsody platforms.  [Wilfredo Sanchez]
  +
  +  *) Fix SIGSEGV on some systems because the Vary fix below included
  +     a call to table_do with a variable argument list that was not
  +     NULL terminated.  Replaced with better implementation. [Roy Fielding]
  +
  +Changes with Apache 1.3.7 [not released]
  +
  +  *) The "Vary" response header field is now sanitised right before
  +     the header is sent back to the client.  Multiple "Vary" fields
  +     are combined, and duplicate tokens (e.g., "Vary: host, host" or
  +     "Vary: host, negotiate, host, accept-language") are reduced to
  +     single instances.  This is a better solution than the force-no-vary
  +     one (which is still valid for clients that can't cope with Vary
  +     at all).  PR#3118 [Dean Gaudet, Roy Fielding, Ken Coar]
  +
  +  *) Portability changes for BeOS. [David Reid [EMAIL PROTECTED]
  +
  +  *) Link DSO's with "gcc -shared" instead of "ld -Bshareable" at 
  +     least on Linux and FreeBSD for now.  
  +     [Rasmus Lerdorf]
  +
  +  *) Win32: More apache -k restart work. Restarts are now honored
  +     immediately and connections in the listen queue are -not- lost.
  +     This is made possible by the use of the WSADuplicateSocket()
  +     call.  The listeners are opened in the parent, duplicated, then
  +     the duplicates are passed to the child. The original listen sockets 
  +     are not closed by the parent across a restart, thus the listen queue 
  +     is preserved.
  +     [Bill Stoddard <[EMAIL PROTECTED]>]
  +
  +  *) Fix handling of case when a client has sent "Expect: 100-continue"
  +     and we are going to respond with an error, but get stuck waiting to
  +     discard the body in the pointless hope of preserving the connection.
  +     [Roy Fielding, Joe Orton <[EMAIL PROTECTED]>] PR#4499, PR#3806
  +
  +  *) Fix 'configure' to work correctly with SysV-based versions of
  +     'tr' (consistent with Configure's use as well). [Jim Jagielski]
  +
  +  *) apxs: Add "-S var=val" option which allows for override of CFG_*
  +     built-in values. Add "-e" option which works like -i but doesn't
  +     install the DSO; useful for editing httpd.conf with apxs. Fix
  +     editing code so that multiple invocations of apxs -a will not
  +     create duplicate LoadModule/AddModule entries; apxs can now be
  +     used to re- enable/disable a module.  [Wilfredo Sanchez]
   
  +  *) Win32: Update the server to use Winsock 2. Specifically, link with
  +     ws2_32.lib rather than wsock32.lib.  This gives us access to 
  +     WSADuplcateSocket() in addition to some other enhanced comm APIs.
  +     Win 95 users may need to update their TCP/IP stack to pick up
  +     Winsock 2. (See http://www.microsoft.com/windows95/downloads/)
  +     [Bill Stoddard [EMAIL PROTECTED]
  +
  +  *) Win32: Redirect CGI script stderr (script debug info) into the 
  +     error.log when CGI scripts fail. This makes Apache on Win32 
  +     behave more like Unix.      
  +     [Bill Stoddard [EMAIL PROTECTED]
  +
  +  *) Fixed `httpd' usage display: -D was missing.
  +     [Ralf S. Engelschall] PR#4614
  +
  +  *) Fix `make r' test procedure in src/regex/: ap_isprint was not found.
  +     [Ralf S. Engelschall] PR#4561, PR#4562
  +
  +  *) OS/2: Fix problem with accept lock semaphores where server would die 
with
  +     "OS2SEM: Error 105 getting accept lock. Exiting!" 
  +     [Brian Havard] PR#4505
  +
  +  *) Add DSO support for DGUX 4.x using gcc. Tested on x86 platforms.
  +     [Randy Terbush <[EMAIL PROTECTED]>]
  + 
  +  *) Add the new mass-vhost module (mod_vhost_alias.c) developed and
  +     used by Demon Internet, Ltd. [Tony Finch <[EMAIL PROTECTED]>]
  +
  +  *) Better GCC detection for DSO flags under Solaris 2 where the `cc' 
  +     command potentially _is_ GCC. [Ralf S. Engelschall]
  +
  +  *) Fix apxs build issues on AIX 
  +     [Rasmus Lerdorf <[EMAIL PROTECTED]>]
  +
  +  *) DocumentRoot Checking: Under previous versions, when Apache
  +     first started up, it used to do a stat of each DocumentRoot to
  +     see if it existed and was a directory. If not, then an error
  +     message was printed. THIS HAS BEEN DISABLED. If DocumentRoot
  +     does not exist, you will get error messages in error_log. If
  +     the '-t' command line option is used (to check the configuration)
  +     the check of DocumentRoot IS performed. An additional command
  +     line option, '-T', has been added if you want to avoid the
  +     DocumentRoot check even when checking the configuration.
  +     [Jim Jagielski]
  +
     *) Win32: The query switch "apache -S" didn't exit after showing the
        vhost settings. That was inconsistent with the other query functions.
        [Bill Stoddard - Fixed by Martin on Unix in 1.3.4]
  @@ -32,7 +241,7 @@
        could take hours.  Now, a restart is honored almost immediately. 
        All connections in Apache's queues are handled but connections in 
        the stack's listen queue are discarded. Restart triggered by 
  -     MaxRequestPerChild is unchanged. 
  +     MaxRequestPerChild is unchanged.
        [Bill Stoddard <[EMAIL PROTECTED]>]
   
     *) Win32: Eliminated unnecessary call to wait_for_multiple_objects in
  @@ -63,6 +272,9 @@
        never accepted into any standard, and it opens up certain DoS
        attacks.  [Koen Holtman <[EMAIL PROTECTED]>]
   
  +  *) TestCompile updated. We can now run programs and output the
  +     results during the Configure process. [ Jim Jagielski]
  +
     *) The source is now quad (long long) aware as needed. Specifically,
        the Configure process determines the correct size of off_t and
        *void. When the OS/platform/compiler supports quads, ap_snprintf()
  @@ -187,7 +399,7 @@
        [Graham Leggett <[EMAIL PROTECTED]>,
        Tim Costello <[EMAIL PROTECTED]>] PR#3178
   
  -  *) Fix inconsistant error messages reported by mod_proxy.
  +  *) Fix inconsistent error messages reported by mod_proxy.
        [Graham Leggett <[EMAIL PROTECTED]>]
   
     *) OS/2: Fix terminating CGIs that aren't compiled by EMX GCC when a 
  @@ -665,7 +877,7 @@
        and check to see if the tar we wind up with supports '-h'.
        [Jim Jagielski] PR#3671
   
  -  *) A consistant and conservative style for all shell scripts has been
  +  *) A consistent and conservative style for all shell scripts has been
        implemented. Basically, all shell string tests use the traditional
        hack of 'if [ "x$var" != "x" ]' or 'if [ "x$var" = "xstring" ]'
        to protect against bare null variable strings (ie: wrapping both
  @@ -2651,7 +2863,7 @@
     *) PORT: IRIX needs the -n32 flag iff using the 'cc' compiler
        [Jim Jagielski] PR#1901
   
  -  *) BUG: Configure was using TCC and CC inconsistantly. Make sure
  +  *) BUG: Configure was using TCC and CC inconsistently. Make sure
        Configure knows which CC we are using. [Jim Jagielski]
   
     *) "Options +Includes" wasn't correctly merged if "+IncludesNoExec"
  
  
  
  1.4       +51 -13    apache-apr/pthreads/src/Configuration.tmpl
  
  Index: Configuration.tmpl
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/Configuration.tmpl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- Configuration.tmpl        1999/06/10 06:25:41     1.3
  +++ Configuration.tmpl        1999/08/19 20:52:00     1.4
  @@ -124,12 +124,12 @@
   # functions. The format is: Rule RULE=value
   #
   # At present, only the following RULES are known: WANTHSREGEX, SOCKS4,
  -# SOCKS5, IRIXNIS, IRIXN32 and PARANOID.
  +# SOCKS5, IRIXNIS, IRIXN32, PARANOID, and DEV_RANDOM.
   #
  -# For all Rules, if set to "yes", then Configure knows we want that
  -# capability and does what is required to add it in. If set to "default"
  -# then Configure makes a "best guess"; if set to anything else, or not
  -# present, then nothing is done.
  +# For all Rules except DEV_RANDOM, if set to "yes", then Configure knows
  +# we want that capability and does what is required to add it in. If set
  +# to "default" then Configure makes a "best guess"; if set to anything
  +# else, or not present, then nothing is done.
   #
   # SOCKS4:
   #  If SOCKS4 is set to 'yes', be sure that you add the socks library
  @@ -174,6 +174,19 @@
   Rule PARANOID=no
   Rule EXPAT=default
   
  +# DEV_RANDOM:
  +#  Note: this rule is only used when compiling mod_auth_digest.
  +#  mod_auth_digest requires a cryptographically strong random seed for its
  +#  random number generator. It knows two ways of getting this: 1) from
  +#  a file or device (such as "/dev/random"), or 2) from the truerand
  +#  library. If this rule is set to 'default' then Configure will choose
  +#  to use /dev/random if it exists, else /dev/urandom if it exists,
  +#  else the truerand library. To override this behaviour set DEV_RANDOM
  +#  either to 'truerand' (to use the library) or to a device or file
  +#  (e.g. '/dev/urandom'). If the truerand library is selected, Configure
  +#  will assume "-L/usr/local/lib -lrand".
  +Rule DEV_RANDOM=default
  +
   # The following rules should be set automatically by Configure. However, if
   # they are not set by Configure (because we don't know the correct value for
   # your platform), or are set incorrectly, you may override them here.
  @@ -214,6 +227,13 @@
   
   # AddModule modules/experimental/mod_mmap_static.o
   
  +## mod_vhost_alias provides support for mass virtual hosting
  +## by dynamically changing the document root and CGI directory
  +## based on the host header or local IP address of the request.
  +## See "../htdocs/manual/vhosts/mass.html".
  +
  +# AddModule modules/standard/mod_vhost_alias.o
  +
   ##
   ## Config manipulation modules
   ##
  @@ -302,13 +322,6 @@
   
   AddModule modules/standard/mod_userdir.o
   
  -## The proxy module enables the server to act as a proxy for outside
  -## http and ftp services. It's not as complete as it could be yet.
  -## NOTE: You do not want this module UNLESS you are running a proxy;
  -##       it is not needed for normal (origin server) operation.
  -
  -# AddModule modules/proxy/libproxy.a
  -
   ## The Alias module provides simple URL translation and redirection.
   
   AddModule modules/standard/mod_alias.o
  @@ -339,9 +352,34 @@
   # AddModule modules/standard/mod_auth_db.o
   
   ## "digest" implements HTTP Digest Authentication rather than the less 
  -## secure Basic Auth used by the other modules.
  +## secure Basic Auth used by the other modules.  This is the old version.
   
   # AddModule modules/standard/mod_digest.o
  +
  +## "auth_digest" implements HTTP/1.1 Digest Authentication (RFC 2617)
  +## rather than the less secure Basic Auth used by the other modules.
  +## This is an updated version of mod_digest, but it is not as well tested
  +## and is therefore marked experimental.  Use either the one above, or
  +## this one below, but not both digest modules.
  +## Note: if you add this module in then you might also need the
  +## truerand library (available for example from
  +## ftp://research.att.com/dist/mab/librand.shar) - see the Rule
  +## DEV_RANDOM above for more info.
  +##
  +## Must be added above (run later than) the proxy module because the
  +## WWW-Authenticate and Proxy-Authenticate headers are parsed in the
  +## post-read-request phase and it needs to know if this is a proxy request.
  +
  +# AddModule modules/experimental/mod_auth_digest.o
  +
  +## Optional Proxy
  +##
  +## The proxy module enables the server to act as a proxy for outside
  +## http and ftp services. It's not as complete as it could be yet.
  +## NOTE: You do not want this module UNLESS you are running a proxy;
  +##       it is not needed for normal (origin server) operation.
  +
  +# AddModule modules/proxy/libproxy.a
   
   ## Optional response header manipulation modules. 
   ##
  
  
  
  1.11      +142 -19   apache-apr/pthreads/src/Configure
  
  Index: Configure
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/Configure,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -d -u -r1.10 -r1.11
  --- Configure 1999/06/10 06:25:41     1.10
  +++ Configure 1999/08/19 20:52:01     1.11
  @@ -340,8 +340,8 @@
        OSDIR="os/os2"
        DEF_WANTHSREGEX=yes
        OS='EMX OS/2'
  -     CFLAGS="$CFLAGS -DOS2 -Zbsd-signals -Zbin-files -Zcrtdll -DTCPIPV4 -g"
  -     LDFLAGS="$LDFLAGS -Zexe -Zcrtdll"
  +     CFLAGS="$CFLAGS -DOS2 -DTCPIPV4 -g -Zmt"
  +     LDFLAGS="$LDFLAGS -Zexe -Zmtd -Zsysv-signals -Zbin-files"
        LIBS="$LIBS -lsocket -lufc -lbsd"
        DBM_LIB="-lgdbm"
        SHELL=sh
  @@ -610,6 +610,7 @@
        LIBS="$LIBS -lsocket -lnsl -lgen"
        LD_SHLIB='cc'
        LDFLAGS_SHLIB="-Zlink=so"
  +     LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
        LDFLAGS_SHLIB_EXPORT="-Zlink=dynamic -Wl,-Bexport"
        CFLAGS_SHLIB='-Zpic'
        ;;
  @@ -625,10 +626,9 @@
       BS2000*-siemens-sysv4*)
        OS='BS2000'
        OSDIR='os/bs2000'
  -     CC='c89 -XLLML -XLLMK'
  +     CC='c89 -XLLML -XLLMK -XL'
        CFLAGS="$CFLAGS -DCHARSET_EBCDIC -DSVR4 -D_XPG_IV"
        DEF_WANTHSREGEX=yes
  -     LIBS="$LIBS -lsocket -lnsl -lc"
        DBM_LIB=""
        ;;
       *-siemens-sysv4*)
  @@ -706,11 +706,42 @@
        OS='Paragon OSF/1'
        CFLAGS="$CFLAGS -DPARAGON"
        ;;
  -    *DYNIX*)
  +    *-sequent-ptx2.*.*)
        DEF_WANTHSREGEX=yes
  -     OS='SEQUENT'
  -     CFLAGS="$CFLAGS -DSEQUENT"
  +     OS='SEQUENT DYNIX/ptx v2.*.*'
  +     CFLAGS="$CFLAGS -DSEQUENT=20 -Wc,-pw"
  +     LIBS="$LIBS -lsocket -linet -lnsl -lc -lseq"
  +     ;;
  +    *-sequent-ptx4.0.*)
  +     DEF_WANTHSREGEX=yes
  +     OS='SEQUENT DYNIX/ptx v4.0.*'
  +     CFLAGS="$CFLAGS -DSEQUENT=40 -Wc,-pw"
  +     LIBS="$LIBS -lsocket -linet -lnsl -lc"
        ;;
  +    *-sequent-ptx4.[123].*)
  +     DEF_WANTHSREGEX=yes
  +     OS='SEQUENT DYNIX/ptx v4.1.*/v4.2.*'
  +     CFLAGS="$CFLAGS -DSEQUENT=41 -Wc,-pw"
  +     LIBS="$LIBS -lsocket -lnsl -lc"
  +     ;;
  +    *-sequent-ptx4.4.*)
  +     DEF_WANTHSREGEX=yes
  +     OS='SEQUENT DYNIX/ptx v4.4.*'
  +     CFLAGS="$CFLAGS -DSEQUENT=44 -Wc,-pw"
  +     LIBS="$LIBS -lsocket -lnsl -lc"
  +     ;;
  +    *-sequent-ptx4.5.*)
  +     DEF_WANTHSREGEX=yes
  +     OS='SEQUENT DYNIX/ptx v4.5.*'
  +     CFLAGS="$CFLAGS -DSEQUENT=45 -Wc,-pw"
  +     LIBS="$LIBS -lsocket -lnsl -lc"
  +     ;;
  +    *-sequent-ptx5.0.*)
  +     DEF_WANTHSREGEX=yes
  +     OS='SEQUENT DYNIX/ptx v5.0.*'
  +     CFLAGS="$CFLAGS -DSEQUENT=50 -Wc,-pw"
  +     LIBS="$LIBS -lsocket -lnsl -lc"
  +     ;;
       *NEWS-OS*)
        DEF_WANTHSREGEX=yes
        OS='SONY NEWS-OS'
  @@ -747,6 +778,11 @@
        CC='cc'
        RANLIB='true'
        ;;
  +    *-tandem-oss)
  +     OS='Tandem OSS'
  +     CFLAGS="-D_TANDEM_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
  +     CC='c89'
  +     ;;
       *) # default: Catch systems we don't know about
        OS='Unknown and unsupported OS'
        echo Sorry, but we cannot grok \"$PLAT\"
  @@ -925,6 +961,7 @@
   ##
   TLD_SHLIB=`egrep '^LD_SHLIB=' Makefile.config | tail -1 | awk -F= '{print 
$2}'`
   TLDFLAGS_SHLIB=`egrep '^LDFLAGS_SHLIB=' Makefile.config | tail -1 | awk -F= 
'{print $2}'`
  +TLDFLAGS_MOD_SHLIB=`egrep '^LDFLAGS_MOD_SHLIB=' Makefile.config | tail -1 | 
awk -F= '{print $2}'`
   TLDFLAGS_SHLIB_EXPORT=`egrep '^LDFLAGS_SHLIB_EXPORT=' Makefile.config | tail 
-1 | awk -F= '{print $2}'`
   TCFLAGS_SHLIB=`egrep '^CFLAGS_SHLIB=' Makefile.config | tail -1 | awk -F= 
'{print $2}'`
   
  @@ -959,23 +996,30 @@
        *-linux1)
            CFLAGS_SHLIB="-fpic"
            LDFLAGS_SHLIB="-Bshareable"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT="-rdynamic"
            ;;
        *-linux2)
  +             LD_SHLIB="gcc"
            CFLAGS_SHLIB="-fpic"
  -         LDFLAGS_SHLIB="-Bshareable"
  +         LDFLAGS_SHLIB="-shared"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT="-rdynamic"
            SHLIB_SUFFIX_DEPTH=0
            ;;
        *-freebsd2*)
  +             LD_SHLIB="gcc"
            CFLAGS_SHLIB="-fpic"
  -         LDFLAGS_SHLIB="-Bshareable"
  +         LDFLAGS_SHLIB="-shared"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            SHLIB_SUFFIX_DEPTH=2
            ;;
        *-freebsd3*|*-freebsd4*)
  +             LD_SHLIB="gcc"
            CFLAGS_SHLIB="-fpic"
  -         LDFLAGS_SHLIB="-Bshareable"
  +         LDFLAGS_SHLIB="-shared"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo 
aout` 
            if [ "x$OBJFORMAT" = "xelf" ]; then
                LDFLAGS_SHLIB_EXPORT="-Wl,-E"
  @@ -988,6 +1032,7 @@
        *-openbsd*)
            CFLAGS_SHLIB="-fPIC"
            LDFLAGS_SHLIB="-Bforcearchive -Bshareable"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            SHLIB_SUFFIX_DEPTH=2
            ;;
  @@ -1000,21 +1045,25 @@
                LDFLAGS_SHLIB="-shared"
                LDFLAGS_SHLIB_EXPORT="-Wl,-E"
            fi
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            SHLIB_SUFFIX_DEPTH=2
            ;;
        *-bsdi3)
            LD_SHLIB="shlicc2"
            LDFLAGS_SHLIB="-r"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            ;;
        *-bsdi)
            CFLAGS_SHLIB="-fPIC"
            LDFLAGS_SHLIB="-shared"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT="-rdynamic"
            ;;
        *-next-openstep*)
            LD_SHLIB='cc'
            CFLAGS_SHLIB='-dynamic -fno-common'
            LDFLAGS_SHLIB='-bundle -undefined warning'
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=''
            SHLIB_SUFFIX_DEPTH=0
            ;;
  @@ -1022,15 +1071,18 @@
            LD_SHLIB="cc"
            CFLAGS_SHLIB=""
            LDFLAGS_SHLIB='$(EXTRA_LDFLAGS) -bundle -undefined suppress'
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            SHLIB_SUFFIX_DEPTH=0
            ;;
        *-solaris2*)
  -         case $CC in
  -             */gcc|gcc ) CFLAGS_SHLIB="-fPIC" ;;
  -             */cc|cc   ) CFLAGS_SHLIB="-KPIC" ;;
  -         esac
  +         if [ "x`$CC -v 2>&1 | grep gcc`" != "x" ]; then
  +             CFLAGS_SHLIB="-fPIC"
  +         else
  +             CFLAGS_SHLIB="-KPIC"
  +         fi
            LDFLAGS_SHLIB="-G"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            SHLIB_SUFFIX_DEPTH=1
            ;;
  @@ -1040,6 +1092,7 @@
                */acc|acc ) CFLAGS_SHLIB="-pic" ;;
            esac
            LDFLAGS_SHLIB="-assert pure-text"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            ;;
        *-sgi-irix32)
  @@ -1058,6 +1111,7 @@
            else
                LDFLAGS_SHLIB="-shared"
            fi
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            ;;
        *-sgi-irix64)
  @@ -1076,6 +1130,7 @@
            else
                LDFLAGS_SHLIB="-shared"
            fi
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            ;;
        *-sgi-irix)
  @@ -1084,6 +1139,7 @@
                */cc|cc   ) CFLAGS_SHLIB="-KPIC" ;;
            esac
            LDFLAGS_SHLIB="-shared"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            ;;
        *-dec-osf*)
  @@ -1092,6 +1148,7 @@
                */cc|cc   ) CFLAGS_SHLIB="" ;;
            esac
            LDFLAGS_SHLIB="-shared -expect_unresolved '*' -s"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            ;;
        *-unixware*)
  @@ -1100,6 +1157,7 @@
                */cc|cc   ) CFLAGS_SHLIB="-KPIC" ;;
            esac
            LDFLAGS_SHLIB="-Bdynamic -G"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT="-Wl,-Bexport"
            ;;
         *-sco5*)
  @@ -1109,8 +1167,23 @@
             esac
             LDFLAGS_SHLIB="-G"
             LDFLAGS_SHLIB_EXPORT="-Wl,-Bexport"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
             SHLIB_SUFFIX_DEPTH=1
             ;;
  +     *-sequent-ptx*)
  +         case $PLAT in
  +            *-sequent-ptx2*)
  +                ;;
  +            *-sequent-ptx4.0*)
  +                ;;
  +            *-sequent-ptx*)
  +                CFLAGS_SHLIB="-KPIC"
  +                LDFLAGS_SHLIB="-G"
  +                LDFLAGS_SHLIB_EXPORT="-Wl,-Bexport"
  +                LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
  +                ;;
  +         esac
  +         ;;
        RM*-siemens-sysv4*)
            # MIPS hosts can take advantage of the LDFLAGS_SHLIB_EXPORT switch
            case $CC in
  @@ -1118,6 +1191,7 @@
                */cc|cc   ) CFLAGS_SHLIB="-KPIC" ;;
            esac
            LDFLAGS_SHLIB="-G"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT="-Wl,-Blargedynsym"
            ;;
        *-siemens-sysv4*)
  @@ -1127,6 +1201,7 @@
                */cc|cc   ) CFLAGS_SHLIB="-KPIC" ;;
            esac
            LDFLAGS_SHLIB="-G"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            SHLIB_SUFFIX_DEPTH=0
            DEF_SHARED_CORE=yes
  @@ -1137,6 +1212,7 @@
                */cc|cc   ) CFLAGS_SHLIB="-KPIC" ;;
            esac
            LDFLAGS_SHLIB="-G"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT=""
            DEF_SHARED_CORE=yes
            ;;
  @@ -1146,8 +1222,8 @@
                */cc|cc   ) CFLAGS_SHLIB="+z" ;;
            esac
            LDFLAGS_SHLIB="-b"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT="-Wl,-E -Wl,-B,deferred"
  -         SHLIB_SUFFIX_NAME=sl
            ;;
        *-hp-hpux10.*|*-hp-hpux11.*)
            case $CC in
  @@ -1155,8 +1231,8 @@
                */cc|cc   ) CFLAGS_SHLIB="+z" ;;
            esac
            LDFLAGS_SHLIB="-b"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT="-Wl,-E -Wl,-B,deferred -Wl,+s"
  -         SHLIB_SUFFIX_NAME=sl
            ;;
        *-ibm-aix*)
            case $CC in
  @@ -1171,6 +1247,7 @@
                    LDFLAGS_SHLIB="-H512 -T512 -bhalt:4 -bM:SRE -e _nostart"
                    ;;
            esac
  +         LDFLAGS_MOD_SHLIB="$LDFLAGS_SHLIB -bI:@libexecdir@/httpd.exp -lc"
            LDFLAGS_SHLIB="$LDFLAGS_SHLIB -bI:\$(SRCDIR)/support/httpd.exp "
            LDFLAGS_SHLIB="$LDFLAGS_SHLIB -bE:\`echo \$@|sed -e 
's:\.so\$\$:.exp:'\`"
            LDFLAGS_SHLIB="$LDFLAGS_SHLIB -lc"
  @@ -1180,12 +1257,14 @@
        *-*-powermax*)
            LD_SHLIB='cc'
            LDFLAGS_SHLIB="-Zlink=so"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            LDFLAGS_SHLIB_EXPORT="-Zlink=dynamic -Wl,-Bexport"
            CFLAGS_SHLIB='-Zpic'
            ;;
        *-OS/2*)
            DEF_SHARED_CORE=yes
            LDFLAGS_SHLIB="`echo $LDFLAGS|sed -e s/-Zexe//` -Zdll"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
            SHLIB_SUFFIX_NAME=dll
            SHLIB_SUFFIX_DEPTH=0
            LD_SHLIB=$CC
  @@ -1196,6 +1275,15 @@
            SHCORE_IMPLIB='ApacheCoreOS2.a'
            OS_MODULE_INCLUDE='Makefile.OS2'
            ;;
  +     *-dgux)
  +         case $CC in
  +             */gcc|gcc ) CFLAGS_SHLIB="-fpic" ;;
  +         esac
  +         DEF_SHARED_CORE=yes
  +         LDFLAGS_SHLIB="-G"
  +         LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
  +         LDFLAGS_SHLIB_EXPORT=""
  +            ;;
        *)
            ##  ok, no known explict support for shared objects
            ##  on this platform, but we give not up immediately.
  @@ -1221,6 +1309,7 @@
                    #   so we can guess the flags from its knowledge
                    CFLAGS_SHLIB="`$PERL -V:cccdlflags | cut -d\' -f2`"
                    LDFLAGS_SHLIB="`$PERL -V:lddlflags | cut -d\' -f2`"
  +                 LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
                    LDFLAGS_SHLIB_EXPORT="`$PERL -V:ccdlflags | cut -d\' -f2`"
                    #   but additionally we have to inform the
                    #   user that we are just guessing the flags
  @@ -1364,11 +1453,30 @@
       *-dg-dgux*)
        # R4.11MU02 requires -lsocket -lnsl ... no idea if it's earlier or
        # later than what we already knew about.  PR#732
  -     if ./helpers/TestCompile lib socket; then
  -         LIBS="$LIBS -lsocket"
  +     if ./helpers/TestCompile lib nsl; then
  +         LIBS="$LIBS -lnsl"
  +         TLIB='-lnsl'
        fi
  +     if TLIB=$TLIB ./helpers/TestCompile lib socket; then
  +         LIBS="-lsocket $LIBS"
  +     fi
  +     ;;
  +    BS2000*-siemens-sysv4*)
  +     # Depending on the BS2000 OS and compiler/crte release,
  +     # -lnsl may be available (or may be not).
  +     # In standard SVR4 systems, -lsocket relies on some symbols
  +     # from -lnsl, so the test for -lnsl must appear first.
        if ./helpers/TestCompile lib nsl; then
            LIBS="$LIBS -lnsl"
  +         TLIB='-lnsl'
  +     fi
  +     if TLIB=$TLIB ./helpers/TestCompile lib socket; then
  +         LIBS="-lsocket $LIBS"
  +     fi
  +     if ./helpers/TestCompile func initgroups; then
  +         :
  +     else
  +         CFLAGS="$CFLAGS -DNEED_INITGROUPS"
        fi
        ;;
   esac
  @@ -1634,7 +1742,7 @@
        #    select the special subtarget for shared core generation
        SUBTARGET=target_shared
        #    determine additional suffixes for libhttpd.so
  -     V=1 R=3 P=7
  +     V=1 R=3 P=9
        if [ "x$SHLIB_SUFFIX_DEPTH" = "x0" ]; then
            SHLIB_SUFFIX_LIST=""
        fi
  @@ -1670,6 +1778,9 @@
       if [ "x$TLDFLAGS_SHLIB_EXPORT" = "x" ]; then
        echo "LDFLAGS_SHLIB_EXPORT=$LDFLAGS_SHLIB_EXPORT" >> Makefile.config
       fi
  +    if [ "x$TLDFLAGS_MOD_SHLIB" = "x" ]; then
  +     echo "LDFLAGS_MOD_SHLIB=$LDFLAGS_MOD_SHLIB" >> Makefile.config
  +    fi
       echo "LD_SHCORE_DEF=$LD_SHCORE_DEF" >> Makefile.config
       echo "LD_SHCORE_LIBS=$LD_SHCORE_LIBS" >> Makefile.config
       echo "SHARED_CORE_EP=$SHARED_CORE_EP" >> Makefile.config
  @@ -1818,6 +1929,7 @@
   echo "SUBTARGET=$SUBTARGET" >> Makefile
   echo "SHLIB_SUFFIX_NAME=$SHLIB_SUFFIX_NAME" >> Makefile
   echo "SHLIB_SUFFIX_LIST=$SHLIB_SUFFIX_LIST" >> Makefile
  +echo "SHLIB_EXPORT_FILES=$SHLIB_EXPORT_FILES" >> Makefile
   echo "" >> Makefile
   
   ####################################################################
  @@ -1854,6 +1966,17 @@
       case $PLAT in
        *-ibm-aix* )
            DL_LIB="-lld"
  +         ;;
  +     *-sequent-ptx* )
  +         case $PLAT in
  +             *-sequent-ptx2*)
  +                 ;;
  +             *-sequent-ptx4.0*)
  +                 ;;
  +             *-sequent-ptx*)
  +                 DL_LIB="-ldl"
  +                 ;;
  +         esac
            ;;
        *-hp-hpux*)
            if ./helpers/TestCompile func shl_load; then
  
  
  
  1.4       +3 -1      apache-apr/pthreads/src/ap/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/ap/Makefile.tmpl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- Makefile.tmpl     1999/06/10 06:25:46     1.3
  +++ Makefile.tmpl     1999/08/19 20:52:17     1.4
  @@ -6,7 +6,7 @@
   LIB=libap.a
   
   OBJS=ap_cpystrn.o ap_execve.o ap_fnmatch.o ap_getpass.o ap_md5c.o 
ap_signal.o \
  -     ap_slack.o ap_snprintf.o
  +     ap_slack.o ap_snprintf.o ap_sha1.o ap_checkpass.o ap_base64.o
   
   .c.o:
        $(CC) -c $(INCLUDES) $(CFLAGS) $<
  @@ -59,6 +59,8 @@
    $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h $(OSDIR)/os-inline.c \
    $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h $(INCDIR)/ap_md5.h \
    $(INCDIR)/ap.h
  +ap_sha1.o: ap_sha1.c $(INCDIR)/ap_config.h $(INCDIR)/ap_sha1.h \
  + $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h $(OSDIR)/os-inline.c
   ap_signal.o: ap_signal.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
    $(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
    $(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
  
  
  
  1.3       +12 -0     apache-apr/pthreads/src/ap/ap.dsp
  
  Index: ap.dsp
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/ap/ap.dsp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- ap.dsp    1999/02/07 06:29:13     1.2
  +++ ap.dsp    1999/08/19 20:52:18     1.3
  @@ -106,5 +106,17 @@
   
   SOURCE=.\ap_md5c.c
   # End Source File
  +# Begin Source File
  +
  +SOURCE=.\ap_sha1.c
  +# End Source File
  +# Begin Source File
  +
  +SOURCE=.\ap_checkpass.c
  +# End Source File
  +# Begin Source File
  +
  +SOURCE=.\ap_base64.c
  +# End Source File
   # End Target
   # End Project
  
  
  
  1.3       +147 -22   apache-apr/pthreads/src/ap/ap.mak
  
  Index: ap.mak
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/ap/ap.mak,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- ap.mak    1999/02/07 06:29:13     1.2
  +++ ap.mak    1999/08/19 20:52:18     1.3
  @@ -50,6 +50,9 @@
        [EMAIL PROTECTED] "$(INTDIR)\ap_signal.obj"
        [EMAIL PROTECTED] "$(INTDIR)\ap_slack.obj"
        [EMAIL PROTECTED] "$(INTDIR)\ap_snprintf.obj"
  +     [EMAIL PROTECTED] "$(INTDIR)\ap_sha1.obj"
  +     [EMAIL PROTECTED] "$(INTDIR)\ap_base64.obj"
  +     [EMAIL PROTECTED] "$(INTDIR)\ap_checkpass.obj"
        [EMAIL PROTECTED] "$(INTDIR)\vc50.idb"
        [EMAIL PROTECTED] "$(OUTDIR)\ap.lib"
   
  @@ -95,7 +98,7 @@
   BSC32=bscmake.exe
   BSC32_FLAGS=/nologo /o"$(OUTDIR)\ap.bsc" 
   BSC32_SBRS= \
  -     
  +
   LIB32=link.exe -lib
   LIB32_FLAGS=/nologo /out:"$(OUTDIR)\ap.lib" 
   LIB32_OBJS= \
  @@ -104,7 +107,10 @@
        "$(INTDIR)\ap_md5c.obj" \
        "$(INTDIR)\ap_signal.obj" \
        "$(INTDIR)\ap_slack.obj" \
  -     "$(INTDIR)\ap_snprintf.obj"
  +     "$(INTDIR)\ap_snprintf.obj" \
  +     "$(INTDIR)\ap_sha1.obj" \
  +     "$(INTDIR)\ap_base64.obj" \
  +     "$(INTDIR)\ap_checkpass.obj"
   
   "$(OUTDIR)\ap.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
       $(LIB32) @<<
  @@ -136,6 +142,9 @@
        [EMAIL PROTECTED] "$(INTDIR)\ap_signal.obj"
        [EMAIL PROTECTED] "$(INTDIR)\ap_slack.obj"
        [EMAIL PROTECTED] "$(INTDIR)\ap_snprintf.obj"
  +     [EMAIL PROTECTED] "$(INTDIR)\ap_sha1.obj"
  +     [EMAIL PROTECTED] "$(INTDIR)\ap_base64.obj"
  +     [EMAIL PROTECTED] "$(INTDIR)\ap_checkpass.obj"
        [EMAIL PROTECTED] "$(INTDIR)\vc50.idb"
        [EMAIL PROTECTED] "$(OUTDIR)\ap.lib"
   
  @@ -181,7 +190,7 @@
   BSC32=bscmake.exe
   BSC32_FLAGS=/nologo /o"$(OUTDIR)\ap.bsc" 
   BSC32_SBRS= \
  -     
  +
   LIB32=link.exe -lib
   LIB32_FLAGS=/nologo /out:"$(OUTDIR)\ap.lib" 
   LIB32_OBJS= \
  @@ -190,7 +199,10 @@
        "$(INTDIR)\ap_md5c.obj" \
        "$(INTDIR)\ap_signal.obj" \
        "$(INTDIR)\ap_slack.obj" \
  -     "$(INTDIR)\ap_snprintf.obj"
  +     "$(INTDIR)\ap_snprintf.obj" \
  +     "$(INTDIR)\ap_sha1.obj" \
  +     "$(INTDIR)\ap_base64.obj" \
  +     "$(INTDIR)\ap_checkpass.obj"
   
   "$(OUTDIR)\ap.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
       $(LIB32) @<<
  @@ -219,13 +231,13 @@
        "..\os\win32\readdir.h"\
        {$(INCLUDE)}"sys\stat.h"\
        {$(INCLUDE)}"sys\types.h"\
  -     
  +
   NODEP_CPP_AP_CP=\
        "..\include\ap_config_auto.h"\
        "..\include\ebcdic.h"\
        "..\include\os.h"\
        "..\include\sfio.h"\
  -     
  +
   
   "$(INTDIR)\ap_cpystrn.obj" : $(SOURCE) $(DEP_CPP_AP_CP) "$(INTDIR)"
   
  @@ -244,8 +256,8 @@
        "..\include\util_uri.h"\
        "..\os\win32\os.h"\
        "..\os\win32\readdir.h"\
  -     
   
  +
   "$(INTDIR)\ap_cpystrn.obj" : $(SOURCE) $(DEP_CPP_AP_CP) "$(INTDIR)"
   
   
  @@ -264,11 +276,11 @@
        "..\os\win32\os.h"\
        {$(INCLUDE)}"sys\stat.h"\
        {$(INCLUDE)}"sys\types.h"\
  -     
  +
   NODEP_CPP_AP_FN=\
        "..\include\ap_config_auto.h"\
        "..\include\os.h"\
  -     
  +
   
   "$(INTDIR)\ap_fnmatch.obj" : $(SOURCE) $(DEP_CPP_AP_FN) "$(INTDIR)"
   
  @@ -282,8 +294,8 @@
        "..\include\fnmatch.h"\
        "..\include\hsregex.h"\
        "..\os\win32\os.h"\
  -     
   
  +
   "$(INTDIR)\ap_fnmatch.obj" : $(SOURCE) $(DEP_CPP_AP_FN) "$(INTDIR)"
   
   
  @@ -307,13 +319,13 @@
        "..\os\win32\readdir.h"\
        {$(INCLUDE)}"sys\stat.h"\
        {$(INCLUDE)}"sys\types.h"\
  -     
  +
   NODEP_CPP_AP_SI=\
        "..\include\ap_config_auto.h"\
        "..\include\ebcdic.h"\
        "..\include\os.h"\
        "..\include\sfio.h"\
  -     
  +
   
   "$(INTDIR)\ap_signal.obj" : $(SOURCE) $(DEP_CPP_AP_SI) "$(INTDIR)"
   
  @@ -332,7 +344,7 @@
        "..\include\util_uri.h"\
        "..\os\win32\os.h"\
        "..\os\win32\readdir.h"\
  -     
  +
   
   "$(INTDIR)\ap_signal.obj" : $(SOURCE) $(DEP_CPP_AP_SI) "$(INTDIR)"
   
  @@ -358,14 +370,14 @@
        "..\os\win32\readdir.h"\
        {$(INCLUDE)}"sys\stat.h"\
        {$(INCLUDE)}"sys\types.h"\
  -     
  +
   NODEP_CPP_AP_SL=\
        "..\include\ap_config_auto.h"\
        "..\include\ebcdic.h"\
        "..\include\os.h"\
        "..\include\sfio.h"\
  -     
   
  +
   "$(INTDIR)\ap_slack.obj" : $(SOURCE) $(DEP_CPP_AP_SL) "$(INTDIR)"
   
   
  @@ -384,8 +396,8 @@
        "..\include\util_uri.h"\
        "..\os\win32\os.h"\
        "..\os\win32\readdir.h"\
  -     
   
  +
   "$(INTDIR)\ap_slack.obj" : $(SOURCE) $(DEP_CPP_AP_SL) "$(INTDIR)"
   
   
  @@ -409,13 +421,13 @@
        "..\os\win32\readdir.h"\
        {$(INCLUDE)}"sys\stat.h"\
        {$(INCLUDE)}"sys\types.h"\
  -     
  +
   NODEP_CPP_AP_SN=\
        "..\include\ap_config_auto.h"\
        "..\include\ebcdic.h"\
        "..\include\os.h"\
        "..\include\sfio.h"\
  -     
  +
   
   "$(INTDIR)\ap_snprintf.obj" : $(SOURCE) $(DEP_CPP_AP_SN) "$(INTDIR)"
   
  @@ -434,8 +446,8 @@
        "..\include\util_uri.h"\
        "..\os\win32\os.h"\
        "..\os\win32\readdir.h"\
  -     
   
  +
   "$(INTDIR)\ap_snprintf.obj" : $(SOURCE) $(DEP_CPP_AP_SN) "$(INTDIR)"
   
   
  @@ -454,12 +466,12 @@
        "..\os\win32\os.h"\
        {$(INCLUDE)}"sys\stat.h"\
        {$(INCLUDE)}"sys\types.h"\
  -     
  +
   NODEP_CPP_AP_MD=\
        "..\include\ap_config_auto.h"\
        "..\include\os.h"\
        ".\ebcdic.h"\
  -     
  +
   
   "$(INTDIR)\ap_md5c.obj" : $(SOURCE) $(DEP_CPP_AP_MD) "$(INTDIR)"
   
  @@ -473,13 +485,126 @@
        "..\include\ap_mmn.h"\
        "..\include\hsregex.h"\
        "..\os\win32\os.h"\
  -     
  +
   
   "$(INTDIR)\ap_md5c.obj" : $(SOURCE) $(DEP_CPP_AP_MD) "$(INTDIR)"
   
   
   !ENDIF 
   
  +
  +SOURCE=.\ap_checkpass.c
  +
  +!IF  "$(CFG)" == "ap - Win32 Release"
  +
  +DEP_CPP_AP_CH=\
  +     "..\include\ap_config.h"\
  +     "..\include\ap_ctype.h"\
  +     "..\include\ap_mmn.h"\
  +     "..\include\hsregex.h"\
  +     "..\os\win32\os.h"\
  +     {$(INCLUDE)}"sys\stat.h"\
  +     {$(INCLUDE)}"sys\types.h"\
  +
  +NODEP_CPP_AP_CH=\
  +     "..\include\ap_config_auto.h"\
  +     "..\include\os.h"\
  +     ".\ebcdic.h"\
  +
  +
  +"$(INTDIR)\ap_checkpass.obj" : $(SOURCE) $(DEP_CPP_AP_CH) "$(INTDIR)"
  +
  +
  +!ELSEIF  "$(CFG)" == "ap - Win32 Debug"
  +
  +DEP_CPP_AP_CH=\
  +     "..\include\ap_config.h"\
  +     "..\include\ap_ctype.h"\
  +     "..\include\ap_mmn.h"\
  +     "..\include\hsregex.h"\
  +     "..\os\win32\os.h"\
  +
  +
  +"$(INTDIR)\ap_checkpass.obj" : $(SOURCE) $(DEP_CPP_AP_CH) "$(INTDIR)"
  +
  +
  +!ENDIF 
  +
  +SOURCE=.\ap_sha1.c
  +
  +!IF  "$(CFG)" == "ap - Win32 Release"
  +
  +DEP_CPP_AP_SH=\
  +     "..\include\ap_config.h"\
  +     "..\include\ap_ctype.h"\
  +     "..\include\ap_sha1.h"\
  +     "..\include\ap_mmn.h"\
  +     "..\include\hsregex.h"\
  +     "..\os\win32\os.h"\
  +     {$(INCLUDE)}"sys\stat.h"\
  +     {$(INCLUDE)}"sys\types.h"\
  +
  +NODEP_CPP_AP_SH=\
  +     "..\include\ap_config_auto.h"\
  +     "..\include\os.h"\
  +     ".\ebcdic.h"\
  +
  +
  +"$(INTDIR)\ap_sha1.obj" : $(SOURCE) $(DEP_CPP_AP_SH) "$(INTDIR)"
  +
  +
  +!ELSEIF  "$(CFG)" == "ap - Win32 Debug"
  +
  +DEP_CPP_AP_SH=\
  +     "..\include\ap_config.h"\
  +     "..\include\ap_ctype.h"\
  +     "..\include\ap_sha1.h"\
  +     "..\include\ap_mmn.h"\
  +     "..\include\hsregex.h"\
  +     "..\os\win32\os.h"\
  +
  +
  +"$(INTDIR)\ap_sha1.obj" : $(SOURCE) $(DEP_CPP_AP_SH) "$(INTDIR)"
  +
  +
  +!ENDIF 
  +
  +SOURCE=.\ap_base64.c
  +
  +!IF  "$(CFG)" == "ap - Win32 Release"
  +
  +DEP_CPP_AP_BA=\
  +     "..\include\ap_config.h"\
  +     "..\include\ap_ctype.h"\
  +     "..\include\ap_mmn.h"\
  +     "..\include\hsregex.h"\
  +     "..\os\win32\os.h"\
  +     {$(INCLUDE)}"sys\stat.h"\
  +     {$(INCLUDE)}"sys\types.h"\
  +
  +NODEP_CPP_AP_BA=\
  +     "..\include\ap_config_auto.h"\
  +     "..\include\os.h"\
  +     ".\ebcdic.h"\
  +
  +
  +"$(INTDIR)\ap_base64.obj" : $(SOURCE) $(DEP_CPP_AP_BA) "$(INTDIR)"
  +
  +
  +!ELSEIF  "$(CFG)" == "ap - Win32 Debug"
  +
  +DEP_CPP_AP_BA=\
  +     "..\include\ap_config.h"\
  +     "..\include\ap_ctype.h"\
  +     "..\include\ap_mmn.h"\
  +     "..\include\hsregex.h"\
  +     "..\os\win32\os.h"\
  +
  +
  +"$(INTDIR)\ap_base64.obj" : $(SOURCE) $(DEP_CPP_AP_BA) "$(INTDIR)"
  +
  +
  +!ENDIF 
   
   !ENDIF 
   
  
  
  
  1.4       +14 -57    apache-apr/pthreads/src/ap/ap_md5c.c
  
  Index: ap_md5c.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/ap/ap_md5c.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- ap_md5c.c 1999/06/10 06:25:47     1.3
  +++ ap_md5c.c 1999/08/19 20:52:18     1.4
  @@ -412,18 +412,11 @@
   }
   
   /*
  - * Define the Magic String prefix that identifies a password as being
  - * hashed using our algorithm.
  - */
  -static const char *apr1_id = "$apr1$";
  -
  -/*
    * The following MD5 password encryption code was largely borrowed from
    * the FreeBSD 3.0 /usr/src/lib/libcrypt/crypt.c file, which is
    * licenced as stated at the top of this file.
    */
  -
  -static void to64(char *s, unsigned long v, int n)
  +API_EXPORT(void) ap_to64(char *s, unsigned long v, int n)
   {
       static unsigned char itoa64[] =         /* 0 ... 63 => ASCII - 64 */
        "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  @@ -464,8 +457,8 @@
       /*
        * If it starts with the magic string, then skip that.
        */
  -    if (!strncmp((char *)sp, apr1_id, strlen(apr1_id))) {
  -     sp += strlen(apr1_id);
  +    if (strncmp((char *)sp, AP_MD5PW_ID, AP_MD5PW_IDLEN) == 0) {
  +     sp += AP_MD5PW_IDLEN;
       }
   
       /*
  @@ -494,7 +487,7 @@
       /*
        * Then our magic string
        */
  -    ap_MD5Update(&ctx, (const unsigned char *)apr1_id, strlen(apr1_id));
  +    ap_MD5Update(&ctx, (const unsigned char *) AP_MD5PW_ID, AP_MD5PW_IDLEN);
   
       /*
        * Then the raw salt
  @@ -534,9 +527,10 @@
        * Now make the output string.  We know our limitations, so we
        * can use the string routines without bounds checking.
        */
  -    strcpy(passwd, apr1_id);
  -    strncat(passwd, (char *)sp, sl);
  -    strcat(passwd, "$");
  +    ap_cpystrn(passwd, AP_MD5PW_ID, AP_MD5PW_IDLEN + 1);
  +    ap_cpystrn(passwd + AP_MD5PW_IDLEN, (char *)sp, sl + 1);
  +    passwd[AP_MD5PW_IDLEN + sl]     = '$';
  +    passwd[AP_MD5PW_IDLEN + sl + 1] = '\0';
   
       ap_MD5Final(final, &ctx);
   
  @@ -572,12 +566,12 @@
   
       p = passwd + strlen(passwd);
   
  -    l = (final[ 0]<<16) | (final[ 6]<<8) | final[12]; to64(p, l, 4); p += 4;
  -    l = (final[ 1]<<16) | (final[ 7]<<8) | final[13]; to64(p, l, 4); p += 4;
  -    l = (final[ 2]<<16) | (final[ 8]<<8) | final[14]; to64(p, l, 4); p += 4;
  -    l = (final[ 3]<<16) | (final[ 9]<<8) | final[15]; to64(p, l, 4); p += 4;
  -    l = (final[ 4]<<16) | (final[10]<<8) | final[ 5]; to64(p, l, 4); p += 4;
  -    l =                    final[11]                ; to64(p, l, 2); p += 2;
  +    l = (final[ 0]<<16) | (final[ 6]<<8) | final[12]; ap_to64(p, l, 4); p += 
4;
  +    l = (final[ 1]<<16) | (final[ 7]<<8) | final[13]; ap_to64(p, l, 4); p += 
4;
  +    l = (final[ 2]<<16) | (final[ 8]<<8) | final[14]; ap_to64(p, l, 4); p += 
4;
  +    l = (final[ 3]<<16) | (final[ 9]<<8) | final[15]; ap_to64(p, l, 4); p += 
4;
  +    l = (final[ 4]<<16) | (final[10]<<8) | final[ 5]; ap_to64(p, l, 4); p += 
4;
  +    l =                    final[11]                ; ap_to64(p, l, 2); p += 
2;
       *p = '\0';
   
       /*
  @@ -588,40 +582,3 @@
       ap_cpystrn(result, passwd, nbytes - 1);
   }
   
  -/*
  - * Validate a plaintext password against a smashed one.  Use either
  - * crypt() (if available) or ap_MD5Encode(), depending upon the format
  - * of the smashed input password.  Return NULL if they match, or
  - * an explanatory text string if they don't.
  - */
  -
  -API_EXPORT(char *) ap_validate_password(const char *passwd, const char *hash)
  -{
  -    char sample[120];
  -    char *crypt_pw;
  -
  -    if (!strncmp(hash, apr1_id, strlen(apr1_id))) {
  -     /*
  -      * The hash was created using our custom algorithm.
  -      */
  -     ap_MD5Encode((const unsigned char *)passwd,
  -                  (const unsigned char *)hash, sample, sizeof(sample));
  -    }
  -    else {
  -     /*
  -      * It's not our algorithm, so feed it to crypt() if possible.
  -      */
  -#if defined(WIN32) || defined(TPF)
  -     /*
  -      * On Windows, the only alternative to our MD5 algorithm is plain
  -      * text.
  -      */
  -     ap_cpystrn(sample, passwd, sizeof(sample) - 1);
  -#else
  -     crypt_pw = crypt(passwd, hash);
  -     ap_cpystrn(sample, crypt_pw, sizeof(sample) - 1);
  -#endif
  -    }
  -
  -    return (strcmp(sample, hash) == 0) ? NULL : "password mismatch";
  -}
  
  
  
  1.4       +5 -0      apache-apr/pthreads/src/ap/ap_snprintf.c
  
  Index: ap_snprintf.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/ap/ap_snprintf.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- ap_snprintf.c     1999/06/10 06:25:48     1.3
  +++ ap_snprintf.c     1999/08/19 20:52:18     1.4
  @@ -89,7 +89,12 @@
   typedef WIDE_INT wide_int;
   typedef unsigned WIDE_INT u_wide_int;
   typedef WIDEST_INT widest_int;
  +#ifdef __TANDEM
  +/* Although Tandem supports "long long" there is no unsigned variant. */
  +typedef unsigned long       u_widest_int;
  +#else
   typedef unsigned WIDEST_INT u_widest_int;
  +#endif
   typedef int bool_int;
   
   #define S_NULL                       "(null)"
  
  
  
  1.5       +14 -3     apache-apr/pthreads/src/helpers/GuessOS
  
  Index: GuessOS
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/helpers/GuessOS,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- GuessOS   1999/06/10 06:25:49     1.4
  +++ GuessOS   1999/08/19 20:52:21     1.5
  @@ -150,6 +150,10 @@
        echo "${MACHINE}-dec-osf"; exit 0
        ;;
   
  +     NONSTOP_KERNEL:*:*:*)
  +     echo "${MACHINE}-tandem-oss"; exit 0; 
  +     ;;
  +
       QNX:*)
        if [ "$VERSION" -gt 422 ]; then
            echo "${MACHINE}-qssl-qnx32"
  @@ -194,10 +198,17 @@
        echo "${MACHINE}-whatever-unixware212"; exit 0
        ;;
   
  -    DYNIX/ptx:4*:*)
  -     echo "${MACHINE}-whatever-sysv4"; exit 0
  +    DYNIX/ptx:4*:*:i386)
  +     PTXVER=`echo ${VERSION}|sed -e 's/[^.]//'`
  +     echo "${MACHINE}-sequent-ptx${PTXVER}"; exit 0
        ;;
   
  +    *:3.2.0:*:i386)
  +     # uname on DYNIX/ptx below V4.0.0 is brain dead
  +     PTXVER=`echo ${VERSION}|sed -e 's/[^.]//'`
  +     echo "${MACHINE}-sequent-ptx${PTXVER}"; exit 0
  +     ;;
  +
       *:4.0:3.0:[345][0-9]?? | *:4.0:3.0:3[34]??[/,]* | library:*)
        echo "x86-ncr-sysv4"; exit 0
        ;;
  @@ -243,7 +254,7 @@
   
       Rhapsody:*:*:*)
        case "${MACHINE}" in
  -         "Power Macintosh") MACHINE=powerpc ;;
  +         Power*) MACHINE=powerpc ;;
        esac
        echo "${MACHINE}-apple-rhapsody${RELEASE}"; exit 0
        ;;
  
  
  
  1.5       +11 -6     apache-apr/pthreads/src/helpers/TestCompile
  
  Index: TestCompile
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/helpers/TestCompile,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- TestCompile       1999/06/10 06:25:49     1.4
  +++ TestCompile       1999/08/19 20:52:22     1.5
  @@ -49,10 +49,15 @@
   cd ./helpers
   
   #
  -# Handle "verbose", "silent" and "runit" flags
  +# Handle "verbose", "silent" and "runit" flags. Allow for them
  +# to be set via the environment
   #
  -VERBOSE=no
  -RUNIT="no"
  +if [ "x$VERBOSE" = "x" ]; then
  +    VERBOSE="no"
  +fi
  +if [ "x$TCRUNIT" = "x" ]; then
  +    TCRUNIT="no";
  +fi
   case "$1" in
       "-v")
           VERBOSE="yes"
  @@ -63,7 +68,7 @@
        shift
        ;;
       "-r")
  -        RUNIT="yes"
  +        TCRUNIT="yes"
        shift
        ;;
   esac
  @@ -77,7 +82,7 @@
        if [ "x$2" = "x" ]; then
            exit
        fi
  -     TLIB="-l$2"
  +     TLIB="-l$2 $TLIB"
        if [ "x$VERBOSE" = "xyes" ]; then
            ERRDIR=""
        else
  @@ -211,7 +216,7 @@
   # have PrintPath just search this directory.
   
   if ./PrintPath -s -p`pwd` $TARGET ; then
  -    if [ "x$RUNIT" = "xyes" ]; then
  +    if [ "x$TCRUNIT" = "xyes" ]; then
        `pwd`/$TARGET
       fi
       exstat=0
  
  
  
  1.4       +6 -5      apache-apr/pthreads/src/helpers/binbuild.sh
  
  Index: binbuild.sh
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/helpers/binbuild.sh,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- binbuild.sh       1999/06/10 06:25:49     1.3
  +++ binbuild.sh       1999/08/19 20:52:22     1.4
  @@ -222,8 +222,8 @@
     echo "     -e \"s;[EMAIL PROTECTED]@;\$SR/libexec;\" -e \"s;[EMAIL 
PROTECTED]@;\$SR/include;\" \\" && \
     echo "     -e \"s;[EMAIL PROTECTED]@;\$SR/conf;\" bindist/bin/apxs > 
\$SR/bin/apxs" && \
     echo "sed -e \"s;^#!/.*;#!\$PERL;\" bindist/bin/dbmmanage > 
\$SR/bin/dbmmanage" && \
  -  echo "sed -e \"s%/usr/local/apache%\$SR/%\" \$SR/conf/httpd.conf.default > 
\$SR/conf/httpd.conf" && \
  -  echo "sed -e \"s%PIDFILE=%PIDFILE=\$SR/%\" -e 
\"s%HTTPD=%HTTPD=\\\"\$SR/%\" -e \"s%httpd\$%httpd -d \$SR\\\"%\" 
bindist/bin/apachectl > \$SR/bin/apachectl" && \
  +  echo "sed -e \"s%/usr/local/apache%\$SR%\" \$SR/conf/httpd.conf.default > 
\$SR/conf/httpd.conf" && \
  +  echo "sed -e \"s%PIDFILE=%PIDFILE=\$SR/%\" -e 
\"s%HTTPD=%HTTPD=\\\"\$SR/%\" -e \"s%httpd\$%httpd -d \$SR -R 
\$SR/libexec\\\"%\" bindist/bin/apachectl > \$SR/bin/apachectl" && \
     echo " " && \
     echo "echo \"Ready.\"" && \
     echo "echo \" 
+--------------------------------------------------------+\"" && \
  @@ -246,9 +246,10 @@
   ) > install-bindist.sh
   chmod 755 install-bindist.sh
   
  -sed -e "s%\"/htdocs%\"/usr/local/apache/htdocs%" \
  -    -e "s%\"/icons%\"/usr/local/apache/icons%" \
  -    -e "s%\"/cgi-bin%\"/usr/local/apache/cgi-bin%" \
  +sed -e "s%\"htdocs%\"/usr/local/apache/htdocs%" \
  +    -e "s%\"icons%\"/usr/local/apache/icons%" \
  +    -e "s%\"cgi-bin%\"/usr/local/apache/cgi-bin%" \
  +    -e "s%\"proxy%\"/usr/local/apache/proxy%" \
       -e "s%^ServerAdmin.*%ServerAdmin [EMAIL PROTECTED]" \
       -e "s%#ServerName.*%#ServerName localhost%" \
       -e "s%Port 8080%Port 80%" \
  
  
  
  1.5       +6 -6      apache-apr/pthreads/src/helpers/buildinfo.sh
  
  Index: buildinfo.sh
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/helpers/buildinfo.sh,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- buildinfo.sh      1999/06/10 06:25:49     1.4
  +++ buildinfo.sh      1999/08/19 20:52:22     1.5
  @@ -58,10 +58,10 @@
   if [ "x$username" = "x" ]; then
       username="$USER"
       if [ "x$username" = "x" ]; then
  -        username="`whoami 2>/dev/null |\
  +        username="`(whoami) 2>/dev/null |\
                      awk '{ printf("%s", $1); }'`"
           if [ "x$username" = "x" ]; then
  -            username="`who am i 2>/dev/null |\
  +            username="`(who am i) 2>/dev/null |\
                          awk '{ printf("%s", $1); }'`"
               if [ "x$username" = "x" ]; then
                   username='unknown'
  @@ -73,10 +73,10 @@
   #
   #   determine hostname and domainname
   #
  -hostname="`uname -n 2>/dev/null |\
  +hostname="`(uname -n) 2>/dev/null |\
              awk '{ printf("%s", $1); }'`"
   if [ "x$hostname" = "x" ]; then
  -    hostname="`hostname 2>/dev/null |\
  +    hostname="`(hostname) 2>/dev/null |\
                  awk '{ printf("%s", $1); }'`"
       if [ "x$hostname" = "x" ]; then
           hostname='unknown'
  @@ -115,8 +115,8 @@
   if [ "x$time_year" = "x" ]; then
       time_year="`date '+%y' | awk '{ printf("%s", $1); }'`"
       case $time_year in
  -        9[0-9]*) time_year="19$time_year" ;;
  -              *) time_year="20$time_year" ;;
  +        [5-9][0-9]) time_year="19$time_year" ;;
  +        [0-4][0-9]) time_year="20$time_year" ;;
       esac
   fi
   case $time_month in
  
  
  
  1.3       +11 -0     apache-apr/pthreads/src/helpers/find-dbm-lib
  
  Index: find-dbm-lib
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/helpers/find-dbm-lib,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- find-dbm-lib      1999/03/17 17:00:59     1.2
  +++ find-dbm-lib      1999/08/19 20:52:22     1.3
  @@ -33,6 +33,17 @@
                        found_dbm=0
                        LIBS="$oldLIBS"
                    fi
  +             else
  +                 for dblib in dbm ndbm db
  +                 do
  +                     DBM_LIB=""
  +                     if ./helpers/TestCompile lib $dblib dbm_open; then
  +                         DBM_LIB="-l${dblib}"
  +                         LIBS="$LIBS $DBM_LIB"
  +                         found_dbm=1
  +                         break
  +                     fi
  +                 done
                fi
                ;;
        esac
  
  
  
  1.4       +3 -3      apache-apr/pthreads/src/helpers/mkshadow.sh
  
  Index: mkshadow.sh
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/helpers/mkshadow.sh,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- mkshadow.sh       1999/06/10 06:25:50     1.3
  +++ mkshadow.sh       1999/08/19 20:52:23     1.4
  @@ -52,7 +52,7 @@
   if [ ! -d $dst ]; then
       mkdir $dst
   fi
  -DIRS="`cd $src
  +DIRS="`cd $src; \
          find . -type d -print |\
          sed -e '/\/CVS/d' \
              -e '/^\.$/d' \
  @@ -64,7 +64,7 @@
   IFS="$OIFS"
   
   #   fill directory tree with symlinks to files
  -FILES="`cd $src
  +FILES="`cd $src; \
           find . -depth -print |\
           sed -e '/\.o$/d' \
               -e '/\.a$/d' \
  @@ -81,7 +81,7 @@
   OIFS="$IFS" IFS="$DIFS"
   for file in $FILES; do
        #  don't use `-type f' above for find because of symlinks
  -     if [ -d $file ]; then
  +     if [ -d "$src/$file" ]; then
            continue
        fi
        basename=`echo $file | sed -e 's:^.*/::'`
  
  
  
  1.4       +25 -0     apache-apr/pthreads/src/include/ap.h
  
  Index: ap.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/include/ap.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- ap.h      1999/06/10 06:25:54     1.3
  +++ ap.h      1999/08/19 20:52:27     1.4
  @@ -161,6 +161,31 @@
                            __attribute__((format(printf,3,4)));
   API_EXPORT(int) ap_vsnprintf(char *buf, size_t len, const char *format,
                             va_list ap);
  +/* Simple BASE64 encode/decode functions.
  + * 
  + * As we might encode binary strings, hence we require the length of
  + * the incoming plain source. And return the length of what we decoded.
  + *
  + * The decoding function takes any non valid char (i.e. whitespace, \0
  + * or anything non A-Z,0-9 etc as terminal.
  + * 
  + * plain strings/binary sequences are not assumed '\0' terminated. Encoded
  + * strings are neither. But propably should.
  + *
  + */
  +API_EXPORT(int) ap_base64encode_len(int len);
  +API_EXPORT(int) ap_base64encode(char * coded_dst, const char *plain_src,int 
len_plain_src);
  +API_EXPORT(int) ap_base64encode_binary(char * coded_dst, const unsigned char 
*plain_src,int len_plain_src);
  +
  +API_EXPORT(int) ap_base64decode_len(const char * coded_src);
  +API_EXPORT(int) ap_base64decode(char * plain_dst, const char *coded_src);
  +API_EXPORT(int) ap_base64decode_binary(unsigned char * plain_dst, const char 
*coded_src);
  +
  +/* Password validation, as used in AuthType Basic which is able to cope
  + * (based on the prexix) with the SHA1, Apache's internal MD5 and (depending
  + * on your platform either plain or crypt(3) passwords.
  + */
  +API_EXPORT(char *) ap_validate_password(const char *passwd, const char 
*hash);
   
   #ifdef __cplusplus
   }
  
  
  
  1.8       +41 -10    apache-apr/pthreads/src/include/ap_config.h
  
  Index: ap_config.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/include/ap_config.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -d -u -r1.7 -r1.8
  --- ap_config.h       1999/08/12 07:23:20     1.7
  +++ ap_config.h       1999/08/19 20:52:27     1.8
  @@ -327,11 +327,34 @@
   typedef int rlim_t;
   
   #elif defined(SEQUENT)
  -#define HAVE_GMTOFF 1
  -#undef NO_KILLPG
  -#define NO_SETSID
  -#define NEED_STRDUP
  +#define DEFAULT_USER "nobody"
  +#define DEFAULT_GROUP "nobody"
  +#define NO_SHMGET 1
  +#define HAVE_MMAP 1
   #define HAVE_SYSLOG 1
  +#define USE_MMAP_FILES 1
  +#define USE_MMAP_SCOREBOARD 1
  +#define USE_FCNTL_SERIALIZED_ACCEPT 1
  +#define JMP_BUF sigjmp_buf
  +#undef NO_SETSID
  +#if SEQUENT < 40
  +typedef int rlim_t;
  +#define NO_GETTIMEOFDAY
  +#undef HAVE_SYS_RESOURCE_H /* exists but does not provide *rlimit funcs */
  +#include <sys/times.h>
  +#endif
  +#if SEQUENT < 42
  +#define NEED_STRCASECMP
  +#define NEED_STRNCASECMP
  +#endif
  +#if SEQUENT < 44
  +#define NO_KILLPG 1
  +#define NET_SIZE_T int
  +#endif
  +#if SEQUENT >= 44
  +#undef NO_KILLPG
  +#define NET_SIZE_T size_t
  +#endif
   
   #elif defined(NEXT)
   typedef unsigned short mode_t;
  @@ -399,6 +422,7 @@
   #endif
   
   #elif defined(MAC_OS) || defined(MAC_OS_X_SERVER) /* Mac OS (>= 10.0) and 
Mac OS X Server (<= 5.x) */
  +#undef PLATFORM
   #ifdef MAC_OS_X_SERVER
   #define PLATFORM "Mac OS X Server"
   #else
  @@ -614,12 +638,10 @@
   #define HAVE_SHMGET 1
   #define USE_SHMGET_SCOREBOARD
   #ifdef _OSD_POSIX /* BS2000-POSIX mainframe needs initgroups */
  -#define NEED_INITGROUPS
   #define NEED_HASHBANG_EMUL /* execve() doesn't start shell scripts by 
default */
  -#undef HAVE_SHMGET
  +#define _KMEMUSER          /* Enable SHM_R/SHM_W defines in <shm.h> */
   #undef NEED_STRCASECMP
   #undef NEED_STRNCASECMP
  -#undef USE_SHMGET_SCOREBOARD
   #undef bzero
   #endif /*_OSD_POSIX*/
   
  @@ -932,6 +954,12 @@
   #undef  offsetof
   #define offsetof(s_type,field) ((size_t)&(((s_type*)0)->field))
   
  +#elif defined(__TANDEM)
  +#define NO_WRITEV
  +#define NO_KILLPG
  +#define NEED_INITGROUPS
  +#define NO_SLACK
  +
   #else
   /* Unknown system - Edit these to match */
   #ifdef BSD
  @@ -985,7 +1013,7 @@
    * __private_extern__.
    * For other systems, make that a no-op.
    */
  -#if defined(MAC_OS) || defined(MAC_OS_X_SERVER)
  +#if (defined(MAC_OS) || defined(MAC_OS_X_SERVER)) && defined(__DYNAMIC__)
   #define ap_private_extern __private_extern__
   #else
   #define ap_private_extern
  @@ -1015,8 +1043,11 @@
   #include <stdio.h>
   #include <stdlib.h>
   #include <string.h>
  +#ifdef __TANDEM
  +#include <strings.h>
  +#endif
   #include "ap_ctype.h"
  -#if !defined(MPE) && !defined(WIN32) && !defined(TPF)
  +#if !defined(MPE) && !defined(WIN32) && !defined(TPF) && !defined(__TANDEM)
   #include <sys/file.h>
   #endif
   #ifndef WIN32
  @@ -1042,7 +1073,7 @@
   #endif
   
   #else /* WIN32 */
  -#include <winsock.h>
  +#include <winsock2.h>
   #include <malloc.h>
   #include <io.h>
   #include <fcntl.h>
  
  
  
  1.4       +8 -1      apache-apr/pthreads/src/include/ap_md5.h
  
  Index: ap_md5.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/include/ap_md5.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- ap_md5.h  1999/06/10 06:25:55     1.3
  +++ ap_md5.h  1999/08/19 20:52:27     1.4
  @@ -104,6 +104,13 @@
       unsigned char buffer[64];        /* input buffer */
   } AP_MD5_CTX;
   
  +/*
  + * Define the Magic String prefix that identifies a password as being
  + * hashed using our algorithm.
  + */
  +#define AP_MD5PW_ID "$apr1$"
  +#define AP_MD5PW_IDLEN 6
  +
   API_EXPORT(void) ap_MD5Init(AP_MD5_CTX *context);
   API_EXPORT(void) ap_MD5Update(AP_MD5_CTX *context, const unsigned char 
*input,
                              unsigned int inputLen);
  @@ -111,7 +118,7 @@
   API_EXPORT(void) ap_MD5Encode(const unsigned char *password,
                              const unsigned char *salt,
                              char *result, size_t nbytes);
  -API_EXPORT(char *) ap_validate_password(const char *passwd, const char 
*hash);
  +API_EXPORT(void) ap_to64(char *s, unsigned long v, int n);
   
   #ifdef __cplusplus
   }
  
  
  
  1.5       +10 -3     apache-apr/pthreads/src/include/ap_mmn.h
  
  Index: ap_mmn.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/include/ap_mmn.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- ap_mmn.h  1999/06/10 06:25:55     1.4
  +++ ap_mmn.h  1999/08/19 20:52:27     1.5
  @@ -217,8 +217,15 @@
    * 19990320.1           - add ap_vrprintf()
    * 19990320.2           - add cmd_parms.context, ap_set_config_vectors, 
    *                        export ap_add_file_conf
  - * 19990320.3           - add ap_regexec()
  - * 19990604.4           - add ap_field_noparam()
  + * 19990320.3           - add ap_regexec() and ap_regerror()
  + * 19990320.4           - add ap_field_noparam()
  + * 19990320.5           - add local_ip/host to conn_rec for mass-vhost
  + * 19990320.6           - add ap_SHA1Final(), ap_SHA1Init(),
  + *                        ap_SHA1Update_binary(), ap_SHA1Update(),
  + *                        ap_base64encode(), ap_base64encode_binary(),
  + *                        ap_base64encode_len(), ap_base64decode(),
  + *                        ap_base64decode_binary(), ap_base64decode_len(),
  + *                        ap_pbase64decode(), ap_pbase64encode()
    */
   
   #define MODULE_MAGIC_COOKIE 0x41503133UL /* "AP13" */
  @@ -226,7 +233,7 @@
   #ifndef MODULE_MAGIC_NUMBER_MAJOR
   #define MODULE_MAGIC_NUMBER_MAJOR 19990320
   #endif
  -#define MODULE_MAGIC_NUMBER_MINOR 4                     /* 0...n */
  +#define MODULE_MAGIC_NUMBER_MINOR 6                     /* 0...n */
   #define MODULE_MAGIC_NUMBER MODULE_MAGIC_NUMBER_MAJOR        /* backward 
compat */
   
   /* Useful for testing for features. */
  
  
  
  1.10      +2 -0      apache-apr/pthreads/src/include/http_conf_globals.h
  
  Index: http_conf_globals.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/include/http_conf_globals.h,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -d -u -r1.9 -r1.10
  --- http_conf_globals.h       1999/06/09 03:14:57     1.9
  +++ http_conf_globals.h       1999/08/19 20:52:28     1.10
  @@ -67,6 +67,8 @@
    */
   
   extern int ap_standalone;
  +extern int ap_configtestonly;
  +extern int ap_docrootcheck;
   extern uid_t ap_user_id;
   extern char *ap_user_name;
   extern gid_t ap_group_id;
  
  
  
  1.4       +10 -5     apache-apr/pthreads/src/include/http_core.h
  
  Index: http_core.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/include/http_core.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- http_core.h       1999/06/10 06:25:56     1.3
  +++ http_core.h       1999/08/19 20:52:28     1.4
  @@ -128,8 +128,8 @@
   /* Used for constructing self-referencing URLs, and things like SERVER_PORT,
    * and SERVER_NAME.
    */
  -API_EXPORT(char *) ap_construct_url(pool *p, const char *uri, const 
request_rec *r);
  -API_EXPORT(const char *) ap_get_server_name(const request_rec *r);
  +API_EXPORT(char *) ap_construct_url(pool *p, const char *uri, request_rec 
*r);
  +API_EXPORT(const char *) ap_get_server_name(request_rec *r);
   API_EXPORT(unsigned) ap_get_server_port(const request_rec *r);
   API_EXPORT(unsigned long) ap_get_limit_req_body(const request_rec *r);
   API_EXPORT(void) ap_custom_response(request_rec *r, int status, char 
*string);
  @@ -156,10 +156,11 @@
   /* 
    * CGI Script stuff for Win32...
    */
  -typedef enum { FileTypeUNKNOWN, FileTypeBIN, FileTypeEXE, FileTypeSCRIPT } 
file_type_e;
  +typedef enum { eFileTypeUNKNOWN, eFileTypeBIN, eFileTypeEXE16, 
eFileTypeEXE32, 
  +               eFileTypeSCRIPT } file_type_e;
   typedef enum { INTERPRETER_SOURCE_UNSET, INTERPRETER_SOURCE_REGISTRY, 
                  INTERPRETER_SOURCE_SHEBANG } interpreter_source_e;
  -API_EXPORT(file_type_e) ap_get_win32_interpreter(const request_rec *, char*, 
char **);
  +API_EXPORT(file_type_e) ap_get_win32_interpreter(const request_rec *, char 
**);
   #endif
   
   #ifdef CORE_PRIVATE
  @@ -230,7 +231,11 @@
   
       signed int content_md5 : 2;  /* calculate Content-MD5? */
   
  -    unsigned use_canonical_name : 2; /* bit 0 = on/off, bit 1 = unset/set */
  +#define USE_CANONICAL_NAME_OFF   (0)
  +#define USE_CANONICAL_NAME_ON    (1)
  +#define USE_CANONICAL_NAME_DNS   (2)
  +#define USE_CANONICAL_NAME_UNSET (3)
  +    unsigned use_canonical_name : 2;
   
       /* since is_fnmatch(conf->d) was being called so frequently in
        * directory_walk() and its relatives, this field was created and
  
  
  
  1.20      +13 -3     apache-apr/pthreads/src/include/httpd.h
  
  Index: httpd.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/include/httpd.h,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -d -u -r1.19 -r1.20
  --- httpd.h   1999/07/29 20:11:41     1.19
  +++ httpd.h   1999/08/19 20:52:29     1.20
  @@ -86,6 +86,8 @@
   #elif defined(WIN32)
   /* Set default for Windows file system */
   #define HTTPD_ROOT "/apache"
  +#elif defined(BEOS)
  +#define HTTPD_ROOT "/boot/home/apache"
   #else
   #define HTTPD_ROOT "/usr/local/apache"
   #endif
  @@ -307,7 +309,7 @@
    * the overhead.
    */
   #ifdef NO_THREADS
  -#define HARD_SERVER_LIMIT 256
  +#define HARD_SERVER_LIMIT 1024
   #endif
   #ifndef HARD_SERVER_LIMIT
   #define HARD_SERVER_LIMIT 8 
  @@ -451,7 +453,7 @@
    * Always increases along the same track as the source branch.
    * For example, Apache 1.4.2 would be '10402100', 2.5b7 would be '20500007'.
    */
  -#define APACHE_RELEASE 10307000
  +#define APACHE_RELEASE 10309100
   
   #define SERVER_PROTOCOL "HTTP/1.1"
   #ifndef SERVER_SUPPORT
  @@ -862,6 +864,10 @@
       signed int double_reverse:2;/* have we done double-reverse DNS?
                                 * -1 yes/failure, 0 not yet, 1 yes/success */
       int keepalives;          /* How many times have we used it? */
  +    char *local_ip;          /* server IP address */
  +    char *local_host;                /* used for ap_get_server_name when
  +                              * UseCanonicalName is set to DNS
  +                              * (ignores setting of HostnameLookups) */
   };
   
   /* Per-vhost config... */
  @@ -1003,10 +1009,14 @@
   API_EXPORT(int) ap_is_matchexp(const char *str);
   API_EXPORT(int) ap_strcmp_match(const char *str, const char *exp);
   API_EXPORT(int) ap_strcasecmp_match(const char *str, const char *exp);
  -API_EXPORT(char *) ap_uudecode(pool *, const char *);
  +API_EXPORT(char *) ap_pbase64decode(pool *p, const char *bufcoded);
  +API_EXPORT(char *) ap_pbase64encode(pool *p, char *string); 
  +API_EXPORT(char *) ap_uudecode(pool *p, const char *bufcoded);
   API_EXPORT(char *) ap_uuencode(pool *p, char *string); 
  +
   #ifdef OS2
   void os2pathname(char *path);
  +char *ap_double_quotes(pool *p, char *str);
   #endif
   
   API_EXPORT(int)    ap_regexec(const regex_t *preg, const char *string,
  
  
  
  1.14      +2 -0      apache-apr/pthreads/src/main/acceptlock.c
  
  Index: acceptlock.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/acceptlock.c,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -d -u -r1.13 -r1.14
  --- acceptlock.c      1999/07/19 03:51:55     1.13
  +++ acceptlock.c      1999/08/19 20:52:33     1.14
  @@ -660,6 +660,8 @@
                         "Child cannot open lock semaphore, rc=%d", rc);
            clean_child_exit(APEXIT_CHILDINIT);
        }
  +    } else {
  +        ap_register_cleanup(p, NULL, accept_mutex_cleanup, ap_null_cleanup);
       }
   }
   /*
  
  
  
  1.14      +1 -0      apache-apr/pthreads/src/main/buff.c
  
  Index: buff.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/buff.c,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -d -u -r1.13 -r1.14
  --- buff.c    1999/06/10 03:38:32     1.13
  +++ buff.c    1999/08/19 20:52:33     1.14
  @@ -566,6 +566,7 @@
       return rv;
   }
   
  +
   /*
    * Read up to nbyte bytes into buf.
    * If fewer than byte bytes are currently available, then return those.
  
  
  
  1.15      +1 -0      apache-apr/pthreads/src/main/http_config.c
  
  Index: http_config.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/http_config.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -d -u -r1.14 -r1.15
  --- http_config.c     1999/07/19 00:59:33     1.14
  +++ http_config.c     1999/08/19 20:52:34     1.15
  @@ -625,6 +625,7 @@
       m->module_index = -1;    /* simulate being unloaded, should
                                 * be unnecessary */
       dynamic_modules--;
  +    total_modules--;
   }
   
   API_EXPORT(void) ap_add_loaded_module(module *mod)
  
  
  
  1.15      +114 -72   apache-apr/pthreads/src/main/http_core.c
  
  Index: http_core.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/http_core.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -d -u -r1.14 -r1.15
  --- http_core.c       1999/06/10 06:26:08     1.14
  +++ http_core.c       1999/08/19 20:52:34     1.15
  @@ -130,7 +130,7 @@
   
       conf->content_md5 = 2;
   
  -    conf->use_canonical_name = 1 | 2;        /* 2 = unset, default on */
  +    conf->use_canonical_name = USE_CANONICAL_NAME_UNSET;
   
       conf->hostname_lookups = HOSTNAME_LOOKUP_UNSET;
       conf->do_rfc1413 = DEFAULT_RFC1413 | 2; /* set bit 1 to indicate default 
*/
  @@ -242,7 +242,7 @@
       if ((new->content_md5 & 2) == 0) {
           conf->content_md5 = new->content_md5;
       }
  -    if ((new->use_canonical_name & 2) == 0) {
  +    if (new->use_canonical_name != USE_CANONICAL_NAME_UNSET) {
        conf->use_canonical_name = new->use_canonical_name;
       }
   
  @@ -675,17 +675,51 @@
    * name" as supplied by a possible Host: header or full URI.  We never
    * trust the port passed in the client's headers, we always use the
    * port of the actual socket.
  + *
  + * The DNS option to UseCanonicalName causes this routine to do a
  + * reverse lookup on the local IP address of the connectiona and use
  + * that for the ServerName. This makes its value more reliable while
  + * at the same time allowing Demon's magic virtual hosting to work.
  + * The assumption is that DNS lookups are sufficiently quick...
  + * -- fanf 1998-10-03
    */
  -API_EXPORT(const char *) ap_get_server_name(const request_rec *r)
  +API_EXPORT(const char *) ap_get_server_name(request_rec *r)
   {
  +    conn_rec *conn = r->connection;
       core_dir_config *d;
   
       d = (core_dir_config *)ap_get_module_config(r->per_dir_config,
                                                &core_module);
  -    if (d->use_canonical_name & 1) {
  -     return r->server->server_hostname;
  +
  +    if (d->use_canonical_name == USE_CANONICAL_NAME_OFF) {
  +        return r->hostname ? r->hostname : r->server->server_hostname;
       }
  -    return r->hostname ? r->hostname : r->server->server_hostname;
  +    if (d->use_canonical_name == USE_CANONICAL_NAME_DNS) {
  +        if (conn->local_host == NULL) {
  +         struct in_addr *iaddr;
  +         struct hostent *hptr;
  +            int old_stat;
  +         old_stat = ap_update_child_status(conn->child_num, conn->thread_num,
  +                                           SERVER_BUSY_DNS, r);
  +         iaddr = &(conn->local_addr.sin_addr);
  +         hptr = gethostbyaddr((char *)iaddr, sizeof(struct in_addr),
  +                              AF_INET);
  +         if (hptr != NULL) {
  +             conn->local_host = ap_pstrdup(conn->pool,
  +                                           (void *)hptr->h_name);
  +             ap_str_tolower(conn->local_host);
  +         }
  +         else {
  +             conn->local_host = ap_pstrdup(conn->pool,
  +                                           r->server->server_hostname);
  +         }
  +         (void) ap_update_child_status(conn->child_num, conn->thread_num,
  +                                          old_stat, r);
  +     }
  +     return conn->local_host;
  +    }
  +    /* default */
  +    return r->server->server_hostname;
   }
   
   API_EXPORT(unsigned) ap_get_server_port(const request_rec *r)
  @@ -696,40 +730,21 @@
       
       port = r->server->port ? r->server->port : ap_default_port(r);
   
  -    if (d->use_canonical_name & 1) {
  -     return port;
  +    if (d->use_canonical_name == USE_CANONICAL_NAME_OFF
  +     || d->use_canonical_name == USE_CANONICAL_NAME_DNS) {
  +        return r->hostname ? ntohs(r->connection->local_addr.sin_port)
  +                        : port;
       }
  -    /* ZZZ change to AP function, and make sure AP func can deal with IPv6. 
*/
  -    return r->hostname ? ntohs(r->connection->local_addr.sin_port)
  -                    : port;
  +    /* default */
  +    return port;
   }
   
   API_EXPORT(char *) ap_construct_url(pool *p, const char *uri,
  -                                 const request_rec *r)
  +                                 request_rec *r)
   {
  -    unsigned port;
  -    const char *host;
  -    core_dir_config *d =
  -      (core_dir_config *)ap_get_module_config(r->per_dir_config, 
&core_module);
  -
  -    if (d->use_canonical_name & 1) {
  -     port = r->server->port ? r->server->port : ap_default_port(r);
  -     host = r->server->server_hostname;
  -    }
  -    else {
  -        if (r->hostname) {
  -       /* ZZZ change to AP function. IPv6 */
  -            port = ntohs(r->connection->local_addr.sin_port);
  -     }
  -        else if (r->server->port) {
  -            port = r->server->port;
  -     }
  -        else {
  -            port = ap_default_port(r);
  -     }
  +    unsigned port = ap_get_server_port(r);
  +    const char *host = ap_get_server_name(r);
   
  -     host = r->hostname ? r->hostname : r->server->server_hostname;
  -    }
       if (ap_is_default_port(port, r)) {
        return ap_pstrcat(p, ap_http_method(r), "://", host, uri, NULL);
       }
  @@ -837,7 +852,6 @@
   }
   
   API_EXPORT (file_type_e) ap_get_win32_interpreter(const  request_rec *r, 
  -                                                  char*  ext, 
                                                     char** interpreter )
   {
       HANDLE hFile;
  @@ -845,50 +859,68 @@
       BOOLEAN bResult;
       char buffer[1024];
       core_dir_config *d;
  -    file_type_e fileType = FileTypeUNKNOWN;
       int i;
  +    file_type_e fileType = eFileTypeUNKNOWN;
  +    char *ext = NULL;
  +    char *exename = NULL;
   
       d = (core_dir_config *)ap_get_module_config(r->per_dir_config, 
                                                   &core_module);
   
  -    if (d->script_interpreter_source == INTERPRETER_SOURCE_REGISTRY) {
  -        /* 
  -         * Check the registry
  -         */
  +    /* Find the file extension */
  +    exename = strrchr(r->filename, '/');
  +    if (!exename) {
  +        exename = strrchr(r->filename, '\\');
  +    }
  +    if (!exename) {
  +        exename = r->filename;
  +    }
  +    else {
  +        exename++;
  +    }
  +    ext = strrchr(exename, '.');
  +
  +    if (ext && (!strcasecmp(ext,".bat") || !strcasecmp(ext,".cmd"))) {
  +        return eFileTypeEXE32;
  +    }
  +
  +    /* If the file has an extension and it is not .com and not .exe and
  +     * we've been instructed to search the registry, then do it!
  +     */
  +    if (ext && strcasecmp(ext,".exe") && strcasecmp(ext,".com") &&
  +        d->script_interpreter_source == INTERPRETER_SOURCE_REGISTRY) {
  +         /* Check the registry */
           *interpreter = get_interpreter_from_win32_registry(r->pool, ext);
           if (*interpreter)
  -            return FileTypeSCRIPT;
  +            return eFileTypeSCRIPT;
           else {
               ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, r->server,
                "ScriptInterpreterSource config directive set to 
\"registry\".\n\t"
                "Registry was searched but interpreter not found. Trying the 
shebang line.");
           }
  -    }
  +    }        
   
  -    /* 
  -     * Look for a #! line in the script
  -     */
  +    /* Need to peek into the file figure out what it really is... */
       hFile = CreateFile(r->filename, GENERIC_READ, FILE_SHARE_READ, NULL,
                          OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
  -
       if (hFile == INVALID_HANDLE_VALUE) {
  -        return FileTypeUNKNOWN;
  +        return eFileTypeUNKNOWN;
       }
  -
       bResult = ReadFile(hFile, (void*) &buffer, sizeof(buffer) - 1, 
                          &nBytesRead, NULL);
       if (!bResult || (nBytesRead == 0)) {
           ap_log_rerror(APLOG_MARK, APLOG_ERR, r,
                         "ReadFile(%s) failed", r->filename);
           CloseHandle(hFile);
  -        return (FileTypeUNKNOWN);
  +        return eFileTypeUNKNOWN;
       }
       CloseHandle(hFile);
  -    
       buffer[nBytesRead] = '\0';
  -    
  +
  +    /* Script or executable, that is the question... */
       if ((buffer[0] == '#') && (buffer[1] == '!')) {
  -        fileType = FileTypeSCRIPT;
  +        /* Assuming file is a script since it starts with a shebang */
  +        fileType = eFileTypeSCRIPT;
           for (i = 2; i < sizeof(buffer); i++) {
               if ((buffer[i] == '\r')
                   || (buffer[i] == '\n')) {
  @@ -896,16 +928,21 @@
               }
           }
           buffer[i] = '\0';
  -        for (i = 2; buffer[i] == ' '; ++i)
  +        for (i = 2; buffer[i] == ' ' ; ++i)
               ;
           *interpreter = ap_pstrdup(r->pool, buffer + i ); 
       }
       else {
  -        /* Check to see if it's a executable */
  -        IMAGE_DOS_HEADER *hdr = (IMAGE_DOS_HEADER*)buffer;
  -        if (hdr->e_magic == IMAGE_DOS_SIGNATURE && hdr->e_cblp < 512) {
  -            fileType = FileTypeEXE;
  +        /* Not a script, is it an executable? */
  +        IMAGE_DOS_HEADER *hdr = (IMAGE_DOS_HEADER*)buffer;    
  +        if ((nBytesRead >= sizeof(IMAGE_DOS_HEADER)) && (hdr->e_magic == 
IMAGE_DOS_SIGNATURE)) {
  +            if (hdr->e_lfarlc < 0x40)
  +                fileType = eFileTypeEXE16;
  +            else
  +                fileType = eFileTypeEXE32;
           }
  +        else
  +            fileType = eFileTypeUNKNOWN;
       }
   
       return fileType;
  @@ -1014,7 +1051,7 @@
       }
   
       arg = ap_os_canonical_filename(cmd->pool, arg);
  -    if (!ap_is_directory(arg)) {
  +    if (ap_configtestonly && ap_docrootcheck && !ap_is_directory(arg)) {
        if (cmd->server->is_virtual) {
            fprintf(stderr, "Warning: DocumentRoot [%s] does not exist\n",
                    arg);
  @@ -1376,10 +1413,6 @@
       *endp = '\0';
   
       cmd->path = ap_getword_conf(cmd->pool, &arg);
  -#ifdef OS2
  -    /* Fix OS/2 HPFS filename case problem. */
  -    cmd->path = strlwr(cmd->path);
  -#endif    
       cmd->override = OR_ALL|ACCESS_CONF;
   
       if (thiscmd->cmd_data) { /* <DirectoryMatch> */
  @@ -2116,15 +2149,25 @@
   }
   
   static const char *set_use_canonical_name(cmd_parms *cmd, core_dir_config 
*d, 
  -                                       int arg)
  +                                       char *arg)
   {
       const char *err = ap_check_cmd_context(cmd, NOT_IN_LIMIT);
  -
       if (err != NULL) {
        return err;
       }
  -    
  -    d->use_canonical_name = arg != 0;
  +
  +    if (strcasecmp(arg, "on") == 0) {
  +        d->use_canonical_name = USE_CANONICAL_NAME_ON;
  +    }
  +    else if (strcasecmp(arg, "off") == 0) {
  +        d->use_canonical_name = USE_CANONICAL_NAME_OFF;
  +    }
  +    else if (strcasecmp(arg, "dns") == 0) {
  +        d->use_canonical_name = USE_CANONICAL_NAME_DNS;
  +    }
  +    else {
  +        return "parameter must be 'on', 'off', or 'dns'";
  +    }
       return NULL;
   }
   
  @@ -2802,9 +2845,8 @@
   { "ContentDigest", set_content_md5, NULL, OR_OPTIONS,
     FLAG, "whether or not to send a Content-MD5 header with each request" },
   { "UseCanonicalName", set_use_canonical_name, NULL,
  -  OR_OPTIONS, FLAG,
  -  "Whether or not to always use the canonical ServerName : Port when "
  -  "constructing URLs" },
  +  RSRC_CONF, TAKE1,
  +  "How to work out the ServerName : Port when constructing URLs" },
   { "StartServers", set_daemons_to_start, NULL, RSRC_CONF, TAKE1,
     "Number of child processes launched at server startup" },
   { "MinSpareServers", set_min_free_servers, NULL, RSRC_CONF, TAKE1,
  @@ -2935,14 +2977,14 @@
   static int do_nothing(request_rec *r) { return OK; }
   
   #ifdef USE_MMAP_FILES
  -struct mmap {
  +struct mmap_rec {
       void *mm;
       size_t length;
   };
   
   static void mmap_cleanup(void *mmv)
   {
  -    struct mmap *mmd = mmv;
  +    struct mmap_rec *mmd = mmv;
   
       if (munmap(mmd->mm, mmd->length) == -1) {
           ap_log_error(APLOG_MARK, APLOG_ERR, NULL,
  @@ -3099,7 +3141,7 @@
   #ifdef USE_MMAP_FILES
       }
       else {
  -     struct mmap *mmd;
  +     struct mmap_rec *mmd;
   
        mmd = ap_palloc(r->pool, sizeof(*mmd));
        mmd->mm = mm;
  
  
  
  1.97      +34 -10    apache-apr/pthreads/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/http_main.c,v
  retrieving revision 1.96
  retrieving revision 1.97
  diff -u -d -u -r1.96 -r1.97
  --- http_main.c       1999/07/29 20:11:42     1.96
  +++ http_main.c       1999/08/19 20:52:35     1.97
  @@ -149,6 +149,8 @@
    */
   
   int ap_standalone=0;
  +int ap_configtestonly=0;
  +int ap_docrootcheck=1;
   uid_t ap_user_id=0;
   char *ap_user_name=NULL;
   gid_t ap_group_id=0;
  @@ -373,12 +375,12 @@
        pad[i] = ' ';
       pad[i] = '\0';
   #ifdef SHARED_CORE
  -    fprintf(stderr, "Usage: %s [-R directory] [-d directory] [-f file]\n", 
bin);
  +    fprintf(stderr, "Usage: %s [-R directory] [-D name] [-d directory] [-f 
file]\n", bin);
   #else
  -    fprintf(stderr, "Usage: %s [-d directory] [-f file]\n", bin);
  +    fprintf(stderr, "Usage: %s [-D name] [-d directory] [-f file]\n", bin);
   #endif
       fprintf(stderr, "       %s [-C \"directive\"] [-c \"directive\"]\n", 
pad);
  -    fprintf(stderr, "       %s [-v] [-V] [-h] [-l] [-L] [-S] [-t]\n", pad);
  +    fprintf(stderr, "       %s [-v] [-V] [-h] [-l] [-L] [-S] [-t] [-T]\n", 
pad);
       fprintf(stderr, "Options:\n");
   #ifdef SHARED_CORE
       fprintf(stderr, "  -R directory     : specify an alternate location for 
shared object files\n");
  @@ -394,7 +396,8 @@
       fprintf(stderr, "  -l               : list compiled-in modules\n");
       fprintf(stderr, "  -L               : list available configuration 
directives\n");
       fprintf(stderr, "  -S               : show parsed settings (currently 
only vhost settings)\n");
  -    fprintf(stderr, "  -t               : run syntax test for configuration 
files only\n");
  +    fprintf(stderr, "  -t               : run syntax check for config files 
(with docroot check)\n");
  +    fprintf(stderr, "  -T               : run syntax check for config files 
(without docroot check)\n");
   #ifdef WIN32
       fprintf(stderr, "  -k shutdown      : tell running Apache to 
shutdown\n");
       fprintf(stderr, "  -k restart       : tell running Apache to do a 
graceful restart\n");
  @@ -1138,6 +1141,8 @@
   
       conn->pool = p;
       conn->local_addr = *saddr;
  +    conn->local_ip = ap_pstrdup(conn->pool,
  +                             inet_ntoa(conn->local_addr.sin_addr));
       conn->server = server; /* just a guess for now */
       ap_update_vhost_given_ip(conn);
       conn->base_server = conn->server;
  @@ -1211,7 +1216,9 @@
   #endif
   
   #ifndef WORKAROUND_SOLARIS_BUG
  +#ifndef BEOS /* this won't work for BeOS sockets!! */
       s = ap_slack(s, AP_SLACK_HIGH);
  +#endif
   
       ap_note_cleanups_for_socket(p, s);       /* arrange to close on exec or 
restart */
   #endif
  @@ -1278,6 +1285,7 @@
       if (ntohs(server->sin_port) < 1024)
        GETPRIVMODE();
   #endif
  +
       if (bind(s, (struct sockaddr *) server, sizeof(struct sockaddr_in)) == 
-1) {
        ap_log_error(APLOG_MARK, APLOG_CRIT, server_conf,
            "make_sock: could not bind to %s", addr);
  @@ -1522,7 +1530,7 @@
   #ifdef SUEXEC_BIN
       printf(" -D SUEXEC_BIN=\"" SUEXEC_BIN "\"\n");
   #endif
  -#ifdef SHARED_CORE_DIR
  +#if defined(SHARED_CORE) && defined(SHARED_CORE_DIR)
       printf(" -D SHARED_CORE_DIR=\"" SHARED_CORE_DIR "\"\n");
   #endif
   #ifdef DEFAULT_PIDLOG
  @@ -1847,7 +1855,7 @@
   
       if (!geteuid() && (setuid(ap_user_id) == -1)) {
           ap_log_error(APLOG_MARK, APLOG_ALERT, server_conf,
  -                  "setuid: unable to change uid");
  +                  "setuid: unable to change to uid: %d", ap_user_id);
        clean_child_exit(APEXIT_CHILDFATAL);
       }
   
  @@ -2392,7 +2400,6 @@
   int main(int argc, char **argv)
   {
       int c;
  -    int configtestonly = 0;
       char *s;
   
       MONCONTROL(0);
  @@ -2411,7 +2418,7 @@
       
       ap_setup_prelinked_modules();
       
  -    while ((c = getopt(argc, argv, "D:C:c:Xd:f:vVlLR:Sth"
  +    while ((c = getopt(argc, argv, "D:C:c:Xd:f:vVlLR:StTh"
   #ifdef DEBUG_STOP
                          "Z:"
   #endif
  @@ -2478,8 +2485,13 @@
            ap_dump_settings = 1;
            break;
        case 't':
  -         configtestonly = 1;
  +         ap_configtestonly = 1;
  +         ap_docrootcheck = 1;
            break;
  +     case 'T':
  +         ap_configtestonly = 1;
  +         ap_docrootcheck = 0;
  +         break;
        case 'h':
            usage(argv[0]);
        case '?':
  @@ -2494,7 +2506,7 @@
       ap_suexec_enabled = init_suexec();
       server_conf = ap_read_config(pconf, ptemp, ap_server_confname);
   
  -    if (configtestonly) {
  +    if (ap_configtestonly) {
           fprintf(stderr, "Syntax OK\n");
           exit(0);
       }
  @@ -2512,6 +2524,18 @@
       standalone_main(argc, argv);
       exit(0);           
   }
  +
  +#ifndef SHARED_CORE_BOOTSTRAP
  +/*
  + * Force ap_validate_password() into the image so that modules like
  + * mod_auth can use it even if they're dynamically loaded.
  + */
  +void suck_in_ap_validate_password(void);
  +void suck_in_ap_validate_password(void)
  +{
  +    ap_validate_password("a", "b");
  +}
  +#endif
   
   /* force Expat to be linked into the server executable */
   #if defined(USE_EXPAT) && !defined(SHARED_CORE_BOOTSTRAP)
  
  
  
  1.20      +107 -33   apache-apr/pthreads/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/http_protocol.c,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -d -u -r1.19 -r1.20
  --- http_protocol.c   1999/07/19 00:59:33     1.19
  +++ http_protocol.c   1999/08/19 20:52:36     1.20
  @@ -759,10 +759,6 @@
   
            for (x = r->uri; (x = strchr(x, '\\')) != NULL; )
                *x = '/';
  -#ifndef WIN32   /* for OS/2 only: */
  -         /* Fix OS/2 HPFS filename case problem. */
  -         ap_str_tolower(r->uri);
  -#endif
        }
   #endif  /* OS2 || WIN32 */
       }
  @@ -961,7 +957,6 @@
               ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r,
                            "request failed: URI too long");
               ap_send_error_response(r, 0);
  -            ap_rflush(r);
               ap_log_transaction(r);
               return r;
           }
  @@ -977,7 +972,6 @@
               ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r,
                            "request failed: error reading the headers");
               ap_send_error_response(r, 0);
  -            ap_rflush(r);
               ap_log_transaction(r);
               return r;
           }
  @@ -995,7 +989,6 @@
               r->header_only = 0;
               r->status = HTTP_BAD_REQUEST;
               ap_send_error_response(r, 0);
  -            ap_rflush(r);
               ap_log_transaction(r);
               return r;
           }
  @@ -1028,7 +1021,6 @@
                         "client sent HTTP/1.1 request without hostname "
                         "(see RFC2068 section 9, and 14.23): %s", r->uri);
           ap_send_error_response(r, 0);
  -        ap_rflush(r);
           ap_log_transaction(r);
           return r;
       }
  @@ -1049,7 +1041,6 @@
                             "client sent an unrecognized expectation value of "
                             "Expect: %s", expect);
               ap_send_error_response(r, 0);
  -            ap_rflush(r);
               (void) ap_discard_request_body(r);
               ap_log_transaction(r);
               return r;
  @@ -1163,7 +1154,13 @@
           return AUTH_REQUIRED;
       }
   
  -    t = ap_uudecode(r->pool, auth_line);
  +    /* CHARSET_EBCDIC Issue's here ?!? Compare with 32/9 instead
  +     * as we are operating on an octed stream ?
  +     */
  +    while (*auth_line== ' ' || *auth_line== '\t')
  +        auth_line++;
  +
  +    t = ap_pbase64decode(r->pool, auth_line);
       /* Note that this allocation has to be made from r->connection->pool
        * because it has the lifetime of the connection.  The other allocations
        * are temporary and can be tossed away any time.
  @@ -1452,6 +1449,84 @@
                && strstr(ua, "MSIE 3")));
   }
   
  +/* This routine is called by ap_table_do and merges all instances of
  + * the passed field values into a single array that will be further
  + * processed by some later routine.  Originally intended to help split
  + * and recombine multiple Vary fields, though it is generic to any field
  + * consisting of comma/space-separated tokens.
  + */
  +static int uniq_field_values(void *d, const char *key, const char *val)
  +{
  +    array_header *values;
  +    char *start;
  +    char *e;
  +    char **strpp;
  +    int  i;
  +
  +    values = (array_header *)d;
  +
  +    e = ap_pstrdup(values->pool, val);
  +
  +    do {
  +        /* Find a non-empty fieldname */
  +
  +        while (*e == ',' || ap_isspace(*e)) {
  +            ++e;
  +        }
  +        if (*e == '\0') {
  +            break;
  +        }
  +        start = e;
  +        while (*e != '\0' && *e != ',' && !ap_isspace(*e)) {
  +            ++e;
  +        }
  +        if (*e != '\0') {
  +            *e++ = '\0';
  +        }
  +
  +        /* Now add it to values if it isn't already represented.
  +         * Could be replaced by a ap_array_strcasecmp() if we had one.
  +         */
  +        for (i = 0, strpp = (char **) values->elts; i < values->nelts;
  +             ++i, ++strpp) {
  +            if (*strpp && strcasecmp(*strpp, start) == 0) {
  +                break;
  +            }
  +        }
  +        if (i == values->nelts) {  /* if not found */
  +           *(char **)ap_push_array(values) = start;
  +        }
  +    } while (*e != '\0');
  +
  +    return 1;
  +}
  +
  +/*
  + * Since some clients choke violently on multiple Vary fields, or
  + * Vary fields with duplicate tokens, combine any multiples and remove
  + * any duplicates.
  + */
  +static void fixup_vary(request_rec *r)
  +{
  +    array_header *varies;
  +
  +    varies = ap_make_array(r->pool, 5, sizeof(char *));
  +
  +    /* Extract all Vary fields from the headers_out, separate each into
  +     * its comma-separated fieldname values, and then add them to varies
  +     * if not already present in the array.
  +     */
  +    ap_table_do((int (*)(void *, const char *, const char 
*))uniq_field_values,
  +             (void *) varies, r->headers_out, "Vary", NULL);
  +
  +    /* If we found any, replace old Vary fields with unique-ified value */
  +
  +    if (varies->nelts > 0) {
  +     ap_table_setn(r->headers_out, "Vary",
  +                   ap_array_pstrcat(r->pool, varies, ','));
  +    }
  +}
  +
   API_EXPORT(void) ap_send_http_header(request_rec *r)
   {
       int i;
  @@ -1466,6 +1541,9 @@
           r->sent_bodyct = 1;
           return;
       }
  +    else {
  +     fixup_vary(r);
  +    }
   
       /*
        * Now that we are ready to send a response, we need to combine the two
  @@ -1882,14 +1960,18 @@
       if ((rv = ap_setup_client_block(r, REQUEST_CHUNKED_PASS)))
           return rv;
   
  -    /* If we are discarding the request body, then we must already know
  -     * the final status code, therefore disable the sending of 100 continue.
  +    /* In order to avoid sending 100 Continue when we already know the
  +     * final response status, and yet not kill the connection if there is
  +     * no request body to be read, we need to duplicate the test from
  +     * ap_should_client_block() here negated rather than call it directly.
        */
  -    r->expecting_100 = 0;
  -
  -    if (ap_should_client_block(r)) {
  +    if ((r->read_length == 0) && (r->read_chunked || (r->remaining > 0))) {
           char dumpbuf[HUGE_STRING_LEN];
   
  +        if (r->expecting_100) {
  +            r->connection->keepalive = -1;
  +            return OK;
  +        }
           while ((rv = ap_get_client_block(r, dumpbuf, HUGE_STRING_LEN)) > 0)
               continue;
   
  @@ -2354,24 +2436,13 @@
           ap_clear_table(r->err_headers_out);
   
           if (ap_is_HTTP_REDIRECT(status) || (status == HTTP_CREATED)) {
  -         if ((location != NULL) && *location) {
  -             ap_table_setn(r->headers_out, "Location", location);
  -         }
  -         else {
  -             /*
  -              * We're supposed to tell the client to go somewhere,
  -              * but the destination was omitted.  Turn this into
  -              * a 500 status with an explanatory note in the error log.
  -              */
  -             ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r,
  -                           "resource created or redirection requested "
  -                           "(status=%03d) but no Location field set "
  -                           "(URI=%s)",
  -                           r->status, r->unparsed_uri);
  -             r->status = status = HTTP_INTERNAL_SERVER_ERROR;
  -             r->status_line = NULL;
  -         }
  -     }
  +            if ((location != NULL) && *location) {
  +             ap_table_setn(r->headers_out, "Location", location);
  +            }
  +            else {
  +                location = "";   /* avoids coredump when printing, below */
  +            }
  +        }
   
           r->content_language = NULL;
           r->content_languages = NULL;
  @@ -2386,6 +2457,7 @@
   
           if (r->header_only) {
               ap_finalize_request_protocol(r);
  +            ap_rflush(r);
               return;
           }
       }
  @@ -2406,6 +2478,7 @@
           if (custom_response[0] == '\"') {
               ap_rputs(custom_response + 1, r);
               ap_finalize_request_protocol(r);
  +            ap_rflush(r);
               return;
           }
           /*
  @@ -2668,4 +2741,5 @@
           ap_rputs("</BODY></HTML>\n", r);
       }
       ap_finalize_request_protocol(r);
  +    ap_rflush(r);
   }
  
  
  
  1.3       +12 -2     apache-apr/pthreads/src/main/rfc1413.c
  
  Index: rfc1413.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/rfc1413.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- rfc1413.c 1999/02/07 06:29:32     1.2
  +++ rfc1413.c 1999/08/19 20:52:37     1.3
  @@ -147,6 +147,9 @@
                ntohs(our_sin->sin_port));
   
       /* send query to server. Handle short write. */
  +#ifdef CHARSET_EBCDIC
  +    ebcdic2ascii(&buffer, &buffer, buflen);
  +#endif
       i = 0;
       while(i < strlen(buffer)) {
           int j;
  @@ -168,8 +171,12 @@
        */
   
       i = 0;
  -    memset(buffer, 0, sizeof(buffer));
  -    while((cp = strchr(buffer, '\n')) == NULL && i < sizeof(buffer) - 1) {
  +    memset(buffer, '\0', sizeof(buffer));
  +    /*
  +     * Note that the strchr function below checks for 10 instead of '\n'
  +     * this allows it to work on both ASCII and EBCDIC machines.
  +     */
  +    while((cp = strchr(buffer, '\012')) == NULL && i < sizeof(buffer) - 1) {
           int j;
        j = read(sock, buffer+i, (sizeof(buffer) - 1) - i);
        if (j < 0 && errno != EINTR) {
  @@ -183,6 +190,9 @@
       }
   
   /* RFC1413_USERLEN = 512 */
  +#ifdef CHARSET_EBCDIC
  +    ascii2ebcdic(&buffer, &buffer, (size_t)i);
  +#endif
       if (sscanf(buffer, "%u , %u : USERID :%*[^:]:%512s", &rmt_port, 
&our_port,
               user) != 3 || ntohs(rmt_sin->sin_port) != rmt_port
        || ntohs(our_sin->sin_port) != our_port)
  
  
  
  1.6       +59 -154   apache-apr/pthreads/src/main/util.c
  
  Index: util.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/util.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -d -u -r1.5 -r1.6
  --- util.c    1999/06/10 06:26:10     1.5
  +++ util.c    1999/08/19 20:52:38     1.6
  @@ -130,12 +130,15 @@
       const char *semi;
   
       semi = strchr(intype, ';');
  -    if (semi != NULL) {
  +    if (semi == NULL) {
  +     return ap_pstrdup(p, intype);
  +    } 
  +    else {
        while ((semi > intype) && ap_isspace(semi[-1])) {
            semi--;
        }
  +     return ap_pstrndup(p, intype, semi - intype);
       }
  -    return ap_pstrndup(p, intype, semi - intype);
   }
   
   API_EXPORT(char *) ap_ht_time(pool *p, time_t t, const char *fmt, int gmt)
  @@ -1794,7 +1797,7 @@
   #ifdef NEED_INITGROUPS
   int initgroups(const char *name, gid_t basegid)
   {
  -#if defined(QNX) || defined(MPE) || defined(BEOS) || defined(_OSD_POSIX) || 
defined(TPF)
  +#if defined(QNX) || defined(MPE) || defined(BEOS) || defined(_OSD_POSIX) || 
defined(TPF) || defined(__TANDEM)
   /* QNX, MPE and BeOS do not appear to support supplementary groups. */
       return 0;
   #else /* ndef QNX */
  @@ -2002,168 +2005,44 @@
   
       return server_hostname;
   }
  -
  -/* aaaack but it's fast and const should make it shared text page. */
  -static const unsigned char pr2six[256] =
  -{
  -    64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  -    64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  -    64, 64, 64, 64, 64, 64, 64, 64, 64, 62, 64, 64, 64, 63, 52, 53, 54,
  -    55, 56, 57, 58, 59, 60, 61, 64, 64, 64, 64, 64, 64, 64, 0, 1, 2, 3,
  -    4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
  -    22, 23, 24, 25, 64, 64, 64, 64, 64, 64, 26, 27, 28, 29, 30, 31, 32,
  -    33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
  -    50, 51, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  -    64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  -    64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  -    64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  -    64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  -    64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  -    64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  -    64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64
  -};
   
  -API_EXPORT(char *) ap_uudecode(pool *p, const char *bufcoded)
  +/* simple 'pool' alloc()ing glue to ap_base64.c
  + */
  +API_EXPORT(char *) ap_pbase64decode(pool *p, const char *bufcoded)
   {
  -    int nbytesdecoded;
  -    register const unsigned char *bufin;
  -    register char *bufplain;
  -    register unsigned char *bufout;
  -    register int nprbytes;
  -
  -    /* Strip leading whitespace. */
  -
  -    while (*bufcoded == ' ' || *bufcoded == '\t')
  -     bufcoded++;
  -
  -    /* Figure out how many characters are in the input buffer.
  -     * Allocate this many from the per-transaction pool for the result.
  -     */
  -#ifndef CHARSET_EBCDIC
  -    bufin = (const unsigned char *) bufcoded;
  -    while (pr2six[*(bufin++)] <= 63);
  -    nprbytes = (bufin - (const unsigned char *) bufcoded) - 1;
  -    nbytesdecoded = ((nprbytes + 3) / 4) * 3;
  -
  -    bufplain = ap_palloc(p, nbytesdecoded + 1);
  -    bufout = (unsigned char *) bufplain;
  -
  -    bufin = (const unsigned char *) bufcoded;
  -
  -    while (nprbytes > 4) {
  -     *(bufout++) =
  -         (unsigned char) (pr2six[*bufin] << 2 | pr2six[bufin[1]] >> 4);
  -     *(bufout++) =
  -         (unsigned char) (pr2six[bufin[1]] << 4 | pr2six[bufin[2]] >> 2);
  -     *(bufout++) =
  -         (unsigned char) (pr2six[bufin[2]] << 6 | pr2six[bufin[3]]);
  -     bufin += 4;
  -     nprbytes -= 4;
  -    }
  -
  -    /* Note: (nprbytes == 1) would be an error, so just ingore that case */
  -    if (nprbytes > 1) {
  -     *(bufout++) =
  -         (unsigned char) (pr2six[*bufin] << 2 | pr2six[bufin[1]] >> 4);
  -    }
  -    if (nprbytes > 2) {
  -     *(bufout++) =
  -         (unsigned char) (pr2six[bufin[1]] << 4 | pr2six[bufin[2]] >> 2);
  -    }
  -    if (nprbytes > 3) {
  -        *(bufout++) =
  -            (unsigned char) (pr2six[bufin[2]] << 6 | pr2six[bufin[3]]);
  -    }
  -#else /*CHARSET_EBCDIC*/
  -    bufin = (const unsigned char *) bufcoded;
  -    while (pr2six[os_toascii[(unsigned char)*(bufin++)]] <= 63);
  -    nprbytes = (bufin - (const unsigned char *) bufcoded) - 1;
  -    nbytesdecoded = ((nprbytes + 3) / 4) * 3;
  +    char *decoded;
  +    int l;
   
  -    bufplain = ap_palloc(p, nbytesdecoded + 1);
  -    bufout = (unsigned char *) bufplain;
  +    decoded = (char *) ap_palloc(p, 1 + ap_base64decode_len(bufcoded));
  +    l = ap_base64decode(decoded, bufcoded);
  +    decoded[l] = '\0'; /* make binary sequence into string */
   
  -    bufin = (const unsigned char *) bufcoded;
  +    return decoded;
  +}
   
  -    while (nprbytes > 4) {
  -     *(bufout++) = os_toebcdic[
  -         (unsigned char) (pr2six[os_toascii[*bufin]] << 2 | 
pr2six[os_toascii[bufin[1]]] >> 4)];
  -     *(bufout++) = os_toebcdic[
  -         (unsigned char) (pr2six[os_toascii[bufin[1]]] << 4 | 
pr2six[os_toascii[bufin[2]]] >> 2)];
  -     *(bufout++) = os_toebcdic[
  -         (unsigned char) (pr2six[os_toascii[bufin[2]]] << 6 | 
pr2six[os_toascii[bufin[3]]])];
  -     bufin += 4;
  -     nprbytes -= 4;
  -    }
  +API_EXPORT(char *) ap_pbase64encode(pool *p, char *string) 
  +{ 
  +    char *encoded;
  +    int l = strlen(string);
   
  -    /* Note: (nprbytes == 1) would be an error, so just ingore that case */
  -    if (nprbytes > 1) {
  -     *(bufout++) = os_toebcdic[
  -         (unsigned char) (pr2six[os_toascii[*bufin]] << 2 | 
pr2six[os_toascii[bufin[1]]] >> 4)];
  -    }
  -    if (nprbytes > 2) {
  -     *(bufout++) = os_toebcdic[
  -         (unsigned char) (pr2six[os_toascii[bufin[1]]] << 4 | 
pr2six[os_toascii[bufin[2]]] >> 2)];
  -    }
  -    if (nprbytes > 3) {
  -        *(bufout++) = os_toebcdic[
  -            (unsigned char) (pr2six[os_toascii[bufin[2]]] << 6 | 
pr2six[os_toascii[bufin[3]]])];
  -    }
  -#endif /*CHARSET_EBCDIC*/
  +    encoded = (char *) ap_palloc(p, 1 + ap_base64encode_len(l));
  +    l = ap_base64encode(encoded, string, l);
  +    encoded[l] = '\0'; /* make binary sequence into string */
   
  -    nbytesdecoded -= (4 - nprbytes) & 3;
  -    bufplain[nbytesdecoded] = '\0';
  +    return encoded;
  +}
   
  -    return bufplain;
  +/* deprecated names for the above two functions, here for compatibility
  + */
  +API_EXPORT(char *) ap_uudecode(pool *p, const char *bufcoded)
  +{
  +    return ap_pbase64decode(p, bufcoded);
   }
   
  -static const char basis_64[] = 
  -"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; 
  - 
  -API_EXPORT(char *) ap_uuencode(pool *a, char *string) 
  +API_EXPORT(char *) ap_uuencode(pool *p, char *string) 
   { 
  -    int i, len = strlen(string); 
  -    char *p; 
  -    char *encoded = (char *) ap_palloc(a, ((len+2) / 3 * 4) + 1); 
  - 
  -    p = encoded; 
  -#ifndef CHARSET_EBCDIC
  -    for (i = 0; i < len-2; i += 3) { 
  -        *p++ = basis_64[(string[i] >> 2) & 0x3F]; 
  -        *p++ = basis_64[((string[i] & 0x3) << 4) | ((int) (string[i + 1] & 
0xF0) >> 4)]; 
  -        *p++ = basis_64[((string[i + 1] & 0xF) << 2) | ((int) (string[i + 2] 
& 0xC0) >> 6)]; 
  -        *p++ = basis_64[string[i + 2] & 0x3F]; 
  -    } 
  -    if (i < len) {
  -        *p++ = basis_64[(string[i] >> 2) & 0x3F]; 
  -       *p++ = basis_64[((string[i] & 0x3) << 4) | ((int) (string[i + 1] & 
0xF0) >> 4)]; 
  -       if (i == (len-2))
  -           *p++ = basis_64[((string[i + 1] & 0xF) << 2)]; 
  -       else
  -           *p++ = '='; 
  -       *p++ = '='; 
  -    }
  -#else /*CHARSET_EBCDIC*/
  -    for (i = 0; i < len-2; i += 3) { 
  -        *p++ = basis_64[(os_toascii[string[i]] >> 2) & 0x3F]; 
  -        *p++ = basis_64[((os_toascii[string[i]] & 0x3) << 4) | ((int) 
(os_toascii[string[i + 1]] & 0xF0) >> 4)]; 
  -        *p++ = basis_64[((os_toascii[string[i + 1]] & 0xF) << 2) | ((int) 
(os_toascii[string[i + 2]] & 0xC0) >> 6)]; 
  -        *p++ = basis_64[os_toascii[string[i + 2]] & 0x3F]; 
  -    } 
  -    if (i < len) {
  -        *p++ = basis_64[(os_toascii[string[i]] >> 2) & 0x3F]; 
  -       *p++ = basis_64[((os_toascii[string[i]] & 0x3) << 4) | ((int) 
(os_toascii[string[i + 1]] & 0xF0) >> 4)]; 
  -       if (i == (len-2))
  -           *p++ = basis_64[((os_toascii[string[i + 1]] & 0xF) << 2)]; 
  -       else
  -           *p++ = '='; 
  -       *p++ = '='; 
  -    }
  -#endif /*CHARSET_EBCDIC*/
  -
  -    *p = '\0'; 
  -    return encoded; 
  -} 
  +    return ap_pbase64encode(p, string);
  +}
   
   #ifdef OS2
   void os2pathname(char *path)
  @@ -2190,6 +2069,32 @@
   
       strcpy(path, newpath);
   };
  +
  +/* quotes in the string are doubled up.
  + * Used to escape quotes in args passed to OS/2's cmd.exe
  + */
  +char *ap_double_quotes(pool *p, char *str)
  +{
  +    int num_quotes = 0;
  +    int len = 0;
  +    char *quote_doubled_str, *dest;
  +    
  +    while (str[len]) {
  +        num_quotes += str[len++] == '\"';
  +    }
  +    
  +    quote_doubled_str = ap_palloc(p, len + num_quotes + 1);
  +    dest = quote_doubled_str;
  +    
  +    while (*str) {
  +        if (*str == '\"')
  +            *(dest++) = '\"';
  +        *(dest++) = *(str++);
  +    }
  +    
  +    *dest = 0;
  +    return quote_doubled_str;
  +}
   #endif
   
   
  
  
  
  1.8       +130 -65   apache-apr/pthreads/src/main/util_script.c
  
  Index: util_script.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/util_script.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -d -u -r1.7 -r1.8
  --- util_script.c     1999/06/10 06:26:11     1.7
  +++ util_script.c     1999/08/19 20:52:39     1.8
  @@ -67,6 +67,11 @@
   #include "util_script.h"
   #include "util_date.h"               /* For parseHTTPdate() */
   
  +#ifdef OS2
  +#define INCL_DOS
  +#include <os2.h>
  +#endif
  +
   /*
    * Various utility functions which are common to a whole lot of
    * script-type extensions mechanisms, and might as well be gathered
  @@ -265,6 +270,7 @@
       ap_table_addn(e, "SERVER_SIGNATURE", ap_psignature("", r));
       ap_table_addn(e, "SERVER_SOFTWARE", ap_get_server_version());
       ap_table_addn(e, "SERVER_NAME", ap_get_server_name(r));
  +    ap_table_addn(e, "SERVER_ADDR", r->connection->local_ip);        /* 
Apache */
       ap_table_addn(e, "SERVER_PORT",
                  ap_psprintf(r->pool, "%u", ap_get_server_port(r)));
       host = ap_get_remote_host(c, r->per_dir_config, REMOTE_HOST);
  @@ -747,54 +753,126 @@
   #ifdef OS2
       {
        /* Additions by Alec Kloss, to allow exec'ing of scripts under OS/2 */
  -     int is_script;
  +     int is_script = 0;
        char interpreter[2048]; /* hope it's enough for the interpreter path */
  +     char error_object[260];
        FILE *program;
  +        char *cmdline = r->filename, *cmdline_pos;
  +        int cmdlen;
  +     char *args = "", *args_end;
  +     ULONG rc;
  +        RESULTCODES rescodes;
  +        int env_len, e;
  +        char *env_block, *env_block_pos;
   
  +     if (r->args && r->args[0] && !strchr(r->args, '='))
  +         args = r->args;
  +         
        program = fopen(r->filename, "rt");
  +     
        if (!program) {
            ap_log_rerror(APLOG_MARK, APLOG_ERR, r, "fopen(%s) failed",
                         r->filename);
            return (pid);
        }
  +     
        fgets(interpreter, sizeof(interpreter), program);
        fclose(program);
  +     
        if (!strncmp(interpreter, "#!", 2)) {
            is_script = 1;
  -         interpreter[strlen(interpreter) - 1] = '\0';
  +            interpreter[strlen(interpreter) - 1] = '\0';
  +            if (interpreter[2] != '/' && interpreter[2] != '\\' && 
interpreter[3] != ':') {
  +                char buffer[300];
  +                if (DosSearchPath(SEARCH_ENVIRONMENT, "PATH", interpreter+2, 
buffer, sizeof(buffer)) == 0) {
  +                    strcpy(interpreter+2, buffer);
  +                } else {
  +                    strcat(interpreter, ".exe");
  +                    if (DosSearchPath(SEARCH_ENVIRONMENT, "PATH", 
interpreter+2, buffer, sizeof(buffer)) == 0) {
  +                        strcpy(interpreter+2, buffer);
  +                    }
  +                }
  +            }
        }
  -     else {
  -         is_script = 0;
  +
  +        if (is_script) {
  +            cmdline = ap_pstrcat(r->pool, interpreter+2, " ", r->filename, 
NULL);
  +        }
  +        else if (strstr(strupr(r->filename), ".CMD") > 0) {
  +            /* Special case to allow use of REXX commands as scripts. */
  +            os2pathname(r->filename);
  +            cmdline = ap_pstrcat(r->pool, SHELL_PATH, " /C ", r->filename, 
NULL);
  +        }
  +        else {
  +            cmdline = r->filename;
        }
  +     
  +        args = ap_pstrdup(r->pool, args);
  +        ap_unescape_url(args);
  +        args = ap_double_quotes(r->pool, args);
  +        args_end = args + strlen(args);
   
  -     if ((!r->args) || (!r->args[0]) || strchr(r->args, '=')) {
  -         /* More additions by Alec Kloss for OS/2 */
  -         if (is_script) {
  -             /* here's the stuff to run the interpreter */
  -             pid = spawnle(P_NOWAIT, interpreter + 2, interpreter + 2, 
r->filename, NULL, env);
  -         }
  -         else if (strstr(strupr(r->filename), ".CMD") > 0) {
  -             /* Special case to allow use of REXX commands as scripts. */
  -             os2pathname(r->filename);
  -             pid = spawnle(P_NOWAIT, SHELL_PATH, SHELL_PATH, "/C", 
r->filename, NULL, env);
  -         }
  -         else {
  -             pid = spawnle(P_NOWAIT, r->filename, argv0, NULL, env);
  -         }
  +        if (args_end - args > 4000) { /* cmd.exe won't handle lines longer 
than 4k */
  +            args_end = args + 4000;
  +            *args_end = 0;
  +        }
  +
  +        /* +4 = 1 space between progname and args, 2 for double null at end, 
2 for possible quote on first arg */
  +        cmdlen = strlen(cmdline) + strlen(args) + 4; 
  +        cmdline_pos = cmdline;
  +
  +        while (*cmdline_pos) {
  +            cmdlen += 2 * (*cmdline_pos == '+');  /* Allow space for each 
arg to be quoted */
  +            cmdline_pos++;
  +        }
  +
  +        cmdline = ap_pstrndup(r->pool, cmdline, cmdlen);
  +        cmdline_pos = cmdline + strlen(cmdline);
  +
  +     while (args < args_end) {
  +            char *arg;
  +         
  +            arg = ap_getword_nc(r->pool, &args, '+');
  +
  +            if (strpbrk(arg, "&|<> "))
  +                arg = ap_pstrcat(r->pool, "\"", arg, "\"", NULL);
  +
  +            *(cmdline_pos++) = ' ';
  +            strcpy(cmdline_pos, arg);
  +            cmdline_pos += strlen(cmdline_pos);
  +        }
  +
  +        *(++cmdline_pos) = 0; /* Add required second terminator */
  +     args = strchr(cmdline, ' ');
  +     
  +     if (args) {
  +         *args = 0;
  +         args++;
        }
  -     else {
  -         if (strstr(strupr(r->filename), ".CMD") > 0) {
  -             /* Special case to allow use of REXX commands as scripts. */
  -             os2pathname(r->filename);
  -             pid = spawnve(P_NOWAIT, SHELL_PATH, create_argv_cmd(r->pool, 
argv0, r->args,
  -                                               r->filename), env);
  -         }
  -         else {
  -             pid = spawnve(P_NOWAIT, r->filename,
  -                   create_argv(r->pool, NULL, NULL, NULL, argv0, r->args), 
env);
  -         }
  +
  +        /* Create environment block from list of envariables */
  +        for (env_len=1, e=0; env[e]; e++)
  +            env_len += strlen(env[e]) + 1;
  +
  +        env_block = ap_palloc(r->pool, env_len);
  +        env_block_pos = env_block;
  +
  +        for (e=0; env[e]; e++) {
  +            strcpy(env_block_pos, env[e]);
  +            env_block_pos += strlen(env_block_pos) + 1;
  +        }
  +
  +        *env_block_pos = 0; /* environment block is terminated by a double 
null */
  +
  +     rc = DosExecPgm(error_object, sizeof(error_object), EXEC_ASYNC, 
cmdline, env_block, &rescodes, cmdline);
  +     
  +     if (rc) {
  +            ap_log_rerror(APLOG_MARK, APLOG_ERR, r, "DosExecPgm(%s %s) 
failed, %s - %s",
  +                          cmdline, args ? args : "", 
ap_os_error_message(rc), error_object );
  +         return -1;
        }
  -     return (pid);
  +     
  +     return rescodes.codeTerminate;
       }
   #elif defined(WIN32)
       {
  @@ -822,34 +900,10 @@
           pid = -1;
   
           if (!shellcmd) {
  -            /* Find the file name */
  -            exename = strrchr(r->filename, '/');
  -            if (!exename) {
  -                exename = strrchr(r->filename, '\\');
  -            }
  -            if (!exename) {
  -                exename = r->filename;
  -            }
  -            else {
  -                exename++;
  -            }
   
  -            ext = strrchr(exename, '.');
  -            if ((ext) && (!strcasecmp(ext,".bat") ||
  -                          !strcasecmp(ext,".cmd"))) {
  -                fileType = FileTypeEXE;
  -            }
  -            else if ((ext) && (!strcasecmp(ext,".exe") ||
  -                               !strcasecmp(ext,".com"))) {
  -                /* 16 bit or 32 bit? */
  -                fileType = FileTypeEXE;
  -            }
  -            else {
  -                /* Maybe a script or maybe a binary.. */
  -                fileType = ap_get_win32_interpreter(r, ext, &interpreter);
  -            }
  +            fileType = ap_get_win32_interpreter(r, &interpreter);
   
  -            if (fileType == FileTypeUNKNOWN) {
  +            if (fileType == eFileTypeUNKNOWN) {
                   ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, r,
                                 "%s is not executable; ensure interpreted 
scripts have "
                                 "\"#!\" first line", 
  @@ -963,16 +1017,27 @@
               i++;
           }
   
  -        if (CreateProcess(NULL, pCommand, NULL, NULL, TRUE, 0, pEnvBlock,
  +        if (CreateProcess(NULL, pCommand, NULL, NULL, TRUE, 
DETACHED_PROCESS, pEnvBlock,
                             ap_make_dirstr_parent(r->pool, r->filename),
                             &si, &pi)) {
  -            pid = pi.dwProcessId;
  -            /*
  -             * We must close the handles to the new process and its main 
thread
  -             * to prevent handle and memory leaks.
  -             */ 
  -            CloseHandle(pi.hProcess);
  -            CloseHandle(pi.hThread);
  +            if (fileType == eFileTypeEXE16) {
  +                /* Hack to get 16-bit CGI's working. It works for all the 
  +                 * standard modules shipped with Apache. pi.dwProcessId is 0 
  +                 * for 16-bit CGIs and all the Unix specific code that calls 
  +                 * ap_call_exec interprets this as a failure case. And we 
can't 
  +                 * use -1 either because it is mapped to 0 by the caller.
  +                 */
  +                pid = -2;
  +            }
  +            else {
  +                pid = pi.dwProcessId;
  +                /*
  +                 * We must close the handles to the new process and its main 
thread
  +                 * to prevent handle and memory leaks.
  +                 */ 
  +                CloseHandle(pi.hProcess);
  +                CloseHandle(pi.hThread);
  +            }
           }
           return (pid);
       }
  
  
  
  1.4       +15 -8     apache-apr/pthreads/src/main/util_uri.c
  
  Index: util_uri.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/util_uri.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- util_uri.c        1999/06/10 06:26:11     1.3
  +++ util_uri.c        1999/08/19 20:52:39     1.4
  @@ -186,11 +186,18 @@
   
        /* Construct scheme://site string */
        if (uptr->hostname) {
  +         int is_default_port;
  +
  +         is_default_port =
  +             (uptr->port_str == NULL ||
  +              uptr->port == 0 ||
  +              uptr->port == ap_default_port_for_scheme(uptr->scheme));
  +
            ret = ap_pstrcat (p,
                        uptr->scheme, "://", ret, 
                        uptr->hostname ? uptr->hostname : "",
  -                     uptr->port_str ? ":" : "",
  -                     uptr->port_str ? uptr->port_str : "",
  +                     is_default_port ? "" : ":",
  +                     is_default_port ? "" : uptr->port_str,
                        NULL);
        }
       }
  @@ -266,8 +273,8 @@
       /* This is a sub-RE which will break down the hostinfo part,
        * i.e., user, password, hostname and port.
        * $          12      3 4        5       6 7    */
  -    re_str    = "^(([^:]*)(:(.*))?@)?([^@:]*)(:(.*))?$";
  -    /*             ^^user^ :pw      ^host^   port */
  +    re_str    = "^(([^:]*)(:(.*))?@)?([^@:]*)(:([0-9]*))?$";
  +    /*             ^^user^ :pw        ^host^ ^:[port]^ */
       if ((ret = regcomp(&re_hostpart, re_str, REG_EXTENDED)) != 0) {
        char line[1024];
   
  @@ -345,9 +352,9 @@
            return HTTP_BAD_REQUEST;
        }
   
  -     /* $          12      3 4        5       6 7    */
  -     /*        = "^(([^:]*)(:(.*))?@)?([^@:]*)(:(.*))?$" */
  -     /*             ^^user^ :pw      ^host^   port */
  +     /* $      12      3 4        5       6 7            */
  +     /*      "^(([^:]*)(:(.*))?@)?([^@:]*)(:([0-9]*))?$" */
  +     /*         ^^user^ :pw        ^host^ ^:[port]^      */
   
        /* empty user is valid, that's why we test $1 but use $2 */
        if (match[1].rm_so != match[1].rm_eo)
  @@ -371,7 +378,7 @@
   
                port = strtol(uptr->port_str, &endstr, 10);
                uptr->port = port;
  -             if (*endstr != '\0' || uptr->port != port) {
  +             if (*endstr != '\0') {
                    /* Invalid characters after ':' found */
                    return HTTP_BAD_REQUEST;
                }
  
  
  
  1.2       +9 -0      
apache-apr/pthreads/src/modules/experimental/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: 
/home/cvs/apache-apr/pthreads/src/modules/experimental/Makefile.tmpl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- Makefile.tmpl     1999/01/21 23:08:35     1.1
  +++ Makefile.tmpl     1999/08/19 20:52:54     1.2
  @@ -12,3 +12,12 @@
    $(INCDIR)/util_uri.h $(INCDIR)/http_config.h \
    $(INCDIR)/http_log.h $(INCDIR)/http_protocol.h \
    $(INCDIR)/http_request.h $(INCDIR)/http_core.h
  +mod_digest.o: mod_digest.c $(INCDIR)/httpd.h \
  + $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \
  + $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
  + $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
  + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \
  + $(INCDIR)/util_uri.h $(INCDIR)/http_config.h \
  + $(INCDIR)/http_core.h $(INCDIR)/http_log.h \
  + $(INCDIR)/http_protocol.h $(INCDIR)/util_md5.h \
  + $(INCDIR)/ap_md5.h
  
  
  
  1.2       +4 -4      
apache-apr/pthreads/src/modules/proxy/ApacheModuleProxy.dsp
  
  Index: ApacheModuleProxy.dsp
  ===================================================================
  RCS file: 
/home/cvs/apache-apr/pthreads/src/modules/proxy/ApacheModuleProxy.dsp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- ApacheModuleProxy.dsp     1999/01/21 23:08:35     1.1
  +++ ApacheModuleProxy.dsp     1999/08/19 20:52:56     1.2
  @@ -45,7 +45,7 @@
   # PROP Ignore_Export_Lib 0
   # PROP Target_Dir ""
   # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" 
/YX /c
  -# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D "WIN32" 
/D "_WINDOWS" /D "SHARED_MODULE" /YX /FD /c
  +# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D "WIN32" 
/D "_WINDOWS" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN" /YX /FD /c
   # ADD BASE MTL /nologo /D "NDEBUG" /win32
   # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
   # ADD BASE RSC /l 0x809 /d "NDEBUG"
  @@ -55,7 +55,7 @@
   # ADD BSC32 /nologo
   LINK32=link.exe
   # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib 
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
  -# ADD LINK32 ..\..\CoreR\ApacheCore.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib comdlg32.lib advapi32.lib shell32.lib wsock32.lib /nologo 
/subsystem:windows /dll /machine:I386
  +# ADD LINK32 ..\..\CoreR\ApacheCore.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo 
/subsystem:windows /dll /machine:I386
   
   !ELSEIF  "$(CFG)" == "ApacheModuleProxy - Win32 Debug"
   
  @@ -71,7 +71,7 @@
   # PROP Ignore_Export_Lib 0
   # PROP Target_Dir ""
   # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D 
"_WINDOWS" /YX /c
  -# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\include" /D "_DEBUG" /D 
"WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /YX /FD /c
  +# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\include" /D "_DEBUG" /D 
"WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN" /YX /FD /c
   # ADD BASE MTL /nologo /D "_DEBUG" /win32
   # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
   # ADD BASE RSC /l 0x809 /d "_DEBUG"
  @@ -81,7 +81,7 @@
   # ADD BSC32 /nologo
   LINK32=link.exe
   # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib 
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
  -# ADD LINK32 ..\..\CoreD\ApacheCore.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib comdlg32.lib advapi32.lib shell32.lib wsock32.lib /nologo 
/subsystem:windows /dll /debug /machine:I386
  +# ADD LINK32 ..\..\CoreD\ApacheCore.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo 
/subsystem:windows /dll /debug /machine:I386
   
   !ENDIF 
   
  
  
  
  1.2       +55 -68    
apache-apr/pthreads/src/modules/proxy/ApacheModuleProxy.mak
  
  Index: ApacheModuleProxy.mak
  ===================================================================
  RCS file: 
/home/cvs/apache-apr/pthreads/src/modules/proxy/ApacheModuleProxy.mak,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- ApacheModuleProxy.mak     1999/01/21 23:08:35     1.1
  +++ ApacheModuleProxy.mak     1999/08/19 20:52:57     1.2
  @@ -30,6 +30,10 @@
   NULL=nul
   !ENDIF 
   
  +CPP=cl.exe
  +MTL=midl.exe
  +RSC=rc.exe
  +
   !IF  "$(CFG)" == "ApacheModuleProxy - Win32 Release"
   
   OUTDIR=.\Release
  @@ -63,53 +67,20 @@
   "$(OUTDIR)" :
       if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
   
  -CPP=cl.exe
   CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D "WIN32" 
/D\
  - "_WINDOWS" /D "SHARED_MODULE" /Fp"$(INTDIR)\ApacheModuleProxy.pch" /YX\
  - /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
  + "_WINDOWS" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN"\
  + /Fp"$(INTDIR)\ApacheModuleProxy.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" 
/FD\
  + /c 
   CPP_OBJS=.\Release/
   CPP_SBRS=.
  -
  -.c{$(CPP_OBJS)}.obj::
  -   $(CPP) @<<
  -   $(CPP_PROJ) $< 
  -<<
  -
  -.cpp{$(CPP_OBJS)}.obj::
  -   $(CPP) @<<
  -   $(CPP_PROJ) $< 
  -<<
  -
  -.cxx{$(CPP_OBJS)}.obj::
  -   $(CPP) @<<
  -   $(CPP_PROJ) $< 
  -<<
  -
  -.c{$(CPP_SBRS)}.sbr::
  -   $(CPP) @<<
  -   $(CPP_PROJ) $< 
  -<<
  -
  -.cpp{$(CPP_SBRS)}.sbr::
  -   $(CPP) @<<
  -   $(CPP_PROJ) $< 
  -<<
  -
  -.cxx{$(CPP_SBRS)}.sbr::
  -   $(CPP) @<<
  -   $(CPP_PROJ) $< 
  -<<
  -
  -MTL=midl.exe
   MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 
  -RSC=rc.exe
   BSC32=bscmake.exe
   BSC32_FLAGS=/nologo /o"$(OUTDIR)\ApacheModuleProxy.bsc" 
   BSC32_SBRS= \
        
   LINK32=link.exe
   LINK32_FLAGS=..\..\CoreR\ApacheCore.lib kernel32.lib user32.lib gdi32.lib\
  - winspool.lib comdlg32.lib advapi32.lib shell32.lib wsock32.lib /nologo\
  + winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo\
    /subsystem:windows /dll /incremental:no 
/pdb:"$(OUTDIR)\ApacheModuleProxy.pdb"\
    /machine:I386 /out:"$(OUTDIR)\ApacheModuleProxy.dll"\
    /implib:"$(OUTDIR)\ApacheModuleProxy.lib" 
  @@ -162,13 +133,38 @@
   "$(OUTDIR)" :
       if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
   
  -CPP=cl.exe
   CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\include" /D "_DEBUG" /D\
  - "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" 
/Fp"$(INTDIR)\ApacheModuleProxy.pch"\
  - /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
  + "WIN32" /D "_WINDOWS" /D "SHARED_MODULE" /D "WIN32_LEAN_AND_MEAN"\
  + /Fp"$(INTDIR)\ApacheModuleProxy.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" 
/FD\
  + /c 
   CPP_OBJS=.\Debug/
   CPP_SBRS=.
  +MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 
  +BSC32=bscmake.exe
  +BSC32_FLAGS=/nologo /o"$(OUTDIR)\ApacheModuleProxy.bsc" 
  +BSC32_SBRS= \
  +     
  +LINK32=link.exe
  +LINK32_FLAGS=..\..\CoreD\ApacheCore.lib kernel32.lib user32.lib gdi32.lib\
  + winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo\
  + /subsystem:windows /dll /incremental:yes 
/pdb:"$(OUTDIR)\ApacheModuleProxy.pdb"\
  + /debug /machine:I386 /out:"$(OUTDIR)\ApacheModuleProxy.dll"\
  + /implib:"$(OUTDIR)\ApacheModuleProxy.lib" 
  +LINK32_OBJS= \
  +     "$(INTDIR)\mod_proxy.obj" \
  +     "$(INTDIR)\proxy_cache.obj" \
  +     "$(INTDIR)\proxy_connect.obj" \
  +     "$(INTDIR)\proxy_ftp.obj" \
  +     "$(INTDIR)\proxy_http.obj" \
  +     "$(INTDIR)\proxy_util.obj"
  +
  +"$(OUTDIR)\ApacheModuleProxy.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
  +    $(LINK32) @<<
  +  $(LINK32_FLAGS) $(LINK32_OBJS)
  +<<
   
  +!ENDIF 
  +
   .c{$(CPP_OBJS)}.obj::
      $(CPP) @<<
      $(CPP_PROJ) $< 
  @@ -199,35 +195,7 @@
      $(CPP_PROJ) $< 
   <<
   
  -MTL=midl.exe
  -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 
  -RSC=rc.exe
  -BSC32=bscmake.exe
  -BSC32_FLAGS=/nologo /o"$(OUTDIR)\ApacheModuleProxy.bsc" 
  -BSC32_SBRS= \
  -     
  -LINK32=link.exe
  -LINK32_FLAGS=..\..\CoreD\ApacheCore.lib kernel32.lib user32.lib gdi32.lib\
  - winspool.lib comdlg32.lib advapi32.lib shell32.lib wsock32.lib /nologo\
  - /subsystem:windows /dll /incremental:yes 
/pdb:"$(OUTDIR)\ApacheModuleProxy.pdb"\
  - /debug /machine:I386 /out:"$(OUTDIR)\ApacheModuleProxy.dll"\
  - /implib:"$(OUTDIR)\ApacheModuleProxy.lib" 
  -LINK32_OBJS= \
  -     "$(INTDIR)\mod_proxy.obj" \
  -     "$(INTDIR)\proxy_cache.obj" \
  -     "$(INTDIR)\proxy_connect.obj" \
  -     "$(INTDIR)\proxy_ftp.obj" \
  -     "$(INTDIR)\proxy_http.obj" \
  -     "$(INTDIR)\proxy_util.obj"
  -
  -"$(OUTDIR)\ApacheModuleProxy.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
  -    $(LINK32) @<<
  -  $(LINK32_FLAGS) $(LINK32_OBJS)
  -<<
   
  -!ENDIF 
  -
  -
   !IF "$(CFG)" == "ApacheModuleProxy - Win32 Release" || "$(CFG)" ==\
    "ApacheModuleProxy - Win32 Debug"
   SOURCE=.\mod_proxy.c
  @@ -239,6 +207,7 @@
        "..\..\include\ap.h"\
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
  @@ -264,12 +233,14 @@
        "..\..\include\ap.h"\
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
        "..\..\include\http_config.h"\
        "..\..\include\http_log.h"\
        "..\..\include\http_protocol.h"\
  +     "..\..\include\http_request.h"\
        "..\..\include\http_vhost.h"\
        "..\..\include\httpd.h"\
        "..\..\include\util_uri.h"\
  @@ -293,9 +264,11 @@
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
        "..\..\include\ap_md5.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
  +     "..\..\include\http_conf_globals.h"\
        "..\..\include\http_config.h"\
        "..\..\include\http_log.h"\
        "..\..\include\http_main.h"\
  @@ -320,9 +293,11 @@
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
        "..\..\include\ap_md5.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
  +     "..\..\include\http_conf_globals.h"\
        "..\..\include\http_config.h"\
        "..\..\include\http_log.h"\
        "..\..\include\http_main.h"\
  @@ -350,6 +325,7 @@
        "..\..\include\ap.h"\
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
  @@ -374,6 +350,7 @@
        "..\..\include\ap.h"\
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
  @@ -402,10 +379,12 @@
        "..\..\include\ap.h"\
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
        "..\..\include\http_config.h"\
  +     "..\..\include\http_core.h"\
        "..\..\include\http_log.h"\
        "..\..\include\http_main.h"\
        "..\..\include\http_protocol.h"\
  @@ -426,10 +405,12 @@
        "..\..\include\ap.h"\
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
        "..\..\include\http_config.h"\
  +     "..\..\include\http_core.h"\
        "..\..\include\http_log.h"\
        "..\..\include\http_main.h"\
        "..\..\include\http_protocol.h"\
  @@ -454,6 +435,7 @@
        "..\..\include\ap.h"\
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
  @@ -480,6 +462,7 @@
        "..\..\include\ap.h"\
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
  @@ -511,6 +494,7 @@
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
        "..\..\include\ap_md5.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
  @@ -520,6 +504,7 @@
        "..\..\include\http_protocol.h"\
        "..\..\include\httpd.h"\
        "..\..\include\multithread.h"\
  +     "..\..\include\util_date.h"\
        "..\..\include\util_uri.h"\
        "..\..\os\win32\os.h"\
        "..\..\os\win32\readdir.h"\
  @@ -537,6 +522,7 @@
        "..\..\include\ap_config.h"\
        "..\..\include\ap_ctype.h"\
        "..\..\include\ap_md5.h"\
  +     "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
        "..\..\include\explain.h"\
        "..\..\include\hsregex.h"\
  @@ -546,6 +532,7 @@
        "..\..\include\http_protocol.h"\
        "..\..\include\httpd.h"\
        "..\..\include\multithread.h"\
  +     "..\..\include\util_date.h"\
        "..\..\include\util_uri.h"\
        "..\..\os\win32\os.h"\
        "..\..\os\win32\readdir.h"\
  
  
  
  1.11      +2 -0      apache-apr/pthreads/src/modules/proxy/proxy_cache.c
  
  Index: proxy_cache.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/proxy/proxy_cache.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -d -u -r1.10 -r1.11
  --- proxy_cache.c     1999/06/10 06:26:22     1.10
  +++ proxy_cache.c     1999/08/19 20:52:57     1.11
  @@ -1129,6 +1129,8 @@
            *p = '\0';
   #ifdef WIN32
            if (mkdir(c->filename) < 0 && errno != EEXIST)
  +#elif defined(__TANDEM)
  +         if (mkdir(c->filename, S_IRWXU | S_IRWXG | S_IRWXO) < 0 && errno != 
EEXIST)
   #else
            if (mkdir(c->filename, S_IREAD | S_IWRITE | S_IEXEC) < 0 && errno 
!= EEXIST)
   #endif /* WIN32 */
  
  
  
  1.10      +1 -1      apache-apr/pthreads/src/modules/proxy/proxy_ftp.c
  
  Index: proxy_ftp.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/proxy/proxy_ftp.c,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -d -u -r1.9 -r1.10
  --- proxy_ftp.c       1999/06/10 06:26:22     1.9
  +++ proxy_ftp.c       1999/08/19 20:52:58     1.10
  @@ -509,7 +509,7 @@
        */
       if ((password = ap_table_get(r->headers_in, "Authorization")) != NULL
        && strcasecmp(ap_getword(r->pool, &password, ' '), "Basic") == 0
  -     && (password = ap_uudecode(r->pool, password))[0] != ':') {
  +     && (password = ap_pbase64decode(r->pool, password))[0] != ':') {
        /* Note that this allocation has to be made from r->connection->pool
         * because it has the lifetime of the connection.  The other allocations
         * are temporary and can be tossed away any time.
  
  
  
  1.3       +1 -0      apache-apr/pthreads/src/modules/standard/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/.cvsignore,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- .cvsignore        1999/06/10 06:26:24     1.2
  +++ .cvsignore        1999/08/19 20:53:05     1.3
  @@ -3,3 +3,4 @@
   *.so
   *.dll
   *.def
  +*.exp
  
  
  
  1.3       +1 -1      apache-apr/pthreads/src/modules/standard/mod_access.c
  
  Index: mod_access.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_access.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- mod_access.c      1999/02/07 06:29:50     1.2
  +++ mod_access.c      1999/08/19 20:53:06     1.3
  @@ -202,7 +202,7 @@
            mask = htonl(mask);
        }
        a->x.ip.mask = mask;
  -
  +        a->x.ip.net  = (a->x.ip.net & mask);   /* pjr - This fixes PR 4770 */
       }
       else if (ap_isdigit(*where) && is_ip(where)) {
        /* legacy syntax for ip addrs: a.b.c. ==> a.b.c.0/24 for example */
  
  
  
  1.5       +0 -1      apache-apr/pthreads/src/modules/standard/mod_auth.c
  
  Index: mod_auth.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_auth.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- mod_auth.c        1999/04/09 04:10:39     1.4
  +++ mod_auth.c        1999/08/19 20:53:07     1.5
  @@ -74,7 +74,6 @@
   #include "http_core.h"
   #include "http_log.h"
   #include "http_protocol.h"
  -#include "ap_md5.h"
   
   typedef struct auth_config_struct {
       char *auth_pwfile;
  
  
  
  1.5       +0 -1      apache-apr/pthreads/src/modules/standard/mod_auth_db.c
  
  Index: mod_auth_db.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_auth_db.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- mod_auth_db.c     1999/04/09 04:10:40     1.4
  +++ mod_auth_db.c     1999/08/19 20:53:07     1.5
  @@ -96,7 +96,6 @@
   #include "http_log.h"
   #include "http_protocol.h"
   #include <db.h>
  -#include "ap_md5.h"
   
   #if defined(DB_VERSION_MAJOR) && (DB_VERSION_MAJOR == 2)
   #define DB2
  
  
  
  1.6       +0 -1      apache-apr/pthreads/src/modules/standard/mod_auth_dbm.c
  
  Index: mod_auth_dbm.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_auth_dbm.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -d -u -r1.5 -r1.6
  --- mod_auth_dbm.c    1999/06/10 06:26:25     1.5
  +++ mod_auth_dbm.c    1999/08/19 20:53:07     1.6
  @@ -80,7 +80,6 @@
   #else
   #include <ndbm.h>
   #endif
  -#include "ap_md5.h"
   
   /*
    * Module definition information - the part between the -START and -END
  
  
  
  1.7       +11 -0     apache-apr/pthreads/src/modules/standard/mod_cgi.c
  
  Index: mod_cgi.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_cgi.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -d -u -r1.6 -r1.7
  --- mod_cgi.c 1999/06/10 06:26:25     1.6
  +++ mod_cgi.c 1999/08/19 20:53:08     1.7
  @@ -210,8 +210,19 @@
        /* Soak up script output */
        while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_in) > 0)
            continue;
  +#ifdef WIN32
  +        /* Soak up stderr and redirect it to the error log.
  +         * Script output to stderr is already directed to the error log
  +         * on Unix, thanks to the magic of fork().
  +         */
  +        while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0) {
  +            ap_log_rerror(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, r, 
  +                          "%s", argsbuffer);            
  +        }
  +#else
        while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0)
            continue;
  +#endif
        return ret;
       }
   
  
  
  
  1.6       +9 -0      apache-apr/pthreads/src/modules/standard/mod_log_config.c
  
  Index: mod_log_config.c
  ===================================================================
  RCS file: 
/home/cvs/apache-apr/pthreads/src/modules/standard/mod_log_config.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -d -u -r1.5 -r1.6
  --- mod_log_config.c  1999/06/10 06:26:26     1.5
  +++ mod_log_config.c  1999/08/19 20:53:08     1.6
  @@ -122,6 +122,7 @@
    * %...f:  filename
    * %...h:  remote host
    * %...a:  remote IP-address
  + * %...A:  local IP-address
    * %...{Foobar}i:  The contents of Foobar: header line(s) in the request
    *                 sent to the client.
    * %...l:  remote logname (from identd, if supplied)
  @@ -289,6 +290,11 @@
       return r->connection->remote_ip;
   }
   
  +static const char *log_local_address(request_rec *r, char *a)
  +{
  +    return r->connection->local_ip;
  +}
  +
   static const char *log_remote_logname(request_rec *r, char *a)
   {
       return ap_get_remote_logname(r);
  @@ -445,6 +451,9 @@
       },
       {   
           'a', log_remote_address, 0 
  +    },
  +    {   
  +        'A', log_local_address, 0 
       },
       {
           'l', log_remote_logname, 0
  
  
  
  1.6       +40 -51    apache-apr/pthreads/src/modules/standard/mod_rewrite.c
  
  Index: mod_rewrite.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_rewrite.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -d -u -r1.5 -r1.6
  --- mod_rewrite.c     1999/06/10 06:26:27     1.5
  +++ mod_rewrite.c     1999/08/19 20:53:09     1.6
  @@ -91,6 +91,10 @@
   
   #include "mod_rewrite.h"
   
  +#ifndef NO_WRITEV
  +#include <sys/types.h>
  +#include <sys/uio.h>
  +#endif
   
   /*
   ** +-------------------------------------------------------+
  @@ -158,9 +162,9 @@
       { "RewriteBase",     cmd_rewritebase,     NULL, OR_FILEINFO, TAKE1,
         "the base URL of the per-directory context" },
       { "RewriteCond",     cmd_rewritecond,     NULL, OR_FILEINFO, RAW_ARGS,
  -      "a input string and a to be applied regexp-pattern" },
  +      "an input string and a to be applied regexp-pattern" },
       { "RewriteRule",     cmd_rewriterule,     NULL, OR_FILEINFO, RAW_ARGS,
  -      "a URL-applied regexp-pattern and a substitution URL" },
  +      "an URL-applied regexp-pattern and a substitution URL" },
       { "RewriteMap",      cmd_rewritemap,      NULL, RSRC_CONF,   TAKE2,
         "a mapname and a filename" },
       { "RewriteLock",     cmd_rewritelock,     NULL, RSRC_CONF,   TAKE1,
  @@ -208,6 +212,8 @@
       /* whether proxy module is available or not */
   static int proxy_available;
   
  +static char *lockname;
  +static int lockfd = -1;
   
   /*
   ** +-------------------------------------------------------+
  @@ -234,8 +240,6 @@
       a->rewritelogfile  = NULL;
       a->rewritelogfp    = -1;
       a->rewriteloglevel = 0;
  -    a->rewritelockfile = NULL;
  -    a->rewritelockfp   = -1;
       a->rewritemaps     = ap_make_array(p, 2, sizeof(rewritemap_entry));
       a->rewriteconds    = ap_make_array(p, 2, sizeof(rewritecond_entry));
       a->rewriterules    = ap_make_array(p, 2, sizeof(rewriterule_entry));
  @@ -270,12 +274,6 @@
           a->rewritelogfp    = overrides->rewritelogfp != -1 
                                ? overrides->rewritelogfp 
                                : base->rewritelogfp;
  -        a->rewritelockfile = overrides->rewritelockfile != NULL
  -                             ? overrides->rewritelockfile
  -                             : base->rewritelockfile;
  -        a->rewritelockfp   = overrides->rewritelockfp != -1
  -                             ? overrides->rewritelockfp
  -                             : base->rewritelockfp;
           a->rewritemaps     = ap_append_arrays(p, overrides->rewritemaps,
                                                 base->rewritemaps);
           a->rewriteconds    = ap_append_arrays(p, overrides->rewriteconds,
  @@ -291,8 +289,6 @@
           a->rewriteloglevel = overrides->rewriteloglevel;
           a->rewritelogfile  = overrides->rewritelogfile;
           a->rewritelogfp    = overrides->rewritelogfp;
  -        a->rewritelockfile = overrides->rewritelockfile;
  -        a->rewritelockfp   = overrides->rewritelockfp;
           a->rewritemaps     = overrides->rewritemaps;
           a->rewriteconds    = overrides->rewriteconds;
           a->rewriterules    = overrides->rewriterules;
  @@ -528,15 +524,12 @@
   
   static const char *cmd_rewritelock(cmd_parms *cmd, void *dconf, char *a1)
   {
  -    rewrite_server_conf *sconf;
       const char *error;
   
       if ((error = ap_check_cmd_context(cmd, GLOBAL_ONLY)) != NULL)
           return error;
  -    sconf = (rewrite_server_conf *)
  -            ap_get_module_config(cmd->server->module_config, 
&rewrite_module);
   
  -    sconf->rewritelockfile = a1;
  +    lockname = a1;
   
       return NULL;
   }
  @@ -2920,6 +2913,9 @@
       char buf[LONG_STRING_LEN];
       char c;
       int i;
  +#ifndef NO_WRITEV
  +    struct iovec iov[2];
  +#endif
   
       /* when `RewriteEngine off' was used in the per-server
        * context then the rewritemap-programs were not spawned.
  @@ -2934,8 +2930,16 @@
       rewritelock_alloc(r);
   
       /* write out the request key */
  +#ifdef NO_WRITEV
       write(fpin, key, strlen(key));
       write(fpin, "\n", 1);
  +#else
  +    iov[0].iov_base = key;
  +    iov[0].iov_len = strlen(key);
  +    iov[1].iov_base = "\n";
  +    iov[1].iov_len = 1;
  +    writev(fpin, iov, 2);
  +#endif
   
       /* read in the response value */
       i = 0;
  @@ -3254,28 +3258,26 @@
       conf = ap_get_module_config(s->module_config, &rewrite_module);
   
       /* only operate if a lockfile is used */
  -    if (conf->rewritelockfile == NULL
  -        || *(conf->rewritelockfile) == '\0') {
  +    if (lockname == NULL || *(lockname) == '\0') {
           return;
       }
   
       /* fixup the path, especially for rewritelock_remove() */
  -    conf->rewritelockfile = ap_server_root_relative(p, 
conf->rewritelockfile);
  +    lockname = ap_server_root_relative(p, lockname);
   
       /* create the lockfile */
  -    unlink(conf->rewritelockfile);
  -    if ((conf->rewritelockfp = ap_popenf(p, conf->rewritelockfile,
  -                                         O_WRONLY|O_CREAT,
  +    unlink(lockname);
  +    if ((lockfd = ap_popenf(p, lockname, O_WRONLY|O_CREAT,
                                            REWRITELOCK_MODE)) < 0) {
           ap_log_error(APLOG_MARK, APLOG_ERR, s,
                        "mod_rewrite: Parent could not create RewriteLock "
  -                     "file %s", conf->rewritelockfile);
  +                     "file %s", lockname);
           exit(1);
       }
   #if !defined(OS2) && !defined(WIN32)
       /* make sure the childs have access to this file */
       if (geteuid() == 0 /* is superuser */)
  -        chown(conf->rewritelockfile, ap_user_id, -1 /* no gid change */);
  +        chown(lockname, ap_user_id, -1 /* no gid change */);
   #endif
   
       return;
  @@ -3288,18 +3290,16 @@
       conf = ap_get_module_config(s->module_config, &rewrite_module);
   
       /* only operate if a lockfile is used */
  -    if (conf->rewritelockfile == NULL
  -        || *(conf->rewritelockfile) == '\0') {
  +    if (lockname == NULL || *(lockname) == '\0') {
           return;
       }
   
       /* open the lockfile (once per child) to get a unique fd */
  -    if ((conf->rewritelockfp = ap_popenf(p, conf->rewritelockfile,
  -                                         O_WRONLY,
  +    if ((lockfd = ap_popenf(p, lockname, O_WRONLY,
                                            REWRITELOCK_MODE)) < 0) {
           ap_log_error(APLOG_MARK, APLOG_ERR, s,
                        "mod_rewrite: Child could not open RewriteLock "
  -                     "file %s", conf->rewritelockfile);
  +                     "file %s", lockname);
           exit(1);
       }
       return;
  @@ -3307,43 +3307,29 @@
   
   static void rewritelock_remove(void *data)
   {
  -    server_rec *s;
  -    rewrite_server_conf *conf;
  -
  -    /* the data is really the server_rec */
  -    s = (server_rec *)data;
  -    conf = ap_get_module_config(s->module_config, &rewrite_module);
  -
       /* only operate if a lockfile is used */
  -    if (conf->rewritelockfile == NULL
  -        || *(conf->rewritelockfile) == '\0') {
  +    if (lockname == NULL || *(lockname) == '\0') {
           return;
       }
   
       /* remove the lockfile */
  -    unlink(conf->rewritelockfile);
  +    unlink(lockname);
  +    lockname = NULL;
  +    lockfd = -1;
   }
   
   static void rewritelock_alloc(request_rec *r)
   {
  -    rewrite_server_conf *conf;
  -
  -    conf = ap_get_module_config(r->server->module_config, &rewrite_module);
  -
  -    if (conf->rewritelockfp != -1) {
  -        fd_lock(r, conf->rewritelockfp);
  +    if (lockfd != -1) {
  +        fd_lock(r, lockfd);
       }
       return;
   }
   
   static void rewritelock_free(request_rec *r)
   {
  -    rewrite_server_conf *conf;
  -
  -    conf = ap_get_module_config(r->server->module_config, &rewrite_module);
  -
  -    if (conf->rewritelockfp != -1) {
  -        fd_unlock(r, conf->rewritelockfp);
  +    if (lockfd != -1) {
  +        fd_unlock(r, lockfd);
       }
       return;
   }
  @@ -3613,6 +3599,9 @@
       }
       else if (strcasecmp(var, "SERVER_NAME") == 0) {
           result = ap_get_server_name(r);
  +    }
  +    else if (strcasecmp(var, "SERVER_ADDR") == 0) { /* non-standard */
  +        result = r->connection->local_ip;
       }
       else if (strcasecmp(var, "SERVER_PORT") == 0) {
           ap_snprintf(resultbuf, sizeof(resultbuf), "%u", 
ap_get_server_port(r));
  
  
  
  1.5       +1 -3      apache-apr/pthreads/src/modules/standard/mod_rewrite.h
  
  Index: mod_rewrite.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_rewrite.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- mod_rewrite.h     1999/06/10 06:26:28     1.4
  +++ mod_rewrite.h     1999/08/19 20:53:10     1.5
  @@ -157,7 +157,7 @@
   #endif
   #if !defined(USE_FCNTL) && !defined(USE_FLOCK)
   #define USE_FLOCK 1
  -#if !defined(MPE) && !defined(WIN32)
  +#if !defined(MPE) && !defined(WIN32) && !defined(__TANDEM)
   #include <sys/file.h>
   #endif
   #ifndef LOCK_UN
  @@ -302,8 +302,6 @@
       char         *rewritelogfile;  /* the RewriteLog filename */
       int           rewritelogfp;    /* the RewriteLog open filepointer */
       int           rewriteloglevel; /* the RewriteLog level of verbosity */
  -    char         *rewritelockfile; /* the RewriteLock filename */
  -    int           rewritelockfp;   /* the RewriteLock open filepointer */
       array_header *rewritemaps;     /* the RewriteMap entries */
       array_header *rewriteconds;    /* the RewriteCond entries (temporary) */
       array_header *rewriterules;    /* the RewriteRule entries */
  
  
  
  1.5       +3 -3      apache-apr/pthreads/src/modules/standard/mod_unique_id.c
  
  Index: mod_unique_id.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_unique_id.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- mod_unique_id.c   1999/05/30 23:49:01     1.4
  +++ mod_unique_id.c   1999/08/19 20:53:10     1.5
  @@ -110,7 +110,7 @@
    * saving cpu cycles.  The counter is never reset, and is used to permit up 
to
    * 64k requests in a single second by a single child.
    *
  - * The 112-bits of unique_id_rec are uuencoded using the alphabet
  + * The 112-bits of unique_id_rec are encoded using the alphabet
    * [EMAIL PROTECTED], resulting in 19 bytes of printable characters.  That 
is then
    * stuffed into the environment variable UNIQUE_ID so that it is available to
    * other modules.  The alphabet choice differs from normal base64 encoding
  @@ -190,7 +190,7 @@
                                  unique_id_rec_size[4];
   
       /*
  -     * Calculate the size of the structure when uuencoded.
  +     * Calculate the size of the structure when encoded.
        */
       unique_id_rec_size_uu = (unique_id_rec_total_size*8+5)/6;
   
  @@ -305,7 +305,7 @@
       cur_unique_id.counter = htons(cur_unique_id.counter);
   }
   
  -/* NOTE: This is *NOT* the same encoding used by uuencode ... the last two
  +/* NOTE: This is *NOT* the same encoding used by base64encode ... the last 
two
    * characters should be + and /.  But those two characters have very special
    * meanings in URLs, and we want to make it easy to use identifiers in
    * URLs.  So we replace them with @ and -.
  
  
  
  1.2       +45 -3     apache-apr/pthreads/src/os/bs2000/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/bs2000/Makefile.tmpl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- Makefile.tmpl     1999/01/21 23:08:39     1.1
  +++ Makefile.tmpl     1999/08/19 20:53:20     1.2
  @@ -36,7 +36,49 @@
            && rm Makefile.new
   
   $(OBJS): Makefile
  -os.o:        os.c os-inline.c
  -ebcdic.o: ebcdic.c
  +
   # DO NOT REMOVE
  -os.o:        os.c
  +bs2login.o: bs2login.c
  +bs2login.o: $(INCDIR)/httpd.h
  +bs2login.o: $(INCDIR)/ap_config.h
  +bs2login.o: $(INCDIR)/ap_mmn.h
  +bs2login.o: $(INCDIR)/ap_config_auto.h
  +bs2login.o: os.h
  +bs2login.o: $(INCDIR)/ap_ctype.h
  +bs2login.o: $(INCDIR)/hsregex.h
  +bs2login.o: $(INCDIR)/alloc.h
  +bs2login.o: $(INCDIR)/buff.h
  +bs2login.o: $(INCDIR)/ap.h
  +bs2login.o: ebcdic.h
  +bs2login.o: $(INCDIR)/util_uri.h
  +bs2login.o: $(INCDIR)/http_config.h
  +bs2login.o: $(INCDIR)/http_log.h
  +ebcdic.o: ebcdic.c
  +ebcdic.o: $(INCDIR)/ap_config.h
  +ebcdic.o: $(INCDIR)/ap_mmn.h
  +ebcdic.o: $(INCDIR)/ap_config_auto.h
  +ebcdic.o: os.h
  +ebcdic.o: $(INCDIR)/ap_ctype.h
  +ebcdic.o: $(INCDIR)/hsregex.h
  +ebcdic.o: ebcdic.h
  +os-inline.o: os-inline.c
  +os-inline.o: $(INCDIR)/ap_config.h
  +os-inline.o: $(INCDIR)/ap_mmn.h
  +os-inline.o: $(INCDIR)/ap_config_auto.h
  +os-inline.o: os.h
  +os-inline.o: $(INCDIR)/ap_ctype.h
  +os-inline.o: $(INCDIR)/hsregex.h
  +os.o: os.c
  +os.o: $(INCDIR)/httpd.h
  +os.o: $(INCDIR)/ap_config.h
  +os.o: $(INCDIR)/ap_mmn.h
  +os.o: $(INCDIR)/ap_config_auto.h
  +os.o: os.h
  +os.o: $(INCDIR)/ap_ctype.h
  +os.o: $(INCDIR)/hsregex.h
  +os.o: $(INCDIR)/alloc.h
  +os.o: $(INCDIR)/buff.h
  +os.o: $(INCDIR)/ap.h
  +os.o: ebcdic.h
  +os.o: $(INCDIR)/util_uri.h
  +os.o: $(INCDIR)/http_core.h
  
  
  
  1.3       +13 -1     apache-apr/pthreads/src/os/bs2000/bs2login.c
  
  Index: bs2login.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/bs2000/bs2login.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- bs2login.c        1999/02/07 06:30:10     1.2
  +++ bs2login.c        1999/08/19 20:53:21     1.3
  @@ -255,6 +255,7 @@
   pid_t os_fork(const char *user)
   {
       pid_t pid;
  +    char  username[USER_LEN+1];
   
       switch (os_forktype()) {
         case bs2_FORK:
  @@ -267,7 +268,18 @@
        break;
   
         case bs2_UFORK:
  -     pid = ufork(user);
  +     ap_cpystrn(username, user, sizeof username);
  +
  +     /* Make user name all upper case - for some versions of ufork() */
  +     ap_str_toupper(username);
  +
  +     pid = ufork(username);
  +     if (pid == -1 && errno == EPERM) {
  +         ap_log_error(APLOG_MARK, APLOG_EMERG,
  +                      NULL, "ufork: Possible mis-configuration "
  +                      "for user %s - Aborting.", user);
  +         exit(1);
  +     }
        break;
   
         default:
  
  
  
  1.5       +10 -2     apache-apr/pthreads/src/os/bs2000/os.h
  
  Index: os.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/bs2000/os.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- os.h      1999/06/10 06:26:36     1.4
  +++ os.h      1999/08/19 20:53:21     1.5
  @@ -9,8 +9,6 @@
    * and prototypes of OS specific functions defined in os.c or os-inline.c
    */
   
  -#include "ap_config.h"
  -
   #if !defined(INLINE) && defined(USE_GNU_INLINE)
   /* Compiler supports inline, so include the inlineable functions as
    * part of the header
  @@ -33,6 +31,16 @@
   
   #define ap_os_is_filename_valid(f)          (1)
   #define ap_os_kill(pid, sig)                kill(pid, sig)
  +
  +#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
  +typedef struct {           
  +    char    *username;     
  +    char    *account;      
  +    char    *processor_name;
  +}  _rini_struct;           
  +
  +extern int _rini(_rini_struct *);
  +#endif /* !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE) */
   
   /* Sorry if this is ugly, but the include order doesn't allow me
    * to use request_rec here... */
  
  
  
  1.4       +1 -2      apache-apr/pthreads/src/os/os2/util_os2.c
  
  Index: util_os2.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/os2/util_os2.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- util_os2.c        1999/06/10 06:26:37     1.3
  +++ util_os2.c        1999/08/19 20:53:22     1.4
  @@ -1,6 +1,5 @@
  -#define INCL_DOSFILEMGR
  +#define INCL_DOS
   #define INCL_DOSERRORS
  -#define INCL_DOSEXCEPTIONS
   #include <os2.h>
   #include "httpd.h"
   #include "http_log.h"
  
  
  
  1.4       +7 -0      apache-apr/pthreads/src/os/tpf/os.c
  
  Index: os.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/tpf/os.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- os.c      1999/06/10 06:26:39     1.3
  +++ os.c      1999/08/19 20:53:23     1.4
  @@ -161,6 +161,13 @@
       return rv;
   }
      
  +/* the getpass function is not usable on TPF */
  +char *getpass(const char* prompt)
  +{
  +    errno = EIO;
  +    return((char *)NULL);
  +}
  +
   #ifndef __PIPE_
   int pipe(int fildes[2])
   {
  
  
  
  1.4       +1 -0      apache-apr/pthreads/src/os/tpf/os.h
  
  Index: os.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/tpf/os.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- os.h      1999/06/10 06:26:39     1.3
  +++ os.h      1999/08/19 20:53:23     1.4
  @@ -95,6 +95,7 @@
   struct server_rec;
   pid_t os_fork(struct server_rec *s, int slot);
   int os_check_server(char *server);
  +char *getpass(const char *prompt);
   extern char *ap_server_argv0;
   extern int scoreboard_fd;
   #include <signal.h>
  
  
  
  1.3       +4 -1      apache-apr/pthreads/src/os/unix/os.c
  
  Index: os.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/unix/os.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- os.c      1999/06/10 06:26:40     1.2
  +++ os.c      1999/08/19 20:53:24     1.3
  @@ -109,7 +109,7 @@
           return NULL;
       return NSLinkModule(image, path, TRUE);
   
  -#elif defined(OSF1) ||\
  +#elif defined(OSF1) || defined(SEQUENT) ||\
       (defined(__FreeBSD_version) && (__FreeBSD_version >= 220000))
       return dlopen((char *)path, RTLD_NOW | RTLD_GLOBAL);
   
  @@ -160,6 +160,9 @@
       retval = dlsym(handle, symbol);
       free(symbol);
       return retval;
  +
  +#elif defined(SEQUENT)
  +    return dlsym(handle, (char *)symname);
   
   #else
       return dlsym(handle, symname);
  
  
  
  1.2       +4 -4      apache-apr/pthreads/src/os/win32/ApacheModuleRewrite.dsp
  
  Index: ApacheModuleRewrite.dsp
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/win32/ApacheModuleRewrite.dsp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- ApacheModuleRewrite.dsp   1999/01/21 23:08:40     1.1
  +++ ApacheModuleRewrite.dsp   1999/08/19 20:53:25     1.2
  @@ -45,7 +45,7 @@
   # PROP Ignore_Export_Lib 0
   # PROP Target_Dir ""
   # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" 
/YX /c
  -# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D "WIN32" 
/D "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE" /YX /FD /c
  +# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D "WIN32" 
/D "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE" /D 
"WIN32_LEAN_AND_MEAN" /YX /FD /c
   # ADD BASE MTL /nologo /D "NDEBUG" /win32
   # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
   # ADD BASE RSC /l 0x809 /d "NDEBUG"
  @@ -55,7 +55,7 @@
   # ADD BSC32 /nologo
   LINK32=link.exe
   # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib 
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
  -# ADD LINK32 ..\..\CoreR\ApacheCore.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib comdlg32.lib advapi32.lib shell32.lib wsock32.lib /nologo 
/subsystem:windows /dll /machine:I386
  +# ADD LINK32 ..\..\CoreR\ApacheCore.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo 
/subsystem:windows /dll /machine:I386
   
   !ELSEIF  "$(CFG)" == "ApacheModuleRewrite - Win32 Debug"
   
  @@ -71,7 +71,7 @@
   # PROP Ignore_Export_Lib 0
   # PROP Target_Dir ""
   # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D 
"_WINDOWS" /YX /c
  -# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\include" /D "_DEBUG" /D 
"WIN32" /D "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE" /YX /FD /c
  +# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\include" /D "_DEBUG" /D 
"WIN32" /D "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE" /D 
"WIN32_LEAN_AND_MEAN" /YX /FD /c
   # ADD BASE MTL /nologo /D "_DEBUG" /win32
   # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
   # ADD BASE RSC /l 0x809 /d "_DEBUG"
  @@ -81,7 +81,7 @@
   # ADD BSC32 /nologo
   LINK32=link.exe
   # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib 
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
  -# ADD LINK32 ..\..\CoreD\ApacheCore.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib comdlg32.lib advapi32.lib shell32.lib wsock32.lib /nologo 
/subsystem:windows /dll /debug /machine:I386
  +# ADD LINK32 ..\..\CoreD\ApacheCore.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo 
/subsystem:windows /dll /debug /machine:I386
   
   !ENDIF 
   
  
  
  
  1.2       +14 -9     apache-apr/pthreads/src/os/win32/ApacheModuleRewrite.mak
  
  Index: ApacheModuleRewrite.mak
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/win32/ApacheModuleRewrite.mak,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- ApacheModuleRewrite.mak   1999/01/21 23:08:40     1.1
  +++ ApacheModuleRewrite.mak   1999/08/19 20:53:25     1.2
  @@ -64,7 +64,7 @@
       if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
   
   CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D "WIN32" 
/D\
  - "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE"\
  + "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE" /D 
"WIN32_LEAN_AND_MEAN"\
    /Fp"$(INTDIR)\ApacheModuleRewrite.pch" /YX /Fo"$(INTDIR)\\" 
/Fd"$(INTDIR)\\"\
    /FD /c 
   CPP_OBJS=.\ApacheModuleRewriteR/
  @@ -76,7 +76,7 @@
        
   LINK32=link.exe
   LINK32_FLAGS=..\..\CoreR\ApacheCore.lib kernel32.lib user32.lib gdi32.lib\
  - winspool.lib comdlg32.lib advapi32.lib shell32.lib wsock32.lib /nologo\
  + winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo\
    /subsystem:windows /dll /incremental:no\
    /pdb:"$(OUTDIR)\ApacheModuleRewrite.pdb" /machine:I386\
    /out:"$(OUTDIR)\ApacheModuleRewrite.dll"\
  @@ -123,9 +123,9 @@
       if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
   
   CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\include" /D "_DEBUG" /D\
  - "WIN32" /D "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE"\
  - /Fp"$(INTDIR)\ApacheModuleRewrite.pch" /YX /Fo"$(INTDIR)\\" 
/Fd"$(INTDIR)\\"\
  - /FD /c 
  + "WIN32" /D "_WINDOWS" /D "NO_DBM_REWRITEMAP" /D "SHARED_MODULE" /D\
  + "WIN32_LEAN_AND_MEAN" /Fp"$(INTDIR)\ApacheModuleRewrite.pch" /YX\
  + /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
   CPP_OBJS=.\ApacheModuleRewriteD/
   CPP_SBRS=.
   MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 
  @@ -135,7 +135,7 @@
        
   LINK32=link.exe
   LINK32_FLAGS=..\..\CoreD\ApacheCore.lib kernel32.lib user32.lib gdi32.lib\
  - winspool.lib comdlg32.lib advapi32.lib shell32.lib wsock32.lib /nologo\
  + winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib /nologo\
    /subsystem:windows /dll /incremental:yes\
    /pdb:"$(OUTDIR)\ApacheModuleRewrite.pdb" /debug /machine:I386\
    /out:"$(OUTDIR)\ApacheModuleRewrite.dll"\
  @@ -191,18 +191,21 @@
   DEP_CPP_MOD_R=\
        "..\..\include\alloc.h"\
        "..\..\include\ap.h"\
  +     "..\..\include\ap_config.h"\
  +     "..\..\include\ap_ctype.h"\
        "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
  -     "..\..\include\conf.h"\
        "..\..\include\hsregex.h"\
  +     "..\..\include\http_conf_globals.h"\
        "..\..\include\http_config.h"\
        "..\..\include\http_core.h"\
        "..\..\include\http_log.h"\
        "..\..\include\http_request.h"\
  +     "..\..\include\http_vhost.h"\
        "..\..\include\httpd.h"\
  +     "..\..\include\util_uri.h"\
        "..\..\modules\standard\mod_rewrite.h"\
        ".\os.h"\
  -     ".\passwd.h"\
        ".\readdir.h"\
        
   
  @@ -215,10 +218,12 @@
   DEP_CPP_MOD_R=\
        "..\..\include\alloc.h"\
        "..\..\include\ap.h"\
  +     "..\..\include\ap_config.h"\
  +     "..\..\include\ap_ctype.h"\
        "..\..\include\ap_mmn.h"\
        "..\..\include\buff.h"\
  -     "..\..\include\conf.h"\
        "..\..\include\hsregex.h"\
  +     "..\..\include\http_conf_globals.h"\
        "..\..\include\http_config.h"\
        "..\..\include\http_core.h"\
        "..\..\include\http_log.h"\
  
  
  
  1.6       +1 -1      apache-apr/pthreads/src/os/win32/os.h
  
  Index: os.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/win32/os.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -d -u -r1.5 -r1.6
  --- os.h      1999/06/10 06:26:41     1.5
  +++ os.h      1999/08/19 20:53:25     1.6
  @@ -21,7 +21,7 @@
   #include <direct.h>
   
   #define STATUS
  -#define WIN32_LEAN_AND_MEAN
  +/*#define WIN32_LEAN_AND_MEAN Now defined in project files */
   #ifndef STRICT
    #define STRICT
   #endif
  
  
  
  1.4       +1 -1      apache-apr/pthreads/src/os/win32/registry.c
  
  Index: registry.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/win32/registry.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- registry.c        1999/06/10 06:26:41     1.3
  +++ registry.c        1999/08/19 20:53:25     1.4
  @@ -38,7 +38,7 @@
   
   #define VENDOR   "Apache Group"
   #define SOFTWARE "Apache"
  -#define VERSION  "1.3.7 dev"
  +#define VERSION  "1.3.9"
   
   #define REGKEY "SOFTWARE\\" VENDOR "\\" SOFTWARE "\\" VERSION
   
  
  
  
  1.3       +28 -29    
apache-apr/pthreads/src/os/win32/installer/installdll/install.c
  
  Index: install.c
  ===================================================================
  RCS file: 
/home/cvs/apache-apr/pthreads/src/os/win32/installer/installdll/install.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- install.c 1999/03/17 17:02:07     1.2
  +++ install.c 1999/08/19 20:53:26     1.3
  @@ -9,8 +9,7 @@
   
   #define VERSION ( "1.003 " __DATE__ " " __TIME__ )
   
  -#include <windows.h>
  -#include <winsock.h>
  +#include <winsock2.h>
   #include <string.h>
   #include <stdio.h>
   #include <direct.h>
  @@ -23,20 +22,14 @@
   #undef strftime
   #endif
   
  +#define AP_WIN32ERROR 1
  +
   /* Global to store the instance handle */
   HINSTANCE hInstance = NULL;
   
   static char *szLogFilename = NULL;
   static FILE *fpLog = NULL;
   
  -void OpenLog(char *dir, char *fn)
  -{
  -    szLogFilename = malloc(strlen(dir) + 1 + strlen(fn) + 1);
  -    sprintf(szLogFilename, "%s/%s", dir, fn);
  -
  -    fpLog = fopen(szLogFilename, "a+");
  -}
  -
   void LogMessage(char *fmt, ...)
   {
       char buf[4000];
  @@ -70,13 +63,6 @@
       fprintf(fpLog, "%s\n", buf);
   }
   
  -void CloseLog(void)
  -{
  -    if (fpLog) {
  -     fclose(fpLog);
  -    }
  -}
  -
   /*
    * MessageBox_error() is a helper function to display an error in a 
    * message box, optionally including a Win32 error message. If
  @@ -87,8 +73,6 @@
    * passed on to the Win32 MessageBox() call.
    */
   
  -#define AP_WIN32ERROR 1
  -
   int MessageBox_error(HWND hWnd, int opt, char *title, 
                     int mb_opt, char *fmt, ...)
   {
  @@ -162,6 +146,29 @@
       return MessageBox(hWnd, buf, title, mb_opt);
   }
   
  +int OpenLog(HWND hwnd, char *dir, char *fn)
  +{
  +    szLogFilename = malloc(strlen(dir) + 1 + strlen(fn) + 1);
  +    sprintf(szLogFilename, "%s\\%s", dir, fn);
  +
  +    if ((fpLog = fopen(szLogFilename, "a+")) == NULL) {
  +     MessageBox_error(hwnd, 
  +                      AP_WIN32ERROR,
  +                      "Installation Problem",
  +                      MB_OK | MB_ICONSTOP,
  +                      "Cannot open log file %s", szLogFilename);
  +     return -1;
  +    }
  +    return 0;
  +}
  +
  +void CloseLog(void)
  +{
  +    if (fpLog) {
  +     fclose(fpLog);
  +    }
  +}
  +
   /*
    * The next few functions handle expanding the @@ServerRoot@@ type
    * sequences found in the distribution files. The main entry point
  @@ -558,14 +565,6 @@
       { CMD_COPY, ".tmp\\highperformance.conf-dist", 
"conf\\highperformance.conf-dist", 
        OPT_EXPAND|OPT_OVERWRITE|OPT_DELETESOURCE },
   
  -    /* Move the default htdocs files into place, provided they don't already
  -     * exist.
  -     */
  -    { CMD_COPY, ".tmp\\index.html", "htdocs\\index.html", 
OPT_DELETESOURCE|OPT_SILENT },
  -    { CMD_RM, ".tmp\\index.html", NULL, OPT_SILENT },
  -    { CMD_COPY, ".tmp\\apache_pb.gif", "htdocs\\apache_pb.gif", 
OPT_DELETESOURCE|OPT_SILENT },
  -    { CMD_RM, ".tmp\\apache_pb.gif", NULL, OPT_SILENT },
  -
       { CMD_RMDIR, ".tmp", NULL },
   
       { CMD_END, NULL, NULL, OPT_NONE }
  @@ -583,7 +582,7 @@
       ACTIONITEM *pactionItem;
       int end = 0;
   
  -    OpenLog(szInst, "install.log");
  +    OpenLog(hwnd, szInst, "install.log");
       LogMessage("STARTED %s", VERSION);
       LogMessage("src=%s support=%s inst=%s",
                szSrcDir, szSupport, szInst);
  @@ -593,7 +592,7 @@
       pactionItem = actionTable;
       while (!end) {
   
  -     LogMessage("command=%d in=%s out=%s options=%d",
  +     LogMessage("command=%d 1in=%s out=%s options=%d",
                   pactionItem->command,
                   pactionItem->in ? pactionItem->in : "NULL",
                   pactionItem->out ? pactionItem->out : "NULL",
  
  
  
  1.2       +1 -0      apache-apr/pthreads/src/regex/debug.c
  
  Index: debug.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/regex/debug.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- debug.c   1999/01/21 23:08:42     1.1
  +++ debug.c   1999/08/19 20:53:27     1.2
  @@ -6,6 +6,7 @@
   #include <sys/types.h>
   
   #include "hsregex.h"
  +#include "ap_ctype.h"
   #include "utils.h"
   #include "regex2.h"
   #include "debug.ih"
  
  
  
  1.2       +2 -2      apache-apr/pthreads/src/regex/main.c
  
  Index: main.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/regex/main.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- main.c    1999/01/21 23:08:42     1.1
  +++ main.c    1999/08/19 20:53:27     1.2
  @@ -20,6 +20,8 @@
   
   extern int split();
   extern void regprint();
  +extern int optind;
  +extern char *optarg;
   
   /*
    - main - do the simple case, hand off to regress() for regression
  @@ -37,8 +39,6 @@
        int c;
        int errflg = 0;
        register int i;
  -     extern int optind;
  -     extern char *optarg;
   
        progname = argv[0];
   
  
  
  
  1.2       +2 -0      apache-apr/pthreads/src/regex/split.c
  
  Index: split.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/regex/split.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- split.c   1999/01/21 23:08:43     1.1
  +++ split.c   1999/08/19 20:53:27     1.2
  @@ -1,6 +1,8 @@
   #include <stdio.h>
   #include <string.h>
   
  +extern int split(char *, char *[], int, char *);
  +
   /*
    - split - divide a string into fields, like awk split()
    = int split(char *string, char *fields[], int nfields, char *sep);
  
  
  
  1.3       +2 -2      apache-apr/pthreads/src/support/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/Makefile.tmpl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- Makefile.tmpl     1999/02/07 06:30:18     1.2
  +++ Makefile.tmpl     1999/08/19 20:53:29     1.3
  @@ -1,6 +1,6 @@
   
   CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
  -LIBS=-los -lap $(EXTRA_LIBS) $(LIBS1)
  +LIBS=-lap -los $(EXTRA_LIBS) $(LIBS1)
   INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
   LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) -L$(OSDIR) -L$(SRCDIR)/ap
   
  @@ -35,7 +35,7 @@
            -e '[EMAIL PROTECTED]@%$(CFLAGS)%g' \
            -e '[EMAIL PROTECTED]@%$(CFLAGS_SHLIB)%g' \
            -e '[EMAIL PROTECTED]@%$(LD_SHLIB)%g' \
  -         -e '[EMAIL PROTECTED]@%$(LDFLAGS_SHLIB)%g' \
  +         -e '[EMAIL PROTECTED]@%$(LDFLAGS_MOD_SHLIB)%g' \
            -e '[EMAIL PROTECTED]@%$(LIBS_SHLIB)%g' && chmod a+x apxs
   
   suexec: suexec.o
  
  
  
  1.2       +5 -0      apache-apr/pthreads/src/support/README
  
  Index: README
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/README,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- README    1999/06/10 06:26:45     1.1
  +++ README    1999/08/19 20:53:29     1.2
  @@ -55,3 +55,8 @@
           see  the  document  `Apache  suEXEC  Support'
        under http://www.apache.org/docs/suexec.html .
   
  +SHA1
  +     This directory includes some utilities to allow Apache 1.3.6 to 
  +     recognize passwords in SHA1 format, as used by Netscape web 
  +     servers. It is not installed by default.
  +
  
  
  
  1.5       +51 -85    apache-apr/pthreads/src/support/ab.c
  
  Index: ab.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/ab.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -d -u -r1.4 -r1.5
  --- ab.c      1999/06/10 06:26:45     1.4
  +++ ab.c      1999/08/19 20:53:29     1.5
  @@ -97,7 +97,7 @@
    *   only an issue for loopback usage
    */
   
  -#define VERSION "1.3"
  +#define VERSION "1.3a"
   
   /*  -------------------------------------------------------------------- */
   
  @@ -123,6 +123,7 @@
   #define ap_select       select
   #else                                /* (!)NO_APACHE_INCLUDES */
   #include "ap_config.h"
  +#include "ap.h"
   #ifdef CHARSET_EBCDIC
   #include "ebcdic.h"
   #endif
  @@ -238,56 +239,6 @@
       exit(errno);
   }
   
  -/* -- simple uuencode, lifted from main/util.c which
  - *    needed the pool, so duplicated here with normal
  - *    malloc.
  - */
  -static const char basis_64[] =
  -"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  -
  -static char *uuencode(char *string)
  -{
  -    int i, len = strlen(string);
  -    char *p;
  -    char *encoded = (char *) malloc((len + 2) / 3 * 4 + 1);
  -    p = encoded;
  -#ifndef CHARSET_EBCDIC
  -    for (i = 0; i < len-2; i += 3) {
  -        *p++ = basis_64[(string[i] >> 2) & 0x3F];
  -        *p++ = basis_64[((string[i] & 0x3) << 4) | ((int) (string[i + 1] & 
0xF0) >> 4)];
  -        *p++ = basis_64[((string[i + 1] & 0xF) << 2) | ((int) (string[i + 2] 
& 0xC0) >> 6)];
  -        *p++ = basis_64[string[i + 2] & 0x3F];
  -    }
  -    if (i < len) {
  -        *p++ = basis_64[(string[i] >> 2) & 0x3F];
  -        *p++ = basis_64[((string[i] & 0x3) << 4) | ((int) (string[i + 1] & 
0xF0) >> 4)];
  -        if (i == (len-2))
  -           *p++ = basis_64[((string[i + 1] & 0xF) << 2)];
  -        else
  -           *p++ = '=';
  -        *p++ = '=';
  -    }
  -#else /*CHARSET_EBCDIC*/
  -    for (i = 0; i < len-2; i += 3) {
  -        *p++ = basis_64[(os_toascii[string[i]] >> 2) & 0x3F];
  -        *p++ = basis_64[((os_toascii[string[i]] & 0x3) << 4) | ((int) 
(os_toascii[string[i + 1]] & 0xF0) >> 4)];
  -        *p++ = basis_64[((os_toascii[string[i + 1]] & 0xF) << 2) | ((int) 
(os_toascii[string[i + 2]] & 0xC0) >> 6)];
  -        *p++ = basis_64[os_toascii[string[i + 2]] & 0x3F];
  -    }
  -    if (i < len) {
  -       *p++ = basis_64[(os_toascii[string[i]] >> 2) & 0x3F];
  -       *p++ = basis_64[((os_toascii[string[i]] & 0x3) << 4) | ((int) 
(os_toascii[string[i + 1]] & 0xF0) >> 4)];
  -       if (i == (len-2))
  -           *p++ = basis_64[((os_toascii[string[i + 1]] & 0xF) << 2)];
  -       else
  -           *p++ = '=';
  -       *p++ = '=';
  -    }
  -#endif /*CHARSET_EBCDIC*/
  -    *p = '\0';
  -    return encoded;
  -}
  -
   /* --------------------------------------------------------- */
   
   /* write out request to a connection - assumes we can write
  @@ -413,13 +364,15 @@
            totalcon += s.ctime;
            total += s.time;
        }
  -     printf("\nConnnection Times (ms)\n");
  -     printf("              min   avg   max\n");
  -     printf("Connect:    %5d %5d %5d\n", mincon, totalcon / requests, 
maxcon);
  -     printf("Processing: %5d %5d %5d\n",
  -            mintot - mincon, (total / requests) - (totalcon / requests),
  -            maxtot - maxcon);
  -     printf("Total:      %5d %5d %5d\n", mintot, total / requests, maxtot);
  +     if (requests > 0) { /* avoid division by zero (if 0 requests) */
  +         printf("\nConnnection Times (ms)\n");
  +         printf("              min   avg   max\n");
  +         printf("Connect:    %5d %5d %5d\n", mincon, totalcon / requests, 
maxcon);
  +         printf("Processing: %5d %5d %5d\n",
  +                mintot - mincon, (total / requests) - (totalcon / requests),
  +                maxtot - maxcon);
  +         printf("Total:      %5d %5d %5d\n", mintot, total / requests, 
maxtot);
  +     }
       }
   }
   
  @@ -521,26 +474,28 @@
            total += s.time;
        }
   
  -     printf("<tr %s><th %s colspan=4>Connnection Times (ms)</th></tr>\n",
  -            trstring, tdstring);
  -     printf("<tr %s><th %s>&nbsp;</th> <th %s>min</th>   <th %s>avg</th>   
<th %s>max</th></tr>\n",
  -            trstring, tdstring, tdstring, tdstring, tdstring);
  -     printf("<tr %s><th %s>Connect:</th>"
  -            "<td %s>%5d</td>"
  -            "<td %s>%5d</td>"
  -            "<td %s>%5d</td></tr>\n",
  -            trstring, tdstring, tdstring, mincon, tdstring, totalcon / 
requests, tdstring, maxcon);
  -     printf("<tr %s><th %s>Processing:</th>"
  -            "<td %s>%5d</td>"
  -            "<td %s>%5d</td>"
  -            "<td %s>%5d</td></tr>\n",
  -            trstring, tdstring, tdstring, mintot - mincon, tdstring,
  -            (total / requests) - (totalcon / requests), tdstring, maxtot - 
maxcon);
  -     printf("<tr %s><th %s>Total:</th>"
  -            "<td %s>%5d</td>"
  -            "<td %s>%5d</td>"
  -            "<td %s>%5d</td></tr>\n",
  -            trstring, tdstring, tdstring, mintot, tdstring, total / 
requests, tdstring, maxtot);
  +     if (requests > 0) { /* avoid division by zero (if 0 requests) */
  +         printf("<tr %s><th %s colspan=4>Connnection Times (ms)</th></tr>\n",
  +                trstring, tdstring);
  +         printf("<tr %s><th %s>&nbsp;</th> <th %s>min</th>   <th %s>avg</th> 
  <th %s>max</th></tr>\n",
  +                trstring, tdstring, tdstring, tdstring, tdstring);
  +         printf("<tr %s><th %s>Connect:</th>"
  +                "<td %s>%5d</td>"
  +                "<td %s>%5d</td>"
  +                "<td %s>%5d</td></tr>\n",
  +                trstring, tdstring, tdstring, mincon, tdstring, totalcon / 
requests, tdstring, maxcon);
  +         printf("<tr %s><th %s>Processing:</th>"
  +                "<td %s>%5d</td>"
  +                "<td %s>%5d</td>"
  +                "<td %s>%5d</td></tr>\n",
  +                trstring, tdstring, tdstring, mintot - mincon, tdstring,
  +                (total / requests) - (totalcon / requests), tdstring, maxtot 
- maxcon);
  +         printf("<tr %s><th %s>Total:</th>"
  +                "<td %s>%5d</td>"
  +                "<td %s>%5d</td>"
  +                "<td %s>%5d</td></tr>\n",
  +                trstring, tdstring, tdstring, mintot, tdstring, total / 
requests, tdstring, maxtot);
  +     }
        printf("</table>\n");
       }
   }
  @@ -1017,7 +972,8 @@
   /* sort out command-line args and call test */
   int main(int argc, char **argv)
   {
  -    int c, r;
  +    int c, r,l;
  +    char tmp[1024];
   
       /* table defaults  */
       tablestring = "";
  @@ -1060,25 +1016,35 @@
        case 'T':
            strcpy(content_type, optarg);
            break;
  -     case 'C':
  +     case 'C': 
            strncat(cookie, "Cookie: ", sizeof(cookie));
            strncat(cookie, optarg, sizeof(cookie));
            strncat(cookie, "\r\n", sizeof(cookie));
            break;
  -     case 'A':
  -         /*
  -          * assume username passwd already to be in colon separated form.
  +     case 'A': 
  +         /* assume username passwd already to be in colon separated form. 
Ready
  +          * to be uu-encoded.
             */
  +         while(isspace(*optarg))
  +             optarg++;
  +         l=ap_base64encode(tmp,optarg,strlen(optarg));
  +         tmp[l]='\0';
  +
            strncat(auth, "Authorization: basic ", sizeof(auth));
  -         strncat(auth, uuencode(optarg), sizeof(auth));
  +         strncat(auth, tmp, sizeof(auth));
            strncat(auth, "\r\n", sizeof(auth));
            break;
        case 'P':
            /*
             * assume username passwd already to be in colon separated form.
             */
  +         while(isspace(*optarg))
  +             optarg++;
  +         l=ap_base64encode(tmp,optarg,strlen(optarg));
  +         tmp[l]='\0';
  +
            strncat(auth, "Proxy-Authorization: basic ", sizeof(auth));
  -         strncat(auth, uuencode(optarg), sizeof(auth));
  +         strncat(auth, tmp, sizeof(auth));
            strncat(auth, "\r\n", sizeof(auth));
            break;
        case 'H':
  
  
  
  1.4       +48 -6     apache-apr/pthreads/src/support/apxs.8
  
  Index: apxs.8
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/apxs.8,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- apxs.8    1999/06/10 06:26:46     1.3
  +++ apxs.8    1999/08/19 20:53:29     1.4
  @@ -56,15 +56,24 @@
   .SH SYNOPSIS
   .B apxs
   .B \-g
  +[
  +.BI \-S " name=value
  +]
   .BI \-n " modname"
   
   .B apxs
   .B \-q
  +[
  +.BI \-S " name=value
  +]
   .IR query " ..."
   
   .B apxs
   .B \-c
   [
  +.BI \-S " name=value
  +]
  +[
   .BI \-o " dsofile"
   ]
   [
  @@ -90,6 +99,25 @@
   .B apxs
   .B \-i
   [
  +.BI \-S " name=value
  +]
  +[
  +.BI \-n " modname"
  +]
  +[
  +.B \-a
  +]
  +[
  +.B \-A
  +]
  +.IR dsofile " ..."
  +
  +.B apxs
  +.B \-e
  +[
  +.BI \-S " name=value
  +]
  +[
   .BI \-n " modname"
   ]
   [
  @@ -219,6 +247,11 @@
   inside your own Makefiles if you need manual access
   to Apache's C header files.
   .PP
  +Configuration options:
  +.TP 12
  +.BI \-S " name=value"
  +This option changes the apxs settings described above.
  +.PP
   Template Generation options:
   .TP 12
   .B \-g
  @@ -289,7 +322,7 @@
   as additional flags to the linker command.
   Use this to add local linker-specific options.
   .PP
  -DSO installation options:
  +DSO installation and configuration options:
   .TP 12
   .B \-i
   This indicates the installation operation and installs one or more
  @@ -299,21 +332,30 @@
   directory.
   .TP 12
   .B \-a
  -This additionally activates the module 
  -by automatically adding a corresponding
  +This activates the module by automatically adding a corresponding
   .B LoadModule
   line to Apache's
   .B httpd.conf
  -configuration file (only if no such entry exists yet).
  +configuration file, or by enabling it if it already exists.
   .TP 12
   .B \-A
   Same as option
   .B \-a
   but the created 
   .B LoadModule
  -directive is
  -prefixed with a hash sign (#), i.e. the module is
  +directive is prefixed with a hash sign (#), i.e. the module is
   just prepared for later activation but initially disabled. 
  +.TP 12
  +.B \-e
  +This indicates the editing operation, which can be used with the
  +.B \-a
  +and
  +.B \-A
  +options similarly to the
  +.B \-i
  +operation to edit Apache's
  +.B httpd.conf
  +configuration file without attempting to install the module.
   .PD
   .SH EXAMPLES
   Assume you have an Apache module named mod_foo.c available which should 
extend
  
  
  
  1.4       +65 -36    apache-apr/pthreads/src/support/apxs.pl
  
  Index: apxs.pl
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/apxs.pl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- apxs.pl   1999/03/17 17:02:11     1.3
  +++ apxs.pl   1999/08/19 20:53:30     1.4
  @@ -68,18 +68,18 @@
   ##  Configuration
   ##
   
  -my $CFG_TARGET        = '@TARGET@';        # substituted via Makefile.tmpl 
  -my $CFG_CC            = '@CC@';            # substituted via Makefile.tmpl
  -my $CFG_CFLAGS        = '@CFLAGS@';        # substituted via Makefile.tmpl
  -my $CFG_CFLAGS_SHLIB  = '@CFLAGS_SHLIB@';  # substituted via Makefile.tmpl
  -my $CFG_LD_SHLIB      = '@LD_SHLIB@';      # substituted via Makefile.tmpl
  -my $CFG_LDFLAGS_SHLIB = '@LDFLAGS_SHLIB@'; # substituted via Makefile.tmpl 
  -my $CFG_LIBS_SHLIB    = '@LIBS_SHLIB@';    # substituted via Makefile.tmpl 
  -my $CFG_PREFIX        = '@prefix@';        # substituted via APACI install
  -my $CFG_SBINDIR       = '@sbindir@';       # substituted via APACI install
  -my $CFG_INCLUDEDIR    = '@includedir@';    # substituted via APACI install
  -my $CFG_LIBEXECDIR    = '@libexecdir@';    # substituted via APACI install
  -my $CFG_SYSCONFDIR    = '@sysconfdir@';    # substituted via APACI install
  +my $CFG_TARGET        = '@TARGET@';            # substituted via 
Makefile.tmpl 
  +my $CFG_CC            = '@CC@';                # substituted via 
Makefile.tmpl
  +my $CFG_CFLAGS        = '@CFLAGS@';            # substituted via 
Makefile.tmpl
  +my $CFG_CFLAGS_SHLIB  = '@CFLAGS_SHLIB@';      # substituted via 
Makefile.tmpl
  +my $CFG_LD_SHLIB      = '@LD_SHLIB@';          # substituted via 
Makefile.tmpl
  +my $CFG_LDFLAGS_SHLIB = '@LDFLAGS_MOD_SHLIB@'; # substituted via 
Makefile.tmpl 
  +my $CFG_LIBS_SHLIB    = '@LIBS_SHLIB@';        # substituted via 
Makefile.tmpl 
  +my $CFG_PREFIX        = '@prefix@';            # substituted via APACI 
install
  +my $CFG_SBINDIR       = '@sbindir@';           # substituted via APACI 
install
  +my $CFG_INCLUDEDIR    = '@includedir@';        # substituted via APACI 
install
  +my $CFG_LIBEXECDIR    = '@libexecdir@';        # substituted via APACI 
install
  +my $CFG_SYSCONFDIR    = '@sysconfdir@';        # substituted via APACI 
install
   
   ##
   ##  Cleanup the above stuff
  @@ -117,6 +117,8 @@
   my @opt_L = ();
   my @opt_l = ();
   my @opt_W = ();
  +my @opt_S = ();
  +my $opt_e = 0;
   my $opt_i = 0;
   my $opt_a = 0;
   my $opt_A = 0;
  @@ -188,27 +190,49 @@
   }
   
   sub usage {
  -    print STDERR "Usage: apxs -g -n <modname>\n";
  -    print STDERR "       apxs -q <query> ...\n";
  -    print STDERR "       apxs -c [-o <dsofile>] [-D <name>[=<value>]] [-I 
<incdir>]\n";
  -    print STDERR "               [-L <libdir>] [-l <libname>] [-Wc,<flags>] 
[-Wl,<flags>]\n";
  -    print STDERR "               <files> ...\n";
  -    print STDERR "       apxs -i [-a] [-A] [-n <modname>] <dsofile> ...\n";
  +    print STDERR "Usage: apxs -g [-S <var>=<val>] -n <modname>\n";
  +    print STDERR "       apxs -q [-S <var>=<val>] <query> ...\n";
  +    print STDERR "       apxs -c [-S <var>=<val>] [-o <dsofile>] [-D 
<name>[=<value>]]\n";
  +    print STDERR "               [-I <incdir>] [-L <libdir>] [-l <libname>] 
[-Wc,<flags>]\n";
  +    print STDERR "               [-Wl,<flags>] <files> ...\n";
  +    print STDERR "       apxs -i [-S <var>=<val>] [-a] [-A] [-n <modname>] 
<dsofile> ...\n";
  +    print STDERR "       apxs -e [-S <var>=<val>] [-a] [-A] [-n <modname>] 
<dsofile> ...\n";
       exit(1);
   }
   
   #   option handling
   my $rc;
  -($rc, @ARGV) = &Getopts("qn:gco:I+D+L+l+W+iaA", @ARGV);
  +($rc, @ARGV) = &Getopts("qn:gco:I+D+L+l+W+S+eiaA", @ARGV);
   &usage if ($rc == 0);
   &usage if ($#ARGV == -1 and not $opt_g);
  -&usage if (not $opt_q and not ($opt_g and $opt_n) and not $opt_i and not 
$opt_c);
  +&usage if (not $opt_q and not ($opt_g and $opt_n) and not $opt_i and not 
$opt_c and not $opt_e);
   
   #   argument handling
   my @args = @ARGV;
   my $name = 'unknown';
   $name = $opt_n if ($opt_n ne '');
   
  +if (@opt_S) {
  +    my ($opt_S);
  +    foreach $opt_S (@opt_S) {
  +     if ($opt_S =~ m/^([^=]+)=(.*)$/) {
  +         my ($var) = $1;
  +         my ($val) = $2;
  +         my $oldval = eval "\$CFG_$var";
  +
  +         unless ($var and $oldval) {
  +             print STDERR "apxs:Error: no config variable $var\n";
  +             &usage;
  +         }
  +
  +         eval "\$CFG_${var}=\"${val}\"";
  +     } else {
  +         print STDERR "apxs:Error: malformatted -S option\n";
  +         &usage;
  +     }       
  +    }
  +}
  +
   ##
   ##  Operation
   ##
  @@ -358,7 +382,11 @@
       $opt = '';
       my ($opt_Wl, $opt_L, $opt_l);
       foreach $opt_Wl (@opt_W) {
  -        $opt .= " $1" if ($opt_Wl =~ m|^\s*l,(.*)$|);
  +             if($CFG_LD_SHLIB ne "gcc") {
  +             $opt .= " $1" if ($opt_Wl =~ m|^\s*l,(.*)$|);
  +             } else {
  +             $opt .= " -W$opt_Wl";
  +             }
       }
       foreach $opt_L (@opt_L) {
           $opt .= " -L$opt_L";
  @@ -374,12 +402,12 @@
       &execute_cmds(@cmds);
   
       #   allow one-step compilation and installation
  -    if ($opt_i) {
  +    if ($opt_i or $opt_e) {
           @args = ( $dso_file );
       }
   }
   
  -if ($opt_i) {
  +if ($opt_i or $opt_e) {
       ##
       ##  SHARED OBJECT INSTALLATION
       ##
  @@ -397,8 +425,10 @@
           }
           my $t = $f;
           $t =~ s|^.+/([^/]+)$|$1|;
  -        push(@cmds, "cp $f $CFG_LIBEXECDIR/$t");
  -        push(@cmds, "chmod 755 $CFG_LIBEXECDIR/$t");
  +        if ($opt_i) {
  +         push(@cmds, "cp $f $CFG_LIBEXECDIR/$t");
  +         push(@cmds, "chmod 755 $CFG_LIBEXECDIR/$t");
  +        }
   
           #   determine module symbolname and filename
           my $filename = '';
  @@ -459,29 +489,28 @@
               exit(1);
           }
   
  -        my $update = 0;
           my $lmd;
  +        my $c = '';
  +        $c = '#' if ($opt_A);
           foreach $lmd (@lmd) {
  +            my $what = $opt_A ? "preparing" : "activating";
               if ($content !~ m|\n#?\s*$lmd|) {
  -                 my $c = '';
  -                 $c = '#' if ($opt_A);
                    $content =~ 
s|^(.*\n#?\s*LoadModule\s+[^\n]+\n)|$1$c$lmd\n|sg;
  -                 $update = 1;
  -                 $lmd =~ m|LoadModule\s+(.+?)_module.*|;
  -                 my $what = $opt_A ? "preparing" : "activating";
  -                 print STDERR "[$what module `$1' in 
$CFG_SYSCONFDIR/$CFG_TARGET.conf]\n";
  +            } else {
  +                 $content =~ s|^(.*\n)#?\s*$lmd[^\n]*\n|$1$c$lmd\n|sg;
               }
  +            $lmd =~ m|LoadModule\s+(.+?)_module.*|;
  +            print STDERR "[$what module `$1' in 
$CFG_SYSCONFDIR/$CFG_TARGET.conf]\n";
           }
           my $amd;
           foreach $amd (@amd) {
               if ($content !~ m|\n#?\s*$amd|) {
  -                 my $c = '';
  -                 $c = '#' if ($opt_A);
                    $content =~ 
s|^(.*\n#?\s*AddModule\s+[^\n]+\n)|$1$c$amd\n|sg;
  -                 $update = 1;
  +            } else {
  +                 $content =~ s|^(.*\n)#?\s*$amd[^\n]*\n|$1$c$amd\n|sg;
               }
           }
  -        if ($update) {
  +        if (@lmd or @amd) {
               open(FP, ">$CFG_SYSCONFDIR/$CFG_TARGET.conf.new") || die;
               print FP $content;
               close(FP);
  
  
  
  1.4       +1 -1      apache-apr/pthreads/src/support/htdigest.c
  
  Index: htdigest.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/htdigest.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- htdigest.c        1999/06/10 06:26:46     1.3
  +++ htdigest.c        1999/08/19 20:53:30     1.4
  @@ -70,7 +70,7 @@
   #include <sys/types.h>
   #include "ap.h"
   #include "ap_md5.h"
  -#if defined(MPE) || defined(QNX) || defined(WIN32)
  +#if defined(MPE) || defined(QNX) || defined(WIN32) || defined(__TANDEM)
   #include <signal.h>
   #else
   #include <sys/signal.h>
  
  
  
  1.4       +21 -2     apache-apr/pthreads/src/support/htpasswd.1
  
  Index: htpasswd.1
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/htpasswd.1,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- htpasswd.1        1999/06/10 06:26:46     1.3
  +++ htpasswd.1        1999/08/19 20:53:30     1.4
  @@ -72,6 +72,9 @@
   ] 
   [
   .B \-m
  +.B \-d
  +.B \-p
  +.B \-s
   ] 
   .I passwdfile
   .I username
  @@ -120,8 +123,23 @@
   Create the \fIpasswdfile\fP. If \fIpasswdfile\fP already exists, it
   is rewritten and truncated.
   .IP \-m 
  -Use MD5 encryption for passwords.  On Windows, this is the only format 
  -supported.
  +Use MD5 encryption for passwords. On Windows and TPF, this is the default.
  +.IP \-d
  +Use crypt() encryption for passwords. The default on all platforms but
  +Windows and TPF. Though possibly supported by
  +.B htpasswd
  +onm all platforms, it is not supported by the
  +.B httpd
  +server on Windows and TPF.
  +.IP \-s
  +Use SHA encryption for passwords. Faciliates migration from/to Netscape
  +servers using the LDAP Directory Interchange Format (ldif).
  +.IP \-p
  +Use plaintext passwords. Though 
  +.B htpasswd
  +will support creation on all platofrms, the
  +.B httpd
  +deamon will only accept plain text passwords on Windows and TPF.
   .IP \fB\fIpasswdfile\fP
   Name of the file to contain the user name and password. If \-c
   is given, this file is created if it does not already exist,
  @@ -192,3 +210,4 @@
   Usernames are limited to 255 bytes and may not include the character ':'.
   .SH SEE ALSO
   .BR httpd(8)
  +and the scripts in support/SHA1 which come with the distribution.
  
  
  
  1.6       +63 -25    apache-apr/pthreads/src/support/htpasswd.c
  
  Index: htpasswd.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/htpasswd.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -d -u -r1.5 -r1.6
  --- htpasswd.c        1999/06/10 06:26:46     1.5
  +++ htpasswd.c        1999/08/19 20:53:30     1.6
  @@ -84,6 +84,7 @@
   #include <errno.h>
   #include "ap.h"
   #include "ap_md5.h"
  +#include "ap_sha1.h"
   
   #ifdef WIN32
   #include <conio.h>
  @@ -100,8 +101,10 @@
   #endif /*CHARSET_EBCDIC*/
   
   #define MAX_STRING_LEN 256
  +#define ALG_PLAIN 0
   #define ALG_CRYPT 1
   #define ALG_APMD5 2
  +#define ALG_APSHA 3 
   
   #define ERR_FILEPERM 1
   #define ERR_SYNTAX 2
  @@ -149,19 +152,6 @@
       fputc('\n', f);
   }
   
  -
  -/* From local_passwd.c (C) Regents of Univ. of California blah blah */
  -static unsigned char itoa64[] =      /* 0 ... 63 => ascii - 64 */
  -    "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  -
  -static void to64(register char *s, register long v, register int n)
  -{
  -    while (--n >= 0) {
  -     *s++ = itoa64[v & 0x3f];
  -     v >>= 6;
  -    }
  -}
  -
   /*
    * Make a password record from the given information.  A zero return
    * indicates success; failure means that the output buffer contains an
  @@ -172,9 +162,9 @@
   {
       char *pw;
       char cpw[120];
  -    char salt[9];
       char pwin[MAX_STRING_LEN];
       char pwv[MAX_STRING_LEN];
  +    char salt[9];
   
       if (passwd != NULL) {
        pw = passwd;
  @@ -191,20 +181,39 @@
            return ERR_PWMISMATCH;
        }
        pw = pwin;
  +        memset(pwv, '\0', sizeof(pwin));
       }
  -    (void) srand((int) time((time_t *) NULL));
  -    to64(&salt[0], rand(), 8);
  -    salt[8] = '\0';
  -
       switch (alg) {
  -    case ALG_APMD5:
  +
  +    case ALG_APSHA:
  +     /* XXX cpw >= 28 + strlen(sha1) chars - fixed len SHA */
  +     ap_sha1_base64(pw,strlen(pw),cpw);
  +     break;
  +
  +    case ALG_APMD5: 
  +        (void) srand((int) time((time_t *) NULL));
  +        ap_to64(&salt[0], rand(), 8);
  +        salt[8] = '\0';
  +
        ap_MD5Encode((const unsigned char *)pw, (const unsigned char *)salt,
                     cpw, sizeof(cpw));
        break;
  +
  +    case ALG_PLAIN:
  +     /* XXX this len limitation is not in sync with any HTTPd len. */
  +     ap_cpystrn(cpw,pw,sizeof(cpw));
  +     break;
  +
       case ALG_CRYPT:
  +    default:
  +        (void) srand((int) time((time_t *) NULL));
  +        ap_to64(&salt[0], rand(), 8);
  +        salt[8] = '\0';
  +
        ap_cpystrn(cpw, (char *)crypt(pw, salt), sizeof(cpw) - 1);
        break;
       }
  +    memset(pw, '\0', strlen(pw));
   
       /*
        * Check to see if the buffer is large enough to hold the username,
  @@ -223,13 +232,27 @@
   static int usage(void)
   {
       fprintf(stderr, "Usage:\n");
  -    fprintf(stderr, "\thtpasswd [-cm] passwordfile username\n");
  -    fprintf(stderr, "\thtpasswd -b[cm] passwordfile username password\n\n");
  +    fprintf(stderr, "\thtpasswd [-cmdps] passwordfile username\n");
  +    fprintf(stderr, "\thtpasswd -b[cmdps] passwordfile username 
password\n\n");
       fprintf(stderr, " -c  Create a new file.\n");
  -    fprintf(stderr, " -m  Force MD5 encryption of the password.\n");
  -    fprintf(stderr, " -b  Use the password from the command line rather ");
  -    fprintf(stderr, "than prompting for it.\n");
  -    fprintf(stderr, "On Windows systems the -m flag is used by default.\n");
  +    fprintf(stderr, " -m  Force MD5 encryption of the password"
  +#if defined(WIN32) || defined(TPF)
  +     " (default)"
  +#endif
  +     ".\n");
  +    fprintf(stderr, " -d  Force CRYPT encryption of the password"
  +#if (!(defined(WIN32) || defined(TPF)))
  +         " (default)"
  +#endif
  +         ".\n");
  +    fprintf(stderr, " -p  Do not encrypt the password (plaintext).\n");
  +    fprintf(stderr, " -s  Force SHA encryption of the password.\n");
  +    fprintf(stderr, " -b  Use the password from the command line rather "
  +         "than prompting for it.\n");
  +    fprintf(stderr,
  +         "On Windows and TPF systems the '-m' flag is used by default.\n");
  +    fprintf(stderr,
  +         "On all other systems, the '-p' flag will probably not work.\n");
       return ERR_SYNTAX;
   }
   
  @@ -356,6 +379,15 @@
            else if (*arg == 'm') {
                alg = ALG_APMD5;
            }
  +         else if (*arg == 's') {
  +             alg = ALG_APSHA;
  +         }
  +         else if (*arg == 'p') {
  +             alg = ALG_PLAIN;
  +         }
  +         else if (*arg == 'd') {
  +             alg = ALG_CRYPT;
  +         }
            else if (*arg == 'b') {
                noninteractive++;
                args_left++;
  @@ -406,6 +438,12 @@
       }
   #endif
   
  +#if (!(defined(WIN32) || defined(TPF)))
  +    if (alg == ALG_PLAIN) {
  +     fprintf(stderr,"Warning: storing passwords as plain text might "
  +             "just not work on this platform.\n");
  +    }
  +#endif
       /*
        * Verify that the file exists if -c was omitted.  We give a special
        * message if it doesn't.
  
  
  
  1.3       +12 -1     apache-apr/pthreads/src/support/httpd.8
  
  Index: httpd.8
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/httpd.8,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -d -u -r1.2 -r1.3
  --- httpd.8   1999/02/07 06:30:19     1.2
  +++ httpd.8   1999/08/19 20:53:31     1.3
  @@ -92,12 +92,18 @@
   [
   .B \-S
   ] 
  +[
  +.B \-t
  +] 
  +[
  +.B \-T
  +]
   
   .SH DESCRIPTION
   .B httpd
   is the Apache HyperText Transfer Protocol (HTTP) server program. It is
   designed to be run as a standalone daemon process. When used like this
  -is will create a pool of child processes to handle requests. To stop
  +it will create a pool of child processes to handle requests. To stop
   it, send a TERM signal to the initial (parent) process. The PID of
   this process is written to a file as given in the configuration file.
   Alternatively 
  @@ -163,6 +169,11 @@
   Run syntax tests for configuration files only. The program immediately exits
   after these syntax parsing with either a return code of 0 (Syntax OK) or
   return code not equal to 0 (Syntax Error).
  +.TP
  +.B \-T
  +Same as option 
  +.B \-t
  +but does not check the configured document roots. 
   .TP
   .B \-X
   Run in single-process mode, for internal debugging purposes only; the daemon
  
  
  
  1.6       +48 -2     apache-apr/pthreads/src/support/httpd.exp
  
  Index: httpd.exp
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/httpd.exp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -d -u -r1.5 -r1.6
  --- httpd.exp 1999/06/10 06:26:46     1.5
  +++ httpd.exp 1999/08/19 20:53:31     1.6
  @@ -3,6 +3,10 @@
   ap_MD5Final
   ap_MD5Init
   ap_MD5Update
  +ap_SHA1Final
  +ap_SHA1Init
  +ap_SHA1Update_binary
  +ap_SHA1Update
   ap_acquire_mutex
   ap_add_cgi_vars
   ap_add_common_vars
  @@ -18,6 +22,12 @@
   ap_array_pstrcat
   ap_auth_name
   ap_auth_type
  +ap_base64encode
  +ap_base64encode_binary
  +ap_base64encode_len
  +ap_base64decode
  +ap_base64decode_binary
  +ap_base64decode_len
   ap_basic_http_header
   ap_bclose
   ap_bcreate
  @@ -101,6 +111,7 @@
   ap_exists_config_define
   ap_exists_scoreboard_image
   ap_extended_status
  +ap_field_noparam
   ap_finalize_request_protocol
   ap_finalize_sub_req_protocol
   ap_find_command
  @@ -205,7 +216,6 @@
   ap_open_logs
   ap_open_piped_log
   ap_os_escape_path
  -ap_os_is_filename_valid
   ap_os_is_path_absolute
   ap_overlay_tables
   ap_overlap_tables
  @@ -216,6 +226,8 @@
   ap_parse_uri
   ap_parse_uri_components
   ap_parse_vhost_addrs
  +ap_pbase64decode
  +ap_pbase64encode
   ap_pcalloc
   ap_pcfg_open_custom
   ap_pcfg_openfile
  @@ -307,12 +319,12 @@
   ap_set_sub_req_protocol
   ap_setup_client_block
   ap_setup_prelinked_modules
  +ap_sha1_base64
   ap_should_client_block
   ap_show_directives
   ap_show_modules
   ap_signal
   ap_single_module_configure
  -ap_single_module_init
   ap_size_list_item
   ap_slack
   ap_snprintf
  @@ -364,3 +376,37 @@
   ap_vsnprintf
   core_module
   top_module
  +XML_DefaultCurrent
  +XML_ErrorString
  +XML_ExternalEntityParserCreate
  +XML_GetBase
  +XML_GetBuffer
  +XML_GetCurrentByteCount
  +XML_GetCurrentByteIndex
  +XML_GetCurrentColumnNumber
  +XML_GetCurrentLineNumber
  +XML_GetErrorCode
  +XML_GetSpecifiedAttributeCount
  +XML_Parse
  +XML_ParseBuffer
  +XML_ParserCreate
  +XML_ParserCreateNS
  +XML_ParserFree
  +XML_SetBase
  +XML_SetCdataSectionHandler
  +XML_SetCharacterDataHandler
  +XML_SetCommentHandler
  +XML_SetDefaultHandler
  +XML_SetDefaultHandlerExpand
  +XML_SetElementHandler
  +XML_SetEncoding
  +XML_SetExternalEntityRefHandler
  +XML_SetExternalEntityRefHandlerArg
  +XML_SetNamespaceDeclHandler
  +XML_SetNotStandaloneHandler
  +XML_SetNotationDeclHandler
  +XML_SetProcessingInstructionHandler
  +XML_SetUnknownEncodingHandler
  +XML_SetUnparsedEntityDeclHandler
  +XML_SetUserData
  +XML_UseParserAsHandlerArg
  
  
  
  1.4       +1 -0      apache-apr/pthreads/src/support/suexec.c
  
  Index: suexec.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/support/suexec.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -u -r1.3 -r1.4
  --- suexec.c  1999/03/17 17:02:11     1.3
  +++ suexec.c  1999/08/19 20:53:32     1.4
  @@ -145,6 +145,7 @@
       "SCRIPT_URL",
       "SERVER_ADMIN",
       "SERVER_NAME",
  +    "SERVER_ADDR",
       "SERVER_PORT",
       "SERVER_PROTOCOL",
       "SERVER_SOFTWARE",
  
  
  
  1.2       +2 -2      apache-apr/pthreads/src/test/check_chunked
  
  Index: check_chunked
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/test/check_chunked,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -d -u -r1.1 -r1.2
  --- check_chunked     1999/01/21 23:08:44     1.1
  +++ check_chunked     1999/08/19 20:53:35     1.2
  @@ -24,9 +24,9 @@
   for(;;) {
       $_ = <> || die "unexpected end of file!\n";
   
  -    m#^[0-9a-f]+ *\r$#i || die "bogus chunklen: $_";
  +    m#^([0-9a-f]+) *\r$#i || die "bogus chunklen: $_";
   
  -    my $chunklen = hex;
  +    my $chunklen = hex($1);
   
       exit 0 if ($chunklen == 0);
   
  
  
  

Reply via email to