Log

Author Commit Date CI Message
Guillem Jover 1bf0a555 2013-06-08T17:43:42 Release libbsd 0.5.2
Guillem Jover ad613d9d 2013-06-07T07:11:50 Create a shallow copy of environ before replacing it in setproctitle() Because clearenv() or setenv() might free the environ array of pointers, we should make sure to copy it so that we can access it later on when doing the deep copy via setenv(). Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=65470
Guillem Jover 50e4c55a 2013-06-08T17:55:19 Try to check if setproctitle() constructor got passed arguments
Guillem Jover e084ce3f 2013-06-07T04:46:29 Specify setproctitle_stub() signature manually if typeof is missing Do not stop exporting the function in the version node even if typeof is not available, as that would break ABI.
Guillem Jover 6faea4d2 2013-05-29T02:23:56 Force setproctitle() into .init_array section The GNU .init_array support is an extension over the standard System V ABI .init_array support, which passes the main() arguments to the init function. This support comes in three parts. First the dynamic linker (from glibc) needs to support it. Then function pointers need to be placed in the section, for example by using __attribute__((constructor)), that the compiler (gcc or clang for example) might place in section .ctors and the linker (from binutils) will move to .init_array on the output object, or by placing them directly into .init_array by the compiler when compiling. If this does not happen and the function pointers end up in .ctors, then they will not get passed the main() arguments, which we do really need in this case. But this relies on recent binutils or gcc having native .init_array support, and not having it disabled through --disable-initfini-array. To guarantee we get the correct behaviour, let's just place the function pointer in the .init_array section directly, so we only require a recent enough glibc. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=65029
Guillem Jover 367e0365 2013-06-08T08:15:21 test: Try setting and getting an environment variable after setproctitle()
Guillem Jover dc8b0978 2013-05-30T04:09:25 build: Ignore automake 1.13+ test suite generated files
Guillem Jover 46633647 2013-05-27T06:52:05 Release libbsd 0.5.1
Guillem Jover df5aebd7 2013-05-27T06:49:57 test: Mark a literal integer as long long This fixes build failures on 32-bit architectures.
Guillem Jover 95878823 2013-05-21T04:34:34 Release libbsd 0.5.0
Guillem Jover 01f146c2 2013-05-27T04:41:58 build: Handle the ChangeLog as a distributed-only file The ChangeLog file is distributed, and cannot be regenerated outside of the git repository, so do not remove it in DISTCLEANFILES, and move the generation code into dist-hook, which also avoids unnecessary computation during normal builds.
Guillem Jover 96a2dae3 2013-05-25T15:31:45 Update setmode module from NetBSD Merge some interesting changes.
Casper Dik a4812cdf 2013-03-15T01:13:58 Fix getpeereid() compilation on Solaris The code in getpeereid() is unlikely to compile as ucred_t is an opaque struct (ucred_t * works but ucred_t does not). Either you need to give a pointer initialized to NULL and getpeerucred() allocates a new ucred or you call it with an allocated ucred as in this patch. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 509841b5 2013-05-25T15:44:57 build: Use AM_V_at for mkdir
Guillem Jover 06f0585c 2013-05-21T10:31:59 build: Compress the distribution tarball with xz instead of gzip
Guillem Jover 7c4caa67 2013-05-25T15:36:11 Fix comparison between signed and unsigned integer compiler warnings
Guillem Jover 30349f89 2013-05-25T15:35:39 Update radixsort module from NetBSD Merge some interesting changes.
Guillem Jover d3a09e1c 2012-12-27T11:19:20 Switch dehumanize_number() to use expand_number() The function is a duplicate of expand_number(), but covering less prefixes and with a slightly different function signature. Spotted-by: Peter da Silva <resuna@gmail.com>
Guillem Jover 330b569f 2013-05-26T04:34:57 test: Add new humanize unit test
Guillem Jover 8c26c40a 2012-11-27T14:23:26 test: Add setproctitle() unit test
Guillem Jover e9933255 2013-05-25T17:11:53 Make setproctitle() available in 0.2 and 0.5 version nodes Make the 0.5 version the default, so that code wanting the actual implemented version can get a proper versioned depdendency. For code linked against the old version, make it available as an alias.
Guillem Jover c984dacd 2012-11-27T14:24:13 Implement sendmail semantics for setproctitle() Prefix the title with "progname: ", and skip it if the format string starts with '-' (which gets skipped on output too).
Guillem Jover 35785f8d 2012-11-25T21:10:53 Modify setproctitle() to conform to project coding style Use local getprogname()/setprogname() instead of reimplementing them locally. Use clearenv() if available, not just on glibc. Use bool instead of _Bool. Use paranthesis on sizeof. Fold the SPT_MIN macro into spt_min(). Make spt_init() static. Avoid unnecessary gotos.
William Ahern 2a0260d0 2012-11-28T11:09:02 Add a setproctitle() implementation Taken from libnostd. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover f8d52ead 2012-11-23T18:33:23 Add x32 support to nlist()
Guillem Jover cf683a27 2012-11-23T18:32:35 Add arm64 (aka aarch64) to nlist()
Guillem Jover 7196b4dc 2013-05-23T02:05:19 test: Add new fgetln() and fgetwln() unit test
Guillem Jover a97ce513 2012-11-23T21:19:45 Add new fgetwln() function Man page taken from FreeBSD.
Strake ee0489eb 2012-08-07T08:44:30 Add new fparseln() function Taken from NetBSD. [guillem@hadrons.org: - Import from NetBSD instead of FreeBSD to get a 3-clause BSD license, instead of a 4-clause one. - Define compatibility macros. - Change library from libc to libbsd and header in man page. - Add copyright information to COPYING. - Add symbol to map file. ] Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover cb7bc0d8 2012-11-25T22:09:43 Add file buffer pool support to fgetln() This avoids buffer overwrites during concurrent or intermixed calls to fgetln() when using more than one different stream (currently 32), which the original interface supports natively by using an internal buffer from the FILE structure. Although this workaround is rudimentary, it should cover most of the theoretically problematic cases.
Guillem Jover 1be0bdb2 2012-11-25T21:13:38 Add new strnstr() function Taken from FreeBSD.
Guillem Jover ff0d700d 2012-11-23T17:16:43 Add new wcslcat() and wcslcpy() functions Taken from FreeBSD.
Guillem Jover 38627648 2013-05-21T04:13:55 Coalesce identical BSD-2-clause licenses
Guillem Jover 918a4dba 2012-06-27T09:15:15 Release libbsd 0.4.2
Guillem Jover 444bd1fb 2012-06-21T10:16:14 man: Use minus signs and hyphens consistently Any string that can be copy & pasted into a terminal, for example, needs to correctly use minus signs (escaped dashes), instead of the default hyphen.
Guillem Jover 1d69ae1c 2012-06-04T05:47:26 man: Recode flopen(3) to UTF-8 Spotted-by: Eric Smith <eric@brouhaha.com>
Guillem Jover 14524b54 2012-06-03T07:39:42 build: Set default compiler variables from configure This centralizes the setting so there's no duplication anymore, makes sure the user supplied variables are never overridden, and are only set when using gcc. Reported-by: Samuli Suominen <ssuominen@gentoo.org>
Guillem Jover c21d788f 2012-06-01T08:20:37 Release libbsd 0.4.1
Guillem Jover fdcae577 2012-06-01T08:17:42 build: Set runtimelibdir to libdir This makes sure the install-exec-hook under src works as expected even when no runtimelibdir was specified, otherwise the symlinks end up pointing to non-existing targets. Reported-by: Ryan Mullen <rmmullen@gmail.com>
Guillem Jover e9e4a60d 2012-06-01T08:15:00 build: Use MKDIR_P variable instead of literal «mkdir -p»
Guillem Jover 309c82a0 2012-05-29T04:38:07 Release libbsd 0.4.0
Guillem Jover cd67cb14 2012-05-29T07:17:46 Use implicit <md5.h> from overlay instead explicit <bsd/md5.h> This was assuming an installed <bsd/md5.h> on the system, due to the build system not including -Iinclude/ anymore. Regression introduced in commit 901ed630fc64fca828e031bc8fa6780db9f05db1.
Guillem Jover 1b5b1cd5 2012-04-24T04:20:58 Move mdX.3 man page to section 3bsd This makes sure there will be no collisions on systems where a mdX.3 provided by a third party is already present.
Guillem Jover ddefaae3 2012-04-24T04:05:48 Do not quote man page titles
Guillem Jover e7f39760 2012-03-23T10:31:42 Add email address to my name
Guillem Jover e59ac2c9 2012-03-23T10:11:57 Clarify that the 4-clause BSD licenses are only for man pages
Guillem Jover 7cfa7e43 2012-01-12T19:13:16 Add new man page for tree(3) Taken from FreeBSD.
Guillem Jover 7620fef7 2012-01-12T20:56:24 Remove UC Berkeley advertising clause As per <ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change>.
Guillem Jover 08139dd5 2012-01-12T19:13:16 Add new man pages for bitstring(3) and queue(3) Taken from FreeBSD.
Guillem Jover d90ce079 2011-05-14T14:18:57 Add new man pages for getprogname(3) and setprogname(3) Taken from FreeBSD.
Guillem Jover c1d086c2 2011-05-14T14:18:57 Add new man page for setproctitle(3) Taken from FreeBSD.
Guillem Jover e37293a1 2012-01-12T18:16:55 Add <bitstring.h> for compatibility with NetBSD and OpenBSD
Guillem Jover 34bf1068 2012-03-23T10:43:33 test: Add a unit test for endian encoder/decoder
Robert Millan 4eab0cc3 2012-01-03T05:29:36 Add inline endian encoding/decoding functions Taken from FreeBSD. Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 75299746 2012-01-03T08:58:01 Base getprogname() on program_invocation_short_name presence instead of glibc
Guillem Jover d5d91869 2012-01-03T09:08:35 Base fpurge() implementation on __fpurge presence instead of glibc
Guillem Jover f8e80630 2012-01-03T08:40:18 Base fgetln() implementation on getline presence instead of glibc
Guillem Jover 786d1439 2012-03-24T20:37:55 test: Add new overlay unit test
Guillem Jover 866f73af 2012-01-03T05:39:22 Move overlay inclusions outside of header protection Glibc tends to include standard headers with special definitions that make few declarations or macros visible, this stomps over the overlay #include_next <> logic. Based-on-patch-by: Robert Millan <rmh@debian.org>
Guillem Jover f71d8e05 2012-03-21T04:10:37 Remove bogus deprecation warning from <getopt.h>
Guillem Jover 0b96e1a2 2012-01-03T07:32:53 Remove deprecated compatibility includes in headers
Guillem Jover 109cafb3 2012-01-03T07:32:37 Remove deprecated headers
Robert Millan 64348583 2011-12-31T04:30:48 Add new expand_number() function Taken from FreeBSD. [guillem@hadrons.org: - Include <stdint.h> in <bsd/libutil.h>. ] Signed-off-by: Guillem Jover <guillem@hadrons.org>
Guillem Jover 943939d0 2011-12-31T08:39:44 Add new closefrom() function Code taken from sudo, man page from FreeBSD.
Guillem Jover 3d614131 2011-12-31T06:01:27 Base errc() and warnc() on vwarnc() and verrc() respectively
Guillem Jover 87232260 2011-07-06T16:29:26 Use system __progname variable in progname module if available
Guillem Jover b5cc17d6 2011-07-05T23:27:31 Use getexecname() if available for getprogname() This function is present on Solaris.
Guillem Jover abf14c39 2012-03-24T20:37:55 test: Add new headers unit test
Guillem Jover 23973e22 2012-03-23T10:43:33 build: Add a test suite infrastructure
Guillem Jover 980f04f7 2012-01-03T08:58:52 build: Do not define already defined _GNU_SOURCE The macro is defined by configure on config.h which is now implicitly included by all source files.
Guillem Jover 8d2f12d7 2012-01-03T08:45:05 build: Include <config.h> through -include for all source files
Guillem Jover 88004b30 2011-12-31T07:31:47 build: Set -Wno-unused-parameter to default CFLAGS
Guillem Jover dcaa93d9 2010-12-17T11:13:04 build: Switch to autotools
Guillem Jover 0aa777f4 2011-12-31T07:35:52 Move .pc and .map files to src/
Guillem Jover 540ab03b 2011-12-31T06:50:40 Move man pages to man/
Guillem Jover 93321224 2011-12-11T07:57:05 Rename version script from Versions to libbsd.map
Guillem Jover 2fb7200d 2011-10-23T19:27:44 Fix typos in source comments Found by codespell.
Guillem Jover 0acd86f6 2011-07-05T21:01:57 build: Use -isystem instead of -I
Guillem Jover 901ed630 2011-07-05T21:01:18 build: Do not add -Iinclude/ to MK_CPPFLAGS The source code should not be using any of the headers there.
Guillem Jover 059f89ca 2011-07-05T20:59:04 Add missing semicolon to bsd_getopt() declaration Accidentally lost in commit 4a6303ba3b64504ab0077b9cfebd2a4b918d531d.
Guillem Jover 4a6303ba 2011-06-08T02:10:38 Constify bsd_getopt(3) arguments This matches the standard declaration for getopt(3).
Guillem Jover 7446f029 2011-06-02T19:16:57 Release libbsd 0.3.0
Guillem Jover e80d338b 2011-06-02T19:14:44 Add a COPYING file to ease the distributors work This file includes all the copyright and license notices from the source code in a single place.
Guillem Jover b891772a 2011-05-29T02:49:14 Remove blank lines at EOF
Guillem Jover b0eb1997 2011-05-28T11:40:36 Move bsd_getopt() from <bsd/getopt.h> to <bsd/unistd.h> Deprecate <bsd/getopt.h>.
Guillem Jover 0bf3d391 2011-05-28T10:39:54 Include the correct deprecated headeres when using the overlay
Guillem Jover 913cdd91 2011-05-28T06:35:18 Do not use the same header inclusion protector for <nlist.h> and <bsd/nlist.h> Regression introduced in commit f7caf2b30da93d46528ec706dffaf5cbde5266d9.
Guillem Jover 200eeb12 2011-05-27T21:58:20 Add LIBBSD_DISABLE_DEPRECATED to deprecated headers When enabled this will make the inclusion of deprecated headers a fatal error so that it's easier to spot.
Guillem Jover fbd62297 2011-05-27T22:11:28 Condense and clarify header deprecation warnings Mention the possibility of using libbsd-overlay.pc.
Guillem Jover 755d86be 2011-05-27T21:39:14 Rename LIBBSD_CLEAN_INCLUDES to LIBBSD_DISABLE_DEPRECATED
Guillem Jover cd4996ce 2011-05-27T21:23:18 Namespace header protector in <bsd/sys/cdefs.h> with LIBBSD_SYS_
Guillem Jover a7dd4457 2011-05-27T21:13:18 Add new <bsd/sys/poll.h> header
Guillem Jover 8be40010 2011-05-27T20:37:10 Add new <bsd/sys/endian.h> header
Guillem Jover e1f2a6f8 2011-05-25T21:27:58 Add new __packed, __aligned and __nonnull attributes
Guillem Jover 87dd203c 2011-05-25T21:27:12 Define __dead2 and __pure2 to actual gcc attributes if possible
Guillem Jover de206287 2011-05-25T21:25:54 Define <sys/cdefs.h> attributes conditional to the supported gcc version
Guillem Jover 71e5db4c 2011-05-25T21:02:40 Define _SYS_CDEFS_H and _SYS_CDEFS_H after including <sys/cdefs.h> This makes sure the “standard” inclusion protectors are in place, as at least some FreeBSD kernel headers expect these to be defined to do some sanity checks.
Guillem Jover 9d042171 2011-05-25T07:38:36 Map getopt to bsd_getopt if we are using the overlay This will ensure the code can safely and correctly use optreset transparently.
Guillem Jover 17a9a847 2011-05-25T07:36:19 Rename transparent support to overlay This affects the pkg-config file now named libbsd-overlay.pc, and the macro to use the overlay LIBBSD_OVERLAY.
Guillem Jover 94fe901e 2011-05-14T18:12:48 Abort compilation if fgetln cannot be wrapped