--- /dev/null
+/configure
+/config.log
+/config.status
+/aclocal.m4
+/autom4te.cache
+/compile
+/install-sh
+/missing
+/.libs
+Makefile
+Makefile.in
+*.o
+*.la
-Credit goes to:
+Original credits:
Jarod Malestein <jarod@umich.edu> Initial author
Wesley Craig <wes@umich.edu> Initial author
Derrick Brashear <shadow@dementia.org> Apache2 support
Sean Dilda <sean@duke.edu> umich integration
Adam Megacz <megacz@cs.berkeley.edu> autoconf, debianization, maintainance
+
+Post-1.0, this is being maintained as an AUTHORS file for copyright purposes;
+see https://www.gnu.org/prep/maintain/html_node/Recording-Contributors.html. In
+particular, it is not for showing the purpose or time of changes, just which
+file parts were written or modified by whom, for non-trivial contributions.
+
+Russ Allbery, Jeffrey Altman:
+ rxkad-kdf support in mod_waklog.c
+Jacob Welsh <jwelsh@sinenomine.net>:
+ Many small fixes in mod_waklog.c
+ Cleanup of Makefile.am, configure.in/ac, regen.sh
+ New files mod_waklog.spec, waklog.conf, NEWS, .gitignore
Installation Instructions
+(Ideally this would be simplified by using `make dist`, but that currently
+doesn't work.)
+
Type:
./regen.sh
chmod +x debian/rules
fakeroot dpkg-buildpackage
+Release archive:
+ git archive -o mod_waklog-$VERSION.tgz --prefix=mod_waklog-$VERSION/ $VERSION
+RPM:
+ rpmbuild -ta mod_waklog-$VERSION.tgz
-all: mod_waklog.so
-
-APXS = @APXS@
-INCLUDES = -I@KRB5_INC@ -I@AFS_INC@ -I@APACHE_INC@ -I@APR_INC@
-LIB = -L@AFS_LIBS@ -L@KRB5_LIBS@ -L@APACHE_LIBS@ -lkrb5 -lk5crypto \
- -lafsauthent -lafsrpc -lkopenafs
-
-APXSCC = `${APXS} -q CC` \
- @WAKLOG_DEBUG@ \
- ${INCLUDES} \
- -DEAPI -fPIC \
- -g \
- `${APXS} -q CFLAGS`
-
-VERSION: mod_waklog.c
- date '+SVN_%Y%m%d' > VERSION
-
-version.o: version.c mod_waklog.c VERSION
- ${APXSCC} \
- -DVERSION=\"`cat VERSION`\" \
- -c version.c
-
-%.o: %.c
- ${APXSCC} -c $< -o $@
-mod_waklog.so: mod_waklog.o lifetime.o version.o
- ${APXS} -c ${LIB} mod_waklog.o lifetime.o version.o
-
-clean:
- rm -f *.o *.so
- rm -f mod_waklog.so
+all: mod_waklog.so
+
+APXS = @APXS@
+AM_CPPFLAGS = -I@KRB5_INC@ -I@AFS_INC@
+LIB = -L@AFS_LIBS@ -L@KRB5_LIBS@
+LIB += -lkrb5 -lk5crypto -lafsauthent -lafsrpc -lkopenafs
+
+APXSCC = `${APXS} -q CC` \
+ @WAKLOG_DEBUG@ \
+ -DVERSION=\"@VERSION@\" \
+ ${AM_CPPFLAGS} \
+ -DEAPI -fPIC \
+ -g \
+ `${APXS} -q CFLAGS` \
+ -I`${APXS} -q INCLUDEDIR` \
+ -I`${APXS} -q APR_INCLUDEDIR`
+
+.c.o:
+ ${APXSCC} -c $< -o $@
+
+mod_waklog.so: mod_waklog.o lifetime.o
+ ${APXS} -c ${LIB} mod_waklog.o lifetime.o
+
+clean:
+ rm -f *.o *.so
--- /dev/null
+1.1.0
+-----
+
+General changes:
+
+* Apache 2.3 and 2.4 are now supported
+* rxkad-kdf is now supported for a DES-free KDC; the minimum required version
+ of OpenAFS is now 1.6.5
+* Compiler warnings and build errors on newer platforms have been fixed
+* The autoconf build system has been somewhat modernized and simplified
+* The three-part version number is now used consistently
+
+Security bugfixes:
+
+* Fixed a bug causing long passwords not to be fully cleared from memory
+* Fixed a possible NULL pointer dereference in error logging
+
+Contributors to this release include:
+
+* Jacob Welsh of Sine Nomine Associates (http://www.sinenomine.net/)
+* Russ Allbery and Jeffrey Altman (rxkad-kdf support)
+* Ryan Jud Hughes
+
+Older versions (former NOTES file)
+----------------------------------
+
+0.6.0:
+Initial release.
+
+0.7.0:
+Removed K4 code.
+Removed extraneous #if 0's.
+Fixed bug where mod_waklog crashed if KRB5CCNAME was null.
+
+0.8.0:
+Integrate Apache 2 support.
+
+Future releases:
+0.9.0:
+Add configuration directives for Apache conf files.
+Configure support.
+Remove ticket renewal code? Make it an option?
+
+1.0.0:
+Features working properly.
+
+1.x.x:
+Things we haven't thought of yet.
+
+
+
+++ /dev/null
-
-Versions:
-
-0.6.0:
-Initial release.
-
-0.7.0:
-Removed K4 code.
-Removed extraneous #if 0's.
-Fixed bug where mod_waklog crashed if KRB5CCNAME was null.
-
-0.8.0:
-Integrate Apache 2 support.
-
-Future releases:
-0.9.0:
-Add configuration directives for Apache conf files.
-Configure support.
-Remove ticket renewal code? Make it an option?
-
-1.0.0:
-Features working properly.
-
-1.x.x:
-Things we haven't thought of yet.
-
-
-
AC_INIT([mod_waklog], [1.1.0])
AC_CONFIG_SRCDIR([mod_waklog.c])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
AC_PROG_INSTALL
[AFS_INC=/usr/include/afs])
AC_SUBST(AFS_INC)
-AC_ARG_WITH([apr-headers],
- [AC_HELP_STRING([--with-apr-headers],[path to apr headers])],
- [APR_INC=$withval],
- [APR_INC=/usr/include/apr-1])
-AC_SUBST(APR_INC)
-
AC_ARG_WITH([krb5-libs],
[AC_HELP_STRING([--with-krb5-libs],[path to krb5 libraries])],
[KRB5_LIBS=$withval],
[APACHE_LIBS=/usr/lib/])
AC_SUBST(APACHE_LIBS)
-AC_ARG_WITH([apache-headers],
- [AC_HELP_STRING([--with-apache-headers],[path to apache headers])],
- [APACHE_INC=$withval],
- [APACHE_INC=/usr/include/apache-1.3])
-AC_SUBST(APACHE_INC)
-
AC_ARG_WITH([apxs],
[AC_HELP_STRING([--with-apxs],[path to apxs])],
[APXS=$withval],
apr_pool_t * ptemp, server_rec * s)
{
int rv;
- extern char *version;
apr_proc_t *proc;
waklog_config *cfg;
void *data;
else
{
log_error (APLOG_MARK, APLOG_INFO, 0, s,
- "mod_waklog: version %s initialized for cell %s", version, cfg->afs_cell);
+ "mod_waklog: version %s initialized for cell %s", VERSION, cfg->afs_cell);
if ( sharedspace ) {
log_error(APLOG_MARK, APLOG_ERR, 0, s, "mod_waklog: shared memory already allocated." );
static void
waklog_init (server_rec * s, MK_POOL * p)
{
- extern char *version;
int pid;
waklog_config *cfg;
int fd = -1;
#endif
log_error (APLOG_MARK, APLOG_DEBUG, 0, s,
- "mod_waklog: version %s initialized.", version);
+ "mod_waklog: version %s initialized.", VERSION);
if ( sharedspace ) {
log_error(APLOG_MARK, APLOG_ERR, 0, s, "mod_waklog: shared memory already allocated." );
--- /dev/null
+Name: mod_waklog
+Version: 1.1.0
+Release: 1%{?dist}
+Summary: Apache module allowing the web server to acquire AFS credentials
+
+Group: System Environment/Daemons
+License: University of Michigan
+Vendor: Sine Nomine Associates
+URL: http://sourceforge.net/projects/modwaklog/
+Source0: http://sourceforge.net/projects/modwaklog/files/modwaklog/mod_waklog-%{version}.tgz
+BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+
+BuildRequires: openafs-authlibs-devel httpd-devel apr-devel krb5-devel automake
+Requires: httpd
+
+%description
+mod_waklog is an Apache module that provides aklog-like semantics
+for the web. mod_waklog will acquire (and store in the kernel) an
+AFS credential when a connection is opened, use the credential for
+the duration of the connection, and will remove the credential when
+the connection is closed.
+
+%prep
+%setup -q
+# This goes away with a proper dist tarball; likewise BuildRequires: automake
+./regen.sh
+
+%build
+./configure --libdir=%{_libdir} --with-afs-libs=%{_libdir}/afs
+make %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+install -d $RPM_BUILD_ROOT%{_libdir}/httpd/modules/
+install .libs/mod_waklog.so $RPM_BUILD_ROOT%{_libdir}/httpd/modules/
+
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/
+install -m 644 waklog.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%{_libdir}/httpd/modules/mod_waklog.so
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/waklog.conf
+%doc README COPYING AUTHORS NEWS
+
+%changelog
+* Wed Jul 15 2015 Jacob Welsh <jwelsh@sinenomine.net> - 1.1.0-1
+- Initial RPM package
#!/bin/sh -e
-touch aclocal.m4
-touch INSTALL NEWS AUTHORS ChangeLog COPYING
aclocal
autoconf
-automake -a
-automake
\ No newline at end of file
+automake --add-missing
+automake
+++ /dev/null
-/*
-* Copyright (c) 2002 Regents of The University of Michigan.
-* All Rights Reserved. See COPYRIGHT.
-*/
-
-char *version = VERSION;
--- /dev/null
+LoadModule waklog_module modules/mod_waklog.so
+
+WaklogAfsCell example.com