]> granicus.if.org Git - sudo/log
sudo
24 years agoMove set_perms() to its own file and use POSIX saved uid or setreuid()
Todd C. Miller [Fri, 3 Nov 2000 05:37:44 +0000 (05:37 +0000)]
Move set_perms() to its own file and use POSIX saved uid or setreuid()
if available.

Added stay_setuid option for systems that have libraries that perform
extra paranoia checks in system libraries for setuid programs (ie:
anything with issetugid(2)).

24 years agostrip more bits from the environment and add a facility for stripping
Todd C. Miller [Fri, 3 Nov 2000 01:28:54 +0000 (01:28 +0000)]
strip more bits from the environment and add a facility for stripping
things only if they contain '/' or '%' to address printf format string
vulnerabilities in other programs.

24 years agoregen
Todd C. Miller [Thu, 2 Nov 2000 17:55:13 +0000 (17:55 +0000)]
regen

24 years agoFor NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence
Todd C. Miller [Thu, 2 Nov 2000 17:55:06 +0000 (17:55 +0000)]
For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence
of strcasecmp().

24 years agoregen
Todd C. Miller [Thu, 2 Nov 2000 17:46:39 +0000 (17:46 +0000)]
regen

24 years agoCheck for strcasecmp(3) in -lc89 for NCR Unix
Todd C. Miller [Thu, 2 Nov 2000 17:46:29 +0000 (17:46 +0000)]
Check for strcasecmp(3) in -lc89 for NCR Unix

24 years agoDefine HAVE_INNETGR #ifdef HAVE__INNETGR
Todd C. Miller [Wed, 1 Nov 2000 15:22:08 +0000 (15:22 +0000)]
Define HAVE_INNETGR #ifdef HAVE__INNETGR

24 years agoregen
Todd C. Miller [Wed, 1 Nov 2000 15:17:36 +0000 (15:17 +0000)]
regen

24 years agoAdd check for _innetgr(3) since NCR systems have that instead of
Todd C. Miller [Wed, 1 Nov 2000 15:17:25 +0000 (15:17 +0000)]
Add check for _innetgr(3) since NCR systems have that instead of
innetgr(3).

24 years agocheck return value of creadcfg()
Todd C. Miller [Tue, 31 Oct 2000 19:16:52 +0000 (19:16 +0000)]
check return value of creadcfg()
call sd_close() after sd_auth()
store username in sd->username so we don't rely on the USER env variable

24 years agodocument --with-bsdauth
Todd C. Miller [Mon, 30 Oct 2000 04:00:29 +0000 (04:00 +0000)]
document --with-bsdauth

24 years agoregen
Todd C. Miller [Mon, 30 Oct 2000 03:57:04 +0000 (03:57 +0000)]
regen

24 years ago--with-bsdauth assumes --with-logincap
Todd C. Miller [Mon, 30 Oct 2000 03:56:54 +0000 (03:56 +0000)]
--with-bsdauth assumes --with-logincap

24 years agoWhen prompting for a response to a challenge, if the user just hits return
Todd C. Miller [Mon, 30 Oct 2000 03:45:11 +0000 (03:45 +0000)]
When prompting for a response to a challenge, if the user just hits return
then reprompt with echo turned on.

24 years agoRemove debugging code that should not have been committed, oops.
Todd C. Miller [Sun, 29 Oct 2000 22:31:42 +0000 (22:31 +0000)]
Remove debugging code that should not have been committed, oops.

24 years agoUse lower-level routines and get the password ourselves.
Todd C. Miller [Sun, 29 Oct 2000 22:31:13 +0000 (22:31 +0000)]
Use lower-level routines and get the password ourselves.
Checks for a challenge and if there is one echo is not turned off.

24 years agominor housekeeping, no real code changes
Todd C. Miller [Sun, 29 Oct 2000 22:30:22 +0000 (22:30 +0000)]
minor housekeeping, no real code changes

24 years agoFix a coredump in the logging functions if gethostname(2) fails
Todd C. Miller [Fri, 27 Oct 2000 22:41:48 +0000 (22:41 +0000)]
Fix a coredump in the logging functions if gethostname(2) fails
by deferring the call to log_error() until things are better setup.

Fix return value of set_loginclass() in non-BSD-auth case.

