Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
252 lines (207 sloc) 9.77 KB
2012-12-02 Kim Holviala <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* 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 <kim@holviala.com>
* Started coding kgopherd
* Trying to remember how "C" works...