You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ma...@hyperreal.org on 1999/12/09 18:19:49 UTC
cvs commit: apache-1.3/src/support Makefile.tmpl htdigest.c
martin 99/12/09 09:19:49
Modified: src CHANGES Configure Makefile.tmpl
. INSTALL Makefile.tmpl configure
src/helpers GuessOS TestCompile binbuild.sh
src/include ap_config.h
src/main http_main.c util_script.c
src/support Makefile.tmpl htdigest.c
Log:
OS specific patches for IBM's OS/390.
Submitted by: Ovies Brabson <ov...@us.ibm.com>
Reviewed by: Martin Kraemer, Paul Gilmartin
Revision Changes Path
1.1477 +3 -0 apache-1.3/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
retrieving revision 1.1476
retrieving revision 1.1477
diff -u -r1.1476 -r1.1477
--- CHANGES 1999/12/09 12:04:59 1.1476
+++ CHANGES 1999/12/09 17:19:28 1.1477
@@ -1,5 +1,8 @@
Changes with Apache 1.3.10
+ *) OS: Added first cut at support for IBM's OS/390.
+ [Ovies Brabson <ov...@us.ibm.com>]
+
*) Replace all occurrences of "\012\015" by a macro CRLF. This makes
the code (somewhat) more readable, and improves the portability
to character sets other than ASCII (e.g., EBCDIC).
1.378 +13 -1 apache-1.3/src/Configure
Index: Configure
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/Configure,v
retrieving revision 1.377
retrieving revision 1.378
diff -u -r1.377 -r1.378
--- Configure 1999/12/07 12:19:48 1.377
+++ Configure 1999/12/09 17:19:30 1.378
@@ -783,6 +783,14 @@
CFLAGS="-D_TANDEM_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
CC='c89'
;;
+ *-IBM-OS390*)
+ OS='OS390'
+ OSDIR='os/os390'
+ CC='c89'
+ CFLAGS="$CFLAGS -DOS390 -DCHARSET_EBCDIC -D_ALL_SOURCE"
+ DEF_WANTHSREGEX=yes
+ LIBS="$LIBS"
+ ;;
*) # default: Catch systems we don't know about
OS='Unknown and unsupported OS'
echo Sorry, but we cannot grok \"$PLAT\"
@@ -830,6 +838,7 @@
echo >>Makefile.config "INCDIR=\$(SRCDIR)/include"
echo >>Makefile.config "INCLUDES0=-I\$(OSDIR) -I\$(INCDIR)"
echo >>Makefile.config "SHELL=$SHELL"
+echo >>Makefile.config "OS=$OS"
####################################################################
## And adjust/override WANTHSREGEX as needed
@@ -2237,7 +2246,10 @@
@for i in \$(MODULES) ""; do \\
if [ "x\$\$i" != "x" ]; then \\
echo "===> \$(SDP)modules/\$\$i"; \\
- (cd \$\$i && \$(MAKE) \$(MFLAGS_STATIC) SDP='\$(SDP)' CC='\$(CC)' AUX_CFLAGS='\$(CFLAGS)' RANLIB='\$(RANLIB)' \$@) || exit 1; \\
+ case "x\$(OS)" in \\
+ xOS390 | xTPF) (cd \$\$i && \$(MAKE) SDP='\$(SDP)' \$@) || exit 1;; \\
+ *) (cd \$\$i && \$(MAKE) \$(MFLAGS_STATIC) SDP='\$(SDP)' CC='\$(CC)' AUX_CFLAGS='\$(CFLAGS)' RANLIB='\$(RANLIB)' \$@) || exit 1;; \\
+ esac; \\
echo "<=== \$(SDP)modules/\$\$i"; \\
fi; \\
done
1.115 +4 -1 apache-1.3/src/Makefile.tmpl
Index: Makefile.tmpl
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/Makefile.tmpl,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -r1.114 -r1.115
--- Makefile.tmpl 1999/08/19 08:54:14 1.114
+++ Makefile.tmpl 1999/12/09 17:19:31 1.115
@@ -63,7 +63,10 @@
subdirs:
@for i in $(SUBDIRS); do \
echo "===> $(SDP)$$i"; \
- ( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)') || exit 1; \
+ case ".$(OS)" in \
+ .OS390 | .TPF) ( cd $$i && $(MAKE) SDP='$(SDP)' ) || exit 1;; \
+ *) ( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)') || exit 1;; \
+ esac; \
echo "<=== $(SDP)$$i"; \
done
1.61 +10 -0 apache-1.3/INSTALL
Index: INSTALL
===================================================================
RCS file: /export/home/cvs/apache-1.3/INSTALL,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- INSTALL 1999/08/29 10:17:07 1.60
+++ INSTALL 1999/12/09 17:19:35 1.61
@@ -160,6 +160,8 @@
[--without-support] [--suexec-gidmin=GID]
[--without-confadjust] [--suexec-safepath=PATH]
[--without-execstrip]
+ [--server-uid=UID]
+ [--server-gid=GID]
Use the CC, OPTIM, CFLAGS, INCLUDES, LDFLAGS, LIBS, CFLAGS_SHLIB,
LD_SHLIB, LDFLAGS_SHLIB, LDFLAGS_SHLIB_EXPORT, RANLIB, DEPS and TARGET
@@ -413,6 +415,14 @@
Use the --verbose option to enable additional verbose messages.
+ Use the --server-uid option to specify the user ID you want the server to run
+ as. If not specified the server will run as user nobody. If the user ID
+ specified is different than the ID of the user starting the server, you need to
+ start the server as root.
+
+ Use the --server-gid option to specify the group ID you want the server user ID to
+ be a member of. If not specified, the group ID will be #-1.
+
4. Building the package
--------------------
1.94 +10 -1 apache-1.3/Makefile.tmpl
Index: Makefile.tmpl
===================================================================
RCS file: /export/home/cvs/apache-1.3/Makefile.tmpl,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- Makefile.tmpl 1999/12/02 21:00:19 1.93
+++ Makefile.tmpl 1999/12/09 17:19:35 1.94
@@ -69,6 +69,9 @@
# safe environment
SHELL = @SHELL@
+# what platform are we on
+PLATFORM = @PLATFORM@
+
# paths to the source tree parts
TOP = .
SRC = @SRC@
@@ -176,11 +179,17 @@
# build the standard stuff
build-std:
- @cd $(TOP)/$(SRC); $(MAKE) $(MFLAGS) SDP=$(SRC)/ all
+ @case "x$(PLATFORM)" in \
+ x*390*) _C89_STEPS="0xffffffff"; export _C89_STEPS;; \
+ esac; \
+ cd $(TOP)/$(SRC); $(MAKE) $(MFLAGS) SDP=$(SRC)/ all
# build the additional support stuff
build-support:
@echo "===> $(SRC)/support"; \
+ case "x$(PLATFORM)" in \
+ x*390*) _C89_STEPS="0xffffffff"; export _C89_STEPS;; \
+ esac; \
cd $(TOP)/$(SRC)/support; $(MAKE) $(MFLAGS) all || exit 1; \
if [ ".$(suexec)" = .1 ]; then \
$(MAKE) $(MFLAGS) \
1.113 +51 -2 apache-1.3/configure
Index: configure
===================================================================
RCS file: /export/home/cvs/apache-1.3/configure,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -r1.112 -r1.113
--- configure 1999/12/07 14:14:59 1.112
+++ configure 1999/12/09 17:19:35 1.113
@@ -134,6 +134,7 @@
fi
##
+##
## determine path to (optional) Perl interpreter
##
PERL=no-perl-on-this-system
@@ -197,6 +198,16 @@
esac
##
+## Request USTAR format for tar files on OS/390
+## Request that prelink step be used for 390
+##
+case $PLATFORM in
+ *-IBM-OS390*)
+ TAROPT="${TAROPT}U"
+ ;;
+esac
+
+##
## determine path to sh, it's not /bin/sh on ALL systems
##
SHELL=/bin/sh
@@ -347,6 +358,12 @@
esac
##
+## Initialize server user ID and group ID variables
+##
+conf_user=""
+conf_group=""
+
+##
## Iterate over the command line options the first time.
##
## This time we pre-process options which need high priority
@@ -417,6 +434,8 @@
echo " --without-support disable the build and installation of support tools"
echo " --without-confadjust disable the user/situation adjustments in config"
echo " --without-execstrip disable the stripping of executables on installation"
+ echo " --server-uid=UID set the user ID the web server should run as [nobody]"
+ echo " --server-gid=GID set the group ID the web server UID is a memeber of [-1]"
echo ""
echo "suEXEC options:"
echo " --enable-suexec enable the suEXEC feature"
@@ -954,6 +973,22 @@
suexec_safepath="$apc_optarg"
suexec_ok=1
;;
+ --server-uid=*)
+ conf_user="$apc_optarg"
+ # protect the '#' against interpretation as comment
+ case x"${conf_user}" in
+ "#"*) conf_user="\\\\${conf_user}";;
+ "\\#"*)conf_user="\\${conf_user}";;
+ esac
+ ;;
+ --server-gid=*)
+ conf_group="$apc_optarg"
+ # protect the '#' against interpretation as comment
+ case x"${conf_group}" in
+ "#"*) conf_group="\\\\${conf_group}";;
+ "\\#"*)conf_group="\\${conf_group}";;
+ esac
+ ;;
* )
echo "configure:Error: invalid option '$apc_option'" 1>&2
exit 1
@@ -1098,8 +1133,6 @@
## on platforms using NIS. But then you propably do not want a
## UID/GID as production oriented as a web server in NIS anyway.
##
-conf_user="nobody"
-conf_group="\\\\#-1"
if [ "x$port" != "x" ]; then
conf_port=$port
else
@@ -1109,12 +1142,15 @@
conf_servername="new.host.name"
if [ "x$confadjust" = "x1" ]; then
if [ -f /etc/passwd ]; then
+ if [ "x$conf_user" = "x" ]; then
for uid in nobody www daemon demon http httpd; do
if [ "x`egrep \^${uid}: /etc/passwd`" != "x" ]; then
conf_user="$uid"
break
fi
done
+ fi
+ if [ "x$conf_group" = "x" ]; then
for gid in nobody nogroup www daemon demon http httpd; do
if [ "x`egrep \^${gid}: /etc/group`" != "x" ]; then
conf_group="$gid"
@@ -1122,6 +1158,7 @@
fi
done
fi
+ fi
if [ "x`$aux/getuid.sh`" != "x0" -a "x$port" = "x" ]; then
conf_port="8080"
fi
@@ -1130,6 +1167,17 @@
fi
##
+## Default server user id and group id if not specified on configure invocation and none
+## of the ids in /etc/passwd or /etc/group worked.
+##
+if [ "x$conf_user" = "x" ]; then
+ conf_user="nobody"
+fi
+if [ "x$conf_group" = "x" ]; then
+ conf_group="\\\\#-1"
+fi
+
+##
## determine prefix-relative paths for directories
## because Apache supports them for the -d and -f
## options, the LoadModule directive, etc.
@@ -1201,6 +1249,7 @@
echo "Creating $mkf"
fi
sed <Makefile.tmpl >$mkf \
+-e "s%@PLATFORM@%$PLATFORM%g" \
-e "s%@PERL@%$PERL%g" \
-e "s%@TAR@%$TAR%g" \
-e "s%@TAROPT@%$TAROPT%g" \
1.65 +3 -0 apache-1.3/src/helpers/GuessOS
Index: GuessOS
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/helpers/GuessOS,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- GuessOS 1999/11/28 11:24:27 1.64
+++ GuessOS 1999/12/09 17:19:40 1.65
@@ -279,6 +279,9 @@
*:*:*:"DRS 6000")
echo "drs6000-whatever-whatever"; exit 0;
;;
+ OS/390:*)
+ echo "${MACHINE}-IBM-OS390-${RELEASE}-${VERSION}"; exit 0;
+ ;;
esac
#
1.35 +6 -4 apache-1.3/src/helpers/TestCompile
Index: TestCompile
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/helpers/TestCompile,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- TestCompile 1999/07/21 14:32:55 1.34
+++ TestCompile 1999/12/09 17:19:42 1.35
@@ -1,6 +1,6 @@
#!/bin/sh
exstat=1
-trap 'rm -f Makefile dummy dummy.exe testfunc.c testfunc testfunc.exe; exit $exstat' 0 1 2 3 15
+trap 'rm -f Makefile dummy ../dummy.o dummy.exe testfunc.c testfunc ../testfunc.o testfunc.exe; exit $exstat' 0 1 2 3 15
#
# Yet another Apache Configure helper script.
# This script tests certain aspects of the compilation
@@ -191,7 +191,8 @@
#
# Get makefile settings and build a basic Makefile
#
-rm -f dummy
+rm -f dummy ../dummy.o testfunc ../testfunc.o
+
cat ../Makefile.config > Makefile
cat <<EOF >> Makefile
CFLAGS=\$(OPTIM) \$(CFLAGS1) \$(EXTRA_CFLAGS)
@@ -200,10 +201,10 @@
LDFLAGS=\$(LDFLAGS1) \$(EXTRA_LDFLAGS)
dummy:
- cd ..; \$(CC) \$(CFLAGS) \$(INCLUDES) \$(LDFLAGS) helpers/dummy.c -o helpers/dummy $TLIB \$(LIBS)
+ cd ..; \$(CC) \$(CFLAGS) \$(INCLUDES) \$(LDFLAGS) -o helpers/dummy $TLIB \$(LIBS) helpers/dummy.c
testfunc:
- cd ..; \$(CC) \$(CFLAGS) \$(INCLUDES) \$(LDFLAGS) helpers/testfunc.c -o helpers/testfunc $TLIB \$(LIBS)
+ cd ..; \$(CC) \$(CFLAGS) \$(INCLUDES) \$(LDFLAGS) -o helpers/testfunc $TLIB \$(LIBS) helpers/testfunc.c
EOF
# Now run that Makefile
@@ -221,3 +222,4 @@
fi
exstat=0
fi
+
1.14 +9 -4 apache-1.3/src/helpers/binbuild.sh
Index: binbuild.sh
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/helpers/binbuild.sh,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- binbuild.sh 1999/08/13 03:26:29 1.13
+++ binbuild.sh 1999/12/09 17:19:42 1.14
@@ -6,12 +6,14 @@
# This script falls under the Apache License.
# See http://www.apache.org/docs/LICENSE
-
-CONFIGPARAM="--with-layout=BinaryDistribution --enable-module=most --enable-shared=max"
+OS=`src/helpers/GuessOS`
+case "x$OS" in
+ x*390) CONFIGPARAM="--with-layout=BinaryDistribution --enable-module=most --enable-module=log_agent --enable-module=log_referer --enable-module=example --enable-module=mmap_static";;
+ *) CONFIGPARAM="--with-layout=BinaryDistribution --enable-module=most --enable-shared=max";;
+esac
APDIR=`pwd`
APDIR=`basename $APDIR`
VER=`echo $APDIR |sed s/apache_//`
-OS=`src/helpers/GuessOS`
TAR="`src/helpers/PrintPath tar`"
GTAR="`src/helpers/PrintPath gtar`"
GZIP="`src/helpers/PrintPath gzip`"
@@ -269,7 +271,10 @@
else
if [ "x$TAR" != "x" ]
then
- $TAR -cf ../apache_$VER-$OS.tar -C .. apache_$VER
+ case "x$OS" in
+ x*390) $TAR -cfU ../apache_$VER-$OS.tar -C .. apache_$VER;;
+ *) $TAR -cf ../apache_$VER-$OS.tar -C .. apache_$VER;;
+ esac
if [ "x$GZIP" != "x" ]
then
$GZIP ../apache_$VER-$OS.tar
1.279 +23 -0 apache-1.3/src/include/ap_config.h
Index: ap_config.h
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/include/ap_config.h,v
retrieving revision 1.278
retrieving revision 1.279
diff -u -r1.278 -r1.279
--- ap_config.h 1999/12/08 23:02:23 1.278
+++ ap_config.h 1999/12/09 17:19:43 1.279
@@ -949,6 +949,29 @@
#define NO_KILLPG
#define NEED_INITGROUPS
#define NO_SLACK
+
+#elif defined(OS390) /* IBM OS/390 Operating System */
+#define HAVE_MMAP
+#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
+#define USE_MMAP_FILES
+#define USE_FCNTL_SERIALIZED_ACCEPT
+#define _POSIX_SOURCE
+#include <signal.h>
+#define NSIG SIGDUMP+1
+#define JMP_BUF sigjmp_buf
+#define _XOPEN_SOURCE_EXTENDED 1
+#define _OPEN_MSGQ_EXT
+#define _XOPEN_SOURCE
+#define SHM_R S_IRUSR
+#define SHM_W S_IWUSR
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/msg.h>
+#include <sys/socket.h>
+#define NET_SIZE_T size_t
+#define NEED_HASHBANG_EMUL
+
#else
/* Unknown system - Edit these to match */
#ifdef BSD
1.484 +1 -1 apache-1.3/src/main/http_main.c
Index: http_main.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
retrieving revision 1.483
retrieving revision 1.484
diff -u -r1.483 -r1.484
--- http_main.c 1999/12/08 18:51:03 1.483
+++ http_main.c 1999/12/09 17:19:44 1.484
@@ -116,7 +116,7 @@
#endif
#ifdef WIN32
#include "../os/win32/getopt.h"
-#elif !defined(BEOS) && !defined(TPF) && !defined(NETWARE)
+#elif !defined(BEOS) && !defined(TPF) && !defined(NETWARE) && !defined(OS390)
#include <netinet/tcp.h>
#endif
#ifdef HAVE_BSTRING_H
1.149 +1 -1 apache-1.3/src/main/util_script.c
Index: util_script.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/main/util_script.c,v
retrieving revision 1.148
retrieving revision 1.149
diff -u -r1.148 -r1.149
--- util_script.c 1999/12/09 12:05:04 1.148
+++ util_script.c 1999/12/09 17:19:45 1.149
@@ -250,7 +250,7 @@
}
}
- if (!(env_path = getenv("PATH"))) {
+ if (!(env_path = ap_pstrdup(r->pool, getenv("PATH")))) {
env_path = DEFAULT_PATH;
}
1.31 +6 -6 apache-1.3/src/support/Makefile.tmpl
Index: Makefile.tmpl
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/support/Makefile.tmpl,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- Makefile.tmpl 1999/08/10 14:37:18 1.30
+++ Makefile.tmpl 1999/12/09 17:19:48 1.31
@@ -14,19 +14,19 @@
all: $(TARGETS)
htpasswd: htpasswd.o
- $(CC) $(CFLAGS) htpasswd.o -o htpasswd $(LDFLAGS) $(LIBS)
+ $(CC) $(CFLAGS) -o htpasswd $(LDFLAGS) htpasswd.o $(LIBS)
htdigest: htdigest.o
- $(CC) $(CFLAGS) htdigest.o -o htdigest $(LDFLAGS) $(LIBS)
+ $(CC) $(CFLAGS) -o htdigest $(LDFLAGS) htdigest.o $(LIBS)
rotatelogs: rotatelogs.o
- $(CC) $(CFLAGS) rotatelogs.o -o rotatelogs $(LDFLAGS) $(LIBS)
+ $(CC) $(CFLAGS) -o rotatelogs $(LDFLAGS) rotatelogs.o $(LIBS)
logresolve: logresolve.o
- $(CC) $(CFLAGS) logresolve.o -o logresolve $(LDFLAGS) $(LIBS)
+ $(CC) $(CFLAGS) -o logresolve $(LDFLAGS) logresolve.o $(LIBS)
ab: ab.o
- $(CC) $(CFLAGS) ab.o -o ab $(LDFLAGS) $(LIBS)
+ $(CC) $(CFLAGS) -o ab $(LDFLAGS) ab.o $(LIBS)
apxs: apxs.pl
sed <apxs.pl >apxs \
@@ -39,7 +39,7 @@
-e 's%@LIBS_SHLIB@%$(LIBS_SHLIB)%g' && chmod a+x apxs
suexec: suexec.o
- $(CC) $(CFLAGS) suexec.o -o suexec $(LDFLAGS) $(LIBS)
+ $(CC) $(CFLAGS) -o suexec $(LDFLAGS) suexec.o $(LIBS)
clean:
rm -f $(TARGETS) *.o
1.28 +1 -1 apache-1.3/src/support/htdigest.c
Index: htdigest.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/support/htdigest.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- htdigest.c 1999/10/21 20:46:31 1.27
+++ htdigest.c 1999/12/09 17:19:48 1.28
@@ -72,7 +72,7 @@
#endif
#include "ap.h"
#include "ap_md5.h"
-#if defined(MPE) || defined(QNX) || defined(WIN32) || defined(__TANDEM)
+#if defined(MPE) || defined(QNX) || defined(WIN32) || defined(__TANDEM) || defined(OS390)
#include <signal.h>
#else
#include <sys/signal.h>