summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * www-cgi/: Coding style fixesIan Jackson2016-05-17
| | | | | | | | | | | | | | Some of the merged branch introduced new functions with the { on the next line. Fix them. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
| * ucgi/: Return useful status codes when things go wrong.Mark Wooding2016-03-28
| | | | | | | | | | | | | | | | It's simply wrong for the ucgi machinery to report status 200 OK when it encounters trouble (e.g., the CGI program doesn't actually exist). So report a useful status code as part of `error' or `syserror'. We assume that the latter is always a server-side error; the former might be either, so we must annotate each call as appropriate.
| * www-cgi: Introduce `?DEFAULTS' pattern to match the default set.Mark Wooding2013-02-19
| |
| * www-cgi/ucgicommon.c: Split matching out from `filter_environment'.Mark Wooding2013-02-19
| | | | | | | | | | Makes the code a bit easier to follow, and prepares the ground for the next change.
| * www-cgi/: Yet more environment variables to be passed about.Mark Wooding2013-02-02
| | | | | | | | | | | | | | | | | | The `SSL_*' variables are used to pass information about SSL or TLS, including the cipher suite in use, and the status of client authentication. The `REDIRECT_*' variables are used to pass information about a failed request to a CGI script run as an Apache `ErrorDocument' or similar.
| * www-cgi/: Allow customization of the environment filters.Mark Wooding2013-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sites can now configure `ucgi's environment filters, and end users can configure `ucgitarget's filters. By default, `ucgi' will look in `/etc/userv/ucgi.env-filter', but if `UCGI_ENV_FILTER' is set in its environment, it will look there instead. The filter may contain wildcards and so on. By default, `ucgitarget' looks in `.userv/ucgitarget.env-filter', or `/etc/userv/ucgitarget.env-filter', if the former doesn't exist; but if passed a `-e FILTER' option on its command line, it will look in the file FILTER instead. This filter may /not/ contain wildcards. In both cases, if an explicitly named filter file can't be found then the program fails; if the default filter files can't be found then they fall back to built-in lists. The reason for the asymmetry in interfaces is: it's hard to pass command-line options to CGI scripts from webservers, but pretty easy to set environment variables; whereas it's hard to pass environment variables to a service program in a Userv configuration file, but easy to pass command-line arguments.
| * www-cgi/: Decentralize the whitelist of environment variables.Mark Wooding2013-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no great need for `ucgi' to have a fierce whitelist of environment variables to be passed to the service. We'll assume that the webserver hasn't put any critical secrets in its environment with unfortunate names; and the service shouldn't put any trust in the caller's filtering anyway. If the webserver end takes a more relaxed approach, we can leave questions of policy regarding environment filtering largely up to the service -- which is the bit that users actually have some control over. To this end, therefore, move the main whitelist to `ucgitarget.c', and put small list, containing some wildcard patterns, in `ucgi.c'.
| * www-cgi/: Centralize environment variable filtering.Mark Wooding2013-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than have a different loop in each program which trundles through a filter list picking up environment variables and doing things to the ones that match, invent a new function `filter_environment' which does the job, with extra steroids. The new function works the other way around: it iterates over the environment, comparing each variable to the filter list. It also supports some simple prefix-matching (`*' suffix) and blacklisting (`!' prefix) operations. Some new limits are introduced, on the maximum length of an environment variable name, and the total number of variables accepted by `ucgi': this is because these are no longer limited implicitly by the whitelist, since it may contain wildcards and suchlike.
| * www-cgi/ucgi.c: A bit more machinery for building the command line.Mark Wooding2013-02-02
| | | | | | | | | | Move the state for building the command line into a structure, and introduce a function for adding an argument. We'll want this later.
| * www-cgi/: Add some trivial tracing.Mark Wooding2013-02-02
| | | | | | | | | | | | | | | | | | | | | | The trace goes to standard output, and only happens when debugging is turned on, both operationally (e.g., though the `ucgi-debug' link or USERV_U_DEBUG variable) and at compile time (with the DEBUG macro, which you can set, e.g., with `make DEBUG="-g -DDEBUG"'. Trace output lines start with `;;'. I'll be grateful for this when I start shaking things up.
| * www-cgi/: Move `xrealloc' to `ucgicommon'.Mark Wooding2013-01-30
| | | | | | | | Both programs will want it soon enough.
| * www-cgi/ucgitarget.c: Use `error' to report unusual filesystem object.Mark Wooding2013-01-30
| | | | | | | | | | There's nothing useful in `errno'. Let's not end up saying `Success' here.
* | Add quirkafleeg to git-daemon/Makefile to placate emacs makefile mode.Ian Jackson2013-12-11
| |
* | Remove obsolete and broken dist target in root Makefile.Ian Jackson2013-12-11
| |
* | Provide various documentation for userv-cgi in /usr/share.Ian Jackson2013-12-11
| |
* | Bump Standards-Version to 3.7.0.0.Ian Jackson2013-12-11
| |
* | Fix typo in userv-cgi long description.Ian Jackson2013-12-11
| |
* | Bump Standards-Version to 2.2.0.0.Ian Jackson2013-12-09
| |
* | Improve adduser calls:Ian Jackson2013-12-09
| | | | | | | | | | - no longer guard with calls to id, as adduser --quiet is idempotent - pass --shell /bin/false and --no-create-home
* | Change default user for git-daemon to userv-git and default user for dyndns ↵Ian Jackson2013-12-09
| | | | | | | | to userv-dyndns.
* | Add debhelper token to postinst scripts.Ian Jackson2013-12-09
| |
* | Americanise spelling of /usr/share/common-licences to ...-licenses.Ian Jackson2013-12-09
| |
* | No longer mention SLIP and udptunnel in the userv-ipif Description.Ian Jackson2013-12-09
| |
* | Add dependency on debhelper.Ian Jackson2013-12-09
| |
* | Correct binary package dependencies by referencing substvars in debian/control.Ian Jackson2013-12-09
| |
* | dh(1): fix so that it works.Ian Jackson2013-12-09
| | | | | | | | | | | | Output is now identical except that: * changelog.Debian.gz -> changelog.gz symlink no longer present * DEBIAN/md5sums now _is_ present
* | Use dh(1). WIP.Ian Jackson2013-12-08
| |
* | ipif: Provide head comment of service.c as a txt docs.Ian Jackson2013-12-04
| |
* | ipif: Fix deprecation of udptunnel so it buildsIan Jackson2013-12-04
| |
* | ipif: Deprecate udptunnel.Ian Jackson2013-12-04
| |
* | ipif: Update docs to reflect fact that we are now using tun/tap.Ian Jackson2013-12-04
| |
* | Update to GPLv3+; update copyright notices everywhere.Ian Jackson2013-12-01
| |
* | REAMDE, copyright: Correct locations for GPL, and contact info.Ian Jackson2013-12-01
| |
* | dyndns: Docuument existence in README.Ian Jackson2013-12-01
| |
* | mailq: Clarify set of relevant files in README.Ian Jackson2013-12-01
| |
* | www-cgi: Promise better status for this utility.Ian Jackson2013-12-01
| |
* | changelog: 0.6.0 WIPIan Jackson2013-12-01
|/
* finalise changelogIan Jackson2013-01-27
|
* checkpasswd: fix -other service fileIan Jackson2013-01-27
|
* checkpass: installation arrangementsIan Jackson2013-01-27
|
* checkpass: installation arrangementsIan Jackson2013-01-27
|
* checkpasswd: initial implementationIan Jackson2013-01-27
|
* build improvementsIan Jackson2013-01-27
|
* www-cgi: whitelist some more HTTP headersIan Jackson2013-01-27
|
* Document in changelog changes since 0.4.2Ian Jackson2013-01-27
|
* Merge branch 'master' of ↵Ian Jackson2013-01-27
|\ | | | | | | login.chiark.greenend.org.uk:/home/ian/public-git/userv-utils
| * finalise 0.4.2Ian Jackson2012-01-15
| |
| * allow input same size as bufferIan Jackson2012-01-15
| |
| * fix assertion to have correct testIan Jackson2012-01-15
| |
| * ipif fixesIan Jackson2012-01-14
| |