s4-kdc: Switch to the new kpasswd service implementation
authorAndreas Schneider <asn@samba.org>
Wed, 7 Sep 2016 14:38:06 +0000 (16:38 +0200)
committerJeremy Allison <jra@samba.org>
Mon, 12 Sep 2016 22:19:26 +0000 (00:19 +0200)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source4/kdc/kdc-heimdal.c
source4/kdc/wscript_build

index be4507386bc568d1131ffa4381f07b931a9160fc..f2927e5cb9f367c33938980f55f9c148ddaa572a 100644 (file)
@@ -33,6 +33,7 @@
 #include "kdc/kdc-proxy.h"
 #include "kdc/kdc-glue.h"
 #include "kdc/pac-glue.h"
+#include "kdc/kpasswd-service.h"
 #include "dsdb/samdb/samdb.h"
 #include "auth/session.h"
 #include "libds/common/roles.h"
@@ -151,7 +152,7 @@ static NTSTATUS kdc_startup_interfaces(struct kdc_server *kdc, struct loadparm_c
                        if (kpasswd_port) {
                                status = kdc_add_socket(kdc, model_ops,
                                                        "kpasswd", wcard[i], kpasswd_port,
-                                                       kpasswdd_process, false);
+                                                       kpasswd_process, false);
                                if (NT_STATUS_IS_OK(status)) {
                                        num_binds++;
                                }
@@ -177,7 +178,7 @@ static NTSTATUS kdc_startup_interfaces(struct kdc_server *kdc, struct loadparm_c
                if (kpasswd_port) {
                        status = kdc_add_socket(kdc, model_ops,
                                                "kpasswd", address, kpasswd_port,
-                                               kpasswdd_process, done_wildcard);
+                                               kpasswd_process, done_wildcard);
                        NT_STATUS_NOT_OK_RETURN(status);
                }
        }
@@ -411,6 +412,14 @@ static void kdc_task_init(struct task_server *task)
                return;
        }
 
+       kdc->keytab_name = talloc_asprintf(kdc, "HDB:samba4&%p", kdc->base_ctx);
+       if (kdc->keytab_name == NULL) {
+               task_server_terminate(task,
+                                     "kdc: Failed to set keytab name",
+                                     true);
+               return;
+       }
+
        /* Register WinDC hooks */
        ret = krb5_plugin_register(kdc->smb_krb5_context->krb5_context,
                                   PLUGIN_TYPE_DATA, "windc",
index 18eae904872be3faaf44c9283e4b8ae6473cf1e8..24d89f4c89b8e92a032d33606530b69dc94a0036 100755 (executable)
@@ -7,7 +7,7 @@ else:
     kdc_include = getattr(bld.env, "CPPPATH_KDC")
 
 bld.SAMBA_MODULE('service_kdc',
-                 source='kdc-heimdal.c kpasswd-helper.c kpasswd-heimdal.c',
+                 source='kdc-heimdal.c',
                  subsystem='service',
                  init_function='server_service_kdc_init',
                  deps='''
@@ -20,6 +20,7 @@ bld.SAMBA_MODULE('service_kdc',
                       PAC_GLUE
                       KDC-GLUE
                       KDC-SERVER
+                      KPASSWD-SERVICE
                       KPASSWD_GLUE
                  ''',
                  internal_module=False)