Hard-code 'sudo' in the usage message so we can fit more options on a line

24 years agoFix errant ';' (typo) that broken MSG_ONLY
Todd C. Miller [Fri, 27 Oct 2000 22:35:42 +0000 (22:35 +0000)]
Fix errant ';' (typo) that broken MSG_ONLY

24 years agoregen
Todd C. Miller [Thu, 26 Oct 2000 17:03:55 +0000 (17:03 +0000)]
regen

24 years agoDocument -a flag
Todd C. Miller [Thu, 26 Oct 2000 17:01:50 +0000 (17:01 +0000)]
Document -a flag

24 years agoAdd support for BSD authentication.
Todd C. Miller [Thu, 26 Oct 2000 16:42:40 +0000 (16:42 +0000)]
Add support for BSD authentication.

24 years agoFix typo; from sato@complex.eng.hokudai.ac.jp
Todd C. Miller [Thu, 19 Oct 2000 14:09:07 +0000 (14:09 +0000)]
Fix typo; from sato@complex.eng.hokudai.ac.jp

24 years agoMention negating umask
Todd C. Miller [Thu, 12 Oct 2000 13:49:45 +0000 (13:49 +0000)]
Mention negating umask

24 years agoAllow user to specify umask of 0777 (same as !umask)
Todd C. Miller [Thu, 12 Oct 2000 05:30:30 +0000 (05:30 +0000)]
Allow user to specify umask of 0777 (same as !umask)

24 years agoFix a typo and give a URL for the sudo history.
Todd C. Miller [Mon, 9 Oct 2000 01:46:55 +0000 (01:46 +0000)]
Fix a typo and give a URL for the sudo history.

24 years agofix typos; pepper@reppep.com
Todd C. Miller [Sun, 8 Oct 2000 16:25:58 +0000 (16:25 +0000)]
fix typos; pepper@reppep.com

24 years agosudo_setenv() now exits on memory alloc failure instead of returning -1.
Todd C. Miller [Thu, 14 Sep 2000 20:48:58 +0000 (20:48 +0000)]
sudo_setenv() now exits on memory alloc failure instead of returning -1.

24 years agoStrip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
Todd C. Miller [Thu, 7 Sep 2000 21:41:16 +0000 (21:41 +0000)]
Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
and possibly others.

24 years agoDon't use vsyslog(3) since HP-UX (and others?) lack it. This means
Todd C. Miller [Thu, 7 Sep 2000 14:43:26 +0000 (14:43 +0000)]
Don't use vsyslog(3) since HP-UX (and others?) lack it.  This means
that "%m" won't be expanded but we don't use that anyway since the
logging routines may splat to stderr as well.

24 years agoAdd always_set_home variable
Todd C. Miller [Thu, 7 Sep 2000 01:35:39 +0000 (01:35 +0000)]
Add always_set_home variable

24 years agoHave to hard code default values in help since the defaults
Todd C. Miller [Thu, 7 Sep 2000 01:24:45 +0000 (01:24 +0000)]
Have to hard code default values in help since the defaults
are set _after_ the help stuff.

24 years agoAllow special characters (including '#') to be embedded in pathnames
Todd C. Miller [Thu, 31 Aug 2000 17:08:35 +0000 (17:08 +0000)]
Allow special characters (including '#') to be embedded in pathnames
if quoted by a '\\'.  The quoted chars will be dealt with by fnmatch().
Unfortunately, 'sudo -l' still prints the '\\'.

24 years agoBetter path searching for programs we need.
Todd C. Miller [Sun, 13 Aug 2000 21:10:49 +0000 (21:10 +0000)]
Better path searching for programs we need.

24 years agoAdd section on "C compiler cannot create executables" errors.
Todd C. Miller [Sun, 13 Aug 2000 21:10:28 +0000 (21:10 +0000)]
Add section on "C compiler cannot create executables" errors.

24 years agoCrank version
Todd C. Miller [Sun, 13 Aug 2000 21:10:00 +0000 (21:10 +0000)]
Crank version

24 years agoSubstitute values from configure into man pages.
Todd C. Miller [Sun, 13 Aug 2000 21:09:22 +0000 (21:09 +0000)]
Substitute values from configure into man pages.

