diff options
-rw-r--r-- | Makefile.am | 8 | ||||
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | src/Makefile.am | 18 | ||||
-rw-r--r-- | src/vmod-basicauth.3 | 84 | ||||
-rw-r--r-- | src/vmod_basicauth.3 | 84 | ||||
-rw-r--r-- | src/vmod_basicauth.c | 8 |
7 files changed, 118 insertions, 98 deletions
diff --git a/Makefile.am b/Makefile.am index 424ab6a..2e97059 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,18 +1,18 @@ -# This file is part of libvmod_basicauth +# This file is part of vmod-basicauth # Copyright (C) 2013 Sergey Poznyakoff # -# Libvmod_basicauth is free software; you can redistribute it and/or modify +# Vmod-basicauth is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # -# Libvmod_basicauth is distributed in the hope that it will be useful, +# Vmod-basicauth is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with libvmod_basicauth. If not, see <http://www.gnu.org/licenses/>. +# along with vmod-basicauth. If not, see <http://www.gnu.org/licenses/>. ACLOCAL_AMFLAGS = -I m4 SUBDIRS = src tests @@ -1,9 +1,11 @@ -Vmod-basicauth NEWS -- history of user-visible changes. 2013-07-09 +Vmod-basicauth NEWS -- history of user-visible changes. 2013-07-26 Copyright (C) 2013 Sergey Poznyakoff See the end of file for copying conditions. Please send Vmod-basicauth bug reports to <gray@gnu.org> +Version 1.1.90 (Git) + Version 1.1, 2013-07-09 Implement SHA1 passwords. diff --git a/configure.ac b/configure.ac index 83ef69e..3ec841b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,20 +1,20 @@ -# This file is part of libvmod_basicauth -*- autoconf -*- +# This file is part of vmod-basicauth -*- autoconf -*- # Copyright (C) 2013 Sergey Poznyakoff # -# Libvmod_basicauth is free software; you can redistribute it and/or modify +# Vmod-basicauth is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # -# Libvmod_basicauth is distributed in the hope that it will be useful, +# Vmod-basicauth is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with libvmod_basicauth. If not, see <http://www.gnu.org/licenses/>. +# along with vmod-basicauth. If not, see <http://www.gnu.org/licenses/>. AC_PREREQ(2.69) -AC_INIT([libvmod-basicauth], 1.1, [gray@gnu.org]) +AC_INIT([vmod-basicauth], 1.1.90, [gray@gnu.org]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR(src/vmod_basicauth.vcc) diff --git a/src/Makefile.am b/src/Makefile.am index e5e6bc1..983bee9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,6 +1,22 @@ +# This file is part of vmod-basicauth +# Copyright (C) 2013 Sergey Poznyakoff +# +# Vmod-basicauth is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# Vmod-basicauth is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with vmod-basicauth. If not, see <http://www.gnu.org/licenses/>. + AM_CPPFLAGS = -I$(VARNISHSRC)/include -I$(VARNISHSRC) -dist_man_MANS = vmod_basicauth.3 +dist_man_MANS = vmod-basicauth.3 vmod_basicauth.3 vmoddir = $(VMODDIR) vmod_LTLIBRARIES = libvmod_basicauth.la diff --git a/src/vmod-basicauth.3 b/src/vmod-basicauth.3 new file mode 100644 index 0000000..31990c0 --- /dev/null +++ b/src/vmod-basicauth.3 @@ -0,0 +1,84 @@ +.\" This file is part of Vmod-basicauth -*- nroff -*- +.\" Copyright (C) 2013 Sergey Poznyakoff +.\" +.\" Vmod-basicauth is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 3, or (at your option) +.\" any later version. +.\" +.\" Vmod-basicauth is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with vmod-basicauth. If not, see <http://www.gnu.org/licenses/>. +.TH VMOD-BASICAUTH 1 "July 8, 2013" "VMOD-BASICAUTH" "User Reference" +.SH NAME +vmod-basicauth \- Basic HTTP authentication +.SH SYNOPSIS +.B import basicauth; + +.BI "BOOL basicauth.match(STRING " passfile ", STRING " authstr ); +.SH DESCRIPTION +The +.B vmod-basicauth +module implements basic HTTP authentication against the password file +created using the +.BR htpasswd (1) +command. +.PP +Four kinds of password hashes are supported: +Apache MD5 (\fB$apr1$\fR), +.BR crypt (3), +.BR SHA1 , +and plaintext. +.PP +The \fBmatch\fR function returns \fBTRUE\fR or \fBFALSE\fR depending on +whether the authentication succeeds or not. The \fIpassfile\fR argument +supplies the name of the password file to use. The \fIauthstr\fR argument +is the authentication string (normally, the value of the +\fBAuthorization\fR HTTP header. +.PP +.SS Example +.sp +.nf +.in +2 +if (!basicauth.match("/var/www/.htpasswd", req.http.Authorization)) { + error 401 "Restricted"; +} +.in +.fi +.\" The MANCGI variable is set by man.cgi script on Ulysses. +.\" The download.inc file contains the default DOWNLOAD section +.\" for man-based doc pages. +.if "\V[MANCGI]"WEBDOC" \{\ +. ds package vmod-basicauth +. ds version 1.1 +. so download.inc +\} +.SH "SEE ALSO" +.BR vcl (7), +.BR varnishd (1). +.SH AUTHORS +Sergey Poznyakoff +.SH "BUG REPORTS" +Report bugs to <gray@gnu.org>. +.SH COPYRIGHT +Copyright \(co 2013 Sergey Poznyakoff +.br +.na +License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> +.br +.ad +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +.\" Local variables: +.\" eval: (add-hook 'write-file-hooks 'time-stamp) +.\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.-]* [0-9] \"" +.\" time-stamp-format: "%:B %:d, %:y" +.\" time-stamp-end: "\"" +.\" time-stamp-line-limit: 20 +.\" end: + + diff --git a/src/vmod_basicauth.3 b/src/vmod_basicauth.3 index d7c8934..086f34e 100644 --- a/src/vmod_basicauth.3 +++ b/src/vmod_basicauth.3 @@ -1,83 +1 @@ -.\" This file is part of libvmod_basicauth -*- nroff -*- -.\" Copyright (C) 2013 Sergey Poznyakoff -.\" -.\" Libvmod_basicauth is free software; you can redistribute it and/or modify -.\" it under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 3, or (at your option) -.\" any later version. -.\" -.\" Libvmod_basicauth is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with libvmod_basicauth. If not, see <http://www.gnu.org/licenses/>. -.TH VMOD_BASICAUTH 1 "July 8, 2013" "VMOD_BASICAUTH" "User Reference" -.SH NAME -vmod_basicauth \- Basic HTTP authentication -.SH SYNOPSIS -.B import basicauth -.SH DESCRIPTION -The -.B vmod_basicauth -module implements basic HTTP authentication against the password file -created using the -.BR htpasswd (1) -command. -.PP -Four kinds of password hashes are supported: -Apache MD5 (\fB$apr1$\fR), -.BR crypt (3), -.BR SHA1 , -and plaintext. -.SH FUNCTIONS -.SS match -.TP -.B Prototype -match(STRING \fIFILE\fR, STRING \fIAUTHSTR\fR) -.TP -.B Return value -Bool -.TP -.B Description -\fIAUTHSTR\fR is the authentication string as supplied with the -.B Authorization: -header. The function checks if it matches one of the lines in -the password file \fIFILE\fR and returns \fBtrue\fR if so. -.TP -.B Example -.sp -.nf -.in +2 -if (!basicauth.match("/var/www/.htpasswd", - req.http.Authorization)) { - error 401 "Restricted"; -} -.in -.fi -.SH "SEE ALSO" -.BR vcl (7), -.BR varnishd (1). -.SH AUTHORS -Sergey Poznyakoff -.SH "BUG REPORTS" -Report bugs to <gray@gnu.org>. -.SH COPYRIGHT -Copyright \(co 2013 Sergey Poznyakoff -.br -.na -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> -.br -.ad -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -.\" Local variables: -.\" eval: (add-hook 'write-file-hooks 'time-stamp) -.\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.-]* [0-9] \"" -.\" time-stamp-format: "%:B %:d, %:y" -.\" time-stamp-end: "\"" -.\" time-stamp-line-limit: 20 -.\" end: - - +.so man3/vmod-basicauth.3 diff --git a/src/vmod_basicauth.c b/src/vmod_basicauth.c index 0e66290..c63f7fa 100644 --- a/src/vmod_basicauth.c +++ b/src/vmod_basicauth.c @@ -1,18 +1,18 @@ -/* This file is part of libvmod_basicauth +/* This file is part of vmod-basicauth Copyright (C) 2013 Sergey Poznyakoff - Libvmod_basicauth is free software; you can redistribute it and/or modify + Vmod-basicauth is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. - Libvmod_basicauth is distributed in the hope that it will be useful, + Vmod-basicauth is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with libvmod_basicauth. If not, see <http://www.gnu.org/licenses/>. + along with vmod-basicauth. If not, see <http://www.gnu.org/licenses/>. */ #define _GNU_SOURCE #include <stdio.h> |