Fixing the "kdc" startup file.

From: Dan Mahoney (Gushi) <freebsd_at_gushi.org>
Date: Wed, 05 Apr 2023 13:46:19 UTC
Hey there all,

I'm hitting the issue where we use MIT krb5kdc at work, but the port 
doesn't provide its own startup file

Previously, I'd been told (I think by the maintainer) to just set 
kdc_program and the like in rc.conf, but that really doesn't solve things: 
the one in base is sorely lacking (find_proc doesn't work with it, it 
doesn't restart cleanly, it doesn't give you a way to have krb5kdc specify 
a pid file).

Setting things like:

kdc_pidfile=/var/run/krb5kdc.pid
kdc_args="-P /var/run/krb5kdc.pid"

in rc.conf do nothing because the existing rc.d script doesn't provide a 
way to override them.

For starters: Heimdal has no pidfile support, bit it could get one if 
launched under daemon(1) -- heimdal doesn't even detach by default -- the 
rc.d file sets --detach.  MIT only creates one if you specify -P, and 
there's no corresponding kdc.conf knob.

While we're at it,

====

There's this very old bug that references this, last touched in 2020, 
closed unsuccessful.  I want to fix it.

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197337

====

I've written a number of startup files for our own services at work (we 
use puppet, so it relies on the built-in BSD framework to start, stop, and 
refresh services cleanly).

If I supplied startup files for mitkdc, mitkadmin, mitkpropd, would they 
be useful?

I'll note, this is not an "urgent" thing.  I'm planning to be at BSDCan. 
If others want to meet me there and hack on this, I'm a chunky guy with 
blue hair and am hard to miss.

-Dan

-- 

--------Dan Mahoney--------
Techie,  Sysadmin,  WebGeek
Gushi on efnet/undernet IRC
FB:  fb.com/DanielMahoneyIV
LI:   linkedin.com/in/gushi
Site:  http://www.gushi.org
---------------------------