Commit Graph

285 Commits

Author SHA1 Message Date
Marc Dionne
d7b00d5f19 Use intptr_t and uintptr_t for integer/pointer conversions
Use intptr_t and uintptr_t casts to appease the compiler when
values are converted between 32-bit integers and pointers.
This generates many warnings (currently ~170 on linux amd64)
when pointers are 64-bit.

These types are normally defined in stdint.h, and get defined
by autoconf if that's not the case.

In a few places, NULL is simply replaced with 0 where compared
with an integer.

Reviewed-on: http://gerrit.openafs.org/474
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2009-09-28 02:40:48 -07:00
Marc Dionne
48589b5d39 Linux: Restore aklog -setpag functionality for kernel 2.6.32+
With kernel 2.6.32 it is now possible for a process to copy its session
keyring to its parent through the use of the KEYCTL_SESSION_TO_PARENT
function of the keyctl syscall.

We can't use this easily from kernel space to cover all calls to
VIOCSETTOK with the setpag flag - we'd need to make a syscall
or have keyctl exported.  Instead, a hook is added to ktc_SetToken to
make it honour the AFS_SETTOK_SETPAG flag, which was ineffective with recent
kernels.
This should cover the most common cases (ex: aklog) where this is needed.

The syscall is coded directly to avoid introducing a dependency on the
keyutils library or header files which may not be installed everywhere.

Reviewed-on: http://gerrit.openafs.org/463
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2009-09-19 05:15:31 -07:00
Russ Allbery
d96ec9ec03 Stop using sig_t
acinclude.m4 was adding to afsconfig.h some code to define sig_t as the
type of a signal handler.  This definition was in terms of RETSIGTYPE,
which is deprecated by Autoconf.  It also adds an unnecessary abstraction
for only two places in the AFS source code where it was used.  Remove it
and change those two spots to use the standard C declaration of the
function pointer.

Reviewed-on: http://gerrit.openafs.org/335
Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-09-10 05:46:40 -07:00
Russ Allbery
5dd137c474 Turn on --enable-bos-new-config unconditionally
Remove the conditional and Autoconf flag for enabling BosConfig.new
handling and change bosserver to always rename BosConfig.new to BosConfig
on startup if the former exists.

Document BosConfig.new handling in the bosserver and BosConfig man pages.
Tone down the warning about the BosConfig file format changing and warn
that bosserver rewrites BosConfig when shutting down.

Reviewed-on: http://gerrit.openafs.org/211
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2009-09-01 09:46:37 -07:00
Russ Allbery
a59df36211 Add automatic sysname detection for ARM Linux
Add arm*-linux* to the case statement that attempts to automatically
determine the AFS sysname, similar to the other Linux sysname
determination cases.

Reviewed-on: http://gerrit.openafs.org/334
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-08-26 08:34:46 -07:00
Marc Dionne
581ec9f06a Eliminate some "implicit function declaration" warnings
Include appropriate header files to eliminate some warnings for
implicit function declarations.  These are simple cases that don't
generate new warnings because of the prototypes.
Use grp.h if it exists to get setgroups() definition.

Reviewed-on: http://gerrit.openafs.org/233
Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
2009-07-27 10:55:35 -07:00
Andrew Deason
7b0b6a0ce9 Enhance audit logs to support SysV message queues
Adds support for sysv message queues for fileserver audit logs. This
also organizes the audit log code into various 'interfaces', of which
there are two: the original 'file' interface, and the 'sysvmq' interface
that this adds. The interface is configurable at runtime with the
-audit-interface switch.

FIXES 124674

Reviewed-on: http://gerrit.openafs.org/82
Tested-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-24 12:39:57 -07:00
Russ Allbery
8af5762909 Clean up some obsolete Autoconf code
Remove hand-crafted equivalents of AC_SEARCH_LIBS for socket, connect,
and gethostbyname functions.  The only effective difference between
this code and AC_SEARCH_LIBS was to define the HAVE_* macros for the
functions, which are not used anywhere in the tree.

Remove AC_FUNC_SETVBUF_REVERSED.  This call no longer does anything in
current versions of Autoconf since the last system with this problem
was based on SVR2 and became obsolete in 1987.  Remove the one place in
the source tree where the results are used.

Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/154
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-23 16:46:29 -07:00
Matt Benjamin
43ec8a64eb Refactor OpenBSD param files into common and architecture-specific
sections.

The new structure follows the pattern of the NetBSD param files, as
suggested by Derrick.  Since the change is retroactive, it seems
reasonable to also make the retroactive change to add the amd64 param
files, back to OpenBSD 3.6.  OpenBSD 3.6 added SMP support for x86_64,
so the architecture was a mature subtarget at that point.

Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/177
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-23 10:43:57 -07:00
Matt Benjamin
dbdd3190a7 Add amd64 subtarget for OpenBSD
The subtarget name is amd64_obsd.  A sysname is created for the
OpenBSD 4.5 release, since it's current.  The sysname id range starting at
4000 is claimed for amd64_obsd, with amd64_obsd45 at 4014, so that prior
releases can be added in the correct order, if needed.

