Commit 7a5cee30cc changed the way
that errors from llseek are dealt with. Unfortunately, it is missing
some all important bracing, and so we end up going down the error
path, even when the llseek succeeds.
My fault. Sorry.
Change-Id: I03061ba0663b610a8fb73a08d257f6d786795076
Reviewed-on: http://gerrit.openafs.org/1194
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>
we were using the wrong level of indirection on acred. fixed.
Change-Id: I00ab1a97b42717adc2d9d26e885b91c44103ab1d
Reviewed-on: http://gerrit.openafs.org/1190
Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Always use ->storeproc() and avoid branching
"do or do not -- there is no try"
Change-Id: Idbcf0c80930d6a433b4c921b44db28cb6fbbf9bb
Reviewed-on: http://gerrit.openafs.org/1073
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The Darwin build uses ARCHFLAGS to control the architectures it
builds binaries for. However, this causes problems for standalone
builds which just do ./configure && make. So, if ARCHFLAGS is
undefined, ask gcc which architecture it thinks that it is
building for, and use that.
Change-Id: If9e7dc3c41ded5ac0593ae20ddd741690914a699
Reviewed-on: http://gerrit.openafs.org/1181
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
don't choose 64 bit arches for the prefpane if we're not on macos 10.6
sadly, this is the best i can do to conditionalize
Change-Id: I31fb2e10fbef5c66a27e0170e8925513a1b63050
Reviewed-on: http://gerrit.openafs.org/1180
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
if we're going to oops, print a little more info about why. in this case,
knowing why dentry_open failed would help
Change-Id: I78a3c97d67c7c29110de975465cce0edd6367496
Reviewed-on: http://gerrit.openafs.org/1173
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
for some reason we prototype it differently. makes xdr_free sad.
Change-Id: Icd6060acd922314fc400aa2fe360c662ec705fa6
Reviewed-on: http://gerrit.openafs.org/1179
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
updating for non-c99 and for no vprintf in the irix kernel
Change-Id: Id7239dae35ff195007c615319522827d06395f8f
Reviewed-on: http://gerrit.openafs.org/1178
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
added ignore for OpenAFS.Description.plist as it is now generated
Change-Id: Icbad9f8bbbdd5be6604838366d14f648eec05ee4
Reviewed-on: http://gerrit.openafs.org/1171
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The cm_Freelance_Lock must not be held before calling
cm_FreelanceAddMount(). cm_InitLocalMountPoints() was violating
this requirement. It is safe to drop the lock because the only
time the lock would be dropped is if the "Freelance" registry
key does not exist. This should only be true during the initial
startup of the application the first time afsd_service.exe
executes on the machine. At this point in time there is only
one thread that is executing that could be initializing the
Freelance mount point list.
LICENSE MIT
Change-Id: Ib49cf8bc830836c8e08446073e64ccf30086d354
Reviewed-on: http://gerrit.openafs.org/1164
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>
Keys associated with PAGs are created with root ownership for
security reasons, which means that they count agains root's
keyring quotas. The default configuration used by most distros
restricts root to the same quotas as a regular user, so a single
user can potentially fill up the quota and prevent new pags from
getting created system-wide.
This can also be an issue for busy multi-user systems where the
default maximum number of keys (200 currently) can easily be reached.
Change-Id: I37e3f3d881facff9b14f2057b404d4b441e72305
Change-Id: Id1ef2d5a7109d8ee7c08aa81dfd98ecf951c8ba8
Reviewed-on: http://gerrit.openafs.org/1167
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
solve the "are we built for linux fh or inode" problem: just always use path.
Change-Id: I076ee495b29e4a2dc964ce04001f86e100528fb6
Reviewed-on: http://gerrit.openafs.org/1133
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Change the xdr_free function so that it matches in signature and
behaviour the xdr_free that is available in other xdr packages, and
update all callers.
Don't use xdr_alloc where the data we're allocating isn't freed by
xdr. The only place where xdr_alloc is required is in server stubs
when filling OUT parameters.
Change-Id: Ice231f163726afc374cb25a89302e3d82fa1e093
Reviewed-on: http://gerrit.openafs.org/1168
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
instead of worrying about ranlib versus ranlib -c, -fno-common, etc,
just initialize the variables if an initializer exists
Change-Id: I6ed28df4d2134f84359a1bc55706e75d54e6e083
Reviewed-on: http://gerrit.openafs.org/1166
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
we don't check here that no one else is working the tq *after* getting the
lock. do so.
Change-Id: I91d1ac020334b038a6a045734911335299613875
Reviewed-on: http://gerrit.openafs.org/1159
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
if we get an error reading data, don't subtract it from the length
stored statistic
Change-Id: I2fec260a9f677c0747ff2c6f975745ccb1e58447
Reviewed-on: http://gerrit.openafs.org/1165
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
fix the indirection here to be correct.
ifnet_list_get needs a pointer to a pointer for the ifnet structure
Change-Id: I81bd7c383c63cc1e312fcfd482d7162d50f6f1d3
Reviewed-on: http://gerrit.openafs.org/1158
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
link kernel to correct ifaddr symbol for withnet
Change-Id: I384974bef73b9cc44eba7ddba43f28f65c03f39b
Reviewed-on: http://gerrit.openafs.org/1157
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
we'll never be able to "build" -lresolv
revert this part
Change-Id: I2b1caa5bffc3d826412967fb70d9eadf8223f1f8
Reviewed-on: http://gerrit.openafs.org/1154
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
If llseek fails, then we return immediately, potentially leaving the
wrong address space configured for this process, and without resetting
the processes saved limits.
Fix this by creating a common exit point for osi_rdwr, and using it.
Change-Id: Ifff8cb0155f92a4130d21828d5ee2d2a55c09195
Reviewed-on: http://gerrit.openafs.org/1155
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Creating a session keyring can fail, for instance if the user's
keyring quotas are reached (number of keys/keyrings or data size).
Instead of ignoring errors, return them so they can be passed back
to the caller.
FIXES 126230
Change-Id: I745abeef4b3b8e4c3ab1b90667c6a5478c1e0ad2
Change-Id: I4b0ce6423ee493fbbcbdac1c580e3a157d3c11f4
Reviewed-on: http://gerrit.openafs.org/1151
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Make pagsh and pagsh.krb depend on the libraries that are used to
link them, and on the source file pagsh.c
Without this dependency, modifying pagsh.c would not trigger a
rebuild of the executable.
Change-Id: I9ed20ce69f10916f97d6c335be9bb8374fb9ecd1
Reviewed-on: http://gerrit.openafs.org/1150
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
afs_StoreMini had some interesting error handling. Instead of returning
the error code from StoreData, it would return the error from EndCall,
potentially masking the StoreData error. When it encountered an error
it would discard all of the cached data.
StoreMini's only caller is afs_StoreAllSegments. If StoreAllSegments is
called from DoPartialWrite, then it squashes the error code. This
combination could lead to the user's data being disposed of, without an
error being reported.
Fix all of this by not invalidating segments in StoreMini. Make
StoreMini static to make it clear its only used by StoreAllSegments, and
fix the error handling in StoreMini so that StoreData errors always take
priority.
Change-Id: I41f0c753655fac343485d2a473ad70b6ae96bb78
Reviewed-on: http://gerrit.openafs.org/1147
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
This reverts commit 3f89c0feae.
That change broke the expected semantics of a drop box, by
opening up read() access to users to whom it would usually be
denied. The expected dropbox behaviour is that whilst anyone
can write a file there, only those who are specifically given
r permissions may read it.
Change-Id: I025cef7cad1031fbed1e914d58a0a515561f3f78
Reviewed-on: http://gerrit.openafs.org/1149
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
change things to use accessor macros styled after the mac KPI
where feasible, and make access consistent.
Change-Id: I284101b370666e1aeb8e42bc1a651a2781a9af78
Reviewed-on: http://gerrit.openafs.org/1101
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The same as cb4b62a403, but for klog.krb5.
Current versions of both MIT Kerberos and Heimdal disable DES enctypes
by default, but DES enctypes are still required for AFS service tickets.
Probe for either krb5_allow_weak_crypto() (MIT Kerberos 1.8) or
krb5_enctype_enable() (Heimdal) and, if found, call them to enable DES
enctypes. If neither is found, assume that the Kerberos libraries are
old enough that DES is enabled by default.
Change-Id: I99c93621c847f6edcc485207f5b6b99b2370b347
Reviewed-on: http://gerrit.openafs.org/1144
Tested-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
afs_AccessOK did not check for if we have 'i' rights on a directory, nor
if we were the owner of a file, if we were only checking PRSFS_READ or
PRSFS_WRITE. Thus, it does not correctly address the 'dropbox'
permissions case (if you are the owner of a file and have insert
permissions, you get implicit 'r' and 'w').
Fix this to check for 'i' and ownership when we need to, so the dropbox
special-case check works as intended.
FIXES 126216
Change-Id: Ib629bc30b73bc3965e777747067259451f0adff6
Reviewed-on: http://gerrit.openafs.org/1143
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Current versions of both MIT Kerberos and Heimdal disable DES enctypes
by default, but DES enctypes are still required for AFS service tickets.
Probe for either krb5_allow_weak_crypto() (MIT Kerberos 1.8) or
krb5_enctype_enable() (Heimdal) and, if found, call them to enable DES
enctypes. If neither is found, assume that the Kerberos libraries are
old enough that DES is enabled by default.
Change-Id: Ib5231bb7c2fe88f4c424628394ed08122d5710a1
Reviewed-on: http://gerrit.openafs.org/1141
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Add a missing && in a 2-line condition.
Not sure how this could have compiled successfully on the affected
platforms.
Change-Id: I2e8b791c6d8cd09795be1ef52c078ebfa5a3e53b
Reviewed-on: http://gerrit.openafs.org/1140
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The decision to add AFS_AFSDB_ENV to make code consistent was
a mistake. The preprocessor symbol no longer exists. AFSDB
is broken in 1.5.69.
Change-Id: I7ea147b824f3a67e2039abee8b2513af175fcc5d
Reviewed-on: http://gerrit.openafs.org/1142
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Add a dependency rule to build bc.h before it is installed
Add cleanup rules to delete bc.h and other installed files.
Change-Id: I9a40fd64aff048bfc87b9fd823ae7499816cb3e5
Reviewed-on: http://gerrit.openafs.org/1139
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
The Windows v6.0 SDK does not define __RPC__out in the rpcsal.h
header file. The preprocessor symbol was added in the v6.0A SDK
update. In case the v6.0 SDK is used with the 6000 WDK, add a
symbol declaration.
Change-Id: Iecce566e906977f41be00efb458753acd09f7949
Reviewed-on: http://gerrit.openafs.org/1138
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Change I006bbbdb8923dbb72a97fde931a1b23e303375c2 broke
the Windows build. Restore the unlabled assignments for
Windows since Windows always uses the AFS xdr implementation.
Change-Id: I2eadc624d84f4100281424993b7287a330d6c753
Reviewed-on: http://gerrit.openafs.org/1136
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Cleanup some prototype related warnings under bucoord and butc:
- Copy a few prototypes from bucoord_internal.h to bucoord_prototypes.h,
since they are used in other source directories
- Install bc.h under include/afs, and include it in tcmain.c
- Include bucoord_prototypes.h in tcmain.c
- Add a prototype for GetResponseKey
- Remove warning inhibition for tcmain.c, and entry in README.WARNINGS
- Remove warning inhibition for bucoord/dump.c (no entry in README)
Change-Id: I0a0ae92d3c7ba75e4a331bf59ea9c031763cc704
Reviewed-on: http://gerrit.openafs.org/1134
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
instead of having use_fh for linux, vnode_path for solaris and darwin,
use the same mechanism for both. for darwin/solaris we cache the path
(tested via gop_lookupname) instead of an fh, freeing the path at
shutdown.
Change-Id: Id22052db0803264bdaba6b870d9e511953e348bc
Reviewed-on: http://gerrit.openafs.org/1132
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
add support for decoding (nominally) any panic for MacOS. Limited testing.
Requires hdutil from http://www.dementia.org/~shadow/dmgutil-0.1.tar.gz
to extract files from DMGs.
now with support for cross-version debugging, when run on 10.6 (e.g. with kextutil)
Change-Id: I5d9db005e3014e22f916070f8af25271a28615ea
Reviewed-on: http://gerrit.openafs.org/1125
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
hint to time machine that cache files should not be backed up
Change-Id: I098c9231139b91ff093be74d8a39f94c185d478c
Reviewed-on: http://gerrit.openafs.org/1122
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
This fix modifies the way that the RX XDR operations are declared
so that UKERNEL can continue using the system provided XDR glue,
rather than using our own (as is the case in userspace, and in
normal kernel modules)
Change-Id: Ib6abad376c7f7a7f0f5c2314efe80f5b7b44f842
Reviewed-on: http://gerrit.openafs.org/1131
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>