Windows: replace lana_OnlyLoopback() calls lana_OnlyLoopback() relies upon Netbios over TCP being enabled but Netbios over TCP is not officially supported on Vista and above. Replace all lana_OnlyLoopback() calls with a test on the number of network interfaces as computed by syscfg_GetIFInfo(). That list excludes loopback interfaces. Change-Id: I22d952f1487734ead02335108377bc404baa6024 Reviewed-on: http://gerrit.openafs.org/11444 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Windows: remove trailing whitespace remove trailing whitespace from NTMakefile *.h *.c *.cpp *.idl *.def *.txt *.htm Change-Id: I948a7511a20d0ad522b647b788536f9b6f5dda16 Reviewed-on: http://gerrit.openafs.org/4548 Reviewed-by: Derrick Brashear <shadow@dementia.org> Tested-by: Derrick Brashear <shadow@dementia.org>
libroken: Build on windows A minimal change set to get libroken to build on Windows. Sadly, libroken contains definitions for a number of platform compatibility macros which were previously scattered throughout the windows code. These scattered macros have to be removed in order to build libroken. The impact of this removal is that a very large number of files throughout the tree require the addition of "roken.h" to pick up the new compatibility code. The bulk of this change is adding these includes. In addition, some of the added includes add roken dependencies to the Unix build. So, also add libroken to the build rules in affected Unix Makefiles. Change-Id: Ifba431bd37e67b1e273fbc6f69b805a232193456 Reviewed-on: http://gerrit.openafs.org/3205 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementia.org>
de-"register" src/WINNT Remove all uses of "register" from the src/WINNT source tree. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/104 Verified-by: Jeffrey Altman <jaltman@openafs.org> Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
windows-unicode-20080626 LICENSE MIT This patch is the second stage of the Unicode conversion. In this stage the cache manager has been converted from using 8-bit UTF8 C strings to 16-bit UTF16 C strings in the SMB, the DNLC, the B+ tree, and other directly related modules. The cm_cell, cm_volume, cm_scache, cm_buf, cm_dcache, and cm_dir modules are left 8-bit because their data is all 8-bit UTF8 since they work only on file server strings. The SMB layer accepts 16-bit UTF16, the B+ tree and DNLC use normalized strings as the key, and everything uses UTF8. Efforts have been made to minimize the number of transitions from UTF8 to UTF16 and back. For the most part strings are tagged with clientchar_t and normchar_t and fschar_t types in order to distinguish between the various types of strings that are in use. other changes include addition prototyping.
windows-unicode-20080527 LICENSE MIT An incremental commit. This patch adds support for normalization of Unicode but we have concluded that the normalization rules are incorrect. Normalized strings should not be written to the file server or returned to the application.
windows-64-bit-type-safety-20051105 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== more corrections for use of 64-bit types on Windows ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler ==================== 64-bit type safety changes required for successful compilation on Windows 64-bit systems with the VS 2005 compiler
win-power-mgmt-flush-test-20041003 The windows power management code responds to a request to suspend or hibernate by performing a "fs flushvol" as the logged in user on each of the SMB/CIFS mounted shares. This can be very time consuming if the cell servers cannot be reached. This patch adds a test to ensure that there is at least one network adapter in the machine which is not a loopback adapter. While developing this patch other areas of concern have been raised. The power management code waits a fixed period of time based upon the hard dead timeout before allowing the suspend/hibernate to continue. This allows the machine to shutdown even if there are active flush operations being performed. This defeats the benefit of performing the flush at all. A better mechanism could be developed if the functions called via cm_IoctlFlushVolume returned and checked error codes. Then it might be possible to abandon the flush operation if a Server Not Reachable state was obtained. The power management flush operations will also not work on Terminal Server. This would be important in the case where a terminal server is shutting down due to a switch over to a UPS. The reason it does not work on Terminal Server is that there is that it is not possible for afsd_service.exe to enumerate the SMB/CIFS shares and impersonate the individual logged in users. It would be preferred for there to be a new cm_FlushAll() function implemented which was not dependent on the use of the ioctl mechanism for the purpose of identifying a volume ID or a user ID.
nt-power-mgmt-fix-20040617 The fixed timeout of 19 seconds was too short. Should be set to the value of HardDeadtimeout as set by cm_conn.c. The failure to specify an adequate timeout value prevented successful Hibernation and Standby mode access when network connectivity was not available.
power-mgnt-close-handles-20040321 Close the Handles before terminating the thread to ensure that additional power events cannot be queued during shutdown.
prevent-crash-at-shutdown-20040320 The Power Management Exit routine was instructing the thread to terminate but was not waiting for the conclusion of the operation before returning control to the caller. This allows the service to pass control to the Service Manager before cleanup was properly completed.
win32-name-event-objects-20040228 This is a very bad leak of Event Objects. Name all of our event objects in an attempt to identify the source of the leak. Apparently, the leak is not coming from any Event Objects we are creating directly. Did find a misallocation of event objects in the smb code for the initial session object. Fixed.
hidedots-fix-20040228 * Fix the Hiding of dot files. attributes were computed but never applied due to typo during merge * Prevent crashing during service shutdown by power management thread
skyrope-mit-merge-hell-20040226 From Skyrope: The Skyrope work attempted to improve on the end user experience of using OpenAFS in the following ways: * Obtain tokens using renewable Kerberos 5 tickets in order to reduce the need for end users to renew expired tokens * Monitor the list of IP Addresses in order to detect changes in the network configuration which might affect the reachability of cells or the state of the AFS Client Service. When cells are newly reachable, obtain tokens for the cells. If the AFS Client Service is not running, start it. If tokens are expiring attempt to renew them. * Use KDC probes to detect the accessibility of realms/cells. If the KDC is not reachable, do not prompt the end user for a username and password. (fs probe is not implemented on windows) * Automatically obtain tokens using the Windows Logon Session Kerberos credentials (if available) * Allow tokens for multiple cells to be obtained by using the same Kerberos 5 tickets. (no UI yet implemented) * Perform drive mapping persistance by tracking it within the afsdsbmt.ini file instead of relying on the Windows Shell to persist the state. * Add new afscreds.exe command line options and change the default set used when creating the "AFS Credentials" shortcut in the Start Menu->Programs->Startup folder. From MIT: * Auto-detection of loopback adapters. Use "AFS" as the netbios name when a loopback adapter is installed. * Support for responding to power management events. Used to flush the cache when the machine is about to suspend, hibernate, or shutdown * Documentation of Registry entries * Support for Extended SMB Requests * Beginning of support for true Event Log reporting from a message database * Hidden Dot File support (configured via the HideDotFiles registry option) * Configurable Max number of Multiplexed Sessions (MaxMpxRequests registry option) * Configurable Max MTU size (RxMaxMTU registry option) * Configurable Jumbogram support (RxNoJumbo registry option) * Configurable Max number of Virtual Connections per Server (MaxVCPerServer registry option) * Win32 DNS API support * Addition of SMB_ATTR_xxxx defines for use instead of hex numbers * A variety of heap access and resource deallocation errors corrected in the SMB code * Support for recursive directory creation * Modifications to the en_US version of the client configuration dialog (need to port to other languages) Notes on the current check-in: * The KfW code will always be used when installed on the machine. This code only supports Krb5 and will not work with Krb4 only realms. A registry flag indicating whether or not KfW should be used if found needs to be added. * afscreds.exe needs to have a registry entry created to control the parameter list it should be started with. There should be a dialog to control this in the installer and within afscreds.exe * The MIT method of auto-assigning the mount-root and the netbios name is in conflict with the morgan stanley submissions in some parts of the code. If you are using the loopback adapter with this code both the "NetbiosName" = "AFS" and "Mountroot" = "/afs" registry options must be specified. This will be fixed in coming days.