Mention of Jim Rees and CITI in new param file changed to line crediting
them for original work.

Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/153
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-21 15:01:14 -07:00
Russ Allbery
79f00021ce Provide an AFSDIR_DATA_DIR path for architecture-independent data
Add AFSDIR_DATA_DIR to dirpath.h, defined to be the location for
installing and finding architecture-independent data files.  Add a
corresponding AFSDIR_CLIENT_DATA_DIRPATH macro that retrieves the
possibly-prefixed version of this path.  This will be ${datadir}/openafs
with normal UNIX installation paths and /usr/vice/etc for Transarc
paths.  Since there is no apparent need for this path on Windows, it
is not defined in Windows builds.

The only intended use for this path for right now is the message
catalog for fstrace.

Reviewed-on: http://gerrit.openafs.org/91
Verified-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-16 11:06:28 -06:00
Derrick Brashear
1d1ae6195b MacOS 10.6 support update
Make things build on MacOS 10.6 again. Don't break 10.5 build.
Fix an error in the MacOS port which was left from previous head.

Reviewed-on: http://gerrit.openafs.org/96
Verified-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-16 08:59:53 -06:00
Russ Allbery
2510a6ec67 Ensure PAM modules are built PIC and pthread-aware where needed
Link the PAM modules against libafsauthent_pic and libafsrpc_pic instead
of the large collection of LWP AFS libraries so that they are always
built PIC, even on platforms that don't normally build everything PIC.
This also uses the pthread-aware version of the AFS routines on platforms
that support it, avoiding conflict problems between LWP in PAM modules
and pthread in a calling application.

Build a separate copy of ktc.krb.o in the pam directory for pam_afs.krb
since there is no AFS_KERBEROS_ENV-aware version of libafsauthent.

Enable the PAM module build by default on x86_64-linux now that it's
properly built PIC and can compile.

Stop ignoring build failures in the PAM modules if they're configured to
build.  On platforms where they should not be built, they should be
excluded in acinclude.m4.

Reviewed-on: http://gerrit.openafs.org/65
Verified-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-13 14:40:40 -06:00
Russ Allbery
c8920835ae Probe for getcwd in configure
src/venus/test/fulltest.c wants to use getcwd and expects HAVE_GETCWD to
be defined, but we weren't probing for it in configure.

Reviewed-on: http://gerrit.openafs.org/51
Verified-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-11 08:38:29 -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
Marc Dionne
4ca66112c2 linux-keyring-export-check-20090701
LICENSE IPL10
FIXES 125001

check for key_type_keyring being exported; only use it if so
2009-07-01 21:56:48 +00:00
Andrew Deason
ee72f25104 osol-solookup-20090624
LICENSE IPL10
FIXES 124924

update for new opensolaris solookup function signature
2009-06-24 22:38:15 +00:00
Simon Wilkinson
091139b3e2 linux-allow-disabling-syscall-probing-20090602
LICENSE IPL10

give a configure switch to allow disabling syscall probing
2009-06-02 19:31:45 +00:00
Derrick Brashear
be47f4de05 vfsck-conditional-for-namei-20090602
LICENSE IPL10

make build fly again on solaris when namei and not inode is in play
2009-06-02 18:39:28 +00:00
Derrick Brashear
0a617e3323 xml-versioning-take-two-20090601
LICENSE IPL10

deal with this in a way which does not trip creation of CML state config files
2009-06-01 18:51:45 +00:00
Derrick Brashear
e452c704c5 xml-doc-building-glue-20090527
LICENSE IPL10
FIXES 124804

add configure switches for building docs. generate version files needed.
2009-05-27 20:44:24 +00:00
Simon Wilkinson
49b7bbdd3b linux-byte-range-locks-sensibility-20090526
LICENSE IPL10
FIXES 124766

make our locks work correctly with the linux connectathon lock testing
2009-05-27 01:47:40 +00:00
Derrick Brashear
070f02923c ukernel-use-fsblkcnt-20090513
LICENSE IPL10
FIXES 124681

blkcnt_t doesn't exist on fbsd, macos 10.3, and isn't really the right type.
this is the right type, but also can be missing. test appropriately.
2009-05-13 22:34:56 +00:00
Marc Dionne
326ffcc108 linux-fh-based-cache-20090511
LICENSE IPL10
FIXES 123620

rework previous fh-based cache support. now allows use of
arbitrarily large file handles, and build correctly for UKERNEL.

we now just use this if there's no iget, instead of providing a configure
switch.

because this relies on the somewhat invasive patch from 124184 it is not
currently pulled up to 1.4.x
2009-05-11 14:39:58 +00:00
Matt Benjamin
25f13f3806 dragonfly-bsd-userland-20090427
LICENSE IPL10
FIXES 124702

add support for dragonflyBSD's userland
2009-04-27 19:29:09 +00:00
Marc Dionne
d0a166bdff linux-2630-maybe-20090331
LICENSE IPL10
FIXES 124560

hopefully support 2.6.30 when it's released
2009-03-31 13:16:17 +00:00
Derrick Brashear
4bf68765b6 sig-t-exclude-multiple-20090321
LICENSE IPL10

