In 2.6.35, the fsync file operations drops the dentry argument.
Add a configure test and cope.
Change-Id: Iaf660808d52688a4a8fd53a76d8d055602f746b9
Reviewed-on: http://gerrit.openafs.org/2064
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Tested-by: Derrick Brashear <shadow@dementia.org>
AC_CHECK_LINUX_STRUCT for the check for ctl_name in ctl_table instead
of AC_CHECK_LINUX_FUNC.
Change-Id: Ia0e0de5d62ce7f702a3f1d7a5cd4d19ef726095c
Reviewed-on: http://gerrit.openafs.org/2057
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
don't open /dev/console in the fileserver. if you want this,
let syslog do it.
Change-Id: I1d7c0fb4a8582b6c781acdb9ae0764b64dc1c301
Reviewed-on: http://gerrit.openafs.org/1986
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Update and revise chapter one (An Overview of OpenAFS Administration)
of the Administration Guide for current AFS and current computing
concepts.
Replace the Kerberos Server terminology with Kerberos KDC and add
additional details about the relationship between AFS and a Kerberos
KDC. Remove some remaining Authentication Server references. Add
some details about the Protection Server management of the mapping
from Kerberos principals to AFS IDs.
Remove some now-obsolete distinctions and concepts between mainframes
and workstations and recommendations for server systems.
Reorganize the order in which the servers are discussed to follow a
somewhat more natural order.
Be clear that the Backup Server is optional and that there are other
methods available to back up AFS. Mention backing up to disk as well
as tape in a few places.
Change-Id: I57ce083a84ca2a44f7a4383d80b05508e6448284
Reviewed-on: http://gerrit.openafs.org/2045
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Purely reformatting to make the document more maintainable. There are
no content changes.
Change-Id: Ic3fb32ef68c14418b3ac6bab92fda759db89b394
Reviewed-on: http://gerrit.openafs.org/2044
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Add the k_haspag function to libkopenafs, which returns true if the
current process is in a PAG and false otherwise.
The implementation currently duplicates code from the ktc_curpag
function since the latter calls the regular pioctl() interface and
hence introduces an Rx dependency that we're avoiding for libkopenafs.
This should be refactored to avoid the code duplication at some point,
but that will require building a utility library that can be reasonably
linked into libkopenafs and is therefore deferred for future work.
Change-Id: Ib97322ef24dc3a4e48cb45090c516c95b71e9fc7
Reviewed-on: http://gerrit.openafs.org/2041
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Recent libuafs changes changed the libuafs initialization API. Add a
uafs_Init wrapper for compatibility in case someone is using the old
way.
Change-Id: I30611479e0c281526dc52ac6a1969ae526886537
Reviewed-on: http://gerrit.openafs.org/2047
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Use the correct data structures for BOS timestamps. Use afs_int32 for
the expressed timestamps for executables since that's what the BOS RPC
says it's using for right now; we should change this, but when we do,
warnings will catch this use along with the others. Cast some const
char *'s that are passed into BOS functions that take char *'s.
Change-Id: Iff3a6c42241953ed086f8e739cdb344a41a44635
Reviewed-on: http://gerrit.openafs.org/2050
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Provide a more useful abstract and remove the (outdated) specific list
of supported platforms and the M.m version number placeholders. Update
the list of associated documents to match their current titles, and
provide a better description of the Reference Manual.
Reformat the parent document and preface for easier maintenance in the
future.
Change-Id: I42ce78274ed7c4ca7a2f0b9c5ec2e6f7a786adb8
Reviewed-on: http://gerrit.openafs.org/2043
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Remove the 'afsd' symlink in the build setup, along with the other
symlinks. Otherwise, we try to recreate it every time and fail, since
it already exists.
Change-Id: I8fd70d6c29695f92a5a800bea34630221d142370
Reviewed-on: http://gerrit.openafs.org/2046
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Add entries to NEWS for all development releases back to 1.5.36, which
is the point at which I got bored, taken from the release announcements
to openafs-announce. Try to use a relatively readable and consistent
formatting for all the entries and convert the old entries to the new
format (mostly).
Further history can be added from the release announcements when I or
someone else gets bored.
Change-Id: Iaf9171c82ca74cd98be3745d9c1965efc39d889a
Reviewed-on: http://gerrit.openafs.org/2036
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Include additional missing header files for proper function prototypes,
define TRUE and FALSE, and declare krb5_clear_error_message as unused
so that the config_file.c will compile and pass --enable-checking.
Make the build depend on krb5_locl.h.
Change-Id: I25a35098aa81c9d2a0efea48257dcb958602c785
Reviewed-on: http://gerrit.openafs.org/2040
Tested-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The width variable was declared twice, for the whole function
and also within the for loop, leaving the first one unused
and triggering a warning and a failed build with enable-checking.
Change-Id: Idd061aa0e9eff1f158bfdbd67a20fe5876570089
Reviewed-on: http://gerrit.openafs.org/2039
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Currently, ubik application cached data could be updated and read by
different threads simultaneously. Add a mechanism in ubik for
protecting accessing and updating the cached data. This adds the
function ubik_CheckCache to do this, and removes ubik_CacheUpdate as
an exported function (since it's not safe).
Update all callers to use the new mechanism. In ptserver, remove the
'initd' variable; just rely on cachedVersion and ubik_CheckCache to
tell us when to re-read the database. Remove db.lock in buserver and
cheader_lock in kaserver, which served similar (though not completely
threadsafe) protection as ubik_CheckCache. Add the ubik database lock
cache_lock to protect the application cache.
Change-Id: I857a67d410e2c539197c5212c3b114c3fd0403c2
Reviewed-on: http://gerrit.openafs.org/1546
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Russ Allbery <rra@stanford.edu>
Change references to the documentation sets that we still ship to
reference the OpenAFS manuals instead of the IBM AFS manuals. Remove
references to the IBM AFS/DFS Migration documentation, since that
doesn't appear to be available anywhere any more, replacing them where
relevant to more generic references to the DFS documentation. Add
links to docs.openafs.org for mentions of the manuals in SEE ALSO, and
standardize on one link format. Replace a few references to the IBM
AFS Release Notes with the actual information in those notes, or drop
the reference if it doesn't seem particularly useful.
Change-Id: Ie9666842f1315891c6a9c37c0424200f4b78bff7
Reviewed-on: http://gerrit.openafs.org/2031
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
this is a cheap way to ensure one nat ping per server. basically,
only do it for the one unauth connection we have.
Change-Id: I4583112d7b4a10a0e8f524795527d99a5b2adf51
Reviewed-on: http://gerrit.openafs.org/2010
Reviewed-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
salvager and salvageserver's documentation of -oktozap says to not use
without consultation with AFS Development or Product Support, left over
from the IBM product. Remove those references and add a caution more
in line with open source.
Change-Id: I136dc145caf3e8e3a992c239e1a46d86f96580ed
Reviewed-on: http://gerrit.openafs.org/2030
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
The -rebuildDB flag was documented to rebuild the Protection Database at
startup, but it was accepted and ignored in the ptserver source, doing
nothing. Remove the documentation and the option recognition in ptserver.
Change-Id: I36f30f38464b602cb4739a958663a6feb5fe27bf
Reviewed-on: http://gerrit.openafs.org/2029
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
-fastKeys wasn't accepted by the kaserver binary, but was still
mentioned in the usage message and the kaserver man page. Remove
the remnants of the flag.
Change-Id: Ifb3ae49ea0cab80c325a77b0eb1062944697b53d
Reviewed-on: http://gerrit.openafs.org/2028
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
This adds a Kerberos INI style config file parser to OpenAFS, using
the parser contained in Heimdal as a base. Currently, it only exports
a very small number of functions, but exporting further functions is
simply a matter of adding additional shims to hide the Kerberos
context and other specifics.
Note that we don't want to just use the parser as a library because
firstly, we don't want OpenAFS to have a Kerberos dependency (as
other crypto mechanisms will, and do, exist). Secondly, MIT and
Heimdal use a different API here, so we would have to shim anyway.
Also, our own parser means that we don't need to worry about passing
in the krb5 context, and all of the issues that that presents.
Change-Id: Ic0a5ddf03266c454827c6505d5f6ffefcddd2614
Reviewed-on: http://gerrit.openafs.org/1935
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Adds new command line option to scout so users can set the
number of characters to display without truncating.
Change-Id: I69f159549d7f5b4cfee26c276ad34705f504ee2b
Reviewed-on: http://gerrit.openafs.org/1951
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
the read returns a 32 bit type; we can't possibly need to write 64 bits.
(ssize_t is 32 bits on macos and so this ends up being a bad shift)
Change-Id: I4d8f99b0c752a2c75ce65b9cfa1b3cb0d484cc7f
Reviewed-on: http://gerrit.openafs.org/2024
Reviewed-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
We have two LICENSE files, which had been somewhat independently
modified. Resynchronize them, remove trailing whitespace, and convert
from ISO 8859-1 to UTF-8.
Change-Id: Ia3dba0e328e7f026362e2e8efda206c34ce4e768
Reviewed-on: http://gerrit.openafs.org/2025
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Fix handling of a NONODE case in cm_BPlusDirDeleteEntry. Previously in
this case, the routine referenced uninitialized memory.
Change-Id: Ic3e3520b4c28ccc52e04486777bdcf0c5e54ef1f
Change-Id: Id57a72112caf55b4b84ed64f709b8b73c72b7866
Reviewed-on: http://gerrit.openafs.org/2017
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
This commit updates the code imported from the external
heimdal git repository to their revision
64651b4be5be1eaacd4388c428cb936cb8be34b5 which is
described as switch-from-svn-to-git-1210-g64651b4
This commit imports the Heimdal configuration file parser.
Change-Id: I9e061c439f9aabd4f09c876811bd1033d3f25f22
Reviewed-on: http://gerrit.openafs.org/1934
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
it's very easy for the size of server preferences to be too large for the
default buffer. cope.
Change-Id: I0535edf784eb9e9a309dc17e571719e204b9d29b
Reviewed-on: http://gerrit.openafs.org/2021
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Remove unused autoconf macros - they're not being called, and so
have bitrotted, and are just cluttering up the tree.
Change-Id: Ib2d1fc5121b6845cf0b500e5aef8ca822be58ad3
Reviewed-on: http://gerrit.openafs.org/1971
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
If we are building for are kernel with keyrings, and we can
guarantee that we can make use of those keyrings, then we no longer
need to probe for the syscall table at all. Change our default
behaviour so that when these two conditions are true, syscall probing
is disabled. Both --enable-linux-syscall-probing and
--disable-linux-syscall-probing can be used to override the
autodetection and force things one way or the other.
We have to check that we can use the keyrings because there was a
window in the 2.6 kernel series where keryings were available, but
the key_type_keyring definiton (which we use to create the session
keyring) wasn't exported. In that situation, we attempt to traverse
the process table and use the type of init's session keyring. This
traversal is fragile, and if it fails, keyring PAGs will be disabled.
So, we still want to be able to fall back to patching the syscall
table, if we can, in this case.
FIXES 125215
Change-Id: I11ba5c68fe37609bbd6b9c9f7e7c699334f42ebc
Reviewed-on: http://gerrit.openafs.org/2002
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Correct many uses of incorrect types for file offsets, sizes, etc. in
the volume server, fileserver, and the volume package.
Thanks to Tom Keiser who pointed out the incorrect types and suggested
solutions.
Change-Id: If4aedfe0cc06d05b3775069ae1285d4c330976cd
Reviewed-on: http://gerrit.openafs.org/1920
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Russ Allbery <rra@stanford.edu>
The results of libafs_tree are supposed to build on any platform that
shares the same basic kernel code, but this had broken in two ways:
libafs_tree was including a pre-built afs/param.h, which needs to be
regenerated on different architectures, and the Linux kernel build
makefile was being pre-generated despite having some architecture-specific
options.
Copy over more of src/config and postpone generation of afs/param.h and
generation of libafs/Makefile to the libafs build.
Remove the substitution of AFS_SYSNAME from make_libafs_tree.pl; it was
unused and now definitely shouldn't be used since it will break the
architecture-independence of the resulting tree.
Change-Id: I2730d3745cc67cf5f3ae61cf4643842f87865a80
Reviewed-on: http://gerrit.openafs.org/2019
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Use AC_TYPE_SSIZE_T to handle the ssize_t check (introduced in Autconf
2.60). Use AC_CHECK_TYPE, not AC_CHECK_TYPES, to check for sig_atomic_t
and socklen_t, and define them in afsconfig.h if they're not present on
this platform. Do not define them in stds.h, since stds.h is an installed
header file and cannot rely on Autoconf defines.
Change-Id: I80e1a00efc84420002a95d6cafc25ea70befa49d
Reviewed-on: http://gerrit.openafs.org/2018
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Mention in the fs getserverprefs and fs setserverprefs documentation
that VL servers may also come from DNS AFSDB and SRV records. Document
that SRV record information is not (yet) properly used.
Change-Id: I223efedf4d00ac1b57b3dce74a807790691abdbf
Reviewed-on: http://gerrit.openafs.org/2015
Tested-by: Russ Allbery <rra@stanford.edu>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
if we have the server info, give an address with the error.
we could probably give the program name too, as for flock
warning, but...
Change-Id: I508572357c8c7027003900156dbb1a09ace04731
Reviewed-on: http://gerrit.openafs.org/1851
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
for a new server, getcapabilities is not safe, as cell may not be filled.
Change-Id: I0926034c1d9e9c8c08e7ca993de1bcef9c0de8cf
Reviewed-on: http://gerrit.openafs.org/2016
Reviewed-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
vldb_check was reading a volume at the index rather than the file
offset to read the volume. This was giving rise to phantom warnings
since the hash was usually 0.
The possibility of a broken flink is determined in another manner
which is why in normal case we are not flooded with warnings.
At the same time make the error message slightly more coherent.
Change-Id: I35f237772819f6418eb9f8d77e0902bca28c4134
Reviewed-on: http://gerrit.openafs.org/1983
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
There's no need for the retrans retry test to be a TRY_RUN test,
TRY_COMPILE will pick up the existence of the '_res' structure and
its elements.
Also, clean up the use of the cache variable to set the result. In
the old implementation a true test result would print '1', not 'yes',
a false result would result in bad output in the config.log, and a
cross compiling output would give
#define HAVE_RES_RETRANSRETRY no
which will give unexpected results with #ifdef tests.
Change-Id: If78c1b01ee89242c67f87238ca502ce43718c6a2
Reviewed-on: http://gerrit.openafs.org/2014
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Clearly prefer asetkey to bos addkey in the KeyFile, bos addkey, and
bos listkeys man pages. Reference asetkey list and asetkey delete as
alternatives to bos listkeys and bos removekey. Distinguish between
Authentication Server cells and Kerberos v5 cells and mention the
preferred afs/<cell> principal format. Add some cautions around
matching enctypes and salts when synchronizing keys with a v5 KDC.
Update man-pages/README for completion of this task, clean up some
other wording, and remove some other now-irrelevant information.
Change-Id: I29b83a61cbdb08de508bdb313524a307e385044b
Reviewed-on: http://gerrit.openafs.org/1938
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Russ Allbery <rra@stanford.edu>
Catch up to 2005. Giant has not been needed for vnode page
operations for quite some time now.
Change-Id: I59c7b4fb1f7cd4133d459d801db9bb6d9cef866f
Reviewed-on: http://gerrit.openafs.org/2012
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The out label is no longer used and triggers a warning.
So just remove it.
Change-Id: Ic701b82fcd4f93ddf3673dbc16618201314f6fb3
Reviewed-on: http://gerrit.openafs.org/2000
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Remove uneccessary warning inhibition in vol/
Update README.WARNINGS to match the current state of the tree
Change-Id: Ic1e5c74e0e7c2ccce0519b1572034f3666aa75e9
Reviewed-on: http://gerrit.openafs.org/1392
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The Linux read/write file operations take a position. Use this
position to determine where we're reading or writing in a file,
rather than using the vfs_llseek() operator to set the file
position argument. This avoids a potential race condition, as
well as simplifying this code.
Change-Id: I82b4a109f9871fa2ce5b308bc32923b1bf910920
Reviewed-on: http://gerrit.openafs.org/1993
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
if binary restart times are enabled, dafs restarts every time due to
a flawed comparison. fix it.
Change-Id: I7eff4eb6406dc7eef12c75491191566a906a4adf
Reviewed-on: http://gerrit.openafs.org/1992
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
This patch uses the new osi_procname() macro to obtain the process
name for setpag() warnings on BSD and Darwin, and osi_curproc() to
obtain the process identity, simplifying the code.
Change-Id: I1f8a4d4bbcdb09eaeea3712b1fffd1aaa3cd2fa7
Reviewed-on: http://gerrit.openafs.org/1878
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Matt Benjamin <matt@linuxbox.com>
Tested-by: Derrick Brashear <shadow@dementia.org>