Commit Graph

76 Commits

Author SHA1 Message Date
Asanka C. Herath
4251e386aa Windows: Build against KerbCompatSDK instead of KFW
Build OpenAFS for Windows against the Secure Endpoints
Kerberos Compatibility SDK instead of the in tree
Kerberos for Windows SDK.

The compatibility layer is available from:

   http://github.com/secure-endpoints/heimdal-krbcompat

The SDK location must be specified with the
KERBEROSCOMPATSDKROOT environment variable.

The benefits of building against the Kerberos Compatibility
SDK are:

 * Heimdal 1.5.1 or later assemblies will be used
   if available

 * MIT KFW 3.2.x will be searched for if Heimdal 1.5.1
   is not installed

Version 1.0 of the SDK is supported.

Change-Id: I393e20d8bfb9ee1ca749cc54ecc1341927abaf82
Reviewed-on: http://gerrit.openafs.org/2867
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
2011-09-30 21:40:26 -07:00
Simon Wilkinson
9c9b906c8a Move string manipulation functions out of util
Some functions in libafsutil depend upon the RX libraries, which means
that pulling in other functions in this library can create a dependency
upon RX. This is less than ideal for low-level libraries such as cmd and
comerr.

So, create a new low-level library (currently named 'opr') which can
contain low-level functions from util, and elsewhere. This library
should have no dependencies other than on system libraries and libroken.

Change-Id: I703db3da4d8faf79ee82bf572af09d07152d9b25
Reviewed-on: http://gerrit.openafs.org/5363
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>
2011-09-11 05:38:55 -07:00
Simon Wilkinson
4c9134a995 Build system: Move install definitions to include
Move the definitions of the INSTALL_* variables out to
Makefile.config rather than replicating them in each file.

Change-Id: I5f74dcbf544a93716994418bee3be2c51a2a82d0
Reviewed-on: http://gerrit.openafs.org/4781
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2011-06-05 06:50:52 -07:00
Ben Kaduk
352c3e366c Rename libcom_err to libafscom_err
We no longer provide a compatible libcom_err, and in fact
we renamed the symbols in our libcom_err several years ago
to reflect this fact.
When we build on a system where KRB5_LIBS includes
-lkrb5 -lcom_err , the new Unix build system will pick up
our libcom_err (as $(AFS_LDFLAGS) is the first argument in
AFS_LDRULE and pulls in a linker search path for our libcom_err)
which does not provide all the needed symbols for libkrb5.

Fully rename our libcom_err away to avoid these conflicts.

FIXES 128640

Change-Id: Ifdd677609f432d42252b1716fc5e8755f3a44640
Reviewed-on: http://gerrit.openafs.org/3547
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2011-04-26 07:50:11 -07:00
Marc Dionne
fe8897015c Unused variable warning fixes
Fix several simple cases of unused variables.

Change-Id: I6e61ea625c6bcef7b0bc70c61909f22d1f8dd9a7
Reviewed-on: http://gerrit.openafs.org/4504
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2011-04-20 21:26:00 -07:00
Simon Wilkinson
800481a382 update: Tidy up header includes
Since we adopted libroken, we get a lot of header includes automatically
from roken.h. Use these, instead of including lots of things multiple
times.

Change-Id: If090da744a6b096bbfc79292402439a6994062ff
Reviewed-on: http://gerrit.openafs.org/4412
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
2011-04-03 15:32:54 -07:00
Simon Wilkinson
7a0bbff4a6 afsconf: Rework security flags
BuildServerSecurityObjects takes a set of flags, which makes it
hard to use it as a callback function. Rework this so that the
security flags are part of the afsconf directory structure, and
so BuildServerSecurityObjects only takes a rock, and its return
parameters.

Update all of the callers for this new function, and add tests
for it to the test suite.

Change-Id: I48219ed199d128c6aec3765ca425bda9e464b937
Reviewed-on: http://gerrit.openafs.org/4201
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2011-03-13 07:34:28 -07:00
Simon Wilkinson
a9b8fd81bf Remove local crypto
This change removes all of the local crypto use in userspace, in
favour of using our shiny new afshcrypto library.

