Commit Graph

218 Commits

Author SHA1 Message Date
Luke Howard
666ee41759 roken: fix Solaris build
libroken needs to be linked against libsocket for socket()
2023-01-07 12:08:30 +11:00
Luke Howard
37f7c5476d roken: fix Solaris build
libroken needs to be linked against libnsl for inet_ntoa()
2023-01-07 11:40:44 +11:00
Nicolas Williams
5ce580f5ad roken: Fix typo in lib/roken/Makefile.am 2022-10-06 16:42:33 -05:00
Nicolas Williams
5682be7704 roken: Test time add/sub overflow prot. 2022-02-15 20:16:29 -06:00
Luke Howard
b3bb3ac49d roken: add rk_clzll() helper function 2021-12-22 10:36:26 +11:00
Luke Howard
ab8d4f508e roken: fix dependency typo - s/vin_h/vis_h/
Should close #777, #794.
2021-08-08 19:54:25 +10:00
Luke Howard
f67dd0f903 roken: move Heimdal vis.h extensions to separate header
vis.h is not built on platforms (such as macOS) that already have
that header, which resulted in prototypes for Heimdal-specific
vis.h extensions being absent.

Move those prototypes to a separate header, vis-extras.h, which
must be explicitly included in order to use the Heimdal extensions.
2021-05-17 10:05:58 +10:00
Nicolas Williams
034413892e roken: Fix Makefile race 2021-04-26 14:40:00 -05:00
Nicolas Williams
e3359f6bf5 roken: Install useful rk utils 2021-04-23 22:15:51 -05:00
Nicolas Williams
5cefb340ac roken: Make strpool more efficient
Grow the buffer more than absolutely needed, but not too fast.
2021-01-14 18:24:43 -06:00
Nicolas Williams
a7359d6898 roken: Add mkdtemp() 2020-03-02 17:48:04 -06:00
Nicolas Williams
77619f245d roken: Add base32 2020-03-02 17:48:04 -06:00
Nicolas Williams
f9a0e8f076 roken: add rkbase64 noinst program
This will be useful in tests.
2019-12-04 13:40:28 -06:00
Nicolas Williams
56c5f5909e roken: Add rkvis program for test scripts
This will help programs that need to URL-escape strings.

