Commit Graph

59 Commits

Author SHA1 Message Date
Nicolas Williams 733140553a kdc: Fix leaks 2019-12-09 21:39:30 -06:00
Nicolas Williams d3ef0ee743 kdc: fix leaks 2019-10-03 13:09:18 -05:00
Viktor Dukhovni 7dc4481ed2 Avoid interposing pidfile(), use rk_pidfile() instead 2016-12-19 19:10:49 -05:00
Viktor Dukhovni 529a91d69a MacOS/X fixes 2016-06-09 01:13:14 -04:00
Nicolas Williams 4f87d85d65 Fix Windows build: no fork for kdc 2016-01-20 15:03:30 -06:00
Roland C. Dowdeswell 352a7e94a3 Make the KDC use a multi-process model.
We now fork(2) a number of separate KDC processes rather than a single
process.  By default, the number is selected by asking how many CPUs
the machine has.  We also have a master process which monitors all
of the children (which do the actual work) and it will restart kids
who die for any reason.  The children will die when the parent dies.

In the case of MacOS X, we also move the bonjour code into another
separate child as it creates threads and this is known to play
rather poorly with fork(2).  We could move this logic into a
designated child at some point in the future.

We slow down the spawning to one every 25ms to prevent instant crashes
and restarts from consuming all available system time.  This approach
may want to be revisited in the future.
2015-11-06 15:39:30 -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
Love Hornquist Astrand 1d84562886 add HDBGET: that only supports get, iteration doesnt really make sense for the HDB keytab except when dumping 2013-10-15 12:40:39 +02:00
Love Hornquist Astrand 039b1941ea do chdir("/") after chroot() 2012-11-27 21:58:06 -08:00
Love Hörnquist Åstrand 503266c4a3 use json to drive kdc-tester 2011-11-21 20:34:35 -08:00
Love Hornquist Astrand 0879b9831a remove trailing whitespace 2011-05-21 11:57:31 -07:00
Love Hornquist Astrand 2f9f212980 remove unused header file 2010-09-19 01:47:32 -07:00
Guido Günther 45a94f309b Use libcapng to drop all privileges
except for CAPNG_NET_BIND_SERVICE so we can bind to ports < 1024.

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
2010-02-18 19:08:45 -08:00
Asanka Herath b191b1e12f Make kdc build on windows
Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
2009-11-24 22:19:37 -08:00
Love Hornquist Astrand ca6df0fffc remove sandbox for now since it also require a sandbox profile, and that is not ready yet 2009-11-22 06:46:25 -08:00
Love Hornquist Astrand 04c3fc9882 add support for sandbox 2009-11-22 00:25:56 -08:00
Love Hornquist Astrand 5d152d70eb Indent 2009-07-16 22:56:59 -07:00
Love Hornquist Astrand 3634423f36 Allow specifying runing user and chroot() enviroment
Allow the admin to switch the user the kdc is running under and
specify the chroot() directory to run in.

Please note you need a very special setup to get this working.
2009-07-16 22:15:26 -07:00
Love Hörnquist Åstrand 27ee616b53 wrap detach
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24413 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-25 00:40:04 +00:00
Love Hörnquist Åstrand 6937d41a02 remove trailing whitespace
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23815 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-09-13 09:21:03 +00:00
Love Hörnquist Åstrand e172367898 switch to utf8 encoding of all files
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23814 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-09-13 08:53:55 +00:00
Love Hörnquist Åstrand 7a339bab7d revert 20447, it doesnt pass the regression tests, exports too much
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20454 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-04-19 20:21:51 +00:00
Love Hörnquist Åstrand 0c2182a3ba Call out to Heimdal's krb5.conf processing to configure many aspects
of KDC behaviour.  This should allow PKINIT to be turned on and
managed with reasonable sanity.

From Andrew Bartlet