Change-Id: Iac21b42e49bac424cc28c449a31f2da44121b7e5
Reviewed-on: http://gerrit.openafs.org/2577
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-11-19 05:07:57 -08:00
Simon Wilkinson
e2b4fde0b5 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>
2010-11-17 08:12:29 -08:00
Jeffrey Altman
091b6e19d1 Windows: Cleanup build scripts; no include\afs or include\rx
As part of the build system cleanup, minimize the number of
directories in which include\afs and include\rx paths are included
by default.  To acheive this goal the windows openafs dirent.h is
moved from include\afs to include, references whenever possible to
openafs headers included in include\afs or include\rx are prefixed
with afs\ or rx\ as appropriate.

Some source files or directories have a broad range of interdependencies
that make separation quite challenging.  For those directories or files
the inclusion of the path is added at the smallest possible level.
At some point in the future the WINNT\afsd\ headers should be moved
from include\afs to include\WINNT and should be installed there first
and then referenced internally from that location instead of from the
WINNT\afsd directory.  That will permit further cleanup to be performed.

Change-Id: I5e3a9623071c71db2f4445dc43266fdb3dad2c91
Reviewed-on: http://gerrit.openafs.org/2961
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-12 08:07:00 -07:00
Simon Wilkinson
f22ae5f7d8 Unix: Rework build system
Rework the unix build system so that we support taking CFLAGS and
LDFLAGS from the command line, and don't replace them with our own
settings. Also, take the opportunity to bring some sanity and
consistency into our Makefiles.

The standard Makefile.config  now defines rules for LWP, pthreaded
and shared library builds. The CFLAGS settings for these are
called LWP_CFLAGS, PTH_CFLAGS and SHD_CFLAGS, respectively.
Similarly named variables are provided for LDFLAGS.

A module may select to use a particular build type for its suffix
rule by including either Makefile.lwp, Makefile.pthread or
Makefile.shared from src/config. This creates an appropriate .c.o
suffix rule, defines AFS_CFLAGS and AFS_LDFLAGS as appropriate, and
creates two rules AFS_CCRULE and AFS_LDRULE, which can be used to
build, and link objects. For example:

foo.o: foo.c
	$(AFS_CCRULE) foo.c

foo: foo.o
	$(AFS_LDRULE) foo.o

If a you wish to override the CFLAGS or LDFLAGS for an object build
using these rules (or through the .c.o suffix rule) you can do so,
by defining CFLAGS_<object> or LDFLAGS_<object>. For example:

CFLAGS_foo.o= -DDEBUG
LDFLAGS_foo = -ldebugging

A module may also alter the behaviour of the compile and link steps
module wide by defining MODULE_CFLAGS or MODULE_LDFLAGS.

This functionality is now used throughout the tree:
    *) Suffix rules are used wherever possible, removing a number of
       unecessary build rules.
    *) All link steps are replaced with AFS_LDRULE
    *) All standard compile steps are replaced with AFS_CCRULE
    *) Unusal compile steps are defined, as far as possible, int
       terms of the LWP_ PTH_ and SHD_ variables.
    *) The use of $? has been removed entirely, as it makes it
       impossible to provide build rules with dependency information

Change-Id: If76207e45da402a0ed9d7c1bdbe83c58c911a4f2
Reviewed-on: http://gerrit.openafs.org/2896
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-10-11 08:00:29 -07:00
Marcus Watts
753a316821 death to trailing whitespace
if we're gonna clean up...

Change-Id: I5ab03f29468577b62dacab41a67eadfd8c43f812
Reviewed-on: http://gerrit.openafs.org/2463
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-08-16 21:32:53 -07:00
Marcus Watts
4a531cb706 death to register
in soviet compilers, compiler optimizes you.
stop providing dated (and annoying for debugging) register keywords.

Change-Id: Ibcac0aa3f353fe531b9be0beedca919fb947bfab
Reviewed-on: http://gerrit.openafs.org/2436
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-08-16 21:32:01 -07:00
Derrick Brashear
3514c22d06 generated file target
in order to cross compile, allow a way to generate generated files on the host

