summaryrefslogtreecommitdiff
path: root/src/sysdeps
AgeCommit message (Collapse)Author
2023-11-18 Fix trypthread.c to work with old compilersLaurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2023-09-12 Try another workaround for bad struct statLaurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2023-09-12 New sysdeps for st.st_atim etc., timespec_cmpLaurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2023-09-12 Add waitid() sysdep, and fuck OpenBSDLaurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2023-09-11 Add POSIX_SPAWN_SETSID_NP supportLaurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2023-09-11 Add posix_spawn_file_actions_addchdir() supportLaurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2023-09-11 Add a pthread sysdepLaurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2023-09-10 Add POSIX_SPAWN_SETSID support to cspawnLaurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2023-06-29 posix_spawn workaround fixesLaurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2023-06-28 Add workaround for bad QoI posix_spawn()Laurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2022-03-27 Add sysdep for GRND_INSECURELaurent Bercot
Signed-off-by: Laurent Bercot <ska@appnovation.com>
2020-12-14 Add chroot sysdep, fix endianness sysdep string in .hLaurent Bercot
2019-10-26 Switch getrandom sysdep back to choose clLaurent Bercot
2019-09-20 THAT'S IT WE HAVE EASY CROSS-COMPILATION FOLKSLaurent Bercot
2019-09-20 We're down to ONE rogue sysdep, boys. ONE.Laurent Bercot
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.