274 lines
10 KiB
Raw Normal View History

2007-01-12 02:15:57 +00:00
fix really pathological case where io_timeouted would never
start over from the beginning because always new accept()ed
connections came in and got newer, higher descriptors since the last
io_timeouted loop. (Dirk Engling)
add some int overflow check macros to rangecheck.h
fmt_ip6 compresses at best spot, not at first spot (Nikola Vladov)
use inttypes.h to declare ints in uint*.h
2007-06-28 20:01:05 +00:00
escape more in fmt_ldapescape
2007-01-12 02:15:57 +00:00
2005-08-09 18:14:10 +00:00
2005-08-24 19:22:06 +00:00
array_allocate no longer truncates the array
array_get now not only checks whether the element fits in the
allocates space, it also needs to be in the initialized space.
add -D_REENTRANT to CFLAGS so libowfat can be used in multi-threaded
further Windoze support (test/io5.c works, gatling still doesn't)
This is just to get gatling to work, I may remove it again after
implement Nikola's idea to remove limit number of strings in errmsg
2005-10-14 15:37:19 +00:00
add taia_half
2005-11-25 15:02:31 +00:00
add cdb
2006-04-17 04:33:40 +00:00
add rangecheck.h
add io_block
make socket_(tc|ud)p[46] actually return non-blocking sockets as
documented (Richard Lyons)
fix for NetBSD 3.0 (Their /sys/types.h actually does not define u_char
unless you #define _NETBSD_SOURCE, and then their CMSG_* macros use
it. This is horrible even by OpenBSD standards)
remove support for (it's no longer delegated)
add asm versions of imult64 and umult64 for x86_64
(22 cycles -> 12 cycles on my Athlon 64)
2006-11-07 17:56:05 +00:00
use size_t and ssize_t instead of unsigned long et al
add iob_bytesleft
don't leak memory in test/httpd
2005-08-09 18:14:10 +00:00
2005-05-24 08:51:21 +00:00
2005-06-08 04:08:18 +00:00
fix scan_to_sa (Tim Lorenz)
2005-07-01 19:30:52 +00:00
turns out we can not do file descriptor passing on OpenBSD
if _XOPEN_SOURCE is defined, which is needed for Solaris.
OpenBSD sucks. I checked in a _really_ kludge now. Please do not
use OpenBSD if you have a choice. Or Solaris, for that matter.
turns out the imult routines (which I never used) were incorrect.
Noted by Matthew Dempsky
open_* from open.h now open in large file mode
2005-05-24 08:51:21 +00:00
2005-03-11 22:38:36 +00:00
also recognize EPFNOSUPPORT as EAFNOSUPPORT (groan)
2005-04-07 06:49:59 +00:00
fix a few man pages
2005-04-12 06:48:39 +00:00
optimize fmt_base64 (Dan Gundlach)
gcc 4 cleanups (mostly unsigned char* vs char*)
fix scan_xlong, scan_xlonglong and scan_8long
remove a few gcc 4 warnings
work around freebsd 5.4 brokenness (if you don't have IPv6 in the
kernel, socket(PF_INET6,SOCK_STREAM,0) returns EPROTONOSUPPORT
instead of EPFNOSUPPORT, which basically says "yeah, I know IPv6,
but TCP? never heard of it")
remove even more warnings
64-bit cleanliness issue with auto-NULL-appending macros
2005-05-20 14:14:15 +00:00
IRIX compatibility (yuck!)
2005-03-11 22:38:36 +00:00
2005-01-31 18:30:14 +00:00
uh, the scope_id detection #defined the wrong constant. libowfat
always thought there was no scope_id. Oops.
2005-02-04 19:06:26 +00:00
#include <unistd.h> in io/io_sendfile.c (broken OpenBSD, thx Rob)
2005-02-21 13:15:33 +00:00
add scan_urlencoded2 (like scan_urlencoded but will not convert '+' to
' '; needed for web servers, so they can serve libstdc++.tar.gz)
fix iob_write to handle failure properly
document that the iob_write callback should limit itself
2005-03-08 20:09:03 +00:00
fix mmap_shared
add iob_free, add man pages for iob_free and iob_reset
fix descriptor leak in iob_addfile_close if the range was 0 (oops)
2005-01-31 18:30:14 +00:00
2004-07-29 11:12:53 +00:00
2004-09-17 13:51:35 +00:00
errno cleanup and man page updates (Rolf Eike Beer)
implement iob_prefetch with madvise MADV_WILLNEED if it's defined
extend API To read line/token to stralloc to allow clearing the
stralloc first.
add stralloc_zero to clear a stralloc
2004-11-25 20:21:31 +00:00
add buffer_putsflush
2004-11-25 20:51:53 +00:00
add stralloc_catm and stralloc_copym
add buffer_putm and buffer_putmflush
cleanups in stralloc and buffer:
int -> long for sizes
char -> unsigned char for strings
buffer_getline is now a function, not a macro
add iob_write (send io batch through callback, e.g. for SSL)
add errmsg_info and errmsg_infosys to write to stdout instead
2005-01-31 18:13:46 +00:00
epoll fix (how could this ever work?)
2004-07-29 11:12:53 +00:00
2004-05-05 16:36:00 +00:00
add errmsg API
work around broken Linux sendfile API (offset 64-bit but count 32-bit)
2004-05-10 20:08:38 +00:00
add io_appendfile, io_readwritefile
support in addition to in dns_name (adds one
parameter to dns_name6_domain and two constants in dns.h)
Solaris compatibility for io_passfd and io_receivefd
2004-05-05 16:36:00 +00:00
2004-03-28 01:54:28 +00:00
for some reason, a botched dependency slipped in the the Makefile
2004-03-27 17:26:59 +00:00
oops, I botched havealloca.h, which was not generated but static
Now it is generated.
2004-03-27 01:02:28 +00:00
2004-02-27 13:58:17 +00:00
add io_socketpair
2004-02-27 14:47:31 +00:00
add io_passfd and io_receivefd (and test/fdpassing.c)
2004-02-27 17:04:02 +00:00
io_trywrite and io_waitwrite not ignore SIGPIPE
2004-03-02 22:51:14 +00:00
add man pages for libio, safemult
2004-03-07 21:48:56 +00:00
fix possible signal race in io_tryread and io_trywrite (Scott Lamb)
fix byte_rchr return value (Marcus Winkler)
fix bug in mmap code path of io_sendfile (David Leadbeater)
2004-02-27 13:58:17 +00:00
2004-02-19 16:32:20 +00:00
2004-02-26 17:49:11 +00:00
make libowfat compile on BSD again (sorry, and thanks to everyone who
sent me a patch :-D)
add iob_addfile_close, needed for gatling 0.5+
2004-02-26 18:01:15 +00:00
add test/client and test/server, two simple TCP shell interfaces
2004-02-19 16:32:20 +00:00
add Linux SIGIO support to IO
expand IO api to be able to cope with edge triggered event
notification: introduce io_eagain
the integer scan routines should only write *dest if they actually
scanned something
io_sendfile and iob_send should return -1 to -3 just like io_trywrite
make io_waituntil actually take an "until", not a "how long"
2003-10-07 00:13:19 +00:00
turns out that BSD kqueue is actually Free/OpenBSD kqueue -- NetBSD
doesn't have it. That means I'll need some adaptive two-threads-
running-poll approach to get C10k type scalability on NetBSD :-(
turns out that BSD sendfile is actually FreeBSD sendfile -- neither
OpenBSD nor NetBSD have it (as of 3.4 and 1.6.1). That means I'll
need to try using mmap on OpenBSD and NetBSD to get zero-copy TCP.
2003-10-19 17:21:14 +00:00
guard against same event being signalled twice (confused our list
add support for Solaris /dev/poll
add lose32 support (broken, please don't use!)
2003-12-05 16:45:34 +00:00
head -1 -> head -n 1
apending 0 bytes to an empty array would fail it
remove socket_sendfile now that we have io_sendfile
2004-01-06 23:35:06 +00:00
break out alloca #include dependency into havealloca.h
support HP-UX sendfile64 (thanks to Rolf Eike Beer)
2004-01-08 17:11:08 +00:00
support Solaris sendfile64
2004-01-14 01:18:06 +00:00
support MacOS X sendfile (and comment it out again, the headers
declare it but it's not actually there) (thanks to Bernhard Schmidt)
support AIX 5 (thanks to Lutz Chwala and Arthur Erhardt)
2004-01-15 18:43:49 +00:00
fix ip6_fmt (martin paljak)
add buffer_fromsa (make buffer from stralloc)
add API for integer multiply with overflow detection
change length counters from int to long for 64-bit platforms
2003-09-01 17:59:12 +00:00
add array API from
oops, had a declaration and man page for taia_addsec but not the
function itself
add buffer functions to write strerror(errno)
2003-09-06 01:39:19 +00:00
add io API supporting poll, epoll and kqueue
remove obsolete "extern" from header files
2003-09-08 21:05:27 +00:00
add iob API to send several buffers and files in one batch
2002-10-17 17:28:29 +00:00
man page update (document stralloc return values)
add stralloc_chop and stralloc_chomp
add buffer_putsa, buffer_get_token_sa and buffer_getline_sa
extended uudecode test. See comment at top for details.
fix #include in ndelay*.3 (Hynek Schlawack)
2002-10-28 20:15:03 +00:00
add stralloc_diff and stralloc_diffs (my invention)
scan_ip6 returned 1 for "::" (Uwe Ohse)
add el-cheapo MIME decoding to test/uudecode
make install forgot to install ndelay.h
2003-01-27 02:16:43 +00:00
fix typos in several man pages (Hynek Schlawack)
add stralloc versions of textcode API (Kai Ruemmler)
add html to textcode ('<' to '&lt;' etc)
2003-04-25 19:06:19 +00:00
add fmt_human and fmt_humank (format numbers ala ls -H/-h)
2003-04-27 17:11:50 +00:00
add fmt_httpdate and scan_httpdate
2003-04-28 20:58:04 +00:00
fix typo breaking buffer_GETC in buffer (Marcus Winkler)
2003-05-01 20:40:41 +00:00
fix typo breaking fmt_long for dest==NULL
add fmt_*longlong()
2003-06-08 20:02:09 +00:00
add range check to scan_ulong, scan_ulonglong, scan_uint and
extended socket API; you can now pass NULL for results you don't want
rename Makefile to GNUmakefile; create Makefile target
add buffer_get_token_pred and buffer_get_token_sa_pred
2002-10-17 17:28:29 +00:00
2002-08-14 15:54:49 +00:00
avoid bus errors in byte_copy
byte_rchr was completely broken
add case, iopause, tai, taia, openreadclose and ipv6-enhanced dns
2002-05-03 19:20:39 +00:00
fixed several bugs in test/uudecode.c
2002-05-17 00:07:00 +00:00
add uninstall target
2002-05-17 20:58:57 +00:00
add uint16_read API like the uint32_read one
2002-05-17 21:14:54 +00:00
add buffer_putnlflush
2002-06-02 00:46:17 +00:00
lots of general clean-ups from Jukka Zitting:
add FMT_LONG to fmt.h (FMT_ULONG plus 1 for sign)
fmt_strn did not work for out==NULL
fix inconsistencies in man pages
make scan_urlencode do the '+' -> ' ' transformation
2002-05-03 19:20:39 +00:00
add textcode api for uuencode/uudecode, base64, quoted printable,
url-encoding and yenc.
2002-03-25 22:57:47 +00:00
fix fmt_long (didn't count the '-'), which in turn broke
2002-04-15 13:44:38 +00:00
referenced wrong include file in stralloc_ready and stralloc_readyplus
man page.
2002-03-25 22:57:47 +00:00
2002-02-28 15:50:45 +00:00
add comment to stralloc.h that explains the structure (Markus Brischke)
2002-03-22 23:40:51 +00:00
fix socket routines (two cut-and-paste errors)
2002-02-28 15:50:45 +00:00
fmt_str did not check for out==NULL! Thanks, Uwe Ohse.
Updated to buffer to fix read buffers. Thanks, David Lichteblau.
2001-11-25 22:54:58 +00:00
Oops! byte_copy had a trivial and dumb typo in it that I'm unsure how
I could have missed it.
2001-11-25 23:50:09 +00:00
add mmap man pages.
update and add socket man pages.
2001-11-26 17:42:05 +00:00
don't include str.h from fmt.h
2002-02-28 15:50:45 +00:00
document error signalling for the mmap functions.
2001-10-15 14:34:02 +00:00
BSD compatibility.
fix mmap_shared.
2001-10-13 03:45:17 +00:00
add buffer_putspace
fix b0read prototype in buffer/buffer_0*
scan_ip6 will not transparently scan IPv4 addresses and save them as
v4-mapped addresses (::ffff:
byte_copy was sped up (but made larger in the process)
2001-02-02 17:54:47 +00:00
2001-02-05 18:25:24 +00:00
changed name to libowfat.
fixed fmt_ulong (did not output 0 correctly).
added buffer.
extended buffer API to include buffer_putulong() and friends.
2001-06-14 12:45:28 +00:00
oops, the read buffering was completely broken!
add mmap library (idea from Ingo Oeser)
2001-02-02 17:54:47 +00:00
made subdirectories for the different libraries.
moved the sources into the corresponding subdirectory.
imported my man pages from libdjb.
removed fmt_int.c and fmt_uint.c (they are macros in fmt.h).
corrected comment in open.h for open_excl.
wrote new man pages for fmt_double, scan_double, the sign fmt_ and
scan_ routines, the whitespace and charset scan_ routines, and the
str and stralloc routines.
implemented stralloc.
implemented uint16, uint32 and uint64. The header files try to
define shortcut endianness conversion routines that do not convert
implemented open (I hope I got open_excl right, I couldn't find an
implemented the scan, fmt and str interfaces.
added adapted fmt_double and scan_double from diet libc.
initial release.
implemented the byte interface.