Change-Id: I9639f350b179dbeb3d45802e8685da88a3b06c83
Reviewed-on: http://gerrit.openafs.org/2147
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-06-13 20:20:49 -07:00
Derrick Brashear
42a3eaae93 update link order
librx needs libsys on irix to get afs_syscall
libsys needs librx for xdr_mumble for rmtsys

Change-Id: I2e4d9771807546c14f8b16b8805c222d79aab8c1
Reviewed-on: http://gerrit.openafs.org/1386
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-03-22 14:56:43 -07:00
Jeffrey Altman
7b6ccc1b91 Windows: Permit Windows to build
Recent changes added a new dependency of afspioctl.lib to all
server binaries.

Export new afsconf_ functions from libafsauthent.dll

Fix afsconf_* usage in afsio.c

Change-Id: I03e377a3d28b4efbea4a799e6ca63606eab699c9
Reviewed-on: http://gerrit.openafs.org/1273
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-02-09 11:54:37 -08:00
Simon Wilkinson
d008089a79 Add interface to select client security objects
Add a pair of interfaces to support the selection of a security
object by the client. The idea of these interfaces is to abstract
out the job of selecting an interface from the client code itself,
and into a common library. This reduces duplicated code, and makes
it easier to add new security objects in the future.

Change-Id: I2bf411e6b56534070c827d009d36fa8a618c4511
Reviewed-on: http://gerrit.openafs.org/1219
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-02-03 13:07:04 -08:00
Simon Wilkinson
a82f8591a1 Common interface for server security objects
Add an interface for creating arrays of server security objects.
This collects all of the various daemon code for initialising
security objects into one place, reducing duplication and making
it easier to add new objects in the future.

Change-Id: I9df20afccdbac4a610cb5bde32f01069272f27a2
Reviewed-on: http://gerrit.openafs.org/1177
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-02-03 12:07:49 -08:00
Michael Meffie
2b8e09315c Consolidate duplicate definitions
Housekeeping change to consolidate some common definitions.
Create a new common header called afs_consts.h.  This allows
us to remove the afscp.c dependency on afs.h (so src/tests
will build again.) Rename the max filename definition in the
update server package to MAXFNSIZE to avoid a name conflict
with MAXSIZE.  The global defines will be prefixed with
AFS_ in a second patch.

Change-Id: I2b8d555a244cc92d889618de4eec4a99550d7c7f
Reviewed-on: http://gerrit.openafs.org/855
Reviewed-by: Mickey Lane <mlane@sinenomine.net>
Tested-by: Mickey Lane <mlane@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2009-12-21 13:36:05 -08:00
Derrick Brashear
50313a72a9 snowleopard 64 bit warning death
make all errors from warnings when compiling on snowleopard die

as a note, the ukernel pid, and pthread self as id changes, probably
should be revisited, but for now i have changed nothing. it should
be a separate change.

Reviewed-on: http://gerrit.openafs.org/666
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2009-10-16 05:54:46 -07:00
Simon Wilkinson
ace95ffa63 Remove warnings in the update client and server
rx_Read and rx_Write take a datablock which is a char *, rather than a
void *. Cast appropriately.

Reviewed-on: http://gerrit.openafs.org/506
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-09-28 01:35:24 -07:00
Jeffrey Altman
1c12747818 Windows: Permit build system to update symbol store
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>
2009-08-19 10:19:43 -07:00
Simon Wilkinson
967abaf29b Make rxgen emit prototype for ExecuteRequest
Make rxgen provide a prototype in its header file for _ExecuteRequest, and
remove all of the adhoc prototypes from the tree.

Reviewed-on: http://gerrit.openafs.org/247
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-29 18:42:47 -07:00
Marc Dionne
d46713d4bd Parallel make fixes
Fixes several problems with parallel makes in the current source:
- Add '+' prefix to many top-level Makefile commands. This informs make that
the following command should be treated as a sub-make and propagates the -jN
flag.
- Add a few missing dependencies
- Tweak some Makefiles that work with generated header files to prevent cases
where we attempt to use the file while it's being generated
- For the Linux kernel build, eliminate duplicated effort between COMPDIRS
and INSTDIRS, which also prevents conflict between the two in a
parallel situation.