Also, this changes `do_hvis()` to not fallback on `do_svis()` for chars in
`extra` -- that `do_hvis()` was doing that seems like an oversight.  Christos
Zoulas, of NetBSD, agrees.  `do_hvis()` still falls back on `do_svis()` for
characters not in the RFC 1808 / 3986 to-be-escaped set *and* characters not in
the `extra` set -- that much seems to have been the intent.
2019-11-19 22:33:20 -06: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
99188ea797 Bump roken SONAME version (fix #279) 2019-01-04 12:49:58 -06:00
Luke Howard
6ce1aa84c5 Remove rk_getpw*_r() functions 2018-12-25 22:11:19 -06:00
Nicolas Williams
3f1451a4c3 Remove get_default_username() 2018-12-25 22:11:19 -06:00
Nicolas Williams
95eb83c424 roken: Add roken_get_username() and friends
We add roken_get_{shell, username, appdatadir, homedir}() functions.  These use
a combination of secure_getenv(), getpwuid_r(), getlogin_r(), or various WIN32
functions to get this information.

Use roken_get_appdatadir() instead of roken_get_homedir() when looking for
dotfiles.
2018-12-25 22:11:19 -06:00
Nicolas Williams
a152c4c808 Remove k_getpwnam() and k_getpwuid() 2018-12-25 22:11:19 -06:00
Nicolas Williams
784637709b Remove unix_verify_user() 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
Nicolas Williams
123f702001 lib/roken: add fseeko()/ftello() 2017-05-26 23:24:30 -04: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
f867a12aa9 Test rk_get*auxval() 2017-03-31 18:56:04 -05:00
Nicolas Williams
63f22421c8 Fix lib/roken can't find pidfile() (#230) 2016-12-16 12:05:51 -06:00
Nicolas Williams
3e65dfbc32 Fix make dist missing files (#228) 2016-12-15 12:15:56 -06:00
Viktor Dukhovni
a1c505309c More extensive SRV order tests
Based largely on initial version by Nico.
2016-12-12 19:42:11 -05:00
Nicolas Williams
b48bed5f42 Daemons detach atomically to avoid having to wait
Tests that start daemons have to "wait" for them to start.

This commit makes Heimdal daemons prep to detach (when requested) by
forking early, then having the child signal readiness to the parent when
the child really is ready.  The parent exits only which the child is
ready.  This means that tests will no longer need to wait for daemons.

However, tests will still need a pidfile or such so they can stop the
daemons.

Note that the --detach options should not be used on OS X from launchd,
only from tests.
2015-03-24 11:49:59 -05:00
Jeffrey Altman
5b223c2caa roken: do not require use of rk_mkdir on all platforms
Although rk_mkdir can be provided on all platforms there is no
reason to require that it be used by unconditionally mapping

  mkdir -> rk_mkdir

Change-Id: Ic149500037abf446434332bf6ba67dfb3906cd72
2013-07-27 19:13:17 -04:00
Jeffrey Altman
8fa446d75c roken: Add rk_mkdir()
The Windows version of mkdir() does not share the same signature
as the POSIX version.  Add rk_mkdir() with an POSIX compliant signature
to libroken.  The current implementation ignores the 'mode' parameter
on Windows but a future implementation could provide the required
functionality with native Win32 APIs.

Change-Id: I084d42e0f27932e9b8131d310dbf34849f5fe4b6
2013-06-22 21:17:26 -04:00
Nicolas Williams
6dd66df594 Make master build on Windows
Add strtoll()/strtoull() to lib/roken
    Add stdint.h to lib/roken (Windows only)
    Add logic to detect whether to use lib/roken's stdint.h based on
        Visual Studio version
    Add include of stdint.h in generated ASN.1 code
    Export missing symbols for 64-bit integers in lib/asn1
    Export missing symbols for FAST
    Add missing sources to kdc/NTMakefile
    Fix issue in kuserok
    Fix bsearch issues
2012-01-17 12:10:14 -06:00
Love Hornquist Astrand
0f9f9d3ab6 add strtoll.c 2012-01-10 22:54:16 +01:00
Love Hornquist Astrand
a11ca3cb1b add rk_getpwnam_r 2011-12-12 21:55:06 -08:00
Love Hörnquist Åstrand
c26da364e8 drop dependency since we need the autoconf to overwrite this 2011-07-24 18:06:33 -07:00
Linus Nordberg
2e35198908 Add version-script.map to _DEPENDENCIES.
Added to 11 out of 14 directories with map files.  Not lib/ntlm,
lib/hcrypto and kdc which have the map file as an explicit dependency
to _OBBJECTS.

Signed-off-by: Love Hörnquist Åstrand <lha@h5l.org>
2011-07-24 14:07:59 -07:00
Love Hörnquist Åstrand
7aaba443bc add NTMakefile and windows directories 2011-07-17 12:16:59 -07:00
Love Hornquist Astrand
01f0a1f509 move tsearch.c to autodetection for libroken.la 2011-05-17 21:47:02 -07:00
Love Hornquist Astrand
36f9851a4e remove tsearch manpage 2011-04-09 18:30:58 -07:00
Derrick Brashear
2a32bf67f0 Add tsearch and friends, and a test program
tsearch is missing from windows. use the netbsd version as it's
license-compatible.
2011-04-08 15:15:36 +01:00
Love Hornquist Astrand
987faedb80 add random abstraction 2010-11-29 09:31:07 -08:00
Eray Aslan
a1c14b2319 Add --with-berkeley-db-include option
Adds --with-berkeley-db-include=dir option to configure to use berkeley
db headers in dir.  Default is to let configure check.  Also adds
support for checking for and using db5/db.h

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
2010-09-05 18:41:30 -07:00
Love Hornquist Astrand
5312f4de31 always include strerror_r.c 2009-12-13 12:02:46 -08:00
Love Hornquist Astrand
1e9ec73bbc [HEIMDAL-646] aix
AIX qsort() is unstable and might change the order of the elements
if they are equal, libwind require them to be in the same order as they were
on the input, pull in FreeBSD qsort and use that instead of AIX version.
2009-10-11 15:08:58 -07:00
Love Hornquist Astrand
a64366ba7f fix depenecies for make-roken 2009-09-19 17:25:54 -07:00
Love Hornquist Astrand
7005f1f3f9 process roken.h.in with a perlscript when cross compiling 2009-09-19 16:43:35 -07:00
Love Hornquist Astrand
ba4909eba5 Link libroken with libcrypt since roken uses crypt() in unix_verify_password
Found by Guillaume Rousse
2009-08-26 15:20:51 -07:00
Love Hornquist Astrand
aab1f34689 add doxygen.c 2009-08-18 13:05:36 +02:00