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);