This mostly matches windows now...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
{
static const struct dcesrv_endpoint_server *ep_servers[7] = { NULL };
size_t num_servers = ARRAY_SIZE(ep_servers);
+ NTSTATUS status;
bool ok;
ep_servers[0] = srvsvc_get_ep_server();
mangle_reset_cache();
+ status = dcesrv_register_default_auth_types_machine_principal(dce_ctx);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
+
*_ep_servers = ep_servers;
*_num_ep_servers = num_servers;
return NT_STATUS_OK;
{
static const struct dcesrv_endpoint_server *ep_servers[] = { NULL };
size_t num_servers = ARRAY_SIZE(ep_servers);
+ NTSTATUS status;
+
+ /*
+ * Windows Server 2022 registers the following auth_types
+ * all with an empty principal name:
+ *
+ * principle name for proto 9 (spnego) is ''
+ * principle name for proto 10 (ntlmssp) is ''
+ * principle name for proto 14 is ''
+ * principle name for proto 16 (gssapi_krb5) is ''
+ * principle name for proto 22 is ''
+ * principle name for proto 30 is ''
+ * principle name for proto 31 is ''
+ *
+ * We only register what we also support.
+ */
+ status = dcesrv_register_default_auth_types(dce_ctx, "");
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
ep_servers[0] = epmapper_get_ep_server();
{
static const struct dcesrv_endpoint_server *ep_servers[4] = { NULL, };
size_t num_servers = ARRAY_SIZE(ep_servers);
+ NTSTATUS status;
bool ok;
ep_servers[0] = lsarpc_get_ep_server();
exit(1);
}
+ status = dcesrv_register_default_auth_types_machine_principal(dce_ctx);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
+
switch(lp_server_role()) {
case ROLE_STANDALONE:
case ROLE_DOMAIN_MEMBER:
num_servers = 0;
break;
default:
+ /*
+ * As DC we also register schannel with an
+ * empty principal
+ */
+ status = dcesrv_auth_type_principal_register(dce_ctx,
+ DCERPC_AUTH_TYPE_SCHANNEL,
+ "");
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
break;
}