24 years agoThe listpw and verifypw sudoers options would not take effect because
Todd C. Miller [Sat, 12 Aug 2000 20:48:29 +0000 (20:48 +0000)]
The listpw and verifypw sudoers options would not take effect because
the value of the default was checked *before* sudoers was parsed.
Instead of passing in the value of PWCHECK_* to sudoers_lookup(),
pass in the arg for def_ival() so the check can be deferred until
after sudoers is parsed.

24 years agoWhen writing prompt, no need to write the NUL as well; hag@linnaean.org
Todd C. Miller [Fri, 11 Aug 2000 19:41:28 +0000 (19:41 +0000)]
When writing prompt, no need to write the NUL as well; hag@linnaean.org

24 years agoWhen looking for chown, check in /sbin too
Todd C. Miller [Fri, 9 Jun 2000 16:25:26 +0000 (16:25 +0000)]
When looking for chown, check in /sbin too

24 years agoRemove extraneous call to init_defaults() and set runas_user to NULL
Todd C. Miller [Mon, 5 Jun 2000 02:57:10 +0000 (02:57 +0000)]
Remove extraneous call to init_defaults() and set runas_user to NULL
betweem parses so init_defaults will reset it each time, thus avoiding
a reference to free()d data.

24 years agoAdd support for using getifaddrs() to get the list of ip addr / netmask
Todd C. Miller [Sun, 4 Jun 2000 23:57:22 +0000 (23:57 +0000)]
Add support for using getifaddrs() to get the list of ip addr / netmask
pairs.  Currently IPv4-only.

24 years agoAdd a missing check for UserEditor == NULL
Todd C. Miller [Sun, 4 Jun 2000 23:51:05 +0000 (23:51 +0000)]
Add a missing check for UserEditor == NULL
Add missing '+' before line number when invoking editor to fix a syntax error

24 years agoCall clean_env very early in main() for paranoia's sake. Idea from
Todd C. Miller [Fri, 12 May 2000 20:55:35 +0000 (20:55 +0000)]
Call clean_env very early in main() for paranoia's sake.  Idea from
Marc Esipovich.

24 years agoUpdate proto for evasprintf and easprintf
Todd C. Miller [Wed, 10 May 2000 05:11:36 +0000 (05:11 +0000)]
Update proto for evasprintf and easprintf

24 years agoMake easprintf() and evasprintf() return an int.
Todd C. Miller [Wed, 10 May 2000 05:10:33 +0000 (05:10 +0000)]
Make easprintf() and evasprintf() return an int.

24 years agoIf the targetpw flag is set, use target username as part of the timestamp path.
Todd C. Miller [Wed, 10 May 2000 04:56:28 +0000 (04:56 +0000)]
If the targetpw flag is set, use target username as part of the timestamp path.
If tty tickets are in effect cat the tty and the target username with a
':' as the separator.

24 years agoBackout part of last change; setting PAM_USER to the invoking user
Todd C. Miller [Tue, 9 May 2000 16:05:41 +0000 (16:05 +0000)]
Backout part of last change; setting PAM_USER to the invoking user
breaks things like targetpw.

24 years agoset tty and username via pam_set_item
Todd C. Miller [Tue, 9 May 2000 15:52:31 +0000 (15:52 +0000)]
set tty and username via pam_set_item

24 years agoFix root, runas, and target authentication for non-passwd file auth
Todd C. Miller [Tue, 9 May 2000 15:42:38 +0000 (15:42 +0000)]
Fix root, runas, and target authentication for non-passwd file auth
methods.

24 years agoUse B<-Z> not C<-Z> for command line flags in all places. This is more
Todd C. Miller [Sat, 22 Apr 2000 18:15:15 +0000 (18:15 +0000)]
Use B<-Z> not C<-Z> for command line flags in all places.  This is more
consistent and works around a bug in Pod::Man.

24 years agoFix an occurence of 'semicolon' that should be 'colon'
Todd C. Miller [Sat, 22 Apr 2000 17:59:26 +0000 (17:59 +0000)]
Fix an occurence of 'semicolon' that should be 'colon'

24 years agoFix --with-badpri help line
Todd C. Miller [Wed, 19 Apr 2000 19:30:28 +0000 (19:30 +0000)]
Fix --with-badpri help line

