diff --git a/src/WINNT/afsd/afsd_init.c b/src/WINNT/afsd/afsd_init.c index e5f5431730..def1eb3d12 100644 --- a/src/WINNT/afsd/afsd_init.c +++ b/src/WINNT/afsd/afsd_init.c @@ -40,7 +40,8 @@ extern int RXAFSCB_ExecuteRequest(struct rx_call *z_call); extern int RXSTATS_ExecuteRequest(struct rx_call *z_call); -extern afs_int32 cryptall; +extern afs_uint32 cryptall; +extern afs_uint32 cm_anonvldb; extern int cm_enableServerLocks; extern int cm_followBackupPath; extern int cm_deleteReadOnly; @@ -941,6 +942,11 @@ int afsd_InitCM(char **reasonP) else LogEvent(EVENTLOG_INFORMATION_TYPE, MSG_CRYPT_OFF); + dummyLen = sizeof(cryptall); + code = RegQueryValueEx(parmKey, "ForceAnonVLDB", NULL, NULL, + (BYTE *) &cm_anonvldb, &dummyLen); + afsi_log("CM ForceAnonVLDB is %s", cm_anonvldb ? "on" : "off"); + #ifdef AFS_AFSDB_ENV dummyLen = sizeof(cm_dnsEnabled); code = RegQueryValueEx(parmKey, "UseDNS", NULL, NULL, diff --git a/src/WINNT/afsd/cm_conn.c b/src/WINNT/afsd/cm_conn.c index 87e3db4f20..7ff818debf 100644 --- a/src/WINNT/afsd/cm_conn.c +++ b/src/WINNT/afsd/cm_conn.c @@ -29,7 +29,8 @@ unsigned short HardDeadtimeout = CM_CONN_HARDDEADTIME; #define LANMAN_WKS_PARAM_KEY "SYSTEM\\CurrentControlSet\\Services\\lanmanworkstation\\parameters" #define LANMAN_WKS_SESSION_TIMEOUT "SessTimeout" -afs_int32 cryptall = 0; +afs_uint32 cryptall = 0; +afs_uint32 cm_anonvldb = 0; void cm_PutConn(cm_conn_t *connp) { @@ -872,6 +873,9 @@ long cm_ConnByServer(cm_server_t *serverp, cm_user_t *userp, cm_conn_t **connpp) *connpp = NULL; + if (cm_anonvldb && serverp->type == CM_SERVER_VLDB) + userp = cm_rootUserp; + lock_ObtainMutex(&userp->mx); lock_ObtainWrite(&cm_connLock); for (tcp = serverp->connsp; tcp; tcp=tcp->nextp) {