Print this page
1575 untangle libmlrpc from SMB server
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
NEX-2667 Wrong error when join domain with wrong password
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Bayard Bell <bayard.bell@nexenta.com>
NEX-2225 Unable to join NexentaStor to 2008 AD
re #12435 rb3958 r10 is added 2 times to panic info
re #12393 rb3935 Kerberos and smbd disagree about who is our AD server
@@ -189,10 +189,14 @@
ndr_rpc_release(netr_handle);
return (0);
}
+uint32_t netr_server_auth2_flags =
+ NETR_NEGOTIATE_BASE_FLAGS |
+ NETR_NEGOTIATE_STRONGKEY_FLAG;
+
/*
* netr_server_authenticate2
*/
static int
netr_server_authenticate2(mlsvc_handle_t *netr_handle, netr_info_t *netr_info)
@@ -214,14 +218,13 @@
arg.servername = (unsigned char *)netr_info->server;
arg.account_name = (unsigned char *)account_name;
arg.account_type = NETR_WKSTA_TRUST_ACCOUNT_TYPE;
arg.hostname = (unsigned char *)netr_info->hostname;
- arg.negotiate_flags = NETR_NEGOTIATE_BASE_FLAGS;
+ arg.negotiate_flags = netr_server_auth2_flags;
- if (ndr_rpc_server_os(netr_handle) == NATIVE_OS_WIN2000) {
- arg.negotiate_flags |= NETR_NEGOTIATE_STRONGKEY_FLAG;
+ if (arg.negotiate_flags & NETR_NEGOTIATE_STRONGKEY_FLAG) {
if (netr_gen_skey128(netr_info) != SMBAUTH_SUCCESS)
return (-1);
} else {
if (netr_gen_skey64(netr_info) != SMBAUTH_SUCCESS)
return (-1);