24 years agoBracket calls to syslog with an openlog() and closelog() since some
Todd C. Miller [Mon, 17 Apr 2000 18:01:14 +0000 (18:01 +0000)]
Bracket calls to syslog with an openlog() and closelog() since some
authentication methods (like PAM) may do their own logging via
syslog.  Since we don't use syslog much (usually just once per
session) this doesn't really incur a performance penalty.
It also Fixes a SEGV with pam_kafs.

24 years agoFix -H flag. runas_homedir is only valid after set_perms(PERM_RUNAS, mode)
Todd C. Miller [Sat, 15 Apr 2000 20:32:59 +0000 (20:32 +0000)]
Fix -H flag.  runas_homedir is only valid after set_perms(PERM_RUNAS, mode)

24 years agoClarify the fact that insults are not enabled just by including
Todd C. Miller [Wed, 12 Apr 2000 22:56:44 +0000 (22:56 +0000)]
Clarify the fact that insults are not enabled just by including
them in the binary.

24 years agoRegenerated with perl 5.6.0 pod2man
Todd C. Miller [Fri, 7 Apr 2000 14:39:23 +0000 (14:39 +0000)]
Regenerated with perl 5.6.0 pod2man

24 years agoGive date string to pod2man since its default is ugly and it ain't got
Todd C. Miller [Fri, 7 Apr 2000 14:38:07 +0000 (14:38 +0000)]
Give date string to pod2man since its default is ugly and it ain't got
no alibi.

24 years agoDo section substitution on the output of pod2man and remove hack needed
Todd C. Miller [Fri, 7 Apr 2000 14:27:31 +0000 (14:27 +0000)]
Do section substitution on the output of pod2man and remove hack needed
for old pod2man.

24 years agoPut back real man sections, we will do the substitution later.
Todd C. Miller [Fri, 7 Apr 2000 14:26:23 +0000 (14:26 +0000)]
Put back real man sections, we will do the substitution later.

24 years agoDon't bother checking for the path to vi if user specified --with-editor
Todd C. Miller [Sun, 2 Apr 2000 15:44:06 +0000 (15:44 +0000)]
Don't bother checking for the path to vi if user specified --with-editor

24 years agoVisudo now does its own fork/exec instead of calling system(3).
Todd C. Miller [Sat, 1 Apr 2000 22:25:41 +0000 (22:25 +0000)]
Visudo now does its own fork/exec instead of calling system(3).

24 years agoVisudo now checks for the existence of an editor and gives a sensible
Todd C. Miller [Sat, 1 Apr 2000 21:23:28 +0000 (21:23 +0000)]
Visudo now checks for the existence of an editor and gives a sensible
error if it does not exist.

The path to the editor for visudo is now a colon-separated list of
allowable editors.  If the user has $EDITOR set and it matches
one of the allowed editors that editor will be used.  If not,
the first editor in the list that actually exists is used.

24 years agoClear up confusion wrt sudo's return value.
Todd C. Miller [Sat, 1 Apr 2000 21:22:11 +0000 (21:22 +0000)]
Clear up confusion wrt sudo's return value.

24 years agoStrip sudo and visudo for bindist target
Todd C. Miller [Mon, 27 Mar 2000 17:08:46 +0000 (17:08 +0000)]
Strip sudo and visudo for bindist target

24 years agoUse @mansectsu@ and @mansectform@ in the man page bodies as well. SUDO_1_6_3
Todd C. Miller [Mon, 27 Mar 2000 03:26:24 +0000 (03:26 +0000)]
Use @mansectsu@ and @mansectform@ in the man page bodies as well.

24 years agoTypo: @sysconf@ -> @sysconfdir@
Todd C. Miller [Mon, 27 Mar 2000 03:07:35 +0000 (03:07 +0000)]
Typo: @sysconf@ -> @sysconfdir@

24 years ago'make dist' should not cause any files to be modified so remove
Todd C. Miller [Mon, 27 Mar 2000 02:57:52 +0000 (02:57 +0000)]
'make dist' should not cause any files to be modified so remove
its dependencies.

24 years agoWhoops, forgot to add release marker
Todd C. Miller [Mon, 27 Mar 2000 02:43:45 +0000 (02:43 +0000)]
Whoops, forgot to add release marker

