Bug 1845820

Summary: Spurious error: ldap_gssapi_principal is not set,GSSAPI Authentication for LDAP will not be used
Product: [Fedora] Fedora Reporter: Pavel Zhukov <pzhukov>
Component: dhcpAssignee: Martin Osvald 🛹 <mosvald>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 35CC: mosvald, orion, pemensik, pzhukov, qe-baseos-daemons, smoker.tabac
Target Milestone: ---Keywords: EasyFix, TestCaseNeeded
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: Tracking
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1831332 Environment:
Last Closed: 2022-10-31 09:09:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1831332    
Bug Blocks:    

Description Pavel Zhukov 2020-06-10 07:14:14 UTC
+++ This bug was initially created as a clone of Bug #1831332 +++

Description of problem:

I haven't specified any ldap config options in dhcpd.conf, but I get:

May 04 14:41:17 host dhcpd[9328]: ldap_gssapi_principal is not set,GSSAPI Authentication for LDAP will not be used
May 04 14:41:17 host dhcpd[9328]: Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file

The first seems to be new, and is reported at an error level rather than info/notice.

Version-Release number of selected component (if applicable):
dhcp-server-4.3.6-34.el8.x86_64

Expected results:
No error level messages for unconfigured options.

--- Additional comment from Pavel Zhukov on 2020-05-06 06:05:15 UTC ---

Hello,

Thank you for reporting this issue. I agree it's totally useless and should not be on error level. I am going to submit patch upstream.

--- Additional comment from Pavel Zhukov on 2020-05-06 06:20:46 UTC ---

https://gitlab.isc.org/isc-projects/dhcp/-/merge_requests/56

Comment 1 Fedora Program Management 2021-04-29 17:22:31 UTC
This message is a reminder that Fedora 32 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 32 on 2021-05-25.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '32'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 32 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 2 Fedora Admin user for bugzilla script actions 2021-07-26 12:44:37 UTC
This package has changed maintainer in Fedora. Reassigning to the new maintainer of this component.

Comment 3 Ben Cotton 2021-08-10 13:47:32 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 35 development cycle.
Changing version to 35.

Comment 4 Yuriy 2021-10-04 11:29:11 UTC
dhcp-server-4.4.2-11.b1.fc34.x86_64 does not recognize the ldap_gssapi_principal and ldap-gssapi-keytab options and ignores them as well as all unknown ones.

Test1:
add two lines to /etc/dhcp/dhcpd.conf:
test1;
ldap_gssapi_principal;

Result1:
dhcpd starts successfully with: ldap_gssapi_principal is not set,GSSAPI Authentication for LDAP will not be used

Test2:
test1 "test1";
ldap_gssapi_principal;

Result2:
dhcpd[656134]: /etc/dhcp/dhcpd.conf line 11: semicolon expected.
dhcpd[656134]: test1 "test1"
dhcpd[656134]:        ^
dhcpd[656134]: Configuration file errors encountered -- exiting

Test3:
test1;
ldap_gssapi_principal "test1";

Result3:
dhcpd[656467]: /etc/dhcp/dhcpd.conf line 12: semicolon expected.
dhcpd[656467]: ldap_gssapi_principal "test1"
dhcpd[656467]:                        ^
dhcpd[656467]: Configuration file errors encountered -- exiting

