Skip to content

Releases: raforg/libslack

0.4 (20010215)

12 Nov 01:55
Compare
Choose a tag to compare

0.4 (20010215)

- Fixed memory usage bugs
- Changed net server/client functions to use service name else port number
- Fixed security bug: daemon_file_is_safe() wasn't following symlinks (doh!)
- Renamed daemon_file_is_safe() to daemon_path_is_safe()
- Added daemon_absolute_path() to daemon module
- Added memory pool functions to mem module
- Fixed bug: optional option arguments were handled in dodgy C
- Made supplied snprintf() POSIX compliant (was using getpagesize())
- Removed conf module (Added daemon_parse_config() to daemon module)
- Removed net_chat(), rfc822_localtime(), rfc822_gmtime() (not useful enough)
- Added secure memory/pool functions to mem module
- Fixed Makefile bug: $(CCFLAGS) for daemon and libslack weren't separate
- Added fgetline() to fifo module (reads a line with any line ending)
- Added str_fgetline() to str module (like fgetline but handles any length)
- Renamed fifo module to fio
- Fixed Makefile bug: wasn't uninstalling everything properly
- Changed net_send() to take a timeout argument like next_expect() does
- Added strlcpy(), strlcat(), strcasecmp() and strncasecmp() to str module
- Renamed conf/solaris to solaris-gcc and added solaris-cc for sun workshop
- Added support for root and user pidfiles in separate directories
- Added make rpm rpm-daemon rpm-slack (with Edward Avis ed at membled.com)
- Added installation of manpages for each function (link to module manpage)
- Added libslack(3) overview manpage
- Added list_break(), map_break()
- Renamed assert() to check() for obvious reasons
- Renamed re funcs in str module: s/regex/regexpr/g
- Added thread module and made everything MT-Safe or MT-Disciplined
- Added relative index/range semantics to string functions
- Added make deb deb-daemon deb-slack (debian binary packages)
- Added make pkg pkg-daemon pkg-slack (solaris binary packages)
- Added setsockopt(SO_REUSEADDR) for net servers
- Changed net server/client API to allow optional setsockopt(RCVBUF/SNDBUF)
- Added REFERENCES section to README file
- Stopped net_expect/net_send from interfering with SIGALRM/alarm/setitimer
- Added read_timeout(), write_timeout() and rw_timeout() to fio module
- Changed net_read() and net_write() to take a timeout argument
- Added '?' field size specifier to unpack() (for packet length fields)
- Added libslack-config administration utility
- Renamed sockaddr typedef to sockaddr_t
- Changed net_client to take a timeout parameter
- Fixed fd leak in error handling code in net server/client functions
- Fixed bug: str_regsub() didn't handle empty string matches at all
- Changed str_regexpr_split() to take cflags and eflags arguments
- Changed all *_destroy macros to functions that take address of pointer
- Changed mem_resize macro so client must explicitly provide address of mem
- Changed all *_destroy_t typedefs to *_release_t
- Added make [un]install-{daemon|slack}-html (not part of make [un]install)
- Temporarily removed snprintf module (not MT-Safe, not essential)
- Merged lognames module into msg module
- Merged opt module into prog module
- Renamed _* functions in err module to *f (not ANSI compliant)
- Removed MANIFEST

0.3 (20000902)

12 Nov 01:41
Compare
Choose a tag to compare

0.3 (20000902)

- Started using GNU getopt_long() instead of getopt_long_only()
- Added -DSVR4 in conf/solaris (doh!)
- Added conditional compilation of debug functions
- Added assert macro that calls dump()
- Fixed bug: SIG_IGN, SIG_DFL and nasty signals weren't treated specially
- Made lists grow/shrink exponentially rather than linearly
- Made maps grow as needed and use arbitrary hash functions and key types
- Added multi-dimensional array allocator to the mem module
- Added net module: clients/servers, expect/send, pack/unpack, mail
- Added internal iterators and some more functions to list and map
- Added examples sections to some libprog manpages
- Added str module: decent strings + tr, regex, regsub, fmt, trim, lc, uc ...
- Added vsscanf(3) implementation for systems that don't have it (e.g. solaris)
- Renamed libprog to libslack (thanks, fred)
- Added socks.h
- Added daemon_revoke_privileges(), daemon_file_is_safe() to daemon module

0.2 (19991223)

- Decoupled core file prevention from daemon_init()
  into its own function, daemon_prevent_core()
- Decoupled signal handling from daemon_init()
- Cached daemon_started_by_init() and daemon_started_by_inetd() results
- Added some modules to libprog: conf, list, hsort, map, prop
- Added timestamps to msg_out_file()
- Included source to GNU getopt_long_only() (if necessary)
- Added hdr.h to allow non-ANSI compilers to parse libprog's headers
- Moved libprog to a subdirectory using a "Whole Project" Makefile
- Converted "Whole Project" Makefile into "Scalable" Makefiles
- Added verbosity functions to libprog(prog)
- Fixed bug when constructing data for GNU getopt_long_only()
- Fixed bugs in the options table for libprog(prog)
- Changed help message format: separated option chunks by a blank line
- Fixed bug when obtaining names associated with syslog constants
- Added pathetic conf/linux and conf/solaris scripts
- Added manpages

0.1 (19991020)

- Initial version