From 90834e70a8716807850924c6adea174eae002978 Mon Sep 17 00:00:00 2001 From: Matthew Vernon Date: Wed, 3 Jul 2013 11:52:10 +0000 Subject: [PATCH] Remove references to Apache 1.3, which is no longer supported Version 2.0.0 of mod_ucam_webauth does not support the long-obsolete 1.3 version of Apache. This version of the code will not compile against 1.3 (though can probably be made to do so if really necessary by modifying log_p_or_rerror a little); the APACHE1_3 bits of the code will be removed in a future version. --- CHANGES | 3 + INSTALL | 46 +++----- INSTALL.Platforms | 63 ++--------- Makefile | 10 +- README.Config | 11 +- rpm-build/MANIFEST | 1 - rpm-build/README | 3 +- rpm-build/mod_ucam_webauth13.spec | 170 ------------------------------ 8 files changed, 26 insertions(+), 281 deletions(-) delete mode 100644 rpm-build/mod_ucam_webauth13.spec diff --git a/CHANGES b/CHANGES index f8c7360..ea05f2e 100644 --- a/CHANGES +++ b/CHANGES @@ -20,6 +20,9 @@ . Update FSF's address in licence texts. + . Remove references to Apache 1.3. Apache 1.3 is no longer supported, + and this version of mod_ucam_webauth will not build against it. + 1.4.4 - 2013-05-25 mcv21 . Add support for Apache2.4. This required a small change to the code diff --git a/INSTALL b/INSTALL index 2b593e2..3100585 100644 --- a/INSTALL +++ b/INSTALL @@ -26,13 +26,13 @@ configuration' below. * Apache The module is only of any use when used with a copy of Apache, - version 1.3, 2.0, 2.1, 2.2, or 2.4 (it may or may not work with + version 2.0, 2.1, 2.2, or 2.4 (it may or may not work with later versions). Apache comes as part of most Unix/Linux distributions, though it may be necessary to install an additional package, perhaps called httpd-devel, apache-devel, or apache2-devel for access to the tools needed to build the module. - It is expected that support for Apache versions 1.3, 2.0, and 2.1 + It is expected that support for Apache versions 2.0, and 2.1 will be dropped in a forthcoming release; the Apache Software Foundation encourages users to upgrade to version 2.2 or 2.4. @@ -92,31 +92,30 @@ or apache2-devel package which will need to be installed. 2.2 Building and installing RPMs -------------------------------- -The module is distributed as a pair of 'Source RPMs', one for Apache -1.3 and one for Apache 2.0/2.1/2.2/2.4. On RPM-based Linux systems it -is straightforward to use one of these to build a binary RPM which -can then be installed like any other package. This is particularly -useful if you need to install the module on a number of similar -systems. This approach will only work with copies of Apache that -include shared object support (see above). This is almost always the -case with RPM-based distributions. +The module is distributed as a 'Source RPM', for Apache +2.0/2.1/2.2/2.4. On RPM-based Linux systems it is straightforward to +use this to build a binary RPM which can then be installed like any +other package. This is particularly useful if you need to install the +module on a number of similar systems. This approach will only work +with copies of Apache that include shared object support (see +above). This is almost always the case with RPM-based distributions. To build an RPM, download the appropriate Source RPM, cd to the directory containing it, and then as root issue the command - rpmbuild --rebuild mod_ucam_webauth-.src.rpm + rpmbuild --rebuild mod_ucam_webauth2-.src.rpm Near the end of the resulting output will be a line identifying the binary RPM that was built, such as - Wrote: /usr/src/redhat/RPMS/i386/mod_ucam_webauth-.i386.rpm + Wrote: /usr/src/redhat/RPMS/i386/mod_ucam_webauth2-.i386.rpm can be installed by issuing, e.g., the command - rpm -Uvh /usr/src/redhat/RPMS/i386/mod_ucam_webauth-.i386.rpm + rpm -Uvh /usr/src/redhat/RPMS/i386/mod_ucam_webauth2-.i386.rpm Linux distributions vary somewhat in how they package Apache-related -software so the source RPMs are unlikely to install on every possible +software so the source RPM is unlikely to install on every possible system. With a little experience of modifying RPMs it should be easy enough to install the source RPM and modify the '.spec' file to work with a new system. If you find you need to do this, please inform @@ -162,17 +161,10 @@ installation it is necessary to copy the module into the unpacked Apache source tree and then to rebuild Apache. Change into the Apache build directory and copy mod_ucam_webauth.c -from an unpacked tar distribution to src/modules/extra (for Apache -1.3) or modules/aaa (for Apache 2.0/2.1/2.2/2.4). Run the configure +from an unpacked tar distribution to modules/aaa. Run the configure script with the options as specified below in addition to any other options you wish to set. -For an Apache 1.3 installation: - - ./configure --prefix= \ - --activate-module=src/modules/extra/mod_ucam_webauth.c \ - --enable-module=ucam_webauth - For an Apache 2 installation: ./configure --prefix= \ @@ -248,16 +240,6 @@ containing the module, relative to ServerRoot if it doesn't start '/'. This is not necessary if the module has been statically linked into the httpd program. -Under Apache 1.3 some configuration files use 'ClearModuleList' -followed by 'AddModule' directives to ensure that modules are used in -the right order - if mod_ucam_webauth is loaded before -'ClearModuleList' then - - AddModule mod_ucam_webauth.c - -will also be required somewhere. mod_ucam_webauth does not depend on -load order. - The minimum configuration required to restrict access to resources in a particular directory to users with a UcamWebAuth login is, e.g.: diff --git a/INSTALL.Platforms b/INSTALL.Platforms index 5bf13fa..6930d02 100644 --- a/INSTALL.Platforms +++ b/INSTALL.Platforms @@ -56,40 +56,18 @@ The keys will by default be searched for in Apache logs are stored in /var/log/apache2/ -2. MacOS (10.3, 10.4, possibly others) +2. MacOS (10.5 and later) ====================================== -Only Apache 1.3 is available. +Only Apache 2 is available. + +The recommended process is to download the installer package +ModUcamWebauth-.pkg.zip and install that. See also https://wiki.csx.cam.ac.uk/raven/Installing_the_Apache_authentication_module_under_MacOS_X -A C compiler and related build tools are not a standard part of a -MaxOS install. They are available as part of the Xcode tools which can -be installed from your distribution CDs or from -http://developer.apple.com/tools/download/ - -apxs is installed as /usr/sbin/apxs - -Apache appears to run with a ServerRoot of /usr/ - -The module should be installed into /usr/libexec/httpd/. It should be -loaded with a LoadModule line in httpd.conf or otherwise in a file -included into httpd.conf: - - LoadModule ucam_webauth_module libexec/httpd/mod_ucam_webauth.so - -The keys will by default be searched for in - - /usr/conf/webauth_keys/ - -Apache logs are stored at /private/var/log/httpd/ - -Apache on OS 10 server uses Apple's own authentication module, -mod_auth_apple, in place of the standard Apache module, mod_auth. In -OS version 10.4.6 (and probably in subsequent versions) mod_auth_apple -is incompatible with mod_ucam_webauth. Instructions for working around -this problem appear in the wiki document noted above. +for more details. 3. Red Hat, Fedora @@ -118,35 +96,6 @@ Apache logs are stored in /var/log/httpd/ 4. SuSE Linux ============= -Apache 1.3 ----------- - -Apache 1.3 is provided by the httpd package. - -Note that Apache 1.3 is only available in versions of SLES up to and -including 9.0, and in some OES versions of SuSE Linux. - -apxs is installed as /usr/sbin/apxs - -Apache runs with a ServerRoot of /srv/www/ - -The module should be installed into /usr/lib/apache/. It should be -loaded with a LoadModule line in httpd.conf or otherwise in a file -included into httpd.conf: - - LoadModule ucam_webauth_module /usr/lib/apache/mod_ucam_webauth.so - -The keys will by default be searched for in - - /srv/www/conf/webauth_keys/ - -It might be better to use the AAKeyDir directive to relocate this to -something like /etc/httpd/webauth_keys/. The RPMs will by default -create /etc/httpd/webauth_keys/ and make /srv/www/conf/webauth_keys a -symlink to it. - -Apache logs are stored in /var/log/httpd/ - Apache 2 -------- diff --git a/Makefile b/Makefile index ac1f3a4..b6e1bd0 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # the used tools APXS=/usr/sbin/apxs # Use 'make .... APXS=/path/to/apxs' if elsewhere -SUFFIX=so # Use 'make .... SUFFIX=la for Apache 2 +SUFFIX=la # Use 'make .... SUFFIX=so for Apache 1 # additional user defines, includes, libraries and options #DEF=-Dmy_define=my_value @@ -50,14 +50,6 @@ rpmdirs: mkdir -p ~/rpmdevel/SPECS mkdir -p ~/rpmdevel/SRPMS -rpm13: dist rpmdirs - (ver=`grep '#define VERSION' mod_ucam_webauth.c | \ - sed -e s/\"//g | cut -d' ' -f3`; \ - cp mod_ucam_webauth-$$ver.tar.gz ~/rpmdevel/SOURCES) - cp rpm-build/README.KEYS ~/rpmdevel/SOURCES - cp rpm-build/mod_ucam_webauth13.spec ~/rpmdevel/SPECS - rpmbuild -bs --nodeps ~/rpmdevel/SPECS/mod_ucam_webauth13.spec - rpm2: dist rpmdirs (ver=`grep '#define VERSION' mod_ucam_webauth.c | \ sed -e s/\"//g | cut -d' ' -f3`; \ diff --git a/README.Config b/README.Config index c97583b..c1d1403 100644 --- a/README.Config +++ b/README.Config @@ -86,7 +86,7 @@ limit access to particular resources to * members of an separately defined group (e.g. 'AuthGroupFile /web/groups' followed by 'Require group admin'). -In Apache 1.3 and 2.0, this functionality is provided by the mod_auth +In Apache 2.0, this functionality is provided by the mod_auth module. In Apache 2.2 and 2.4, it is provided by mod_authz_user, assisted by mod_authz_groupfile if using group files. These modules must be loaded if their facilities are used. The misleading error @@ -132,15 +132,6 @@ containing the module, relative to ServerRoot if it doesn't start '/'. This is not necessary if the module has been statically linked into the httpd program. -Under Apache 1.3 some configurations use 'ClearModuleList' followed by -'AddModule' directives to ensure that modules are used in a fixed -order - if mod_ucam_webauth is loaded before 'ClearModuleList' then - - AddModule mod_ucam_webauth.c - -will also be required somewhere. mod_ucam_webauth does not depend on -load order. AddModule is not used in Apache 2.0, 2.2, or 2.4. - The minimum configuration required to restrict access to resources in a particular directory to anybody with a Ucam-WebAuth login is, e.g. diff --git a/rpm-build/MANIFEST b/rpm-build/MANIFEST index 2a51702..35ddf08 100644 --- a/rpm-build/MANIFEST +++ b/rpm-build/MANIFEST @@ -1,4 +1,3 @@ -mod_ucam_webauth13.spec mod_ucam_webauth2.spec README.KEYS README diff --git a/rpm-build/README b/rpm-build/README index 021e901..4862123 100644 --- a/rpm-build/README +++ b/rpm-build/README @@ -11,7 +11,6 @@ But if you _really_ want to build from this, do the following: 2) Copy README.KEYS to /SOURCE - 3) Copy the correct .spec file (for Apache 1.3 or Apache 2) to - /SPEC + 3) Copy the correct .spec file to /SPEC 4) Run rpmbuild on the spec file diff --git a/rpm-build/mod_ucam_webauth13.spec b/rpm-build/mod_ucam_webauth13.spec deleted file mode 100644 index 2617288..0000000 --- a/rpm-build/mod_ucam_webauth13.spec +++ /dev/null @@ -1,170 +0,0 @@ -# Build parameters - -# Defaults - -%define dist std -%define keysdir /etc/httpd/conf/webauth_keys - -# Auto-detect distributions that neeed fixups. This may extension for -# new distributions - please inform raven-support@ucs.cam.ac.uk of any -# changes you find you need to make so tha tthey can be included in -# future versions of this file. - -%if %((rpm --quiet -q suse-release || rpm --quiet -q sles-release) && echo 1 || echo 0) == 1 - %define dist suse - %define keysdir /etc/httpd/webauth_keys - %define apxs %{_sbindir}/apxs2 -%endif - -%if %(test -e /etc/debian_version && echo 1 || echo 0) == 1 - %define dist debian - %define apxs %{_bindir}/apxs -%endif - -%define apache_libexecdir %(%{apxs} -q LIBEXECDIR) - -Summary: University of Cambridge Web Authentication system agent for Apache 1.3 -Name: mod_ucam_webauth13 -Version: 2.0.0 -Release: 1 -Group: System Environment/Daemons -Vendor: University of Cambridge Computing Service -URL: http://raven.cam.ac.uk/ -Source: mod_ucam_webauth-%{version}.tar.gz -License: GPL -BuildRoot: %{_tmppath}/%{name}-root -BuildPrereq: apache-devel, openssl-devel -Requires: apache, openssl - -%description -mod_ucam_webauth13 provides an interface to the University of -Cambridge Web Authentication system for Apache v1.3 servers. - -%prep -%setup -n mod_ucam_webauth-%{version} - -%build -make - -%install -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT%{_libdir}/apache -make install OPT=-SLIBEXECDIR=$RPM_BUILD_ROOT%{apache_libexecdir} -mkdir -p $RPM_BUILD_ROOT%{keysdir} -cp $RPM_SOURCE_DIR/README.KEYS $RPM_BUILD_ROOT%{keysdir}/ - -%post -%if %{dist} == "suse" -if [ ! -e /srv/www/conf/webauth_keys ]; then - mkdir -p /srv/www/conf/ - ln -s %{keysdir} /srv/www/conf/webauth_keys -fi -%endif - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT - -%files -%defattr(-,root,root) -%{apache_libexecdir}/mod_ucam_webauth.so -%{keysdir}/README.KEYS -%doc CHANGES -%doc COPYING -%doc INSTALL -%doc INSTALL.Platforms -%doc README -%doc README.Config -%doc mod_ucam_webauth.conf.skel - -%changelog -* Tue Jun 28 2013 Matthew Vernon - 2.0.0-1 -- Update to 2.0.0 - -* Tue May 28 2013 Matthew Vernon - 1.4.4-1 -- Update to 1.4.4 - -* Wed Mar 17 2010 Jon Warbrick - 1.4.3-1 -- Update to 1.4.3 - -* Wed May 23 2007 Jon Warbrick - 1.4.2-1 -- Update to 1.4.2 - -* Mon Apr 13 2007 Jon Warbrick - 1.4.1-1 -- Update to 1.4.1 - -* Tue Jan 30 2007 Jon Warbrick - 1.4.0-1 -- Update to support SLES -- Update to 1.4.0 - -* Mon Nov 28 2005 Jon Warbrick - 1.3.0-1 -- Update to 1.3.0 -- Remove much of the platform auto-detect code and go back to - creating RPMs with 'standard' names - -* Thu Jun 09 2005 Jon Warbrick - 1.2.2-1 -- Update to 1.2.2 - -* Thu Jun 02 2005 Jon Warbrick - 1.2.1-5 -- create empty keys directory if necessary -- Added README.Platforms - -* Tue May 31 2005 Jon Warbrick - 1.2.0-1 -- Updated for 1.2.0 - -* Tue Dec 07 2004 Jon Warbrick - 1.0.7-1 -- Updated for 1.0.7 - -* Mon Oct 18 2004 Jon Warbrick - 1.0.6-1 -- Updated for 1.0.6 - -* Fri Oct 15 2004 Jon Warbrick - 1.0.5-1 -- Updated for 1.0.5 - -* Thu Oct 14 2004 Jon Warbrick - 1.0.4-1 -- Updated for 1.0.4 - -* Fri Sep 10 2004 Jon Warbrick - 1.0.2-1 -- Updated for 1.0.2 - -* Wed Aug 25 2004 Jon Warbrick - 1.0.0-1 -- Updated to 1.0.0 -- Added Vendor tag - -* Wed Jul 14 2004 Jon Warbrick - 0.99_1.0.0rc6-2 -- Corrected path to apxs - -* Mon Jul 12 2004 Jon Warbrick - 0.99_1.0.0rc6 -- Updated for 0.99_1.0.0rc6 -- Added echo of build target - -* Fri Jul 09 2004 Jon Warbrick - 0.99_1.0.0rc5 -- Updated for 0.99_1.0.0rc5 -- Updated to use Makefile - -* Fri Jun 25 2004 Jon Warbrick - 0.99_1.0.0rc3 -- Updated for 0.99_1.0.0rc3 - -* Wed Jun 23 2004 Jon Warbrick - 0.99_1.0.0rc2 -- Updated for 0.99_1.0.0rc2 - -* Sat Jun 12 2004 Jon Warbrick - 0.45 -- Updated to 0.45 - posible resolution of memory problems - -* Tue May 04 2004 Jon Warbrick - 0.44 -- Update to 0.44 -- Changes source to .tar.gz file - -* Thu Mar 30 2004 Jon Warbrick - 0.42 -- Updated for 0.42 - fix GMT/Localtime bug - -* Mon Mar 22 2004 Jon Warbrick - 0.41 -- Updated for 0.41 - -* Fri Mar 12 2004 Jon Warbrick - 0.4-3 -- Updated for ver 0.4, added INSTALL, CHANGES - -* Mon Mar 08 2004 Jon Warbrick -- Updated to ver 0.3 - single codebase for Apache 1.3 and 2 - -* Mon Mar 08 2004 Jon Warbrick -- Created