Skip to content

Commit 2fdc341

Browse files
committed
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 initgroups(3) when handling --user=user (with no specific ".group") - Added --chroot, --chdir and --umask options - Changed default umask to 022 for safety - 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 --outlog and --errlog options - Fixed/simplified sigchld handling (was overcomplicated and flaky) - 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 --force option to daemon (respawn even when client crashes) - 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 dist-html-daemon and dist-html-slack (manpages as html.tar.gz)
1 parent f8fe49b commit 2fdc341

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+30211
-9338
lines changed

LICENSE

Lines changed: 340 additions & 0 deletions
Large diffs are not rendered by default.

Makefile

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@
1919
# or visit http://www.gnu.org/copyleft/gpl.html
2020
#
2121

22-
# 20010215 raf <raf@raf.org>
22+
# 20011109 raf <raf@raf.org>
2323

2424
CC := gcc
2525
# CC := cc
26-
TEST := /usr/bin/test
26+
AR := ar
27+
RANLIB := ranlib
2728
PREFIX := /usr/local
2829
APP_INSDIR := $(PREFIX)/bin
2930
LIB_INSDIR := $(PREFIX)/lib
@@ -37,10 +38,10 @@ LIB_MANDIR := $(MAN_INSDIR)/man$(LIB_MANSECT)
3738
APP_MANSECTNAME := User Commands
3839
LIB_MANSECTNAME := C Library Functions - libslack
3940

40-
CCFLAGS += -O2
41+
CCFLAGS += -O3
4142
CCFLAGS += -Wall -pedantic
4243

43-
# CCFLAGS += -O
44+
# CCFLAGS += -xO4
4445

4546
CLEAN_FILES += tags core Makefile.bak .makefile.bak pod2html-*
4647

@@ -49,11 +50,11 @@ DAEMON_INCDIRS := libslack
4950
DAEMON_LIBDIRS := libslack
5051
include $(DAEMON_SRCDIR)/macros.mk
5152

52-
.PHONY: all ready test man html install uninstall dist rpm deb pkg
53+
.PHONY: all ready test check man html install uninstall dist rpm deb pkg
5354

5455
all: ready $(ALL_TARGETS)
5556
ready: $(READY_TARGETS)
56-
test: all $(TEST_TARGETS)
57+
check test: all $(TEST_TARGETS)
5758
man: $(MAN_TARGETS)
5859
html: $(HTML_TARGETS)
5960
install: all $(INSTALL_TARGETS)
@@ -62,6 +63,7 @@ dist: $(DIST_TARGETS)
6263
rpm: $(RPM_TARGETS)
6364
deb: $(DEB_TARGETS)
6465
pkg: $(PKG_TARGETS)
66+
obsd: $(OBSD_TARGETS)
6567

6668
.PHONY: help help-macros depend clean clobber distclean
6769

@@ -73,6 +75,7 @@ help::
7375
echo " all -- makes $(DAEMON_TARGET) and $(DAEMON_SUBTARGETS) (default)"; \
7476
echo " ready -- prepares the source directory for make"; \
7577
echo " test -- makes and runs library unit tests"; \
78+
echo " check -- same as test"; \
7679
echo " man -- generates all manpages"; \
7780
echo " html -- generates all manpages in html"; \
7881
echo " install -- installs everything under $(PREFIX)"; \
@@ -86,11 +89,11 @@ help::
8689
echo " rpm -- makes source and binary rpm packages"; \
8790
echo " deb -- makes binary debian package"; \
8891
echo " pkg -- makes binary solaris package"; \
92+
echo " obsd -- makes binary openbsd package"; \
8993
echo
9094

9195
help-macros::
9296
@echo "CC = $(CC)"; \
93-
echo "TEST = $(TEST)"; \
9497
echo "PREFIX = $(PREFIX)"; \
9598
echo "APP_INSDIR = $(APP_INSDIR)"; \
9699
echo "LIB_INSDIR = $(LIB_INSDIR)"; \
@@ -118,6 +121,7 @@ help-macros::
118121
echo "RPM_TARGETS = $(RPM_TARGETS)"; \
119122
echo "DEB_TARGETS = $(DEB_TARGETS)"; \
120123
echo "PKG_TARGETS = $(PKG_TARGETS)"; \
124+
echo "BSD_TARGETS = $(BSD_TARGETS)"; \
121125
echo
122126

123127
tags: $(TAG_FILES)

0 commit comments

Comments
 (0)