windows-rxkad-auth-20080902
[openafs.git] / src / WINNT / afsd / afsd_init.c
index 5fda138..82b989e 100644 (file)
@@ -561,6 +561,7 @@ int afsd_InitCM(char **reasonP)
     DWORD rx_enable_peer_stats;
     DWORD rx_enable_process_stats;
     DWORD rx_udpbufsize = -1;
+    DWORD lockOrderValidation;
     long traceBufSize;
     long maxcpus;
     long ltt, ltto;
@@ -625,6 +626,19 @@ int afsd_InitCM(char **reasonP)
         osi_panic(buf, __FILE__, __LINE__);
     }
 
+    dummyLen = sizeof(lockOrderValidation);
+    code = RegQueryValueEx(parmKey, "LockOrderValidation", NULL, NULL,
+                            (BYTE *) &lockOrderValidation, &dummyLen);
+    if (code != ERROR_SUCCESS) {
+#ifdef DEBUG
+        lockOrderValidation = 1;
+#else
+        lockOrderValidation = 0;
+#endif
+    }
+    osi_SetLockOrderValidation(lockOrderValidation);
+    afsi_log("Lock Order Validation %s", lockOrderValidation ? "On" : "Off");
+
     dummyLen = sizeof(maxcpus);
     code = RegQueryValueEx(parmKey, "MaxCPUs", NULL, NULL,
                             (BYTE *) &maxcpus, &dummyLen);
@@ -956,14 +970,16 @@ int afsd_InitCM(char **reasonP)
     code = RegQueryValueEx(parmKey, "SecurityLevel", NULL, NULL,
                            (BYTE *) &cryptall, &dummyLen);
     if (code == ERROR_SUCCESS) {
-        afsi_log("SecurityLevel is %s", cryptall?"crypt":"clear");
+        afsi_log("SecurityLevel is %s", cryptall == 1?"crypt": cryptall == 2?"auth":"clear");
     } else {
         cryptall = 0;
         afsi_log("Default SecurityLevel is clear");
     }
 
-    if (cryptall)
+    if (cryptall == 1)
        LogEvent(EVENTLOG_INFORMATION_TYPE, MSG_CRYPT_ON);
+    else if (cryptall == 2)
+       LogEvent(EVENTLOG_INFORMATION_TYPE, MSG_CRYPT_AUTH);
     else
        LogEvent(EVENTLOG_INFORMATION_TYPE, MSG_CRYPT_OFF);
 
@@ -1053,6 +1069,8 @@ int afsd_InitCM(char **reasonP)
     }
     if (rx_nojumbo)
         afsi_log("RX Jumbograms are disabled");
+    else
+        afsi_log("RX Jumbograms are enabled");
 
     dummyLen = sizeof(rx_extraPackets);
     code = RegQueryValueEx(parmKey, "RxExtraPackets", NULL, NULL,
@@ -1069,7 +1087,7 @@ int afsd_InitCM(char **reasonP)
     if (code != ERROR_SUCCESS) {
         rx_udpbufsize = 256*1024;
     }
-    if (rx_udpbufsize)
+    if (rx_udpbufsize != -1)
         afsi_log("RX udpbufsize is %d", rx_udpbufsize);
 
     dummyLen = sizeof(rx_mtu);
@@ -1382,6 +1400,8 @@ int afsd_ShutdownCM(void)
 {
     cm_ReleaseSCache(cm_data.rootSCachep);
 
+    cm_shutdown = 1;
+
     return 0;
 }