git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20447 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-04-19 18:22:41 +00:00
Love Hörnquist Åstrand a10e7216d6 (sigterm): don't _exit, let loop() catch the signal instead.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18095 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-09-16 17:28:05 +00:00
Love Hörnquist Åstrand 99b5923af8 Register hdb keytab operations.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17921 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-08-24 10:40:40 +00:00
Love Hörnquist Åstrand de92125f9d adapt pkinit code to libkdc split
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15540 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-07-01 04:42:59 +00:00
Love Hörnquist Åstrand 7a3fc5e663 Don't pollute namespace, generate public headerfile
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15532 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-06-30 01:54:49 +00:00
Love Hörnquist Åstrand 7132a9b084 Merge in the libkdc/kdc configuration split from Andrew Bartlet <abartlet@samba.org>
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15529 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-06-30 01:03:35 +00:00
Love Hörnquist Åstrand 54f8d95f72 (main): catch KRB5_CONFIG_BADFORMAT from krb5_init_context
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15369 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-06-14 00:14:43 +00:00
Johan Danielsson 8b6244fb52 (sigterm) set exit_flag to signal causing exit; (main) trap SIGXCPU
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15301 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-05-30 11:19:23 +00:00
Love Hörnquist Åstrand af6eb0f463 Don't test HAVE_DAEMON since roken supplies it.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15213 ec53bebd-3082-4978-b11e-865c3cabbd6b
2005-05-23 17:39:35 +00:00
Love Hörnquist Åstrand 9fa56507e9 (main): catch sigpipe, we don't bother select()ing for errors
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14399 ec53bebd-3082-4978-b11e-865c3cabbd6b
2004-12-13 22:24:26 +00:00
Johan Danielsson b94f52a528 invert detach flag meaning to lessen the confusion
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11298 ec53bebd-3082-4978-b11e-865c3cabbd6b
2002-08-28 21:27:16 +00:00
Johan Danielsson 71d5ee0ce2 maybe detach from console?
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11296 ec53bebd-3082-4978-b11e-865c3cabbd6b
2002-08-28 21:12:03 +00:00
Assar Westerlund 67422a6b02 s/[gs]et_progname/[gs]etprogname/
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9704 ec53bebd-3082-4978-b11e-865c3cabbd6b
2001-02-20 01:44:56 +00:00
Assar Westerlund 633782864b (main): handle krb5_init_context failure consistently
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9443 ec53bebd-3082-4978-b11e-865c3cabbd6b
2000-12-31 08:05:03 +00:00
Johan Danielsson bfb5ec5f4e write a pid file
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8895 ec53bebd-3082-4978-b11e-865c3cabbd6b
2000-08-04 11:23:03 +00:00
Assar Westerlund 1f7251fa82 (main): also call sigterm on SIGTERM
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8210 ec53bebd-3082-4978-b11e-865c3cabbd6b
2000-05-12 09:58:08 +00:00
Johan Danielsson c5b916ca6f remove advertising clause
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@7464 ec53bebd-3082-4978-b11e-865c3cabbd6b
1999-12-02 17:05:13 +00:00
Johan Danielsson 69147acdb1 indent
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@7345 ec53bebd-3082-4978-b11e-865c3cabbd6b
1999-11-11 15:19:05 +00:00
Johan Danielsson 6d36ebed76 make this work with multi-db
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@7343 ec53bebd-3082-4978-b11e-865c3cabbd6b
1999-11-11 15:17:24 +00:00
Johan Danielsson 53e2cee457 update for multi-database code
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@7335 ec53bebd-3082-4978-b11e-865c3cabbd6b
1999-11-09 18:04:03 +00:00
Johan Danielsson fdce59c712 hdb_set_master_key -> hdb_set_master_keyfile
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5392 ec53bebd-3082-4978-b11e-865c3cabbd6b
1999-02-20 15:07:52 +00:00
Assar Westerlund ae31038985 adapt to new hdb interface
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3628 ec53bebd-3082-4978-b11e-865c3cabbd6b
1997-10-16 04:14:00 +00:00
Assar Westerlund 01bf42dfe8 (main): use sigaction without SA_RESTART to break out of select when a
signal arrives


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3418 ec53bebd-3082-4978-b11e-865c3cabbd6b
1997-09-07 23:27:12 +00:00
Johan Danielsson 7aae890bf5 use new master key functions
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3369 ec53bebd-3082-4978-b11e-865c3cabbd6b
1997-09-03 20:15:08 +00:00
Johan Danielsson 5dfa70dc05 remove usage
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3344 ec53bebd-3082-4978-b11e-865c3cabbd6b
1997-09-03 13:46:37 +00:00
Johan Danielsson 8e71be9037 init context before reading config file
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3136 ec53bebd-3082-4978-b11e-865c3cabbd6b
1997-08-24 12:34:03 +00:00
Johan Danielsson a0464f4b20 Make context global.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2701 ec53bebd-3082-4978-b11e-865c3cabbd6b
1997-08-04 18:20:36 +00:00
Assar Westerlund 4586e9bb54 change order of stuff in `main'
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2692 ec53bebd-3082-4978-b11e-865c3cabbd6b
1997-08-01 16:25:52 +00:00