confounding finding in print/cups-base (CUPS 1.4.2)

William Bulley web at
Thu Feb 4 19:29:16 UTC 2010

Since I need the GSSAPI (for Kerberos) feature of CUPS in FreeBSD
8.0-STABLE, I was somewhat taken aback when I found the cupsd server
failed to read its configuration file "cupsd.conf" when the line:

   DefaultAuthType Negotiate

was present in that file upon server start/restart.  The "Negotiate"
keyword is the way to indicate Kerberos support in CUPS according to
the CUPS documentation.

Attempting to start the CUPS server cupsd(8) from the command line
as root resulted in this error:

   freebsd# /usr/local/etc/rc.d/cupsd start
   Starting cupsd.
   Message from syslogd at itcom245 at Feb  4 10:35:31 ...
   itcom245 cupsd: Unable to read configuration file '/usr/local/etc/cups/cupsd.conf' - exiting!
   cupsd: Child exited with status 1!
   /usr/local/etc/rc.d/cupsd: WARNING: failed to start cupsd
   freebsd# /usr/local/etc/rc.d/cupsd stop
   cupsd not running?

and in the /var/log/cups/error.log file I found this line:

   Unknown default authorization type Negotiate on line 6.

Once line six (6) was removed, the cupsd server was able to start
without error (of course, Kerberos support was unavailable...)   :-(

The file print/cups-base/work/cups-1.4.2/scheduler/conf.c has this

    else if (!strcasecmp(value, "negotiate"))
      loc->type = CUPSD_AUTH_NEGOTIATE;

      if (loc->level == CUPSD_AUTH_ANON)
        loc->level = CUPSD_AUTH_USER;
#endif /* HAVE_GSSAPI */

which would normally be controlled by running ./configure at build
time and affecting lines such as these in work/cups-1.4.2/config.h:

    * Do we have the GSSAPI support library (for Kerberos support)?

   /* #undef HAVE_GSSAPI */
   /* #undef HAVE_GSSAPI_H */
   /* #undef HAVE_GSSAPI_GSSAPI_H */
   /* #undef HAVE_GSSAPI_GSSAPI_KRB5_H */
   /* #undef HAVE_KRB5_CC_NEW_UNIQUE */
   /* #undef HAVE_KRB5_H */
   /* #undef HAVE_HEIMDAL */

Interestingly the Makefile in print/cups-base has this line inside
the CONFIGURE_ARGS section which makes all the above irrelevant:


So, my question is: why is the GSSAPI feature disabled in CUPS
1.4.2 when it was a configurable OPTION in CUPS 1.3.9 last Fall?

What should I do if I desire Kerberos support in CUPS 1.4.2 ??



William Bulley                     Email: web at

72 characters width template ----------------------------------------->|

More information about the freebsd-questions mailing list