[ Automatically generated from git log ]

2017-02-04  Kim Holviala  <[email protected]>

       * Released version 2.4 "Millennium Edition"
       * Fixed logging of TLS connections (using gophers:// protocol)
       * Add TLS support for CGI apps and caps.txt via -T <tls port> option
       * Fixed line wrapping in README

2017-02-03  Kim Holviala  <[email protected]>

       * Released version 2.3
       * Document the use of Stunnel4 for gopher over TLS
       * Don't get TCP port number from user session data

2017-02-02  Kim Holviala  <[email protected]>

       * Initial support for HAproxy/Stunnel proxy protocol v1
       * Skip goto labels when generating functions.h

2017-02-01  Kim Holviala  <[email protected]>

       * Fixed make clean to remove all old gophernicus-VERSION.tar.gz files
       * Enabled large file support on 32-bit Linux and AIX
       * Remove sendfile() support from Linux

2016-12-30  Kim Holviala  <[email protected]>

       * Changed copyright years to include 2017 - Happy New Year

2016-12-11  Kim Holviala  <[email protected]>

       * Released version 2.2
       * Small fix for git2changelog so that it keeps \ and / in comments
       * Fixed systemd-based installation for openSUSE and RedHat

2016-11-14  Kim Holviala  <[email protected]>

       * Re-released version 2.1 \m/
       * Ignore exit errors in systemd configuration

2016-11-13  Kim Holviala  <[email protected]>

       * Updated TODO
       * Released version 2.1
       * Added systemd support for Debian package
       * Removed dependency for update-inetd in Debian package
       * Fix Debian package building for inetd systems
       * Added systemd entries to Debian logcheck ignore file

2016-10-18  Kim Holviala  <[email protected]>

       * Fixed a potentially uninitialized char in strcut()
       * Autogenerated CAPS now shows release codename

2016-09-08  Kim Holviala  <[email protected]>

       * Released version 2.0
       * Updated deb package control files (still borken)

2016-01-01  Kim Holviala  <[email protected]>

       * Released version 2.0-alpha "for Workgroups"
       * Added option -v to display version number and build date
       * Updated TODO (removed tasks that were done)
       * Added detection for non-DMI Linux hypervisors (Xen)
       * Added support for release codenames
       * Fixed make install for non-systemd systems
       * Added optional support for TCP wrappers

2015-12-31  Kim Holviala  <[email protected]>

       * Installing now explicitly clears the SHM block Gophernicus uses

2015-12-30  Kim Holviala  <[email protected]>

       * Updated TODO (removed tasks that are now done)
       * Installation now shows the current configuration file
       * Move configuration from systemd unit file to separate enviroment file
       * Increased default page width from 70 to 76 chars
       * Added detection for Gentoo Linux version
       * Fixed installation for CentOS 7

2015-12-29  Kim Holviala  <[email protected]>

       * Added install/uninstall support for Linux systemd
       * Get hardware vendor and type from DMI data on Linux
       * Tiny fix for 'make ChangeLog' to force overwrite of old file
       * Added filetype definition for webm and ogv movies
       * Fixed installation for Mac OSX 10.11 El Capitan
       * Removed last remaining 'for inetd' form docs
       * Removed 'for inetd' from docs because it's not a requirement
       * Code needed more cows
       * Changed copyright years to 2009-2016

2015-10-16  Kim Holviala  <[email protected]>

       * Released version 1.8.1 (1.8 had broken gophermap support)
       * Fix for executing shell commands inside gophermaps (previous commit broke this)

2015-09-23  Kim Holviala  <[email protected]>

       * Released version 1.8
       * Fix for executable gophermaps in directories with spaces (bugreport from Black Rider)
       * Fixed whitespace formatting

2015-03-02  Kim Holviala  <[email protected]>

       * Changed copyright years include 2015
       * Released version 1.7

2015-01-04  Kim Holviala  <[email protected]>

       * Added ServerDefaultEncoding to automatic caps.txt

2015-01-01  Kim Holviala  <[email protected]>

       * Added ServerSupportsStdinScripts to automatic caps.txt

2014-12-19  Kim Holviala  <[email protected]>

       * Fixed a comment & formatting
       * Added detection for CRUX Linux
       * Added $SESSION_ID environment variable for CGI scripts

2014-11-10  Kim Holviala  <[email protected]>

       * Added MacOSX 10.10 to the list of supported systems in INSTALL
       * Released version 1.6
       * Fix compiling for MacOS X Yosemite

2014-05-15  Kim Holviala  <[email protected]>

       * Updated TODO for systemd/upstart
       * Fix platform detection for Slackware (and possibly others)

2014-02-01  Kim Holviala  <[email protected]>

       * Add license header to bin2c.c
       * Up version number to 1.6-whatever

2014-01-25  Kim Holviala  <[email protected]>

       * Remove 'only tested with GCC' from INSTALL
       * Automatically copy ChangeLog to distribution dir on release
       * Automatically copy INSTALL & README to distribution dir on release
       * Add deb packaging leftovers to .gitignore
       * Up version number to 1.5 + include forgotten file git2changelog
       * Don't update ChangeLog unless the source tree is a git repo
       * Make ChangeLog update itself automatically from git log
       * Up Debian package version to 1.5
       * Added .gitignore
       * Clean up supported platforms list
       * Up version number to 1.5-rc1 (I mean really, this time)
       * Up version number to 1.5-rc1 & update copyright years to 2014
       * Search strings were being urldecoded against the specs (bugreport from Kacper Gutowski)
       * Fixed a (non-security) bug in strcut()
       * Initial git commit with version 1.4


2012-12-02  Kim Holviala  <[email protected]>

       * Released version 1.4
       * Added logcheck ignore file for Debian
       * Fixed compile without HAVE_SHMEM
       * Autogenerated caps.txt now works without SHMEM
       * Support for Haiku R1 (make && make install works)
       * CGIs now have $LOCAL_ADDR
       * Debian package no longer depends on lsb-release
       * CPU type is now properly detected on AIX
       * Makefile supports cross-compiling (CC & HOSTCC)
       * Option -nr disables root user checking (for debugging)
       * Platform detection for Linux/mips boards (routers)
       * Fixes for OpenBSD (thanks to Brian Callahan)
       * Last remaining sprintf() replaced with snprintf()
       * max() is no longer a function but a #define
       * Clang fixes (thanks to Jacob Dahl Pind)
       * Removed system-info.sh & dmidecode from Debian package


2012-06-12  Kim Holviala  <[email protected]>

       * Released version 1.3
       * Support for headerless HTTP/0.9
       * Code cleanups
       * Platform probing now knows about RedHat and Slackware
       * lsb_release no longer gets called if it doesn't exist
         (bugreport from Jacob Dahl Pind)
       * Changed menu errors from type "i" text to type "3"
         (bugreport from Damien Carol)
       * Removed the special OSX Carbonized build
       * Fixed a bug in menu.c: popen() needs pclose()
       * Fixed a off-by-one in gopher_filetype()
       * Changed the filetype of documents (doc/ps/pdf) to "d"


2012-05-04  Kim Holviala  <[email protected]>

       * Released version 1.2 (finally...)
       * On the fly selector rewriting (like Apache mod_rewrite)
       * Gophertags are properly converted to output charset
       * Server admin email can be specified for caps.txt
       * Server location for caps.txt
       * Split options.c from gophernicus.c
       * Removed support for Gopher over HTTP proxies
       * Hack to make "gopher example.com" work
         (UMN gopher client assumes gopher+ which we don't support)


2010-12-01  Kim Holviala  <[email protected]>

       * Released version 1.1
       * Content-based detection of gif/png/jpg/ps/pdf/html/gz
       * Gophermap virtual host list (%) only lists FQDNs
       * Serve out caps.txt from a file if it exists
       * Option -na disables autogenerated caps.txt
       * Changed option -l to -b (show BSD license)
       * Changed option -m to -l (log to file)
       * README and LICENSE weren't zero-terminated strings (duh)
       * Querying /server-status no longer updates statistics
         (because Munin statistics collection was being throttled)
       * Internal charset variables are now enums and not strings


2010-10-05  Kim Holviala  <[email protected]>

       * Released version 1.0
       * Support for caps.txt as suggested by Cameron Kaiser
       * Support for gophertags (lifted from Bucktooth)
       * HTTP requests are redirected to a public gopher proxy
       * Allow directories named "gophermap" and "gophertag"
         (only files are special)
       * Removed duplicate call to strniconv()
       * A few ENABLE_STRICT_RFC1436 additions
       * Much more descriptive error logging
       * Self references /./ are removed from request
       * Apache-compatible file logging in combined log format (-m)
       * FIFOs in directories no longer crash the server (duh!)
       * Support for Mac OS X (tested with 10.5 on Intel)
       * Reworked Makefile with platform-specific build targets
       * Fixed a call to dirname(path) (don't assume it modifies path)
       * Makefile installer now supports xinetd and launchd
       * Makefile installer installs default /var/gopher/gophermap and
         links the document directory as /docs/
       * Added SERVER_ARCH, SERVER_VERSION and SERVER_DESCRIPTION to
         CGI env variables
       * Fixed a segfault where shm was used uninitialized (duh!)
       * Generate native Debian/Ubuntu package with "make deb"
       * platform() now tries to figure out Linux distribution
       * platform() knows about Linux ARM boards
       * Added argument -nm (No shared Memory) for debugging
       * Fixed AIX make glitch when compiling bin2c (bug in make?)
       * Changed the name of the project from "Gophernicus Server"
         to plain "Gophernicus"
       * Menus without footer (-nf) were missing the dot at the end
       * Footer message is now right-aligned
       * server-status and caps.txt requests now update sessions
       * Compile-time option ENABLE_AUTOHIDING hides manually listed
         resources from generated menus (to prevent double listings)


2010-07-03  Kim Holviala  <[email protected]>

       * Released version 0.9
       * Added option to disable HTTP-style query strings
       * Fixed a regression where some binary files were served out
         as text (which broke them)
       * BinHex files are now mapped to filetype 4
       * Disabling vhosting disables sessions (mostly)


2010-04-30  Kim Holviala  <[email protected]>

       * Released version 0.8
       * Security bug in hURL handler fixed
       * Error pages are now correctly generated for type 'h'
       * Menu error page more compatible with clients
       * New macro sstrncmp() compares without explicit sizeof()
       * Removed all traces of gopher++ protocol (extra headers)
         as it just didn't work with older (circa '92) servers
       * Added option to disable automatic menu headers (titles)
       * Do a chdir() to the resource dir before doing anything
       * Double-slashes were slashed in QUERY_STRING by accident
       * Relative links to external hosts work properly in gophermap
       * Gophermaps can include other gophermaps with =/path/to/file
       * Executable gophermaps are parsed just like static ones


2010-04-13  Kim Holviala  <[email protected]>

       * Released version 0.7
       * This release is feature complete, no new features in sight
       * Support for NetBSD (a typo prevented building - duh)
       * Replaced the poorly-working scandir() with opendir/qsort
       * Directory listings (menus) are limited to 1024 entries
       * Changed the filetype of movies from "v" to ";" (which sucks)
       * Fixed a compatibility issue with bucktooth gophermaps
       * Finally wrote decent documentation (README and INSTALL)


2010-04-11  Kim Holviala  <[email protected]>

       * Released version 0.6
       * platform() results are kept in shared memory
       * Support for AIX 5.1 and newer
       * IPv4-in-IPv6 prefix ::ffff: is removed from remote_addr
       * Replaced install(1) with the install-sh script
       * /server-status CPULoad can be parsed from /usr/bin/uptime
       * Replaced text2c/hexdump with bin2c.c (less dependencies)
       * Files with extension .q (type 7 query) are considered CGIs
       * Filetype handling completely rewritten
       * Configurable gopher filetypes using the "-e ext=X" argument
       * Per-directory filetype overrides in gophermaps with ":ext=X"
       * Refuse to serve out gophermaps (why didn't I catch this before?)
       * Cleaned up main()
       * Output filters - run files through an external program (php!)


2010-04-05  Kim Holviala  <[email protected]>

       * Released version 0.5
       * Code tested to work on 32-bit Linux/armv5tel
       * Filetype 7 query errors are now handled properly
       * HTTP-style query string overrides type 7 query
       * Protocol detection (0/+/++) works properly
       * gopher++ extra headers parsed correctly
       * gopher++ works ok with a patched NSCA Mosaic!
       * ISO-8859-1 (Latin-1) output
       * Full UTF-8 output support (without widechars)
       * Gophermaps are converted to output charset
       * All type 0 output is converted to output charset
       * All charset conversions can be disabled with option -no
       * !Titles in gophermaps are converted to gopher menu titles
       * Automatically generates gopher title resources for menus
       * Compile-time option to strictly adhere to RFC 1436
       * Compile-time option to disable all gopher++ support


2010-03-29  Kim Holviala  <[email protected]>

       * Released version 0.4
       * Renamed the project to "Gophernicus Server"
       * Major rewrite with much cleaner code
       * Changed all strncpy's to the OpenBSD strlcpy
       * Server can guess the request type (menu/text/binary)
       * Errors are formatted for current filetype (menu/text)
       * Errors for images (types g&I) are outputted as an image
       * /~luser (/home/luser/public_gopher) must be owned by luser
       * Configurable output width for menus
       * Files are outputted using sendfile() if available
       * Locale forced to POSIX for strftime()
       * Filetype '-' in gophermaps hides files
       * Gopher+ requests are now handled gracefully
       * Relative selectors in gophemaps work
       * Filesizes in menus are now human-readable (KB/MB/GB etc)
       * Refuse to serve world-writeable content
       * Support for Apache-style /server-status
       * HTTP requests for /server-status work (munin monitoring ftw!)
       * Session tracking using shared memory
       * Referer support for CGIs
       * Replaced iconv() with own charset conversion routine
       * Automatic throttling for users who hit the server too much
       * Replaced static compile-time uname with uname()
       * Support for virtual hosting (with gopher0 no less!)


2010-01-07  Kim Holviala  <[email protected]>

       * Released version 0.3
       * Automatic detection of text vs. binary filetype for files
         which have no (known) suffix
       * hURL redirect pages now respect -f (no footer) option
       * IPv6 support for logging & CGI REMOTE_ADDR
       * Inline gophermaps
       * Removed support for relative resource names in gophermaps
       * Support for virtual userdirs (~user -> /home/user/public_gopher)
       * Automatic listing of userdirs in gophermap
       * Redirect accidental http requests to gopher
       * License included in the binary -> install no longer installs docs
       * Changed command line options (I was running out of arg letters...)
       * Debug to syslog with '-d' option


2010-01-02  Kim Holviala  <[email protected]>

       * Released version 0.2
       * Logging to syslog
       * Support for gophermaps
       * Support for executable gophermaps
       * Support for CGI scripts
       * Support for type 7 search queries
       * Support for hURL redirect pages
       * Support for non-ASCII resource/file names (tested with UTF-8)
       * Support for both %hex and #octal request encodings
       * Try to get server hostname from $HOSTNAME or gethostname()
       * Basic support for different platforms via HAVE_XX defines


2009-12-30  Kim Holviala  <[email protected]>

       * Released version 0.1
       * Basic rfc1436 functionality works
       * Fancy menus with file dates & sizes
       * Options via command line (with sensible defaults)


2009-12-28  Kim Holviala  <[email protected]>

       * Started coding kgopherd
       * Trying to remember how "C" works...