Commit Graph

896 Commits

Author SHA1 Message Date
Nicolas Williams
a7359d6898 roken: Add mkdtemp() 2020-03-02 17:48:04 -06:00
Roland C. Dowdeswell
01126367d3 w32-check-exported-symbols: Eliminate perl warning
This will become fatal in the next version of Perl, so we need
to eliminate it now.
2019-11-20 18:14:44 -05:00
Roland C. Dowdeswell
a8b749685c include <sys/exec_elf.h> if it's available.
This fixes the auxval logic on NetBSD.
2019-11-18 14:20:19 -06:00
Roland C. Dowdeswell
2e0366b7a0 Teach make-proto.pl about #define \-continuation. 2019-10-30 16:20:58 -05:00
Nicolas Williams
96d1e80bda roken: add mkostemp() 2019-10-03 13:09:18 -05:00
Nicolas Williams
f31cdc30b2 roken: add rk_memmem() 2019-10-03 13:09:18 -05:00
Nicolas Williams
1ee136ce40 autoconf: look for unlinkat() 2019-10-03 13:09:18 -05:00
Jeffrey Altman
dc46b1f82d solaris: Define _STDC_C11_BCI for memset_s prototype
On Solaris, the memset_s() prototype is only visible if _STDC_C11_BCI
is defined.

93518bfab4 ("use memset_s")
introduced warnings on Solaris

  warning: implicit declaration of function ‘memset_s’;
  did you mean ‘memset’? [-Wimplicit-function-declaration]

Change-Id: Ia02db5e96021a26fb30aa1a593ef6a2b3e3a5b5f
2019-05-23 19:04:42 -04:00
Jeffrey Altman
bec4818943 WIN32: hint noreturn functions
apply __declspec(noreturn) compiler hints to functions that
do not return.

Change-Id: I3c6c4703c7235d1df3e21dccad5272ea4cddfd36
2019-01-02 10:23:39 -06:00
Nicolas Williams
e2685c5b7c Add check for getpw*_r() 2018-12-25 22:11:19 -06:00
Nicolas Williams
a988692434 Add check for getlogin_r() 2018-12-25 22:11:19 -06:00
Nicolas Williams
8fae8a1826 Remove iruserok() 2018-12-25 22:11:19 -06:00
Nicolas Williams
3b8c762dd0 Remove lib/roken glob()
We no longer use it since removing ftp from appl/.

