summaryrefslogtreecommitdiff
path: root/lib/replace
Commit message (Collapse)AuthorAgeFilesLines
* replace: Fix compiler warning flagAmitay Isaacs2017-03-161-1/+1
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Jeremy Allison <jra@samba.org>
* Correct "seperate" typos.Chris Lamb2017-02-221-1/+1
| | | | | | Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
* Correct "formated" typos.Chris Lamb2017-02-221-1/+1
| | | | | | Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
* lib/replace: validate xattr namespace prefix on FreeBSDRalph Boehme2017-02-101-24/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | We should validate the xattr name string ensuring it either begins with "sytem." or "user.". If it doesn't, we should fail the request with EINVAL. The FreeBSD xattr API uses namespaces but doesn't put the namespace name as a string prefix at the beginning of the xattr name. It gets passed as an additional int arg instead. On the other hand, our libreplace xattr API expects the caller to put a namespace prefix into the xattr name. Unfortunately the conversion and stripping of the namespace string prefix from the xattr name gives the following unexpected result on FreeBSD: rep_setxattr("foo.bar", ...) => xattr with name "bar" The code checks if the name begins with "system.", if it doesn't find it, it defaults to the user namespace and then does a strchr(name, '.') which skips *any* leading string before the first dot. Bug: https://bugzilla.samba.org/show_bug.cgi?id=12490 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* lib/replace tests: prevent GCC fretting over snprintf sizesDouglas Bagnall2017-02-101-3/+4
| | | | | | | | | These tests deliberately use snprintf for truncating strings, which is fine for tests. This has the effect of leaving the warning in place but preventing it from becoming a fatal error. Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* replace: fix some trailing whitespacesBjörn Jacke2017-01-211-10/+10
| | | | | Signed-off-by: Bjoern Jacke <bj@sernet.de> Reviewed-by: David Disseldorp <ddiss@samba.org>
* replace: Include sysmacros.hAndreas Schneider2017-01-081-0/+4
| | | | | | | | | | | | In the GNU C Library, "makedev" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but it is planned to remove this soon. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Sun Jan 8 22:30:03 CET 2017 on sn-devel-144
* WAF: Fix detection of IPv6Lukas Slebodnik2017-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | Detection of IPv6 failed with strict CFLAGS due to missing header file. Checking for HAVE_IPV6 : not found ../test.c: In function ‘main’: ../test.c:226:34: error: implicit declaration of function ‘if_nametoindex’ [-Werror=implicit-function-declaration] int idx = if_nametoindex("iface1"); ^~~~~~~~~~~~~~ Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Mon Jan 2 18:03:20 CET 2017 on sn-devel-144
* lib replace: Fix detection of featuresLukas Slebodnik2017-01-023-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | If configure script is executed with stricter cflags "-Werrorr=implicit-function-declaration -Werror=implicit-int" then detection of few features will fail. Checking for C99 vsnprintf : not found Checking for HAVE_SHARED_MMAP : not found Checking for HAVE_MREMAP : not found lib/replace/test/shared_mmap.c:18:1: error: return type defaults to ‘int’ [-Werror=implicit-int] main() ^~~~ lib/replace/test/shared_mmap.c: In function ‘main’: lib/replace/test/shared_mmap.c:25:16: error: implicit declaration of function ‘exit’ [-Werror=implicit-function-declaration] if (fd == -1) exit(1); ^~~~ lib/replace/test/shared_mmap.c:25:16: warning: incompatible implicit declaration of built-in function ‘exit’ lib/replace/test/shared_mmap.c:25:16: note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’ Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* replace: make sure we have a SCOPE_DELIMITER defineBjörn Jacke2016-12-091-0/+4
| | | | | Signed-off-by: Bjoern Jacke <bj@sernet.de> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* replace: Include libgen.h if availableAmitay Isaacs2016-12-011-0/+4
| | | | | | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Martin Schwenke <martin@meltin.net> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Thu Dec 1 18:08:54 CET 2016 on sn-devel-144
* libreplace: Ask for eventfd(2)Volker Lendecke2016-08-241-0/+3
| | | | | | | | This will be used in tevent soon Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* lib: Add a little closefrom() testVolker Lendecke2016-06-131-0/+33
| | | | | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Mon Jun 13 14:11:11 CEST 2016 on sn-devel-144
* libreplace: Add a closefrom() implementationVolker Lendecke2016-06-133-0/+150
| | | | | | | | | | | | There is closefrom in some BSDs, but Linux ships this only as part of libbsd. Add a new implementation of it in libreplace. The one in libbsd of jessie and upstream differ and it has for example optimizations for FreeBSD, but it gets some of the array calculations slightly wrong from my point of view. If you want those, use libbsd. This replacement is optimized on Linux only looking at /proc/self/fd/, everything else would do the OPEN_MAX brute force fallback. Signed-off-by: Volker Lendecke <vl@samba.org>
* lib: replace: snprintf - Fix length calculation for hex/octal 64-bit values.Lorinczy Zsigmond2016-06-031-3/+3
| | | | | | | | | | | | | Prevents truncation due to buffer size being too small. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11947 Signed-off-by: Lorinczy Zsigmond <lzsiga@freemail.c3.hu> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Michael Adam <obnox@samba.org> Autobuild-User(master): Michael Adam <obnox@samba.org> Autobuild-Date(master): Fri Jun 3 03:48:58 CEST 2016 on sn-devel-144
* Fix CHECK_CODE usage in atomics builtin detectionJérémie Courrèges-Anglas2016-04-261-12/+4
| | | | | | | | | | | | | | | | | | | CHECK_CODE already wraps the code with main(). Adding another layer results in a nested function, eg int main(void) { int main(void) { __sync_fetch_and_add(); } } Since the inner function isn't called it is optimized out at cc -O2, thus the linker doesn't fail if __sync_fetch_and_add() isn't available. Issue noticed on OpenBSD/hppa. Signed-off-by: Jérémie Courrèges-Anglas <jca@wxcvbn.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Apr 26 01:19:40 CEST 2016 on sn-devel-144
* lib:replace: Missing semicolon on function definition.Jeremy Allison2016-04-021-1/+1
| | | | | | | | Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Martin Schwenke <martin@meltin.net> Autobuild-User(master): Martin Schwenke <martins@samba.org> Autobuild-Date(master): Sat Apr 2 06:04:13 CEST 2016 on sn-devel-144
* libreplace: use HAVE___ATTRIBUTE__ instead of __GNUC__Douglas Bagnall2016-03-241-2/+2
| | | | | | Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Uri Simchoni <uri@samba.org>
* libreplace: Only check for malloc.h if neededVolker Lendecke2015-11-191-1/+8
| | | | | | | | | | | | | OpenBSD complains that malloc.h is deprecated on every gcc invocation. That hides a lot of real warnings. malloc and friends nowadays are typically defined in stdlib.h, only check there. We need memalign. On OpenBSD this does not exist, so libreplace replaces it. The wscript test in libreplace only checks whether memalign can link. Unfortunately in glibc memalign comes from malloc.h. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* libreplace: Put the malloc.h check on a line of its ownVolker Lendecke2015-11-191-1/+3
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* libreplace: Only check malloc.h onceVolker Lendecke2015-11-191-1/+1
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* build:wafsamba: Remove samba_utils.runonceThomas Nagy2015-11-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The decorator order matters in the following: """ @runonce @conf function() """ First, the @conf decorator binds the function to the configuration context and then returns the same function. The @runonce decorator then takes the output function and replaces it by another that performs caching. This new function remains in the current script and is never bound to the configuration context, so caching never occurs. The declaration would have been correct if written like this: """ @conf @runonce function() """ Yet the decorator @run_once does not keep the function name (__name__), so the annotation with @conf would fail. The straightforward approach is to remove all the incorrect @runonce occurrences. Besides that, the function Utils.run_once is already present in the Waf library, and is sufficient for the current needs of the Samba code (it caches only the first argument). Therefore samba_utils.runonce can be safely replaced by Utils.run_once, which is also present in Waf 1.8. Note: at runtime, only SETUP_BUILD_GROUPS seems to actually use caching. Signed-off-by: Thomas Nagy <tnagy@waf.io> Reviewed-by: Uri Simchoni uri@samba.org Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* lib/replace: Make sure that replacement strto[u]ll does not reset errno ↵Felix Janda2015-10-311-2/+4
| | | | | | | | | | | | | | unexpectedly Fix the replacement functions for strtoll and strtoull to not set errno to 0 if errno is EINVAL before calling, strto[u]ll does not modify errno and the base is ok. Bug: https://bugzilla.samba.org/show_bug.cgi?id=11455 Signed-off-by: Felix Janda <felix.janda@posteo.de> Reviewed-by: Ralph Boehme <slow@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* lib/replace: Replace BSD strtoull by wrapping strtoull instead of strtouqFelix Janda2015-10-311-6/+3
| | | | | | | | | | | Same as commit e50bf6d537ef09e936d19d6e0bf63f9bbc5d4818 but for strtoull instead of strtoll. Bug: https://bugzilla.samba.org/show_bug.cgi?id=11455 Signed-off-by: Felix Janda <felix.janda@posteo.de> Reviewed-by: Ralph Boehme <slow@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* build:wafsamba: dead code removal in gettext detectionThomas Nagy2015-10-271-11/+0
| | | | | | | | | | | | Since the --gettext-location command-line option has no effect, the misleading code is removed. The samba functions ADD_CFLAGS must also be used in the future Signed-off-by: Thomas Nagy <tnagy@waf.io> Reviewed-by: Uri Simchoni <uri@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Tue Oct 27 03:34:28 CET 2015 on sn-devel-104
* libreplace: Fix the build on SolarisVolker Lendecke2015-10-012-1/+6
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* replace: Fix check for gettimeofday()Andreas Schneider2015-09-101-1/+3
| | | | | | | | | | | The check does not include <sys/time.h> the test might fail with a implicit function declaration error. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Sep 10 00:36:16 CEST 2015 on sn-devel-104
* replace: Fix bug 11455Volker Lendecke2015-08-191-0/+1
| | | | | | | | | | | | Don't call rep_strtoull recursively Bug: https://bugzilla.samba.org/show_bug.cgi?id=11455 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Wed Aug 19 11:22:38 CEST 2015 on sn-devel-104
* lib: replace: Add strsep function (missing on Solaris).Jeremy Allison2015-07-293-2/+27
| | | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=11359 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ira Cooper <ira@wakeful.net> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Jul 29 02:24:55 CEST 2015 on sn-devel-104
* replace: Replace BSD strtoll by wrapping strtoll instead of strtoqFelix Janda2015-06-221-6/+2
| | | | | | | | | | | | | | | | | | | | When it is detected that strtoll returns EINVAL not only in the case that the base is not supported, HAVE_BSD_STRTOLL is declared and strtoll is replaced. The current replacement code wraps strtoq in order to replace strtoll and errors out when strtoq is missing. In order to remove this possible error path, we can use strtoll instead of strtoq since the code is only used when it is known that strtoll exists. The fixes a compilation problem on linux systems using musl libc, which has a BSD-like strtoll but no strtoq. Signed-off-by: Felix Janda <felix.janda@posteo.de> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: "Stefan (metze) Metzmacher" <metze@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Mon Jun 22 12:49:10 CEST 2015 on sn-devel-104
* lib/replace: remove unused ↵Stefan Metzmacher2015-06-121-10/+0
| | | | | | | | | HAVE_DECL_PTHREAD_{MUTEXATTR_SETROBUST,MUTEX_CONSISTENT}_NP checks BUG: https://bugzilla.samba.org/show_bug.cgi?id=11319 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* lib/replace: fix PTHREAD_MUTEX_ROBUST fallback to PTHREAD_MUTEX_ROBUST_NP on ↵Stefan Metzmacher2015-06-122-6/+9
| | | | | | | | | | | | | | | | | | | | | | solaris 11 Without this we got the following defines in config.h: #define HAVE_DECL_PTHREAD_MUTEXATTR_SETROBUST_NP 1 #define HAVE_DECL_PTHREAD_MUTEX_CONSISTENT_NP 1 #define HAVE_PTHREAD_MUTEXATTR_SETROBUST 1 #define HAVE_PTHREAD_MUTEX_CONSISTENT 1 #define HAVE_ROBUST_MUTEXES 1 #define USE_TDB_MUTEX_LOCKING 1 And the build failed with PTHREAD_MUTEX_ROBUST being unknown. Note that PTHREAD_MUTEX_ROBUST and PTHREAD_MUTEX_ROBUST_NP are enum values while they're defines on solaris 11 BUG: https://bugzilla.samba.org/show_bug.cgi?id=11319 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* lib/replace: add signal related configure checksStefan Metzmacher2015-06-101-0/+1
| | | | | | | | | | | | These should be in a central place available for all lib/replace users instead of having each caller do its own checks. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11326 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* lib: Fix CID 1034836 Resource leakVolker Lendecke2015-05-061-0/+4
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ira Cooper <ira@samba.org>
* replace: check for dirname() and basename()David Disseldorp2015-03-311-1/+2
| | | | | | | These functions are provided by libgen.h, and conform to POSIX.1-2001. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* Move waf into third_party/.Jelmer Vernooij2015-03-261-1/+1
| | | | | Signed-Off-By: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* replace: clean-up strlcpy and add note on return valueDavid Disseldorp2015-03-261-4/+12
| | | | | | | | The existing implementation uses single line ifs, making the code hard to visually parse. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* replace: Remove superfluous check for gcrypt header.Andreas Schneider2015-03-131-1/+1
| | | | | | | | | | | | | We only need to check for the header if we need gnutls with gcrypt support. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11135 Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Fri Mar 13 01:00:27 CET 2015 on sn-devel-104
* lib: Fix CID 1034840 Resource leakVolker Lendecke2015-03-101-0/+5
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ira Cooper <ira@samba.org>
* lib: Fix CID 1034839 Resource leakVolker Lendecke2015-03-101-0/+7
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ira Cooper <ira@samba.org>
* lib: Fix CID 1034838 Resource leakVolker Lendecke2015-03-101-0/+1
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ira Cooper <ira@samba.org>
* libreplace: Fix CID 1034926 Destination buffer too smallVolker Lendecke2015-03-101-1/+2
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ira Cooper <ira@samba.org>
* Add Solaris ports as a tevent backend.Jeremy Allison2015-02-152-0/+9
| | | | | | | | Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Sun Feb 15 23:25:07 CET 2015 on sn-devel-104
* snprintf: Try to support %jVolker Lendecke2015-02-121-0/+4
| | | | | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Feb 12 23:34:33 CET 2015 on sn-devel-104
* wafsamba: move -fvisibility=hidden checks from lib/replace to wafsambaStefan Metzmacher2015-01-081-7/+0
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* wafsamba: move '-fstack-protector' checks from lib/replace to wafsambaStefan Metzmacher2015-01-081-4/+0
| | | | | | | | | | | This moves the check to the end of the configure run, which means we no longer use this on configure checks, but only for the real build. This behavior is similar than our developer cflags. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* wafsamba: move WERROR_CFLAGS checks from lib/replace to wafsambaStefan Metzmacher2015-01-081-13/+0
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* wafsamba: move compiler / cflags related stuff from lib/replace to wafsambaStefan Metzmacher2015-01-081-21/+0
| | | | | | | We should have this just in one central place. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* Don't use a nested function when testing for visibility attribute support.Jelmer Vernooij2014-11-101-2/+2
| | | | | | | | | | | | | | | Some compilers support __attribute__((visibility)), but not nested functions (e.g. http://www.cprover.org/goto-cc/) Change-Id: I01a5dd6f5f913664621c4090e2dca177527436bb Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749983 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749985 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749986 Signed-Off-By: Jelmer Vernooij <jelmer@debian.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Mon Nov 10 08:29:19 CET 2014 on sn-devel-104
* replace: Fix includes of unistd.hMartin Schwenke2014-09-193-4/+9
| | | | | | | | This should always be conditional. system/passwd.h wants it too so that uid_t is defined. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Volker Lendecke <vl@samba.org>