Commit Graph

140 Commits

Author SHA1 Message Date
Marc Dionne
2974037059 Make hcrypto depend on config
hcrypto needs the top-level include structure to be present so it
can install its header files.  Add a dependency to "config" in
the Makefile to make this explicit and prevent occasional failures
with parallel builds.

Change-Id: If588d6a15fa1fdf371ec2841cc3a6e75077cccb0
Reviewed-on: http://gerrit.openafs.org/2620
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-08-28 15:20:04 -07:00
Simon Wilkinson
2221b61eff Add new SetTokenEx pioctl
This change implements the new, XDR based, SetTokenEx pioctl. This
pioctl permits sending multiple tokens, of multiple types, into the
kernel in a single pioctl call. This patch provides a kernel
implementation of the pioctl, and a new library function
ktc_SetTokenEx, which will use either the new pioctl, or fall back
to the old one should SetTokenEx not be available.

Change-Id: Id1e2903e078c549f5675e3d2ecdf53a9bb33f5e9
Reviewed-on: http://gerrit.openafs.org/2582
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-08-26 09:29:09 -07:00
Simon Wilkinson
f6d1f17f48 Add OpenAFS build machinery for libhcrypto
Add an OpenAFS build environment for the symmetric algorithms in
libhcrypto.

Change-Id: I0d971433fe0130854a7c50cd9107af02893b1d58
Reviewed-on: http://gerrit.openafs.org/2575
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-08-19 09:23:26 -07:00
Russ Allbery
03080af8ce make dpkg should only build binary packages
The source package we would get by running dpkg-buildpackage in the
source tree without further preparation is basically useless, since
it's a native source package for a non-native package and will contain
any random dirty cruft in the current source tree.  Since the purpose
of make dpkg is to provide quick Debian packages for testing purposes,
only build the *.deb files and don't bother to build the source
package.

Change-Id: Ia2643c7e8936b15e3447df589ed0236438b8341e
Reviewed-on: http://gerrit.openafs.org/2427
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-07-14 16:25:46 -07:00
Derrick Brashear
3610ba191f demand attach build always
always build demand attach. includes doubtless-broken
windows support. installs dafileserver, dasalvager, davolserver.
salvageserver keeps its (unique) name.

Change-Id: Ia272dd2b0f72789b9e0f2a7712f9c206bb922095
Reviewed-on: http://gerrit.openafs.org/2403
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-07-13 21:22:30 -07:00
Russ Allbery
ad1b79547b make dpkg should not depend on dest
It's pointless to have make dpkg build the tree before running the
Debian build rules, since the Debian build rules are just going to
build the tree again.

Change-Id: I2481b20a5ca23f8cb067ba609d4d3acd58738cc4
Reviewed-on: http://gerrit.openafs.org/2406
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-07-13 20:42:12 -07:00
Matt Benjamin
262a678d9b An RPC test dispatch library for vice
A library framework for remote testing against file servers,
with the ability to establish multiple call/callback channel
pairs within a single test process and dispatch requests
arbitrarily on each.  Thanks to Derrick for design and debugging
help.  Additional callback processing intelligence will follow
in a future changeset.  This version builds on Windows NT (but
might need further adjustment).

Change-Id: Ibea39e912b2a23ebf58e9e0931114572eccf6e78
Reviewed-on: http://gerrit.openafs.org/2229
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-07-12 11:24:14 -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
de75d9d8aa buildtools target
if you wish to cross compile, you want these things. arrange to
be able to build just them

Change-Id: I6bee40b61a16722c402832bba39d2e88dcabec25
Reviewed-on: http://gerrit.openafs.org/2145
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-06-13 20:18:48 -07:00
Russ Allbery
194c3f10d4 Import C TAP Harness 1.2 as a testing harness
Creates a new top-level tests directory that will be used for all
future automated test code eventually.  Import runtests and the
basic TAP library from C TAP Harness 1.2.  Add top-level check and
test targets that build the full source tree and then the new tests
directory, and then runs runtests on the test list.

Change-Id: I896f8ae488cd1dfa8529a10b4b479e45e7c67afe
Reviewed-on: http://gerrit.openafs.org/2062
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-05-29 21:48:19 -07:00
Russ Allbery
f924010fbc Fix libafs_tree's cross-architecture support
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>
2010-05-24 20:28:41 -07:00
Simon Wilkinson
36ea3e1ffe Fix make clean and make distclean
Fix these make targets so they actually clean the tree. Reorder the list
of file deletions in distclean so that it exactly mirrors the creation
order in configure.in, which should hopefully make it easier to keep
this all in sync in future. Add all of the missing files in packaging,
and the shared library build tools, to this list.

Make kauth and vol clean remove ka-forwarder and fssync-debug,
respectively.

Change-Id: Iae13419f1cb21058882c0b0e0c283e3c947e33c9
Reviewed-on: http://gerrit.openafs.org/1829
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-04-25 19:03:02 -07:00
Andrew Deason
38a80c3323 Add a FUSE implementation for afsd
This adds afsd.fuse, which allows for mounting AFS via FUSE (via
libuafs), instead of via the OpenAFS kernel module.

