userv (1.2.1) unstable; urgency=medium

  * Declare this to be version 1.2.1.  No code changes.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Tue, 04 Feb 2025 20:15:48 +0000

userv (1.2.1~beta5) unstable; urgency=medium

  * d/control: Add `Rules-Requires-Root: binary-targets`.
    Fixes FTBFS with new dpkg-buildpackage.  Closes: #1092417.
    [Report from Lucas Nussbaum, verification by Ben Harris]

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sun, 12 Jan 2025 20:55:07 +0000

userv (1.2.1~beta4) unstable; urgency=medium

  * debian/control: Re-add missing build-dependency on fonts-dejavu.
    Fixes FTBFS, this time for sure!  See also #1002919.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sat, 01 Jan 2022 01:16:34 +0000

userv (1.2.1~beta3) unstable; urgency=medium

  * debian/control: Add missing build-dependency on flex.
    Fixes FTBFS.  Report from Aurelien Jarno.  Closes: #1002914.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Fri, 31 Dec 2021 22:24:40 +0000

userv (1.2.1~beta2) unstable; urgency=medium

  Documentation generation changes:
  * spec: Generate printable file as pdf via docbook.
  * spec: Correct information about userv's authorship.
  * spec: Update builtin version number.
  * overview diagram: Build as pdf, with a sensible page layout.

  Debian packaging changes:
  * Switch to dh auto sequencer.  Many consequences:
     - Upstream README is /usr/share/doc/userv/README, not README.upstream.
     * Control file md5sums are provided.
     * New changelog symlink for changelog.Debian.gz.
     * We use the proper Debian debug information scheme.
     * We use different compiler flags, which will hopefully produce
       better hardening and better reproducibility.
  * debian: Use debhelper to generate maint scripts (daemon start/stop).
  * Add misisng build-dependency on "transfig" (previously masked by
    our TeX requirements).
  * Build everything from actual sources; don't reuse committed files.
  * init script: Source /lib/lsb/init-functions.
  * debian/control: Fix debhelper build-depends version.
  * debian/copyright: Mention /usr/share/common-licenses/GPL-3.
  * debian/control: Bump Standards-Version (no changes needed).

  Fixes to upstream "make install-docs" target:
  * Ship docs to /usr/share/doc/userv, not /usr/userv (!)
  * Ship manpages to /usr/share, not /usr, by default.
  * Install default config files as examples too.
  * Provide "[un]install-docs" target (not just anomalous "install-doc").

  Inconsequential code changes:
  * Suppress some warnings about ignoring stderr write errors.
  * overlord: Explicitly ignore unwanted value from write.

  Upstream build system and packaging tidying:
  * regenerate lexer.c using flex 2.6.4-6.2.
  * regenerate rautoconf outputs with auatoconf 2.69-11.
  * Add autogen.sh.
  * Add some missing configure.in quoting (needed by modern autoconf).
  * "make install": Honour DESTDIR; create bindir and sbindir if needed.
  * "make install": Do not pass -m to install -d; introduce INSTALL_DIR.
  * overview diagram: Override non-reproducible date inserted by fig2dev.
  * copyright: Add missing dates and names.  Simplify notices.
  * Update my own email address.
  * changelog: Add "Old Changelog:" note to help Debian's parsers.
  * gitignore: add missing entries, move debian stuff to debian/.
  * Makefile: Refactoring of installation targets.
  * Makefile: Remove obsolete dist target.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Wed, 29 Dec 2021 19:32:19 +0000

userv (1.2.1~beta1) unstable; urgency=medium

  Bugfixes:
  * Do not leak a harmless fd into the service program.  Closes: #864876.
  * spec: Do not claim you can specify numeric service uid.  Closes: #989048.

  Packaging:
  * Provide a systemd service file in the source tree,  but (for now) do
    not install it.  Re #939573.  Service file provided by Matthew Vernon.
  * debian/compat: Bump to 12 (stretch-backports).  Closes: #965858.
  * autopkgtests: Add some tests to check installation and operation.
  * debian/rules: Fix cross-building.  Closes: #985998.  [Helmut Grohne]

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sun, 26 Dec 2021 01:32:33 +0000

