Age | Commit message (Collapse) | Author |
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Also add a prototype for gol, not finished yet.
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
Signed-off-by: Laurent Bercot <ska@appnovation.com>
|
|
- 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>
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Add libposixplz, update headers
- Add memmem and friends
- Add textmessage to libunixonacid
- Update some sysdeps tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
propagate changes
|
|
|
|
|
|
|
|
libdatastruct still missing, library still not functional
|
|
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
|
|
The library isn't supposed to be functional yet: there are
still a lot of type mismatches.
|
|
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.
|
|
|
|
|
|
|
|
|
|
support to unixconnection
|
|
|
|
unixmessage_sender_flush."
This reverts commit c9c7e241a7b68f67e0cc8a7d3874510dced532d6.
(something is segfaulting, reverting until I find the fix)
|
|
(Typically, this will be used for refcounting when broadcasting copies of
the same fd.)
|