The innermost loop in afs_StoreAllSegments (looping over chunks) is now
inlined in afs_CachStoreProc. This is step one in a series of such
inlinings.
Reviewed-on: http://gerrit.openafs.org/116
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
More context of the afs_CacheFetchProc() call in GetDCache is now inlined
in the afs_CacheFetchProc. Boosts readability of GetDCache and saves
stack, as counter pointers need not be passed anymore. The statistics
code is more readable due to lesser indentation.
Reviewed-on: http://gerrit.openafs.org/115
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
The 64-bit Large File Support added a reference to the cm_conn_t
object after cm_Analyze() is called and releases the hold. This
permits the object to be freed if it is appropriate to do so
which can result in an invalid memory reference.
This change removes the improper reference.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/326
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Microsoft Debugging Tools for Windows, Visual Studio Debugger,
and SysInternals tools can all make use of a Symbol Server.
http://msdn.microsoft.com/en-us/magazine/cc163563.aspx
The commit adds functionality to the build system to automatically
add binaries and symbols to a symbol store during the build.
This functionality is only enabled if two environment variables
are defined:
SYMSTORE_EXE - specifies the location of symstore.exe
SYMSTORE_ROOT - specifies the location of the symbol store
an optional environment variable permits an arbitrary comment
to be added to the symbol store history file.
SYMSTORE_COMMENT - arbitrary text to be added to the history
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/324
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
1.5.60 and 1.5.61 shipped without resource information
linked to the threaded version of the volserver.exe
executable. Correct that oversight.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/325
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
The MacOS installer only permits characters in [0-9A-Za-z] in cellnames.
However, OpenAFS itself will also allow dashes, and they're in use by some
sites.
This trivially amends the installer pane to permit dashes.
FIXES 125211
Reviewed-on: http://gerrit.openafs.org/323
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Fix a stack overflow on 64 bit linux which corrupts the stack
saved arguments and causes a kernel panic. This bug is seen
on platforms where ino_t is 64 bits and the md5inum sysctl
option is enabled.
Reviewed-on: http://gerrit.openafs.org/322
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
It has been reported that winlogon.exe is crashing on some
systems. The reports indicate that the failure is somewhere
in GetLogonDomainOptions. This commit ensures that we are
more conservative about the assumptions that are made regarding
which Lsa operations can fail.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/321
Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
Tested-by: Asanka Herath <asanka@secure-endpoints.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Update the "clean" rule to remove the files generated from
ms-srvsvc.idl and ms-wkssvc.idl.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/320
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
The smb_StartedLock osi_mutex can be obtained before
initialization due to a race if the IP address configuration
is in a state of flux as afsd_service is starting up.
To avoid the problem call cm_InitDaemons() after smb_Init().
This race is the cause of the periodic assertions in some
environments when lock order validation is enabled.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/318
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Remove the check for powerStateSuspend that caused the cm_daemon
thread to terminate when the machine enters suspend mode. When
the machine awakens there is no thread to check the down server
state, new IP address bindings, etc.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/315
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
GetDCache() is quite bloated. This inlinining makes code more
readable. For protocols to come besides rxfs (such as rxosd), some
initializations may need to be performed differently. Thus, much
has to be moved to the specific rxfs_fetchInit() function rather than
afs_CacheFetchProc() proper.
Reviewed-on: http://gerrit.openafs.org/112
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
All of the different _create calls need to share a prototype, so
function pointers can be stuffed into a structure. Use an anonymous
pointer so that we can acheive this.
Reviewed-on: http://gerrit.openafs.org/187
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
While the Windows client only implements support for WKSSVC and
SRVSVC RPC services, it should be aware of and handle requests
for other well known service names.
This patch refactors service name checks to a separate
MSRPC_IsWellKnownService() function. In addition, it separates
the tests for IPC TIDs from the test for well known service
names. An IPC TID may be used for generic pipe operations as
well as for RPC message pipe operations. Therefore the fact that
a TID was opened for IPC doesn't necessarily mean that it will
only be used for RPC.
Reviewed-on: http://gerrit.openafs.org/307
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
We still support building on Visual Studio 2003 where rand_s() is
not available. If we are building on a Visual C compiler prior
to version 15.00, failover to srand()/rand() instead of using
rand_s().
Reviewed-on: http://gerrit.openafs.org/306
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
The entries are no longer used, as the macros from afs_chunkops.h
are no longer necessary and afs_StoreAllSegments calls the
CacheStoreProc proper.
Reviewed-on: http://gerrit.openafs.org/110
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Has been fixed the status menu icon width, now i keeped from icon image.
Fixed the status item icon view redraw.
Reviewed-on: http://gerrit.openafs.org/305
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
When processing a Dfs Referral request, not all lookup errors
should be treated as if the path does not exist. Servers being
down or busy, volumes offline, cell vldb servers not found, etc.
do not mean that the client should go searching elsewhere to
evaluate the path.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/304
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Windows will attempt to open connections to a broad
range of pipe service (share) names which do not contain
a dot in them. Attempts to search for these names as
cell names in DNS result in timeouts and sluggish behavior
when browsing \\AFS in the Explorer Shell.
To avoid this problem, do not perform a DNS lookup for a
cellname that doesn't not contain a dot in it.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/302
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
The Windows cache manager can apply administrator specified
server preferences as specified in the registry. When these
rankings are applied the CM_SERVERFLAG_PREF_SET flag was not
set on the cm_server_t object. In addition, appropriate locking
was not being used in the places where the flag was set.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/303
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
The cache type specific differencies among afs_MemCacheFetchProc
and afs_UFSCacheFetchProc are divided into two sets of "fetchOps".
Upon rxfs_fetchInit, the appropriate set is chosen.
Reviewed-on: http://gerrit.openafs.org/109
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Windows uses RPC over SMB to communicate with file servers for
administrative tasks including enumeration and queries of file
server shares. This patch implements support for RPC over SMB
and partially implements the SRVSVC and WKSSVC RPC interfaces.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/301
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Commit c3c8a3e2f9 removed 'des' as a
dependency of the 'util' target, but util still depends on des since
rxkstats.c includes des.h. So, put the des dep back in.
Reviewed-on: http://gerrit.openafs.org/278
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Change static max allocators to 30. Add atomic add/sub macros returning
original value, based on CASIO. Add interfaces to add and remove generic
allocator caches. Add atomic inc/dec/sub macros using MCAS primitives.
Add inline assembly for x86_64 and shim for Solaris (9+) atomic operations,
providing Solaris x86 and alternate shim for Solaris Sparc. Set interface
adapted for iteration and generalized for use with opaque key, value
pointers. File cas_skip_func.c provides kv interface, cas_skip_adt.c
provides kv interface, plus iteration on skip lists. Casual dependencies
on stdio and exit() defined out.
LICENSE BSD
Reviewed-on: http://gerrit.openafs.org/214
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
currently the background daemon logic for retrying was never triggered.
easy enough fix: set FS_registered to 1 so the loop retries
Reviewed-on: http://gerrit.openafs.org/266
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
applications can allocate memory that must be deallocated by
the XDR package. Add xdr_alloc to permit that.
Export from libafsrpc.
LICENSE BSD
Reviewed-on: http://gerrit.openafs.org/269
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
The Windows pioctl prototypes differed from those now exported
by sys/sys_prototypes.h. This produced undesirable warnings.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/260
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
When an error occurs during the WinTorture scripts the
actual error was not always being preserved because
subsequent Win32 calls were executed before the value
was logged.
In at least one case, the variable used to store the
last error was not initialized nor assigned in all data
paths.
LICENSE MIT
Reviewed-on: http://gerrit.openafs.org/270
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Warning removal for various functions that manipulates keys and use
several data types interchangeably.
Inline helpers are introduced to convert between the types and are
used when making function calls to target the appropriate type:
des_prototypes.h
cblockptr_to_cblock: des_cblock * to des_cblock
charptr_to_cblock: char * to des_cblock
charptr_to_cblockptr: char * to des_cblock *
rxkad_prototypes.h
ktc_to_cblock: struct ktc_encryptionKey * to des_cblock
ktc_to_cblockptr: struct ktc_encryptionKey * to des_cblock *
kauth_internal.h
EncryptionKey_to_cblock: EncryptionKey * to des_cblock
EncryptionKey_to_ktc: EncryptionKey * to struct ktc_encryptionKey *
ktc_to_EncryptionKey: struct ktc_encryptionKey * to EncryptionKey *
- parameters are adjusted for tkt_DecodeTicket(5), replacing the char *
key with struct ktc_encryptionKey, to match usage
- the get_key function is changed to have a void * parameter, to match
usage
- rxkad_prototypes.h includes des.h to get the des_cblock definition.
This causes conflicts for a few files where the kerberos headers are
also included - aklog/aklog_main.c and WINNT/afsd/afskfw.c
Use NO_DES_H_INCLUDE in thoses cases to skip the new parts of
rxkad_prototypes.h
Reviewed-on: http://gerrit.openafs.org/234
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
gitconfig in src/platform/DARWIN/AFSPreference has been modified to ignore the perspectivev3 that is created by xcode for window layout.Has been also delete the file created for the user
Reviewed-on: http://gerrit.openafs.org/267
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
At startup the preference pane check for the presence in ~/Library/LaunchAgents of the file it.infn.lnf.network.AFSBackgrounder.plist that. The agent could be started in OpenAFS preference pane view.
AFSBackgrounder has replaced the NSMenuExtra, when it doesn't quit well launchd restart it. AFSBackgrounder can be used also for other work, for now, at login it check the user preference for get token.
Has been made some refactoring in code for remove most warning.
The unused think are been delete from project.
Reviewed-on: http://gerrit.openafs.org/263
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Things can be made a lot more readable in storeOps than in the
monolithic StoreProc.
Also shorten a panic message that is a bit gratuitous.
Reviewed-on: http://gerrit.openafs.org/108
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Replaced the NSMenuExtra and created the AFSBackgrounder that will do all work for aklog at login and manage the Status menu in menu bar
Reviewed-on: http://gerrit.openafs.org/262
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
To prevent future compatibility with osx we must use NSStatusItem instead NSMenuExtra that is not documented api.
For this has been created a background only application that will manage all function managed by current NSMenuExtra
Reviewed-on: http://gerrit.openafs.org/261
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
The original IBM HTML documentation had a table showing the permissions
that bosserver expects and sets when it creates the directory structure
for AFS. That table was accidentally dropped in the conversion to POD.
Restore it from the HTML shipped with an older version of OpenAFS.
Reviewed-on: http://gerrit.openafs.org/210
Tested-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Russ Allbery <rra@stanford.edu>
Rules with multiple targets can cause problems with parallel builds.
This patch fixes two cases that have caused occasional build errors.
Reviewed-on: http://gerrit.openafs.org/257
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Change 73 (commit dc6299f5) changed the order of arguments for the
UKERNEL implementation of afs_mount, causing uafs_mount to segfault
whenever called. This changes them back to what they were before.
Reviewed-on: http://gerrit.openafs.org/256
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Windows has not been referred to as NT in a long time.
We do not support Windows 9x any longer. Rename
README-NT to README-WINDOWS.
Reviewed-on: http://gerrit.openafs.org/254
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Update the README-NT to be more up to date.
It still requires a lot of work.
Reviewed-on: http://gerrit.openafs.org/253
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
This adds additional safety checks to the vlserver's implementation of
the VL_CreateEntry, VL_ReplaceEntry, and VL_UpdateEntry RPCs. Now in all
three of these, any new volume ID that would be added to the VLDB or
that would be newly referenced in a VLDB entry is checked against
duplication in other entries. Additionally, any new volume names added
to the VLDB (either by creation, or modifying an existing volume) are
checked against duplication. This should make it impossible for clients
to make a volume ID or volume name correspond to multiple volume groups
(either conceptually or literally in the vldb).
This also alters the vlserver's implementation of the VL_GetNewVolumeId
RPC such that the vlserver increments maxvolid until the range of volume
IDs [*newvolumeid, *newvolumeid+bumpcount) is unused. 'vos' is modified
to only allocate one new volume id at a time, so we don't skip over
potentially-usable vol ids.
Reviewed-on: http://gerrit.openafs.org/158
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
make the ARCHFLAGS support for amd64 work correctly by grepping for the correct thing
Reviewed-on: http://gerrit.openafs.org/250
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>