]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:libads: Allow get_kdc_ip_string() to lookup the KDCs IP
authorAndreas Schneider <asn@samba.org>
Tue, 28 May 2024 11:51:53 +0000 (13:51 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 4 Jun 2024 19:49:36 +0000 (19:49 +0000)
Remove the requirement to provide an IP address. We should look up the
IP of the KDC and use it for the specified realm/workgroup.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15653

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source3/libads/kerberos.c

index 46b224f56c97789e418170fcd6c6a46ef82da4c4..ae11b2987f219f6dbc3a6bd60a412a030659c162 100644 (file)
@@ -445,23 +445,23 @@ static char *get_kdc_ip_string(char *mem_ctx,
        char *kdc_str = NULL;
        char *canon_sockaddr = NULL;
 
-       SMB_ASSERT(pss != NULL);
-
-       canon_sockaddr = print_canonical_sockaddr_with_port(frame, pss);
-       if (canon_sockaddr == NULL) {
-               goto out;
-       }
+       if (pss != NULL) {
+               canon_sockaddr = print_canonical_sockaddr_with_port(frame, pss);
+               if (canon_sockaddr == NULL) {
+                       goto out;
+               }
 
-       kdc_str = talloc_asprintf(frame,
-                                 "\t\tkdc = %s\n",
-                                 canon_sockaddr);
-       if (kdc_str == NULL) {
-               goto out;
-       }
+               kdc_str = talloc_asprintf(frame,
+                                         "\t\tkdc = %s\n",
+                                         canon_sockaddr);
+               if (kdc_str == NULL) {
+                       goto out;
+               }
 
-       ok = sockaddr_storage_to_samba_sockaddr(&sa, pss);
-       if (!ok) {
-               goto out;
+               ok = sockaddr_storage_to_samba_sockaddr(&sa, pss);
+               if (!ok) {
+                       goto out;
+               }
        }
 
        /*