24 years agoFinal change for 1.6.3 (or so I hope)
Todd C. Miller [Sun, 26 Mar 2000 16:57:31 +0000 (16:57 +0000)]
Final change for 1.6.3 (or so I hope)

24 years agoUse SYSV man sections since BSD systems will have nroff...
Todd C. Miller [Sun, 26 Mar 2000 16:57:04 +0000 (16:57 +0000)]
Use SYSV man sections since BSD systems will have nroff...

24 years agoWhen checking to see if the host/user matches in a defaults spec, check
Todd C. Miller [Fri, 24 Mar 2000 23:58:59 +0000 (23:58 +0000)]
When checking to see if the host/user matches in a defaults spec, check
against TRUE, not just non-zero since it might be -1.

24 years agoOSF/1 puts file formats in section 4, not 5.
Todd C. Miller [Fri, 24 Mar 2000 20:14:05 +0000 (20:14 +0000)]
OSF/1 puts file formats in section 4, not 5.

24 years agoMake login class support work on BSD/OS
Todd C. Miller [Fri, 24 Mar 2000 20:13:12 +0000 (20:13 +0000)]
Make login class support work on BSD/OS

24 years agoUpdate for 1.6.3
Todd C. Miller [Fri, 24 Mar 2000 01:24:48 +0000 (01:24 +0000)]
Update for 1.6.3

24 years agoIf there is no inet_addr but there *is* an __inet_addr that's ok since
Todd C. Miller [Fri, 24 Mar 2000 01:23:05 +0000 (01:23 +0000)]
If there is no inet_addr but there *is* an __inet_addr that's ok since
inet_addr is probably just a macro then.  The better thing to do would
be to look for the macro, but this is fine for now.

24 years agoDon't use shlicc for BSD/OS 4.x
Todd C. Miller [Fri, 24 Mar 2000 00:50:30 +0000 (00:50 +0000)]
Don't use shlicc for BSD/OS 4.x

24 years ago*.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
Todd C. Miller [Fri, 24 Mar 2000 00:40:55 +0000 (00:40 +0000)]
*.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
configure variable so we can deal with this.
Also, only remove *.man for 'distclean' not 'clean'.

24 years agoset_loginclass() should be static like the proto says
Todd C. Miller [Fri, 24 Mar 2000 00:16:41 +0000 (00:16 +0000)]
set_loginclass() should be static like the proto says

24 years agoAdd #ifdef __STDC__ around the rangematch function header to avoid
Todd C. Miller [Thu, 23 Mar 2000 19:14:03 +0000 (19:14 +0000)]
Add #ifdef __STDC__ around the rangematch function header to avoid
promotion of test to int, thus violating the prototype.  Gcc handles
this gracefully but more std ANSI compilers will complain.

24 years agoPull in newer fnmatch(3) that supports FNM_CASEFOLD
Todd C. Miller [Thu, 23 Mar 2000 15:11:56 +0000 (15:11 +0000)]
Pull in newer fnmatch(3) that supports FNM_CASEFOLD

24 years agoPull in newer fnmatch(3) that supports FNM_CASEFOLD
Todd C. Miller [Thu, 23 Mar 2000 15:11:50 +0000 (15:11 +0000)]
Pull in newer fnmatch(3) that supports FNM_CASEFOLD
Check for FNM_CASEFOLD in configure

24 years agoupdate for 1.6.3
Todd C. Miller [Thu, 23 Mar 2000 04:41:29 +0000 (04:41 +0000)]
update for 1.6.3

24 years agoFully qualified hosts w/ wildcards were not matching the FQHOST token type.
Todd C. Miller [Thu, 23 Mar 2000 04:38:22 +0000 (04:38 +0000)]
Fully qualified hosts w/ wildcards were not matching the FQHOST token type.
There's really no need for a separate token for fully-qualified vs.
unqualified anymore so FQHOST is now history and hostname_matches
now decides which hostname (short or long) to check based on whether
or not the pattern contains a '.'.