Note that expansion of ~username/ couldn't have been working because
k_getpwnam() was being called with an unsigned short * that was forcibly
cast to char *, but it really was shorts, not chars...  Anyone who ever
feels like reviving lib/roken/glob.[ch] will want to fix that...
2018-12-25 22:11:19 -06:00
Daria Phoebe Brashear
1da17c2f22 roken: test for auxv_t in whichever of auxv.h or sys/auxv.h we find
on solaris it's in sys/auxv.h; so a test for it only in auxv.h isn't
enough
2018-04-17 21:32:36 -04:00
Daria Phoebe Brashear
0f5486eafc krb5: don't include plist support unless CoreFoundation is present
depending what's available when you compile for iOS it's possible to
be __APPLE__ and not have CF; actually test for it instead of blythely
assuming it can be used
2017-10-30 18:41:22 -04:00
Nicolas Williams
6d27e00489 Make builds reproduceable (#336) 2017-09-29 12:37:30 -05:00
David Mulder
2548b3b8aa Solaris 8 x86 uses ->d_fd not ->dd_fd or dirfd() 2017-09-25 18:26:35 -05:00
Nicolas Williams
07c34504a6 Fix gcov build 2017-05-29 01:18:48 -05:00
Nicolas Williams
de7a1911cd Travis: attempt gcov build 2017-05-28 16:58:39 -05:00
Nicolas Williams
cf4efe8de6 Add secure_getenv.c 2017-04-17 18:02:30 -04:00
Nicolas Williams
650ffdc964 Revamp lib/roken/getauxval.c 2017-04-17 18:02:30 -04:00
Nicolas Williams
097e96cbf4 Look for emalloc
Originally by Christos Zoulas.
2017-03-13 18:39:41 -04:00
Nicolas Williams
3a0bf8eb0c Allow choice of sqlite for HDB pref 2017-01-24 11:08:30 -06:00
Nicolas Williams
fa2afcc5fc Add #ifndef DOXY guard to generated headers
cf/make-proto.pl copies Doxygen docs to -private and -protos headers.
We need to either extract these from those files but not source files,
or only from source files but not the generated headers.  This commit
does the latter.
2016-12-14 22:05:58 -06:00
Nicolas Williams
3422afb291 Fix -ldb-5 discovery (#215) 2016-12-08 18:30:58 -06:00
Nicolas Williams
27d7939d74 Improve valgrind suppressions 2016-12-06 22:44:23 -06:00
Viktor Dukhovni
d454492d01 Drop X11 autoconf and travis deps 2016-11-14 14:34:43 -05:00
Viktor Dukhovni
bb507cd4d4 Goodbye push 2016-11-14 14:19:58 -05:00
Viktor Dukhovni
b77e701a22 Goodbye login 2016-11-14 02:59:12 -05:00
Nicolas Williams
ab65f51c52 Apply band-aid to install-build-headers (#114) 2016-11-10 17:58:21 -06:00
Nicolas Williams
99b79d1f4c Check for mig(1), not just libdispatch 2016-11-10 13:15:07 -06:00
Remi Ferrand
298ee93ac2 Autoconf detection of Perl5 and Perl5 modules
Add m4 macros for checking for perl modules (JSON)

Fix #74, #29.

Signed-off-by: Nico Williams <nico@twosigma.com>
2016-11-10 11:55:56 -06:00
Nicolas Williams
7b6bf87685 Also look for editline/readline.h (fix #38) 2016-11-10 11:35:36 -06:00
Marcin Cieślak
afead1717c Check for -ldb-5 (Berkeley Database) 2016-11-08 15:48:40 -05:00
Marcin Cieślak
b9145b859d Enable threads on FreeBSD 10 and 11 2016-11-08 15:15:37 -05:00
Nicolas Williams
44dec510fd Update to SQLite3 3.14
Newer versions of SQLite3 have a number of new features that are
desirable to users who host other DBs in the same file as the HDB (for
example), as well as performance and bug fixes.

We should consider switching the SQLite3 backend for HDB to WITHOUT
ROWID tables for performance reasons.  We should also consider using
foreign keys instead of triggers.  Making any such changes requires care
to permit both, upgrade and downgrade.

We might want to use the SQLite3 session extension for a SQLite3-
specific, low-level replication (iprop).  Given conflict resultion code,
or a sufficiently normalized schema, the session extension would make it
easy to create a multi-master replication system, not unlike what one
would expect of an LDAP setup, though with none of the atomicity that
LDAP is supposed to provide (specifically, O_EXCL semantics for creates
and predicates for updates) unless we were to add a locking protocol.

Note that as of 3.14, the session extension is mutually exclusive of
WITHOUT ROWID tables.
2016-08-11 14:53:25 -05:00
Nicolas Williams
76c596ceb8 Complete support for --disable-afs-support 2016-08-10 19:51:11 -05:00
Viktor Dukhovni
1017a594ef Use OpenSSL include path as needed
For consistency make "-I" part of the macro value set by autoconf.

For now, don't attempt to handle OpenSSL rpath in cf/crypto.m4.
That's much easier by just setting LDFLAGS when running configure.
Otherwise too many Makefiles to edit and libtool and automake do
their best to undo the rpath.
2016-05-07 05:29:12 -04:00
Viktor Dukhovni
9393d53538 Actually capture libcrypto autoconf results
Also infer lib path not just include path, and set rpath if not from /usr.
Also need libcrypto for test_rand.
2016-05-07 02:36:34 -04:00
Nicolas Williams
95a996ceae Add --without-hcrypto-fallback option 2016-04-19 13:40:46 -05:00
Nicolas Williams
a9887a843f cf/crypto.m4: use AC_DEFINE() for hcrypto provider 2016-04-19 13:24:36 -05:00
Nicolas Williams
fca9bc45e2 Add --with-hcrypto-default-backend 2016-04-15 00:16:17 -05:00
Nicolas Williams
490337f4f9 Make OpenSSL an hcrypto backend proper
This adds a new backend for libhcrypto: the OpenSSL backend.

Now libhcrypto has these backends:

 - hcrypto itself (i.e., the algorithms coded in lib/hcrypto)
 - Common Crypto (OS X)
 - PKCS#11 (specifically for Solaris, but not Solaris-specific)
 - Windows CNG (Windows)
 - OpenSSL (generic)

The ./configure --with-openssl=... option no longer disables the use of
hcrypto.  Instead it enables the use of OpenSSL as a (and the default)
backend in libhcrypto.  The libhcrypto framework is now always used.

OpenSSL should no longer be used directly within Heimdal, except in the
OpenSSL hcrypto backend itself, and files where elliptic curve (EC)
crypto is needed.

Because libhcrypto's EC support is incomplete, we can only use OpenSSL
for EC.  Currently that means separating all EC-using code so that it
does not use hcrypto, thus the libhx509/hxtool and PKINIT EC code has
been moved out of the files it used to be in.
2016-04-15 00:16:17 -05:00
Nicolas Williams
bfa1d9ba09 Remove debug echo in cf/db.m4 2016-04-15 00:16:14 -05:00
Nicolas Williams
ab42f2882f Update valgrind suppressions 2016-02-26 00:55:33 -06:00
Nicolas Williams
16275048b8 Prefer LMDB to Berkeley DB 2016-02-26 00:55:32 -06:00
Nicolas Williams
a94dc50114 Add --with-db-type-preference config param 2016-02-26 00:55:32 -06:00
Nicolas Williams
c6f24e99f0 Revamp cf/db.m4; test LMDB 2016-02-26 00:55:32 -06:00
Nicolas Williams
96859fe687 maybe-valgrind.sh: don't --trace-children=yes 2016-02-26 00:55:31 -06:00
Nicolas Williams
0271b171e5 Add bswap64() 2016-02-16 20:49:33 -06:00