userv (1.2.0) unstable; urgency=medium

  Bugfixes:
  * Support `stdin', `stdout' and `stderr' in fd ranges, as promised
    by the spec.  Closes:#813005.
  * Support `range' operator, as promised by the spec.  Closes:#686449.
    Bug and analysis from Mark Wooding.
  * Do not ignore errors from readdir.  Closes:#827408 [Peter Benie].
  * Correct docs for errors-push, which takes no filename.
    Closes:#775852.
  * Correct quoting of include-lookup directory.  Closes:#837391.
    (With new directives to somewhat ease backward-compatibility.)

  Packaging etc.
  * Honour XCFLAGS.
  * Use `%option nounput' rather than #define YY_NO_UNPUT.
    Patch from Peter Benie.
  * Specify #define YY_NO_INPUT, which avoids an unused function warning.
    Patch from Peter Benie.
  * Update copyright notices.
  * Upgrade licence to GPLv3+.

  Debian packaging:
  * Honour dpkg-buildflags.
  * Add some newer debian/ droppings to .gitignore.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Mon, 23 Jan 2017 17:17:54 +0000

userv (1.1.1) unstable; urgency=low

  * Include INIT INFO stanza in init script.
  * Draft support for `status' in init script, currently commented
    out pending inclusion into policy of firm specification.
  * Remove spec.ps on make clean.
  * Remove spec.ps and dh log on debian/rules clean.  (Use dh_clean.)
    (To repro bug: dpkg-buildpackage, debian/rules clean, git-ls-files -o)
  * Fix up some copyright messages.
  
 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Fri, 08 Jun 2012 20:16:52 +0100

userv (1.1.0) unstable; urgency=medium

  Bugfix:
  * Do not reject comments and blank lines inside not-being-executed
    conditional clauses.  (Closes: #613862.)

  Important Debian packaging fix:
  * Remove /var/run/userv from the .deb.
    (Along with the change in 1.0.6 this Closes: #630528.)

  General minor improvements (relevant outside Debian):
  * Introduce a use of socklen_t to avoid a compiler warning.
  * Remove spec.html and spec.ps from revision control.
  * Revision control switched from cvs to git.
  * Update my email address.

  Debian packaging minor improvements and bugfixes:
  * The new version will ensure a rebuild and therefore completely deal
    with the debiandoc-sgml missing documentation bug.  (Closes: #413873.)
  * Use lintian for dh_fixperms; this ensures that the permissions of
    /etc/userv in the .deb are 755, not 2755.
  * Use `command -v' instead of `type' in maintainer scripts.
  * Do not ignore errors from commands in rules clean target.
  * Fix FSF address in copyright file.
  * Remove obsolete local variable section from debian/changelog.
  * Update Standards-Version.  No changes required.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sat, 02 Jun 2012 16:41:09 +0100

userv (1.0.6ubuntu1) lucid; urgency=low

  * Change tetex-bin with texlive and tetex-extra with texlive-latex-extra
    in Build-Depends for tetex transition. Cherry-picked from Debian,
    Thanks to Jari Aalto.

 -- James Westby <james.westby@ubuntu.com>  Thu, 15 Apr 2010 12:03:52 +0100

userv (1.0.6) unstable; urgency=low

  Packaging fix:
  * Create /var/run/userv in the init script as well as shipping
    it in the .deb package.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Wed, 11 Jul 2007 17:54:36 +0100

userv (1.0.5) unstable; urgency=low

  Bugfixes (thanks to report from Nelson Beebe):
  * Do not call `assert' on expressions whose side-effects we need (!)
    Thanks to report from Nelson Beebe.
  * Correct an erroneous assert() argument so that it would actually
    detect failure of the assertion.
  * alarm(2) returns unsigned and can never fail.

  Packaging changes:
  * Reran flex (flex Debian 2.5.31-31).
  * Use install -g 0 instead of -g root.  This is more portable, I hope.
  * Detect missing vsnprintf and mention URL from Nelson Beebe in err msg.
  * Remove obsolete `buildship' script from top level directory.  We use
    cvs-buildpackage nowadays.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat,  8 Apr 2006 13:17:14 +0100