Change-Id: Iaafe4a5f3034fed943e2e73f79ac95580946f9a8
Reviewed-on: http://gerrit.openafs.org/1725
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-04-14 15:17:27 -07:00
Andrew Deason
0dbe0fba4f Use afsd code in libuafs
Share the same CM code for the kernel client as in libuafs, so we
don't duplicate code for initializing the cache and other things. In
order to do this:

 - Remove some libuafs global variables that share name and
   functionality with those in afsd, and declare some static

 - Remove uafs_Init(), and move the ukernel-specific code in it to
   osi_Init(); replace with uafs_Setup(), uafs_ParseArgs(), and
   uafs_Run(), which just call into afsd functions

 - Remove libuafs' cache initialization code (CreateCacheFile,
   SweepAFSCache, etc); instead just use afsd's

 - Add uafs_mount(), to perform the 'mount'ing step that takes place
   in the normal kernel CM

 - Add afsd_uafs.c for the glue between afsd and libuafs

Note that this now requires libcmd for libuafs.

Change-Id: I62306a18ad255680031494caf1720b29e22856d2
Reviewed-on: http://gerrit.openafs.org/1724
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-04-14 15:04:51 -07:00
Marc Dionne
be2c1ea5ef growlagent: remove generated Makefile with make distclean
Add the growlagent Makefile to the list that gets cleaned with
the distclean target.

Change-Id: I6c3385f3b839c436efb50d0fc7239c181e027be6
Reviewed-on: http://gerrit.openafs.org/1575
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-03-15 20:09:01 -07:00
Marc Dionne
b6408585b5 Enable parallel build for tubik
Allow tubik to benefit from parallel make.

Change-Id: If4e7e1a603ef88f03bcc271ec6d742ba3387c61a
Reviewed-on: http://gerrit.openafs.org/1402
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-02-26 13:40:36 -08:00
Andrew Deason
9f1c90a6e0 Move TOP_INCDIR/des dependency to prelude
Make TOP_INCDIR/des a dependency of the 'prelude' target, not all of the
'dest'-ish targets. Without this, things like 'make tviced' fail since
we never create the TOP_INCDIR/des directory, but 'des' needs to copy
headers into there.

Also, remove the other redundant INCDIR/LIBDIR deps in the 'dest'-y
targets, and put them in 'prelude'.

Change-Id: I1beb1a0c8b93a7bf17af71792ab38590d03c9976
Reviewed-on: http://gerrit.openafs.org/1027
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2009-12-28 07:40:34 -08:00
Andrew Deason
244397335e platform target depends on cmd and vol
The 'platform' target depends on cmd and vol, since on solaris
non-namei, we build fs_conv_sol26.c, which depends on some volume
structures, and uses libcmd. So, have Makefile.in accurately reflect
that dependency so we can build.

Change-Id: Ic7038f252dd069522ebfc8e72b9743c01c97d99c
Reviewed-on: http://gerrit.openafs.org/998
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2009-12-18 12:57:45 -08:00
Simon Wilkinson
36524b2ed7 Rationalise our include paths
Our include paths are a bit of a mess. Fix these so that they're
more rational, and more in line with normal coding style.

In particular:
   *) Don't include all of the subdirectories of our top level
      include directory. If a file wants afs/file.h, it should
      include that, not "file.h"
   *) Try to avoid including '.' in the search path (although
      objdir builds make this harder)
   *) Don't blindly include other directories from the code tree
      in the search path. If a package wants another packages header,
      then it should get it from the include directory
   *) Use the convention that quoted includes ("") pick up local
      headers. Bracketed includes (<>) pick up ones from the top level
      include dir
   *) In directories which pull in files from multiple packages, don't
      blindly put all of the package directories in the search path.
      Specifically include the file's package directory when required

The big change here is that it's no longer possible to hide a system
include by placing a header of the same name in include/afs. The most
common case where this was happening was for 'assert.h'

Change-Id: I0796fabcf83ffcd74e533624c64e138a160dd632
Reviewed-on: http://gerrit.openafs.org/834
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2009-11-17 13:12:57 -08:00
Simon Wilkinson
34c71e6b11 Add fsint dependency to audit builds
The 'audit' target requires that fsint is built first. Express this as a make
dependency.

Reviewed-on: http://gerrit.openafs.org/660
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-10-14 14:33:24 -07:00
Simon Wilkinson
f5c55d23a2 Demand attach warning fixes
Fix a whole host of warnings in the demand attach code.

Make a broken tvolser build stop the build, rather than carrying on
regardless.

Reviewed-on: http://gerrit.openafs.org/551
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-09-29 12:11:37 -07:00
Matt Benjamin
e31f3f68b0 Make catalog file destdir when not transarc paths
The appropriate mkdir -p was missing for this case, the patch adds it.

