summaryrefslogtreecommitdiff
path: root/src/libunixonacid
AgeCommit message (Collapse)Author
2021-07-28 Huge incompatible changes.Laurent Bercot
- Obsolete skalibs/environ.h and skalibs/getpeereid.h removed. - rc4 and md5 removed. - All *_t types renamed to avoid treading on POSIX namespace. - subgetopt() renamed to lgetopt(). - signal functions reworked; skasigaction removed; sig_stack removed - Various functions removed: skaoffsetof(), selfpipe_untrap() - New posixplz function: munmap_void. Signed-off-by: Laurent Bercot <ska@appnovation.com>
2020-12-09 Get rid of webipc.h and DJBUNIX_FLAG_*Laurent Bercot
Decent semantic header separation is hard. It's always an ongoing process. Here socket.h always included webipc.h for listen(), and webipc.h always included djbunix.h for socket_internal() and socketpair_internal(). That's ugh. Just move all the socket stuff into one socket header. Of course, djbunix.h is still needed most of the time for fd_close() and other operations on fds, but those are generic anyway. Also, O_CLOEXEC exists everywhere now, so we can use it as well as O_NONBLOCK instead of redefining the flags in djbunix.h.
2020-12-07 Some trivial bugfixes and cleanupsLaurent Bercot
2020-10-26 Refactor textmessage/textclient with channel creation around ancil_*Laurent Bercot
2020-10-26 Separate and expose ancil_recv_fd/ancil_send_fdLaurent Bercot
The goal is to make late channel creation easy, as opposed to textclient which always creates a new channel at start time. This commit also moves posixishard.h inclusions as late as possible.
2019-02-19 Add skalibs/posixishard.hLaurent Bercot
This will break things. It's a known issue. Patches to other packages will come later, to adapt them to the new API. To work around brokenness, there needs to be *two* different headers: 1. one to be used before including system headers, that maximizes visibility by enabling system-dependent feature test macros (that will be tested by system headers) 2. one to be used after including system headers, that performs preprocessor tests and defines. skalibs/nonposix.h is the first one. Previously, there was no second one, and the tests were scattered all over. There was a strnlen declaration in skalibs/posixplz.h (which serves a totally different function: declaring things that should be in POSIX, but *are not*, i.e. working around problems in the standard, instead of problems in systems failing to respect the standard), a build-time sysdep for error.h, #defines for MSG_NOSIGNAL, etc. etc. skalibs/posixishard.h now is the second one, and centralizes all the tests. As a result, the eproto sysdep is unnecessary and has been removed. skalibs/error.h is now a static header, it is not built anymore.
2019-02-19 Add DragonFly macro; remove nbwaitall and ancilautocloseLaurent Bercot
2019-01-08 Remove mkdir_unique, rewrite atomic_symlink with mkltempLaurent Bercot
2018-07-21 Add unlink_void, change dir_close, prepare for 2.7.0.0Laurent Bercot
2018-06-24 Add skagetln_loose, skagetlnsep_loose, ipc_timed_sendvLaurent Bercot
2018-01-03 Add child_spawn3, make textclient_startf use itLaurent Bercot
2017-12-22 Add missing textclient_zeroLaurent Bercot
2017-12-22 Add textclient, fix some textmessage issuesLaurent Bercot
2017-12-21 Big 2.6.3.0 reorganizationLaurent Bercot
- Add libposixplz, update headers - Add memmem and friends - Add textmessage to libunixonacid - Update some sysdeps tests
2017-12-07 Finally implement sarealpath() over realpath(). Prettier atomic_symlink().Laurent Bercot
2017-12-03 Add atomic_symlink(), prepare for 2.6.3.0Laurent Bercot
2017-11-27 Guard faccessat with HASLINKAT, because SolarisLaurent Bercot
2017-11-27 Add access_at, because MacOSLaurent Bercot
2017-09-27 Rewrite openwrite(v)nclose using mkstempLaurent Bercot
2017-08-16 Make skaclient's fd coeLaurent Bercot
2017-07-27 Add unixmessage_receiver_hasmsginbuf, fix unixmessage_handleLaurent Bercot
2017-07-16 Add egidingroups sysdeps, change fd_close() to void and saving errno, ↵Laurent Bercot
propagate changes
2017-04-23 Align ancillary buffers on struct cmsghdr and int boundariesLaurent Bercot
2017-03-15 Fix unixmessage_putv() (the normal message wasn't taken into account!)Laurent Bercot
2017-03-13 More superflous headers cleanup and tiny fixesLaurent Bercot
2017-02-21 Types change: big pass on libstddjb and libunixonacidLaurent Bercot
libdatastruct still missing, library still not functional
2017-02-17 More types changesLaurent Bercot
New disize Add size_t to the autotypes list Delete redundant and replace-libc files dev_t/ino_t pass Big size_t pass More things missing, still not operational yet
2017-02-15 add arc4random_addrandom sysdep; next batch of types changes.Laurent Bercot
The library isn't supposed to be functional yet: there are still a lot of type mismatches.
2016-10-14 Clean up and modernize librandom.Laurent Bercot
Correct random number generation has historically been suprisingly painful to achieve. There was no standard, every system behaved in a subtly different way, and there were a few userland initiatives to get decent randomness, all incompatible of course. The situation is a bit better now, we're heading towards some standardization. The arc4random() series of functions is a good API, and available on a lot of systems - unfortunately not Linux, but on Linux the new getrandom() makes using /dev/random obsolete. So I removed the old crap in librandom, dropped EGD support, dropped dynamic backend selection, made a single API series (random_* instead of goodrandom_* and badrandom_*), added an arc4random backend and a getrandom backend, and defaulted to /dev/urandom backed up by SURF in the worst case. This should be much smaller and logical. However, it's a major API break, so the skarnet.org stack will be changed to adapt.
2016-07-24 ipc_timed_send workaround for the usual OpenBSD braindead headersLaurent Bercot
2016-07-20 Actually call ipc_timed_recv ipc_timed_recvLaurent Bercot
2016-07-20 Add ipc_timed_recvLaurent Bercot
2016-07-20 Add ipc_timed_sendLaurent Bercot
2016-04-22 Fix closecb support wherever a unixmessage may get dropped; add closecb ↵Laurent Bercot
support to unixconnection
2016-02-02 Tentative re-commit of the closecb featureLaurent Bercot
2016-02-02Revert " Add support for advanced closing callbacks to ↵Laurent Bercot
unixmessage_sender_flush." This reverts commit c9c7e241a7b68f67e0cc8a7d3874510dced532d6. (something is segfaulting, reverting until I find the fix)
2016-01-18 Add support for advanced closing callbacks to unixmessage_sender_flush.Laurent Bercot
(Typically, this will be used for refcounting when broadcasting copies of the same fd.)
2015-08-13 Add atomic_rm_rf and atomic_rm_rf_tmpLaurent Bercot
2015-05-16 - add bitarray_countLaurent Bercot
- add openwritevnclose_at - rc for 2.3.5.0
2015-05-05 OpenBSD sucks, but everyone knew this already.v2.3.4.0Laurent Bercot
2015-05-05 - add stat_atLaurent Bercot
- make case_diff* work as a function is more cases - make sig_number case-insensitive - make child signal unblocking work in child_spawn*
2015-03-13 Applied Roman Kimov's fixesv2.3.1.3Laurent Bercot
2015-02-19 - Bugfix: unixmessage_sender_init didn't initialize b->shortyLaurent Bercot
- byte_zero the ancilbuf's padding to appease valgrind
2015-02-05 - Add siovec_truncLaurent Bercot
- Add openwritevnclose - replace buffer_read/write with fd_readsv/writesv - add localtmn_from_tain_g - refactor cdb_make - rewrite buffer_getvall and buffer_putvall, with a bugfix
2015-01-23 Bugfixes:v2.2.1.0Laurent Bercot
- seek_set now uses SEEK_SET (those functions are useless now, they will go at the next major version update) - skaclient_server_init now correctly sanitizes unixmessage_timed_receive
2015-01-19 - Added unixconnectionLaurent Bercot
- Added sig_name & sig_number (suggestion from Olivier Brunel) - version bumped to 2.2.1.0, rc
2015-01-10 Without a segfault in unixmessage_sender_free, please.v2.2.0.0Laurent Bercot
2015-01-10 Bugfix: unixmessage_sender_free didn't close all the pending fdsLaurent Bercot
2015-01-09 Add unixmessage_unput, for transaction cancellationLaurent Bercot
2015-01-09 Bugfix: unixmessage_put was recording the wrong number of fdsLaurent Bercot