disallow multiple typedefs of sig_t
2009-03-21 15:39:05 +00:00
Derrick Brashear
3e034dcb6c aix51-pag-header-20090320
LICENSE IPL10
FIXES 124522

no sys/pag.h until 5.2
2009-03-20 22:44:54 +00:00
Marc Dionne
bf9dc554b3 linux-key-alloc-changes-20090318
LICENSE IPL10
FIXES 124507

Fix the old configure test for key_alloc for the task argument - we
can't just rely on the number of arguments anymore. Wish this could be
done without using -Werror.
Add an additional test for the struct cred argument
2009-03-19 04:02:18 +00:00
Derrick Brashear
2d683a880b socklen-t-check-20090316
LICENSE IPL10

verify we have socklen_t and if not, get it
2009-03-16 16:14:12 +00:00
Derrick Brashear
7815171a8d irix-no-sig-t-20090316
LICENSE IPL10

correct the sig_t checking macro
2009-03-16 15:48:20 +00:00
Derrick Brashear
61dadb6458 irix-lacks-sig-t-20090315
LICENSE IPL10

sig_t is missing on irix
2009-03-16 03:44:36 +00:00
Simon Wilkinson
9093f0cf15 linux-nfstrans-test-20090123
LICENSE IPL10

test for nfs translator before enabling
2009-01-23 14:31:22 +00:00
Marc Dionne
24a5d12bae linux-2629-20090115
LICENSE IPL10
FIXES 124115

add 2.6.29 support
2009-01-15 13:26:55 +00:00
Andrew Deason
47ac8ba702 libuafs-set-fileoffsetbits-20090112
LICENSE IPL10
FIXES 124093

make libuafs work with things which expect to be able to use native file
sizes etc
2009-01-12 14:11:36 +00:00
Simon Wilkinson
f49bf1d919 linux-truncate-race-20090109
LICENSE IPL10
FIXES 124094

avoid a race during truncation which trips an issue when fsx is run
2009-01-09 15:09:14 +00:00
Andrew Deason
2d07a62c38 ac-verbatim-include-undefs-20090109
LICENSE IPL10
FIXES 124077

the undefs for things which are not ac macros ended up outside the ac verbatim
blob. fix it.
2009-01-09 14:50:48 +00:00
Matt Benjamin
c63e2541e5 amd64-fbsd-20081215
LICENSE IPL10
FIXES 123811

add support for fbsd 7.1, amd64 fbsd
2008-12-15 20:37:51 +00:00
Tracy Di Marco White
122833a44e netbsd-acinclude-typo-20081117
LICENSE IPL10
FIXES 123647

fix netbsd version tests for amd64
2008-11-17 23:14:02 +00:00
Marc Dionne
117066c481 missing-linux-fh-configure-switch-20081113
LICENSE IPL10
FIXES 123620

add missing hunk to acinclude
2008-11-13 13:47:52 +00:00
Marc Dionne
041f09e17b linux-new-aop-20081108
LICENSE IPL10
FIXES 123580

support for 2.6.28
2008-11-08 16:49:25 +00:00
Marc Dionne
4eab64ebd8 linux-fh-based-cache-20081108
LICENSE IPL10
FIXES 123620

use linux fh (exportfs api) to do cache file access. conditionalize based on
configure switch.
2008-11-08 16:34:24 +00:00
Marc Dionne
18e78d91e7 linux-disable-readahad-20081108
LICENSE IPL10
FIXES 123604

The code has long contained a backing_dev_info structure, but it
was never attached to anything.  Initialize its use properly with
bdi_init, and attach it to i_mapping for every newly filled inode.
bdi_init and bdi_destroy are needed for proper initialization of
some percpu counters, otherwise we get some oopses.
2008-11-08 16:09:25 +00:00
Marc Dionne
bc9c0a1415 autoconf-262-support-20081020
LICENSE IPL10
FIXES 118058

fix the quoting and remove the tests we shouldn't need anymore
2008-10-20 13:34:58 +00:00
Mike Meffie
9be6b92a17 linux-alt-builddir-fix-20081014
LICENSE IPL10
FIXES 121650

correct the if test to include missing x
2008-10-14 15:38:30 +00:00
Stefaan De Roeck
726fc5b842 linux-alternate-kernel-builddir-20081012
LICENSE IPL10
FIXES 121354

add support for KBUILD_OUTPUT=... builds.
2008-10-12 19:01:58 +00:00
Derrick Brashear
af0b03055e find-new-xbsa-first-20081007
LICENSE IPL10
FIXES 119162

change test order
2008-10-07 19:51:25 +00:00
Derrick Brashear
eb875d3034 ah-verbatim-section-tweak-20080925
LICENSE IPL10

remove PACKAGE and VERSION
2008-09-25 17:59:52 +00:00
Derrick Brashear
9d09de799b acfooter-inline-20080925
LICENSE IPL10

based on work by mdw@umich.edu
2008-09-25 15:41:02 +00:00
Matt Benjamin
9d63160ccc bypasscache-20080922
LICENSE IPL10

add cache bypass support (currently linux only)
2008-09-25 12:42:02 +00:00