Reviewed-on: http://gerrit.openafs.org/387
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-08-31 12:35:19 -07:00
Matt Benjamin
49d893eff3 Build shared afsauthent and afsrpc on *BSD
This seems to be a required step, going forward.  Omitting breaks pam,
for example.

Reviewed-on: http://gerrit.openafs.org/382
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-08-30 17:01:08 -07:00
Andrew Deason
b4975a6a7c Restore util des dependency
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>
2009-08-10 12:57:46 -07:00
Marc Dionne
c3c8a3e2f9 kauth warning reduction
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>
2009-08-05 21:00:46 -07:00
Derrick Brashear
5593ff360c macos 10.6 pam support
Make pam module compile on 10.6. Not tested yet.

Reviewed-on: http://gerrit.openafs.org/249
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-07-29 20:44:32 -07: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
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
Derrick Brashear
4af75fe96a curpag-via-pioctl-20090603
LICENSE IPL10
FIXES 124709

curpag needs to know about kernel constructs (getpagvalue on AIX, onegroup
versus two group on linux) and on aix 5.1 simply can't work. add a new pioctl
and use it to simply ask the kernel what the current pag is
2009-06-03 06:39:47 +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
a5daae759d kauth-needs-sys-for-headers-20090316
LICENSE IPL10

get sys's header for kauth
2009-03-16 15:17:12 +00:00
Simon Wilkinson
6e569d2518 sys-prototypes-20090315
LICENSE IPL10
FIXES 124233

prototype the sys directory
2009-03-16 14:00:56 +00:00
Simon Wilkinson
3f11790f6a pthread-ubik-volser-stupidity-20080925
LICENSE IPL10

make volserver build again for not pthreaded ubik
2008-09-25 22:40:25 +00:00
Derrick Brashear
21006bb844 oops-sias-dead-20080906
LICENSE IPL10

while we should try all the auth modules, sia is tru64 only, so, no...
2008-09-06 12:52:59 +00:00
Niklas Edmundsson
539535cf67 aix61-initial-support-20080903
LICENSE IPL10
FIXES 113638

aix 6.1 support
2008-09-03 19:26:29 +00:00
Russ Allbery
227f7e8eda more-no-unconditional-pthreaded-ubik-20080718
LICENSE BSD

More directories should be conditional on pthreaded ubik.
2008-07-19 06:42:23 +00:00
Russ Allbery
d811361ce9 no-unconditional-pthreaded-ubik-20080718
LICENSE BSD

Don't compile pthreaded Ubik by default and instead actually require the
--enable-pthreaded-ubik flag.
2008-07-19 04:27:33 +00:00
Marc Dionne
a33cd20d1b tubik-no-pinstall-on-head-20080612
LICENSE IPL10
FIXES 102819

no more pinstall on the head
2008-06-12 20:58:23 +00:00
Steven Jenkins
9fbbc3f50c pthreaded-ubik-20080402
LICENSE IPL10

add pthreaded ubik and various binaries
2008-04-02 20:47:27 +00:00
Simon Wilkinson
ff988ead4e lwp-protoize-20080310
LICENSE IPL10

protoize lwp. make it match pthreads' idea of createprocess
2008-03-11 17:46:58 +00:00
Derrick Brashear
cd9ce022ee debian-packaging-update-20080220
LICENSE IPL10

Russ' metadata, repacked into our tree
2008-02-20 21:31:02 +00:00
Mike Meffie
1181ea0346 tests-update-20080121
LICENSE IPL10

update test scripting
2008-01-21 21:04:35 +00:00
Derrick Brashear
15a52f254b clean-platform-20071109
clean platform dir
2007-11-09 20:15:46 +00:00
Derrick Brashear
676bf342dd make-cleaner-20070122
this stuff was missed
2007-01-22 17:19:26 +00:00
Dale Ghent
a537d3ae96 add-solaris-11-support-v2-20061228
FIXES 50343

initial 5.11 support
2006-12-28 21:57:24 +00:00
Tom Keiser
453abf6aa1 aix-cleanup-20061013
fixes for aix pre 5.2 (statfs64), remove a c++ style comment (makes xlc sad) and
 make clean target clean
2006-10-13 14:06:38 +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
cf798932b5 create-top-libdir-always-20060802
Always create the include and lib directories even if one builds specific
targets.
2006-08-03 03:18:43 +00:00
Russ Allbery
83b6575648 kopenafs-20060802
Add a shared libkopenafs that provides k_hasafs, k_setpag, k_unlog, and
k_pioctl (in other words, enough for a PAM session module that calls an
external aklog).
2006-08-02 17:47:29 +00:00
Russ Allbery
2eaae5ef3a death-to-null-20060801
General consensus is that the termlib hacks that necessitate the libnull.a
hack don't matter on any current platform we build on, and even if it does,
it should be dealt with in TXLIBS in osconf.m4.  So remove all of that
infrastructure and see what fails.
2006-08-01 23:55:11 +00:00