userv (1.0.4) unstable; urgency=low

  Bugfixes:
  * Close client socket fd in spawned cats (avoids some service-side hangs
    when client terminates).  Thanks to report from Simon Tatham.

  Minor portability fixes:
  * Missing #include <string.h> and <stdlib.h>  } Thanks to report
  * getgroups returns int, not gid_t (!).       }  from Peter Benie.
  * Dummy `check' target in Makefile.in.              } Thanks to
  * Bogus strsignal emulation for broken platforms.   } report from
  * Bogus WCOREDUMP emulation for broken platforms.   } Nelson Beebe
  
  Packaging improvements (including Debian packaging fixes):
  * Compress uservd(8) manpage.  Closes: #244735.
  * spec.tex and spec.html are autogenerated: clean and .cvsignore them.
  * SHELL=/bin/bash in debian/rules; use of install(8).  Closes: #263979.
  * Reran autoconf/autoheader (autoconf Debian 2.13-54).
  * Updated copyright notices.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Fri,  7 Apr 2006 20:04:29 +0100

userv (1.0.3-2) unstable; urgency=low

  Debian packaging improvements (only):
  * type -p invoke-rc.d changed to type, in postinst and prerm.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat,  1 Nov 2003 16:59:38 +0000

userv (1.0.3) unstable; urgency=medium

  Bugfixes:
  * Make require-fd work with reading fds !
    (Thanks to Ben Harris for the bug report).
  * Close unwanted pipes in client-side cat subprocesses, to avoid
    wedging at termination.  (Thanks to patchlet from Peter Benie.)
  * gid_t may be >int, so cast to long when putting in USERV_GIDS
    (Might conceivably make USERV_GIDS be wrong on some platforms.)
  * Do not pass char to ctype macros; they can't cope with -ve !
  * Fix fd modifier, signal, and exit status parsing to be rigourous in
    their use of strtoul.  (Thanks to report from Peter Benie.)

  Portability fixes:
  * #include <fcntl.h>, not <sys/fcntl.h> (fixes some implicit decls).
  * Look for gmd5sum.  (Thanks to Anton Altaparmakov for the report.)
  * install-sh updated to that from autoconf 2.53.
  * Use fcntl F_{GET,SET}FD with respect for as-yet-uninvented fd flags.
    (small patch from Ben Harris.)

  Documentation and help improvements:
  * userv(1) manpage: fixed broken definitions of fd excl and trunc.
    (Debian bug report: Closes: #79579.)
  * Specification's usage notes section improved.
  * --help and --version behaviour made to conform to GNU standards.
  * We do ship m4 and flex output now, so say so.
  * Some groff warnings in userv(1), and source version fixed.
  * New userv(8) manpage.  (Debian: Closes: #33777.)
  * Update copyright dates everywhere.

  Debian packaging improvements:
  * Priority changed to optional as per override file.
  * Build-Depends: debiandoc-sgml, tetex-bin, tetex-extra.  Closes #190615.
  * init.d reload is noop, restart now called restart.  Closes #70783.
  * /etc/init.d/userv nicer output: colons, `.' printed after done.
  * Maintainer scripts use invoke-rc.d if it's available.
  * Maintainer scripts discard stdout from update-rc.d.
  * No more messing with /usr/doc, use only /usr/share/doc.  Closes #91578.
  * Support unstripped binaries in the .deb, with DEB_BUILD_OPTIONS.
  * Fixed typo in debian/copyright.
  * /etc/init.d/userv restart doesn't mind if not already running.
  * debian/rules clean removes whole spec.html subdirectory.
  * Ship spec.ps (Closes: #210859)
  * Lintian override for suid /usr/bin/userv (Closes: #211055)
  * Standards-Version 3.6.1.
  * Corrected location of common licenses.
  * Added -isp to dpkg-gencontrol.
  (Thanks to Martin Pitt and Bas Zoetekouw's NMUs
   for many inspirations and one-liners.)
  
 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat,  1 Nov 2003 01:11:59 +0000

userv (1.0.1) stable frozen unstable; urgency=high

  IMPORTANT SECURITY FIX:
  * fd swapping algorithm would sometimes corrupt security-critical data
    used to generate the service program's USERV_ environment variables.
    For details see the 1.0.1 announcement in the userv-announce archives.

  Portability improvement:
  * Look for `md5' as well as `md5sum' - installs easier on BSDs.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 27 Jul 2000 01:06:30 +0100

userv (1.0.0) unstable; urgency=low

  * Manpage userv(1) from Ben Harris.  (Debian bug #33777.)
  * Released out of beta (version number change).
  * Added a couple of things to .cvsignore.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Mon,  6 Mar 2000 18:13:49 +0000

userv (0.95.0) unstable; urgency=low

  * Count \-continued lines properly in error message line numbers.
  * Fix lexing bugs with "-quoted strings and \-continuation.
  * Fix interpretation of \n etc. in "-quoted strings.
  * Fix bug which ignored erroneous read/write after ignore-fd/reject-fd.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Tue,  9 Nov 1999 23:26:54 +0000

userv (0.65.2) unstable; urgency=high

  * In client, copy results from getpw* when necessary.  This fixes what
    could be a security problem on some platforms.
  * Avoid accessing backup, auto-save files, etc, with include-lookup.
    Everything except a-z 0-9 - _ must now be prefixed by a colon.
  * Allow \ to continue lines (and do sensible things with whitespace in
    `message' and `error' directives).

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun, 10 Oct 1999 12:48:47 +0100

userv (0.64.1) unstable; urgency=low

  * New "shutdown" builtin service for terminating uservd.
  * Spec. document shows subsections in TOC.

  * setenv emulation using putenv works properly (previously you would get
    wrong environment variable settings).  (Thanks to Ben Harris.)
  * Makefile bug fixed (tokens.h would sometimes not be rebuilt).

  * Regenerated formatted documentation (spec.ps, spec.html).

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun, 20 Jun 1999 19:13:42 +0100

userv (0.62) unstable; urgency=low

  * New builtin service `help' lists builtin services.
  
  INSTALL improvements:
  * Document locations of required programs.
  * Sort-of document debugging version.
  
  Portability fixes for:
  * md5sum with extra `-'.
  * -lsocket required for socket().
  * missing `LOG_AUTHPRIV'.
  * `logname' name clash.    
  * missing setenv() (synthesize using putenv).
  * various required #include's were omitted.
  * install rule in Makefile `if ! test ...' changed to `if test ! ...'

  Build arrangements changed (new GNU coding standards targets etc):
  * m4 and flex output now shipped.
  * `dist' target in Makefile.
  * Manuals in CVS and shipped pre-formatted.

  * Reran autoconf/autoheader, latest version.
  * Updated email address to ian@davenant.greenend.org.uk throughout.

 -- Ian Jackson <ian@chiark.greenend.org.uk>  Sun, 18 Apr 1999 20:08:12 +0100

userv (0.60.3) frozen unstable; urgency=medium

  * Fixed misdequoting of \<newline> in "-quoted strings.
  * Removed -Werror by default.  (Bug#32758, Bug#32747)

 -- Ian Jackson <ian@chiark.greenend.org.uk>  Wed,  3 Feb 1999 22:24:33 +0000

userv (0.60.2) frozen unstable; urgency=high

  * Fixed failure to save pathnames in a couple of places in parser.c.
    Without this, include-directory would often try to open a garbage
    filename.  This could be a security problem in certain cases where
    user-owned config files were included from sysadmin-defined files,
    and the sysadmin wants to control how a user provides services.

  * Fix "-quoted strings, which previously never worked at all.

  * Fixed spurious failure with `Interrupted system call' on systems
    where fread can fail due to read giving EINTR (blech!)

  * Fixed race when fd closed at startup, which could cause
    `system call failure: kill cat for <fd>: No such process'.

  * Fixed spurious assertion failure if user's home directory not
    accessible.
  * Fixed a couple of memory and fd leaks in error exits from
    include-directory and include-lookup in parser.c.

  * Debian and `upstream' version integrated; Changelogs merged.

  * Provided `system.default' file checks /etc/userv/services.d and
    /etc/userv/default.d; system.override runs /etc/userv/override.d.

  * Add <string.h> to servexec.c.
  * Add -D_GNU_SOURCE to CFLAGS in configure.in.
  * Braces added in client.c to prevent GCC `ambiguous else' warning.

  * Reran autoconf.
  * autoconf-generated files included in CVS.

  * Debian package description mentions use by system admin.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat, 30 Jan 1999 23:38:17 +0000


Old Changelog:

*** Main changelog file included here - see far down this file for the
*** pre-0.60 Debian-specific changes.


userv (0.58); urgency=high

  * Fixed failure to set gid when invoking service !!
  * Fixed failure to set fd value in et_closereadfd messages from client.

  * Save filename string in parse_file for error reporting (in case it is
    overwritten by parsing code).
  * Fixed obscure race in process.c:getevent (et_closereadfd and hold fds).
  * `builtin version' service had error message and errno string reserve
    values exchanged.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 29 Jan 1998 00:00:22 +0000

userv (0.57); urgency=high

  * Services provided by root work !
  * uservd can now go into background itself (-daemon option).

  * spec now has default syslog facility for rcfile messages as `user'.
  * Better prioritisation of syslog messages.
  * Startup error messages now go to stderr instead.
  * SIGTERM and SIGINT now produce a syslog message.

  * Version number has VEREXT component, settable via make args &c.
  * New sections in INSTALL about exit statuses and -daemon.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Tue, 14 Oct 1997 02:04:18 +0100

userv (0.56); urgency=medium

  * Server now checks itself every hour to see if its socket has been
    stolen, and exits if it has.
  * Client only retries connect(2) on EINTR (and does so silently).
  * All of even master server's syslog messages have pid.
  * Don't delete spec.sgml.in in clean targets.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat, 11 Oct 1997 14:38:25 +0100

userv (0.55.2); urgency=low

  * Added info about WWW page, mailing lists and bug reporting to README.

  * clean targets except realclean don't remove spec.html, spec.ps,
    lexer.[lc], tokens.h, overview.ps.  New totalclean target for
    removing configure and config.h.in.

  * Added <sys/types.h> and <errno.h> to lexer.l.m4.
  * <sys/wait.h> instead of <wait.h>; %d instead of %ld for WEXITSTATUS
    in overlord.c; PIPEMAXLEN etc. #defines include cast to int to avoid
    problems with sizeof and size_t; EPROTO missing workaround.
  * Note about SIG_IGN and `function declaration isn't a prototype' added
    to INSTALL file in new PROBLEMS section.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun, 5 Oct 1997 17:55:32 +0100

userv (0.55.1); urgency=low

  * README file now shipped.
  * Added this Changelog, and configure gets version number from it.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun, 21 Sep 1997 23:58:32 +0100

userv (0.55)

  * Initial release

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun, 21 Sep 1997 23:52:50 +0100


*** Old main changelog file ends here.
*** Now come pre-0.59 Debian-specific changes.


userv (0.58-1.2) unstable; urgency=low

  * Non maintainer upload.
    Fix for this error on the Arm.
    cc1: warnings being treated as errors
    client.c: In function callvalueoption':
    client.c:747: warning: suggest explicit braces to avoid ambiguous else'
    Braces inserted, to join the if statements together

 -- Turbo Fredriksson <turbo@debian.org>  Thu, 20 Aug 1998 06:17:43 -0400

userv (0.58-1.1) frozen unstable; urgency=low

  * Non maintainer upload
  * Finally compiled against libc6
  * To Brian White: Please either confirm this upload to go into frozen or
    remove userv from frozen.
  * Added external declaration for strsignal() to overlord.c and client.c

 -- Martin Schulze <joey@finlandia.infodrom.north.de>  Sat, 18 Jul 1998 10:48:11 +0200

userv (0.58-1) unstable; urgency=low

  * Upgraded to new upstream version; major security fix, error handling
    fixes.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 29 Jan 1998 00:03:52 +0000

userv (0.57-1) unstable; urgency=high

  * Upgraded to new upstream version; fixed bug with root-provided
    services.
  * Uses new -daemon option in init.d script.
  * Sets VEREXT during build to set version number.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Tue, 14 Oct 1997 02:22:22 +0100

userv (0.56-1) experimental; urgency=low

  * Upgraded to new upstream version.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat, 11 Oct 1997 14:13:22 +0100

userv (0.55.1-1) experimental; urgency=low

  * Initial Debian release.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Mon, 22 Sep 1997 01:08:23 +0100