FIXES 125031

Reviewed-on: http://gerrit.openafs.org/3
Verified-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-11 08:07:11 -06:00
Simon Wilkinson
a2e728fe9f Prototypes for the update directory
Prototyping, ANSIfication, and warning cleanup for the update
directory

Reviewed-on: http://gerrit.openafs.org/52
Verified-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Verified-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Russ Allbery <rra@stanford.edu>
2009-07-10 18:30:17 -06:00
Simon Wilkinson
3bb5fa5f1b Remove the RCSID macro
The move to git means that we can no longer populate the RCSID
macro in the way that it was used with CVS. This patch simply
removes the macro from every file, except where it contains
information from upstream (and it's in a comment).

Reviewed-on: http://gerrit.openafs.org/14
Verified-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-09 22:58:37 -06:00
Simon Wilkinson
d5081f264d Remove CVS ignore files
Now we're in git we don't need any cvsignore files any more...

Reviewed-on: http://gerrit.openafs.org/1
Verified-by: Derrick Brashear <shadow@gmail.com>
Reviewed-by: Derrick Brashear <shadow@gmail.com>
2009-07-06 11:03:16 -06:00
Simon Wilkinson
c41a467741 gitignore-20090615
LICENSE IPL10

make gitignore files
2009-06-15 23:29:29 +00:00
Jeffrey Altman
c8ccb88788 windows-libafsconf-20090525
LICENSE MIT

libafsconf.dll has been present since OpenAFS 1.0.  However,
for some unknown reason the components that it consists of
(cm_dns.obj, cm_config.obj, cm_nls.obj) have been staticly
linked into exes and dlls all over the code base.  This commit
removes all of the static references and replaces them with
libafsconf.lib.

libafsconf.dll is also moved from Client\Program to Common
because it is now linked to by server and utility components.
2009-05-25 22:30:24 +00:00
Mike Meffie
58a924fd50 upclient-cleanup-temp-files-20090203
LICENSE IPL10
FIXES 124221

remove tempfiles in the event of a fetching error
2009-02-03 19:44:27 +00:00
Jeffrey Altman
55ac2b7aa7 netrestrict-netinfo-20081129
LICENSE MIT

Rename rxi_getAllAddrMaskMtu to rx_getAllAddrMaskMtu.

Implement rx_getAllAddrMaskMtu for Windows.

Add rx_getAllAddrMaskMtu to the libafsrpc exports list.

Remove restrictions on use of NetRestrict / NetInfo files from
all services on Windows.
2008-11-29 18:55:25 +00:00
Jeffrey Altman
0d368d7c0d windows-update-makefile-20081003
LICENSE MIT

add missing reference to cm_nls.obj
2008-10-03 15:28:07 +00:00
Jeffrey Altman
65bf7cdb6d windows-code-signing-20080702
LICENSE MIT

Add code signing with signtool.exe to the build process.
If all three of the required CODESIGN_xxxx environment
variables are defined, signtool will be used to sign each
exe, dll, and installer as they are built.

The three environment variables are:

  CODESIGN_DESC = <description of application>
  CODESIGN_TIMESTAMP = <url of certificate authority timestamp server>
  CODESIGN_URL = <end user help URL>

The default signing certificate is the one that will be used by
signtool.  If these environment variables are not defined, code
signing will be skipped.
2008-07-02 13:41:07 +00:00
Jeffrey Altman
d094c65f14 windows-cellservdb-location-20080202
LICENSE MIT

Modify the search order for determining the location of CellServDB
and other client configuration files.

1. AFSCONF environment variable
2. registry setting
3. NEW - use All Users\AppData\OpenAFS\Client only if CellServDB exists
4. use Program Files\OpenAFS\Client
2008-02-02 13:38:50 +00:00
Simon Wilkinson
8b8e0935e4 rxgen-ansi-again-20071101
another look at lettign rxgen do ansification
2007-11-01 15:58:59 +00:00
Simon Wilkinson
7d05bd439e openafs-string-header-cleanup-20071030
include only what we need
2007-10-30 15:10:37 +00:00
Derrick Brashear
e0fa8ff72f comerr-rename-20070410
nag nag nag
2007-04-10 19:58:13 +00:00
Russ Allbery
3a34d8cb4f autoconf-likes-relative-paths-20060802
When using the install-sh that ships with the source tree, Autoconf
substitutes in a relative path just to be annoying.  Define the INSTALL
variables in each individual Makefile so that they find the proper file.
Remove the definitions from Makefile.config so that no one will
accidentally get the wrong ones.
2006-08-03 03:37:12 +00:00
Russ Allbery
8df5dcbc91 death-to-pinstall-20060801
Delete pinstall and convert the entire tree to use the install program
found by configure (falling back on install-sh in the local tree).  This
means that we have to pre-create directories with install -d.  Also redo
the install and dest rules to be lists of install rules rather than
dependencies driving separate make rules so that running make install will
always update the target directory with the current code, even if there are
files in the install area that are newer.

Stop installing libafssetpag; we're about to kill it in favor of a
different library.  Remove some djgpp rules.
2006-08-01 21:03:54 +00:00
Jeffrey Altman
941ac04165 ubik-call-sucks-20060704
make ubik_Call removal work on Windows.

====================
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.
====================

another fix for Windows
2006-07-04 22:22:35 +00:00
Derrick Brashear
4478d3a99a ubik-call-sucks-20060703
ubik_Call's pseudo-varargs construction is hideous

put it out of its misery where possible
2006-07-04 04:50:46 +00:00
Jeffrey Altman
7af6b06cb6 rxbind-for-servers-20060620
do not call parseNetFile on Windows where the function does not exist
2006-06-20 21:32:55 +00:00
Derrick Brashear
592d97f947 rxbind-for-servers-20060612
FIXES 32308

support -rxbind switch for servers
2006-06-13 01:28:48 +00:00
Jeffrey Altman
b02d80508f 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
2005-11-06 09:29:36 +00:00
Jeffrey Altman
0b90d69f8a windows-pcache-20050310
This patch applies all of the work done to add persistent cache support,
cache manager debugging, and a variety of bug fixes.  A full description
will be committed within doc/txt/winnotes as part of a later commit.
2005-03-11 05:33:12 +00:00
Derrick Brashear
4e2c9285f4 prototyping-20040623
i had this laying around, i don't know from when, but i should flush it to cvs
2004-06-23 15:27:35 +00:00
Jeffrey Altman
6b488b4c99 batch-commits-windows-20040529
* Fixed DNS lookups to work consistently throughout the OpenAFS
     product instead of just from within the afsd_service.exe

   * Added a runtime check to ensure that AFS Client Service SMB
     Server is accepting connections before attempting to mount
     global drives.

   * Read IP addresses for volume servers out of the CellServDB
     file if gethostbyname() on the hostname fails.

   * Fix getcellconfig() to populate both the Hostnames as well
     as IP addresses when loading cell data via DNS

   * Increase the Connection Dead Time to 50 from 20 seconds
     Increase the Hard Dead Time to 120 from 40 seconds
     (matches the Unix values)

   * Fixed an assertion validating the number of allocated NCBs

   * Fixed the build environment to consistently build for
     Windows 2000 and above.  (APPVER = 5.0)

   * Fixed rx_debug to properly validate the receipt in incoming
     data with select() and recvfrom().  Do not copy data out of
     the socket buffer unless success is indicated.
2004-05-30 00:47:59 +00:00
Jeffrey Altman
21caaae64f ticket-2618-patches-20031207
TICKET 2618

flexelint patches for prototype handling from Joe Beuhler

>>>>>>>>>>>>>>>>>>>>>>>>>>>>

This patch adds a bunch of missing prototypes, makes various
corrections to global prototypes, and removes global declarations that
are not needed.

One set of added prototypes is commented out because it applies to
some printf-like functions that are implemented the way it used to be
done before varargs existed, and they need to be unprototyped or the
code will fail to compile.  (There are a number of functions in the
OpenAFS code that need to be converted to use varargs...)

There is one place of note in src/WINNT/afsd/fs.c where typedefs for
afs_int32 and afs_uint32 conflict with afs/stds.h.  I just added a
note to that effect.

Prototypes in src/WINNT/afsd/fs.c are incorrect for Windows NT.  I
don't know whether the return type involved changes from platform to
platform -- they come from .xg files.

Some prototypes are now commented out or #ifdef'd to match the code
that uses them.

Some global variables conflict between modules and have been made static.
The bufferBlock variable was of two completely different types...

In src/config/stds.h, I changed the declaration of afs_intmax_t to
reflect the fact that the Windows platform supports 64 bit integers.
This may be incorrect semantically, but I believe it is needed for the
%llx format to match afs_intmax_t arguments (for printing of inodes
mainly, I believe).

There were two different declarations for the rxkad_stats structure --
I synced them up.

- Joe

Removed the conflicting typedefs from src/WINNT/afsd/fs.c

Removed the changes to src/config/stds.h.  Added declaration of
AFS_64BIT_CLIENT to src/config/NTMakefile.i386_nt40 instead.

Do not remove unused variables which are defintions of data type
values.  Instead comment them out to avoid space utilization and
warnings.
2003-12-07 22:49:00 +00:00
Jeffrey Altman
61cf9fa731 jbeuhler-flexelint-bugs-found-20031128
This patch covers bugs found by running flexelint on
the CVS code on Windows NT.

- incorrect enum used in al_creds.cpp and various other files
- use of local after it goes out of scope in al_wizard.cpp
- uninitialized class members in afsclass/*
- cm_config.c looks like it has code commented out accidentally
- useless statement in alert.cpp
- no default case handling in problems.cpp
- strange use of & on booleans in set_clone.cpp
- fgets() and fclose() on closed stream in cellconfig.c
- memory leak in cellconfig.c
- *scanf into variables of unknown length in cellconfig.c
- incorrect pointer passed to getAFSServer() in cellconfig.c
- possible buffer overflows in userok.c
- address of array in bos.c
- too many arguments for printf() in commands.c
- return code not saved in bucoord/main.c
- bad types for argv arrays in bucoord/main.c
- probably incorrect initializer list in ol_verify.c
- extra argument to TLog() in lwps.c
- memory leak in cmd/cmd.c
- lack of typecast on malloc() in a couple files
- lower-case L for long constant in touch.c (is it a 1 or an l...)
- parentheses nesting error in util_cr.c
- apparently invalid case fall-through in util_cr.c
- various memory leaks in util_cr.c
- macro missing parens in crypt.c
- macro missing parens in quad_cksum.c
- null pointer deref in kpasswd.c (CVS work in progress?)
- Print_bos_ProcessState_p() code does not look correct
- extra argument to printf() in kas.c
- typo in vsprocs.c
- macro missing parens in iomgr.c
- address of array in threadname.c
- storing result of getch() in char type in waitkey.c (may not match EOF constant)
- storing pointer to local car in global in ptserver.c (benign -- it is in main())
- address of array in rx_lwp.c
- macro missing parens in rx_packet.h
- impossible == (signed vs. unsigned?) in rxdebug.c
- bogus constants in xdr.c and xdr_array.c (possible security implications?)
- incorrect test of fd for open file in update/server.c
- dangerous unparenthesized macro in get_krbrlm.c
- buffer overrun in regex.c
- missing comma causes string concat and bad array init in vlclient.c
- comparison of string < 0 in ntops.c
- default case has no code in vos.c
--
Joe Buehler

>>>>

Comments: Several comments for FIXME left in the code - unaddressed
2003-11-29 22:07:57 +00:00
Jeffrey Altman
98544e6ab4 patch-from-shadow-to-jaltman-bkbox-20031120
This massive patch contains changes in several significant areas for Windows:

- the ability to specify the mount point to be something other than /afs

- functionality to assist debugging of the NT Services

- support for languages other than English (NTLang.bat)

- revisions to the Build system to support separate trees for src, obj,
  dest and free or checked; allow any MS compiler to be used

- updates to NSIS installer build

- mutex locking added to critical locations

- updates to IS5 directory tree creation

- update to afswsNetscape_config.sh
2003-11-21 07:59:35 +00:00