summaryrefslogtreecommitdiff
path: root/src/sysdeps
AgeCommit message (Collapse)Author
2019-09-20 sysdeps redesign: first part: minimize clr testsLaurent Bercot
Remaining clr: emptyregex: can be safely guessed to no nullispointer: can't be safely guessed, but do we need the test? devurandom: can't be safely guessed malloc0: can more or less be safely guessed to no
2019-09-03 Big wallclock/stopwatch refactor. It was long overdue.Laurent Bercot
* --enable-clock and --enable-monotonic are gone * tain_sysclock() has been renamed tain_wallclock_read() * tain_wallclock_read() reads from CLOCK_REALTIME (or gettimeofday()) * tain_clockmon[_init]() have been renamed to tain_stopwatch_[read|init]() and now accept a monotonic clock name as an extra argument * tain_now() points to the system (wall) clock by default * tain_now_set_[stopwatch|wallclock]() can be used to switch Now to make a pass on all skarnet.org programs and add a tain_now_set_stopwatch() call everywhere needed... >.>
2019-05-11 Add tryemptyregex/skalibs_regcomp, prepare for 2.8.1.0Laurent Bercot
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-02-18 Get rid of tryancilautoclose testLaurent Bercot
2018-05-03 Add nullispointer sysdepLaurent Bercot
2018-03-01 Add byte_zzero, openb_readLaurent Bercot
2018-01-13 Try strnlen() portability with _POSIX_C_SOURCE...Laurent Bercot
2017-12-21 GNU manages to botch dirfd() too. POSIX is hard!Laurent Bercot
2017-12-21 Add dirfd sysdep, because Solaris sucksLaurent 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-11-22 Add O_DIRECTORY sysdepLaurent Bercot
2017-08-28 Add nsgetparent sysdepLaurent Bercot
2017-08-23 Change xexecvep exit codes ; add namespaces sysdepLaurent Bercot
2017-07-16 Change setgroups() management, in particular add skalibs_setgroups()Laurent Bercot
2017-07-16 Add egidingroups sysdeps, change fd_close() to void and saving errno, ↵Laurent Bercot
propagate changes
2017-05-16 Accommodate some broken GNU toolchains by including sys/types.h in sysdeps ↵Laurent Bercot
tests
2017-05-15 bugfixes: invalid clockmon detection and futimens detectionLaurent Bercot
2017-04-30 Adjust ftms for trysetgroups.c (glibc changed APIs without major version ↵Laurent Bercot
bump -_-)
2017-04-26 Fix getrandom() detection: need to run the test, not only link!Laurent Bercot
2017-04-23 Align ancillary buffers on struct cmsghdr and int boundariesLaurent Bercot
2017-03-16 More arc4random_addrandom fixes, how can clang be such a PITA ?Laurent Bercot
2017-03-16 Fix arc4random_addrandom detection for -Werror=pointer-signLaurent Bercot
2017-03-15 Better pipe2 detection on BSD systemsLaurent Bercot
2017-03-15 Fix trydevurandom testLaurent Bercot
2017-03-15 sysdeps tests cleanup. (I expect BSDs to break, as usual.)Laurent 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.
2017-01-25 More work on the types. This commit builds but has errors.Laurent Bercot
Rework src/headers entirely: build skalibs/types.h Convert skalibs/fmtscan.h types. Propagate changes until it builds. There are a lot of incompatible pointer issues remaining, those will be fixed with the buffer overhaul.
2016-12-05 Fix trygetrandom.c to correctly detect getrandom() on muslLaurent Bercot
2016-10-24 More strict test for SKALIBS_HASTIMER (must have struct itimerspec and ↵Laurent Bercot
struct sigevent too)
2016-10-24 Add the alarm library, first draft.Laurent Bercot
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-04-27 Fix tryfutimens.c header inclusion. The test should be good now...Laurent Bercot
2016-04-27 Help Solaris finds its own futimens() in its own assLaurent Bercot
2016-04-27 Even less standards for futimes()Laurent Bercot
2016-04-27 futimes() is not POSIX, so add some ftmsLaurent Bercot
2016-04-27 Add new sysdeps for futimens() and futimes(), adapt touch() implementationLaurent Bercot
2015-07-13 - sysdeps for strnlen (Solaris... sigh)Laurent Bercot
- rc for 2.3.5.2
2015-03-13 Applied Roman Kimov's fixesv2.3.1.3Laurent Bercot
2014-12-31 Add _GNU_SOURCE to trynbwaitall.c because glibc headersLaurent Bercot
don't define kill() with only _BSD_SOURCE. That's very disappointing from GNU.
2014-12-21 OK, this one works, and the problem was actually on my side (failure toLaurent Bercot
use CMSG_LEN where required in tryancilautoclose). Also, good news: the sys/param.h inclusion in FreeBSD isn't necessary anymore.
2014-12-21 next generation of the FreeBSD fix...Laurent Bercot
2014-12-21 So MSG_WAITALL can block even with MSG_DONTWAIT... wtfbsdseriously.Laurent Bercot
Only include MSG_WAITALL when it's tested nb, then. Also test yet another fix for the tryancilautoclose FreeBSD problem.
2014-12-21 Stricter trynbwaitall to actually catch the problemsLaurent Bercot
2014-12-21 So the non-portable MSG_DONTWAIT may alleviate the problem... mightLaurent Bercot
as well use it on architectures that support it.
2014-12-20 Something is rotten in the state of FreeBSD... but we all knew itLaurent Bercot
already. More tentative workarounds.
2014-12-20 FreeBSD now chokes on tryancilautoclose ; tentative fixLaurent Bercot