Comment 5 Petr Menšík 2021-10-04 19:05:37 UTC
(In reply to Yuriy from comment #4)
> dhcp-server-4.4.2-11.b1.fc34.x86_64 does not recognize the
> ldap_gssapi_principal and ldap-gssapi-keytab options and ignores them as
> well as all unknown ones.
> 
> Test1:
> add two lines to /etc/dhcp/dhcpd.conf:
> test1;
> ldap_gssapi_principal;
> 
> Result1:
> dhcpd starts successfully with: ldap_gssapi_principal is not set,GSSAPI
> Authentication for LDAP will not be used
> 
> Test2:
> test1 "test1";
> ldap_gssapi_principal;
> 
> Result2:
> dhcpd[656134]: /etc/dhcp/dhcpd.conf line 11: semicolon expected.
> dhcpd[656134]: test1 "test1"
> dhcpd[656134]:        ^
> dhcpd[656134]: Configuration file errors encountered -- exiting
> 
> Test3:
> test1;
> ldap_gssapi_principal "test1";
> 
> Result3:
> dhcpd[656467]: /etc/dhcp/dhcpd.conf line 12: semicolon expected.
> dhcpd[656467]: ldap_gssapi_principal "test1"
> dhcpd[656467]:                        ^
> dhcpd[656467]: Configuration file errors encountered -- exiting

ldap-gssapi-keytab and ldap-gssapi-principal are defined in server/stables.c. I guess you have tried wrong delimiter. Should have the same syntax as ldap-server.

Comment 6 Petr Menšík 2021-10-04 19:40:51 UTC
Oh, okay, that wrong name is exactly reported as an error, when it is not even acceptable. Should be fixed too on upstream, no such option exists.

Create a new merge requests to change both level and wrong reported names.

Comment 7 Yuriy 2021-10-05 06:15:51 UTC
(In reply to Petr Menšík from comment #6)
> Oh, okay, that wrong name is exactly reported as an error, when it is not
> even acceptable. Should be fixed too on upstream, no such option exists.

And even worse, dhcpd accepts any semicolon-terminated word without returning an error (Test1).

You can make a typo in the option without parameters and be sure that everything
is written correctly because there was no error at the start, but find out that
it does not work only by the behavior of dhcpd much later. It will be very difficult
to guess then what the matter is. You can start looking for errors in the dhcp client,
firewall rules, etc., but look for typos in a long dhcpd.conf, especially if it is
placed in ldap last, because dhcpd did not return an error at startup.

I checked dhcp-server-4.4.2-16.b1.fc35.x86_64, it has the same error.

> 
> Create a new merge requests to change both level and wrong reported names.

I made a typo in the name of the ldap-gssapi-principal option because it was named that 
way in the "ldap_gssapi_principal is not set,GSSAPI Authentication for LDAP will not be used"
error message.
Please ask upstream to fix this.

After correcting the typo, I got this:
systemd-coredump[803436]: [🡕] Process 803434 (dhcpd) of user 0 dumped core.                                             
     Stack trace of thread 803434:
     #0  0x0000557cd97b5a9c _do_lookup_dhcp_string_option (dhcpd + 0x58a9c)
     #1  0x0000557cd97b6380 ldap_start (dhcpd + 0x59380)
     #2  0x0000557cd97b8ad3 ldap_read_config (dhcpd + 0x5bad3)
     #3  0x0000557cd9773e30 main (dhcpd + 0x16e30)
     #4  0x00007f300ddb8b75 __libc_start_main (libc.so.6 + 0x27b75)
     #5  0x0000557cd9775b5e _start (dhcpd + 0x18b5e)
systemd[1]: dhcpd.service: Main process exited, code=dumped, status=11/SEGV

dhcpd is built from dhcp-4.4.2-16.b1.fc35.src.rpm in Fedora 34, glibc-2.33-20.fc34.x86_64

Comment 8 Yuriy 2021-10-05 13:28:59 UTC
> 
>      Stack trace of thread 803434:
>      #0  0x0000557cd97b5a9c _do_lookup_dhcp_string_option (dhcpd + 0x58a9c)
>      #1  0x0000557cd97b6380 ldap_start (dhcpd + 0x59380)
>      #2  0x0000557cd97b8ad3 ldap_read_config (dhcpd + 0x5bad3)
>      #3  0x0000557cd9773e30 main (dhcpd + 0x16e30)
>      #4  0x00007f300ddb8b75 __libc_start_main (libc.so.6 + 0x27b75)
>      #5  0x0000557cd9775b5e _start (dhcpd + 0x18b5e)
> systemd[1]: dhcpd.service: Main process exited, code=dumped, status=11/SEGV

Sorry, this is a bug in my configuration

Comment 9 Martin Osvald 🛹 2022-10-31 09:09:57 UTC
Overlooked to close this one with the release of dhcp-4.4.3-1.fc37.

The changes introduced by the linked merged requests are included in the currently shipped dhcp version thus closing this as CURRENTRELEASE.