24 years agoFully qualified hosts w/ wildcards were not matching the FQHOST token type.
Todd C. Miller [Thu, 23 Mar 2000 04:38:20 +0000 (04:38 +0000)]
Fully qualified hosts w/ wildcards were not matching the FQHOST token type.
There's really no need for a separate token for fully-qualified vs.
unqualified anymore so FQHOST is now history and hostname_matches
now decides which hostname (short or long) to check based on whether
or not the pattern contains a '.'.

24 years agoFully qualified hosts w/ wildcards were not matching the FQHOST token type.
Todd C. Miller [Thu, 23 Mar 2000 04:38:20 +0000 (04:38 +0000)]
Fully qualified hosts w/ wildcards were not matching the FQHOST token type.
There's really no need for a separate token for fully-qualified vs.
unqualified anymore so FQHOST is now history and hostname_matches
now decides which hostname (short or long) to check based on whether
or not the pattern contains a '.'.

24 years agoAdd support for wildcards in the hostname.
Todd C. Miller [Thu, 23 Mar 2000 04:09:53 +0000 (04:09 +0000)]
Add support for wildcards in the hostname.

24 years agoAdd targets for *.man.in, using config.status to generate *.man from *.man.in
Todd C. Miller [Thu, 23 Mar 2000 03:50:54 +0000 (03:50 +0000)]
Add targets for *.man.in, using config.status to generate *.man from *.man.in

24 years agoDocument set_logname option and enbolden refs to sudo and visudo.
Todd C. Miller [Thu, 23 Mar 2000 03:20:57 +0000 (03:20 +0000)]
Document set_logname option and enbolden refs to sudo and visudo.

24 years agoAdd FreeBSD login.conf support (untested on BSD/OS) based on a patch from
Todd C. Miller [Thu, 23 Mar 2000 00:35:59 +0000 (00:35 +0000)]
Add FreeBSD login.conf support (untested on BSD/OS) based on a patch from
Michael D. Marchionna.
configure now does substitution on the man pages, allowing us to
fix up the paths and set the section correctly.  Based on an idea
from Michael D. Marchionna.

24 years agoBetter fix for handling HP-UX aging info.
Todd C. Miller [Thu, 23 Mar 2000 00:27:41 +0000 (00:27 +0000)]
Better fix for handling HP-UX aging info.

24 years agoAdd support for set_logname run-time default
Todd C. Miller [Thu, 23 Mar 2000 00:20:56 +0000 (00:20 +0000)]
Add support for set_logname run-time default

24 years agoconfigure does substitution on these to produce *.man
Todd C. Miller [Thu, 23 Mar 2000 00:17:30 +0000 (00:17 +0000)]
configure does substitution on these to produce *.man

24 years agoThese files now get generated from *.man.in at configure time.
Todd C. Miller [Thu, 23 Mar 2000 00:16:46 +0000 (00:16 +0000)]
These files now get generated from *.man.in at configure time.

24 years agoAdd set_logname option so users can turn off setting of LOGNAME/USER
Todd C. Miller [Wed, 22 Mar 2000 23:40:09 +0000 (23:40 +0000)]
Add set_logname option so users can turn off setting of LOGNAME/USER
environment variables.

24 years agokill register
Todd C. Miller [Wed, 22 Mar 2000 15:53:09 +0000 (15:53 +0000)]
kill register

24 years agoHP-UX adds extra info at the end for password aging so when comparing
Todd C. Miller [Mon, 13 Mar 2000 20:52:25 +0000 (20:52 +0000)]
HP-UX adds extra info at the end for password aging so when comparing
the result of crypt to pw_passwd we only compare the first len(epass)
bytes *unless* the user entered an empty string for a password.

24 years agoGet rid of grandchild hack, it was causing problems and there is really
Todd C. Miller [Mon, 13 Mar 2000 16:05:05 +0000 (16:05 +0000)]
Get rid of grandchild hack, it was causing problems and there is really
no need for it.  This fixes a bug where we spin eating up CPU when the
user runs a long-running process like a shell.

24 years agoUser can always specify a login class if he/she is already root.
Todd C. Miller [Tue, 7 Mar 2000 19:26:02 +0000 (19:26 +0000)]
User can always specify a login class if he/she is already root.

24 years agoFreeBSD login class (login.conf) support.
Todd C. Miller [Tue, 7 Mar 2000 04:29:46 +0000 (04:29 +0000)]
FreeBSD login class (login.conf) support.