We encountered a compilation issue in the v4-22-stable branch due to the following commit made approximately two months ago: https://gitlab.com/samba-team/samba/-/commit/83c60df6e8dd604c4954e1b444b8d2332dbff62b In this commit, the file source3/libads/kerberos_keytab.c uses the function smb_krb5_parse_name_flags, which is specific to HEIMDAL. This function internally relies on the flag KRB5_PRINCIPAL_PARSE_NO_REALM, which is not available in MIT Kerberos, resulting in a compilation failure on systems using MIT Kerberos. To address this issue, we suggest guarding the Heimdal-specific code with a conditional preprocessor directive, as shown below: #ifdef HEIMDAL // Heimdal-specific code here smb_krb5_parse_name_flags(...); #else // MIT Kerberos-compatible code smb_krb5_parse_name(...); #endif We implemented the above change locally and were able to compile successfully. Please let us know if a patch can be submitted for this, or if any additional steps are required from our side. Name: Pawan Sahu Mail: Pawan.Sahu1@ibm.com Thanks & Regards, Pawan Sahu
I don’t understand. smb_krb5_parse_name_flags() is implemented in lib/krb5_wrap/krb5_samba.c. It’s not Heimdal‐specific.
(In reply to Jennifer Sutton from comment #1) And MIT has used KRB5_PRINCIPAL_PARSE_NO_REALM for a very long time. https://web.mit.edu/Kerberos/www/krb5-1.11/doc/appdev/refs/macros/KRB5_PRINCIPAL_PARSE_NO_REALM.html There may be some other problem with your build.
Pawan, please reopen if you can find the real problem, and it is a Samba issue.