Releases: raforg/libslack
Releases · raforg/libslack
0.7.5 (20230824)
- configure - Add --default --platform --help --destdir
- make - Change clean/clobber/distclean to be the same and to also unconfigure
- configure - Add --disable-mail-test --enable-mail-test
- Fix copyright/license info (.reuse/dep5) (spotted by Marc Haber)
- configure - Fix error message for unknown options
- configure - Add --platform info to --help output
- INSTALL - Update to reflect recent ./configure changes
- configure - Fix --platform check, Add conf/slackware, Tweak output
0.7.4 (20230819)
- macros.mk - Add ability to suppress false 'may be used uninitialized' compiler warnings
- doc - Update notes on old binary packages
- macros.mk - Remove DEBIAN_CLOBBER_FILES
- configure - Silence stderr for "which gmake"
0.7.3 (20230330)
- COPYING - Add copyrights for optional getopt/snprintf modules
- .reuse - Add copyrights for optional getopt/snprintf modules
- make - Exclude man-slack/html-slack/dist-slack from man/html/dist targets unless main
- Fix compile error and install error on Solaris
- doc - Replace http with https for libslack.org/raf.org and remove trailing /
- Replace bash with sh for libslack-config and tools/check-pod
- Change default compiler on OpenBSD to cc
0.7.2 (20230313)
- Fixed err module test false failures (core files not in cwd) (spotted by Jeffrey H. Johnson)
- Added err module test statement of exit status expectations if fatal/dump/check tests failed
- Changed some coproc module test failures (missing crlf) into warnings (if otherwise ok)
- Fixed compile warnings on macOS in recent err module test print statements
- Fixed indent of a daemon module test print statement
- Only fail mem module pool_destroy_secure() test if too many non-nul bytes
- Fixed daemon build with NDEBUG defined (Baruch Siach)
- Explicitly documented that debug macros now always include their own semicolon
- When NDEBUG is defined exclude more unused code (fix warning, smaller binary)
- Replaced original June 1991 GPLv2 with February 1999 GPLv2 (post-LGPLv2.1)
- Fixed buglet: daemon_close() Only delete the pidfile we created (James Abbatiello abbeyj at gmail.com)
- Fixed buglet: daemon_close() Close the pidfile (just in case process isn't about to exit) (James Abbatiello abbeyj at gmail.com)
- Added CODE_OF_CONDUCT.md
- Add LICENSES/* and .reuse/dep5 (REUSE 3.0 compliant)
- Add references to the codeberg repository
0.7.1 (20210220)
- Fixed make distclean/clobber on Debian (use debian-clobber instead of clobber) (spotted by Marc Haber)
- Fixed parallel make test (race condition creating test directory) (spotted by Marc Haber)
- Fixed manpage headers and footers and various other minor fixes and improvements
- Fixed limitation in test code for daemon_path_is_safe() in deep directory (spotted by Kurt Hindenburg)
- Added elaboration in mem module test output for pool_destroy_secure()
- Replaced some 0 with EXIT_SUCCESS and 1 with EXIT_FAILURE in libslack module tests
- Added configure --prefix=/opt/local for macports (spotted by Kurt Hindenburg)
- Added mention of file locations on macOS/macports to the daemon(1) manpage
- Added checks for gcc -W options that fail on old macosx (e.g. 10.6.8) without macports
- Fixed return value on error (unlikely) for prog_out_none()/prog_err_none()/prog_dbg_none()/prog_alert_none()
- Added support for using $CC in configure (spotted by Ryan Schmidt)
- Fixed missing client defines in output of libslack-config --cflags (needed for configure --prefix)
- Fixed Makefile (wasn't inheriting CPPFLAGS, CFLAGS or LDFLAGS from caller) (spotted by Ryan Schmidt)
0.7 (20201111)
0.7 (20201111)
- Fixed bug: race condition causing failure with "exec daemon ..." (with Askar Safin safinaskar at mail.ru)
- Added $DAEMON_INIT_EXIT_DELAY_MSEC workaround for obscure konsole bug (with Askar Safin safinaskar at mail.ru)
- Removed O_NOCTTY-related manpage "bug" (now historical) (spotted by Askar Safin safinaskar at mail.ru)
- Always double fork for safety on systems of unknown flavour (suggested by Askar Safin safinaskar at mail.ru)
- Added support for GNU/Hurd (by Svante Signell svante.signell at telia.com)
- Fixed bug: daemon_lock_pidfile() leaked fd across exec (spotted by Tilman Baumann tilman.baumann at grandeye.com)
- Added fcntl_set_fdflag() and fcntl_clear_fdflag() to the fio module
- Added signal_set_siginfo_handler() to the sig module
- Added msg_filter_t, msg_create_filter(), msg_create_filter_with_locker() to the msg module
- Test secure memory in the mem module for non-root users as well (now that they can do it)
- Added prog_{out,err,dbg,alert}_push_filter() to the prog module
- Added recvcred(), recvfromcred() to the net module
- Fixed harmless format string bug in prog_opt_process() (spotted by Jong-Gwon Kim and Woosuk Lee {jgkim,wslee} at ropas.snu.ac.kr)
- Fixed bug in parallelized make: "make ready" first so do it in configure (spotted by ilovezfs at icloud.com)
- Fixed copyright messages (list actual years of publication, not just a range of years)
- Fixed all sscanf "%s" to limit output (e.g. "%63s") to prevent buffer overruns (was only in test and example code)
- Added more tests in the prop module
- Fixed buglet: Removed vhangup() in pty_make_controlling_tty() as it broke some coproc module tests run as root
- Fixed str.h to not clash with new strlcpy/strlcat macros on OSX/macOS
- Updated to avoid new warnings in recent versions of gcc
- Split README into multiple files (README.md INSTALL COPYING REFERENCES CHANGELOG)
- Changed "config" script name to "configure" (not an alias anymore) (but it's not GNU configure)
- Changed installation location prefix to /usr/pkg on NetBSD
- Replaced racist pty jargon in code with more descriptive terms
0.6 (20100612)
0.6 (20100612)
- Stopped accidentally installing config.h (spotted by rrt at sc3d.org)
- Fixed bug: need double-fork on Linux (spotted by Joey Hess joeyh at debian.org)
- Fixed bug checking argument validity in agent_recv()
- Updated makefiles to work with recent versions of GNU make
- Changed opt module to be ISO C compliant (backwards-incompatible!)
- Updated to avoid new warnings in recent versions of gcc
- Fixed pidfile race condition (with Hilko Bengen bengen at hilluzination.de)
- 64-bit-related fixes for pack() and snprintf()
- Updated to use va_copy() with vsnprintf() in str module
- Made daemon_is_running() work when readonly (spotted by Thomas Koch thomas at koch.ro)
- Ported to GNU/kFreeBSD (with Cyril Brulebois cyril.brulebois at enst-bretagne.fr)
- Ported to NetBSD
- Added make nbsd nbsd-daemon nbsd-slack (netbsd binary packages)
- Ported to Solaris10 and OpenSolaris
- Tested on ubuntu-10.04, debian-5.0.4, fedora-13 (x86_64, i386)
- Tested on solaris-10-200910, opensolaris-200906 (amd64, i386)
- Tested on openbsd-4.7, freebsd-8.0, netbsd-5.0.2 (amd64, i386)
- Tested on macosx-10.{4,5,6} (x86_64, i386, ppc)
- Tested on kfreebsd-20090729 (i386)
- Updated make rpm sol obsd fbsd osx to continue working
0.5.2 (20040102)
0.5.2 (20040102)
- Fixed API bug: <slack/lib.h> didn't include <slack/coproc.h>
- Fixed bug: -lm wasn't in `libslack-config --libs` on Solaris
- Changed daemon_path_is_safe() to give an explanation when unsafe
- Fixed bug: reset agent state to IDLE when interrupted (bte at kamash.com)
- Trim unquoted leading spaces from property values (with bte at kamash.com)
- Also trim only unquoted trailing spaces from property names
- Added tools/migrate-properties utility (preserves old propfile behaviour)
- Fixed bug: ownership partially lost in map_resize (with bte at kamash.com)
- Fixed bug: mem_resize was broken since libslack-0.4 (bte at kamash.com)
- Fixed DOC bug: stated the importance of including <slack/lib.h> first
- Added sections to libslack(3) features list (coproc+pty, low level api)
- Fixed bug: if select() failed (unlikely), coproc wasn't closed properly
- Fixed bug: when tty_raw() failed (unlikely), it returned the wrong value
- Added many examples to the manpages (there are now 91 runnable examples)
- Added tools/check-examples to verify that all examples work
- Fixed bug: str_fgetline() returned empty string rather than null on eof
- Fixed bug: cstrstr() didn't always work due to a typo
- Added sections to libslack(3) features list (documentation, testing)
- Added intel solaris8 binary package
- Ported to Mac OS X (Darwin) 10.3.2
- Added make osx osx-daemon osx-slack (macosx binary packages)
- Dropped support for K&R clients (suggested by skaller at ozemail.com.au)
- Added hsort_closure(3) (suggested by skaller at maxtal.com.au)
- Added make slack.swig (generate a SWIG input file for libslack)
0.5.1 (20020916)
0.5.1 (20020916)
- Added HEADER FILES section to libslack(3) manpage
- Added #include <slack/std.h> to example sections of module manpages
- Added conf/freebsd (mmoraes at teleias.com)
- Added tools/prefix utility (add prefix to all libslack identifiers)
- Added manpage for tools/analyse-debug-locker utility
- Separated stdout and stderr in coproc_open() and coproc_close()
- Changed coproc open functions to take action() and data arguments
- Exposed daemon_pidfile()
- Added daemon_is_running()
- Added daemon_stop()
- Renamed sighandler_t to signal_handler_t (glibc clash - gdr at gno.org)
- Ported to Solaris 8
- Split Solaris configuration scripts into conf/solaris[68]-[g]cc
- Added support for installing gzipped manpages
- Stopped generating debian package (until it's a shared library)
- Added make fbsd fbsd-daemon fbsd-slack (freebsd binary packages)
- Added support for absolute path in daemon_pidfile()
- Added daemon_getpid()
- Added libslack-config --upgrade option
- Added lame ./config script that just calls existing lame conf/* scripts
0.5 (20011109)
0.5 (20011109)
- Fixed Makefile bug: decoupled libslack optlevel from module test optlevel
- Fixed API bug: str_length_unlocked() was static
- Fixed API bug: prop_locker() prototype wasn't in prop.h
- Added prop_clear() to prop module
- Added octal/hex and error handling to command line integer option handling
- Fixed bug: check() just called dump() without testing the condition first
- Added variants of six standard C string functions with more useful APIs
- Added thread module tests (and locker timing tests)
- Changed locker function return values (now same as pthread return values)
- Improved speed of lockers (now overhead = 1 test + 1 deref + 1 offset)
- Changed item/length/size, bin/hex/oct functions to return -1 on error
- Changed error returns to consistently set errno (str, list, map)
- Added set_errnull() to err module
- Added relative index/range semantics to list functions (same as with str)
- Changed fifo_open() to take writefd return arg to prevent fd leaks
- Simplified mem_resize() assuming ISO C compliant realloc()
- Added internal ISO C compliant realloc() for systems that don't have it
- Fixed bug: optval/optlen for getsockopt(SO_ERROR) not initialised
- Fixed inode leak: fifo_open() didn't unlink fifo created on error
- Removed thread_init(), thread_setcancel() and barriers from thread module
- Renamed thread module to locker (decoupled thread safety)
- Stopped daemon_revoke_privileges() from clearing supplementary group list
- Added support for "debug sections" to debug messaging
- Added daemon_become_user() to daemon module
- Added "_unlocked" versions of functions in str, list and map modules
- Renamed "_locked" functions to "_with_locker" to avoid confusion
- Fixed bug: removed highly dubious synchronisation from internal iterators
- Added read locked iterators
- Added alert functions to prog, err and msg modules
- Systematically corrected function prototype typos in manpages
- Added net_options() to net module (sets multiple socket options)
- Added soundex() to str module
- Removed caching and mutex locks in daemon_started_by_init/inetd()
- Added ignoring SIGHUP before losing session leadership in daemon_init()
- Improved IPv6 support in net module (i.e. can now bind to IPv6 wildcard)
- Added support for UNIX domain sockets to net module
- Increased socket listen queue length from 5 to 1024
- Fixed bug: net service port selection only used numeric port arg
- Added handling of name lookup returning multiple addresses for net clients
- Added default host to net client functions (i.e. null host == loopback)
- Changed net_create_server() and net_create_client() to take sockopt list
- Added support for net clients binding to a specific local port
- Added net_gethostbyname() and net_getservbyname() to net module
- Made net server and client functions threadsafe
- Added socket option notes to net module manpage (from W. Richard Stevens)
- Added protocol design notes to net module manpage (from Radia Perlman)
- Added sendfd() and recvfd() to net module (send/recv open file descriptor)
- Replaced ioctl() with fcntl() in nonblock functions
- Added support for net client/server service argument being numeric
- Added link module (singly/doubly linked lists and "growable" freelists)
- Added agent module (poll/select plus hierarchical timing wheel scheduler)
- Added net_interfaces() to net module (retrieve list of network interfaces)
- Added support for IPv4 and IPv6 multicasting to net module
- Added Reliability over UDP functions to net module (net_rudp_transact())
- Added Type of Service (TOS) functions to net module
- Changed net_pack/net_unpack functions to take a timeout arg
- Added nap() function to fio module (subsecond sleep)
- Added threadsafe snprintf() function for systems that don't have it
- Added asprintf() to str module for systems that don't have it
- Added config.h to simplify compile commands (prelude to autoconf)
- Removed thread_attr_{init,set}() (not useful enough or portable enough)
- Ported to OpenBSD 2.9
- Added pseudo module (pseudo terminals by Tatu Ylonen from openssh)
- Added coproc module (coprocesses with or without a pseudo terminal)
- Changed syslog functions to take a priority parameter
- Added make obsd obsd-daemon obsd-slack (openbsd binary packages)
- Added libslack-config --uninstall
- Proofread all of the doco (just once)
- Added setting appropriate TOS values in mail()
- Fixed validation of relative index/range values in str/list modules
- Added relative index semantics to list_item()
- Added read locked versions of map_apply() and list_apply()
- Added make and dist-html-slack (manpages as html.tar.gz)