Remove rpctestlib There is some code in tests/rpctestlib that appears to be for testing fileserver RPCs and callback processing, added in commit 262a678d (An RPC test dispatch library for vice). However, it has never been used, it seems unlikely that it will be used anytime soon, and it's not clear if it even works (it contains many hard-coded references to interfaces and IP addresses). Just remove the unused code, and some references to rpctestlib. It can always be added back if needed (or more likely, reimplemented to be more in line with our current test framework in tests/ ). Change-Id: Ied3be7474581d8ee75ae000815bb7364d143fd31 Reviewed-on: https://gerrit.openafs.org/14617 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
rxgk: Add NTMakefile to install headers Commit 83eec909 (Implement afsconf_GetRXGKKey) added a reference to rx/rxgk_types.h inside cellconfig.p.h. Nothing ever added src/rxgk WINNT makefiles, so that include file is never installed into place, breaking the WINNT build when code tries to include cellconfig.h. To fix this and other code that needs rxgk header files, create an NTMakefile for src/rxgk, which just exists to install headers into place. Call it from the top-level NTMakefile right before copying in the auth headers. Change-Id: Id111479f55b4c330640e80d167a8af664fe3622e Reviewed-on: https://gerrit.openafs.org/13814 Tested-by: Andrew Deason <adeason@sinenomine.net> Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
WINNT: Build bubasics before audit Commit 9ebff4c6 (OPENAFS-SA-2018-001 audit: support butc types) made src/audit require the butc.h header, and updated Makefile.in to reflect this. However, this dir is also built on WINNT, and the NTMakefile was not updated to reflect this dependency. As a result, we might fail to build src/audit on WINNT, since butc.h may not exist yet, and we get an error like: cl [...] /c audit.c audit.c cl : Command line warning D9025 : overriding '/W4' with '/W3' audit.c(27) : fatal error C1083: Cannot open include file: 'afs/butc.h': No such file or directory NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\cl.EXE' : return code '0x2' To fix this, move 'bubasics' to be made before 'audit' in NTMakefile, so butc.h is available when we build 'audit'. Change-Id: I2053db7cd95353cf6b703b4033239810338890aa Reviewed-on: https://gerrit.openafs.org/13813 Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> Tested-by: Benjamin Kaduk <kaduk@mit.edu>
build: remove trailing whitespace from makefiles Remove trailing whitespace from the makefiles, except for trailing whitespace in the boilerplate comment headers. Change-Id: Ib8ee87a51f00633ba15e1974ac0b311969bef1bf Reviewed-on: http://gerrit.openafs.org/11456 Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil> Reviewed-by: D Brashear <shadow@your-file-system.com> Tested-by: D Brashear <shadow@your-file-system.com>
Build 3961 library in userspace, and add enctypes Build the 3961 library in userspace, with support for the common kerberos enctypes des3-hmac-sha1, arcfour-hmac-md5, and aesXXX-cts-hmac-sha1-96. Export new symbols as well, and suppress deprecated warnings. Rename all symbols, both exported and not, with an oafs_h_ prefix so as to reduce the chance of conflicts. Rename heim_octet_string to avoid confusion about where things are coming from. Change-Id: If5155661deb5adf73329eb8b90021512c01a290f Reviewed-on: http://gerrit.openafs.org/10050 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Windows: Makefile dependencies Permit "afsrdr" and "extra" to be built without the rest of the tree by making them depend on "config". Change-Id: I52e484f64d02e7f9b136164e10accdc981835ec0 Reviewed-on: http://gerrit.openafs.org/8321 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com> Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
rxperf: Move into the tools directory Move the 'rxperf' RX performance testing utility out of the src/rx/test directory, and into the slightly more visible top level src/tools/ directory As this is the first time that rxperf has been built as part of the default build, make a number of changes so that it will build on all of our supported platforms. Change-Id: Ice37e7db694dbfed34009bf76d24f1e0bf272e47 Reviewed-on: http://gerrit.openafs.org/7240 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementix.org>
Windows: Do not build NSIS by default NSIS installers are no longer up to date and do not support 64-bit builds. OpenAFS no longer distributes them for 1.7 and beyond. Stop building them by default. Change-Id: I6b8c2b46ccc30654cfb4661c9bde50483bc99785 Reviewed-on: http://gerrit.openafs.org/6664 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com> Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
viced: Remove the LWP fileserver *) Remove all LWP specific code from the fileserver, and make pthread the default *) Build the pthreaded fileserver in the 'viced' directory, rather than in tviced *) Move the DAFS specific files from tviced to viced (arguably, these should move into dviced, but there are currently no source files in that directory) *) Remove tviced from the build Change-Id: I6e186c9fad6d9dccd04cf1317a80c087587ef25f Reviewed-on: http://gerrit.openafs.org/5816 Reviewed-by: Derrick Brashear <shadow@dementix.org> Tested-by: BuildBot <buildbot@rampaginggeek.com>
Windows: Build the AFS Redirector world All of the new build rules necessary to build the new AFS Redirector world. Change-Id: Ic5b8839eb6f10e44c3b6e185c85c3948f77b4d60 Reviewed-on: http://gerrit.openafs.org/5444 Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com> Tested-by: Rod Widdowson <rdw@steadingsoftware.com> Tested-by: Jeffrey Altman <jaltman@openafs.org> Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
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>
afsio: rewrite using libafscp afsio is a utility for file transfer to and from AFS file space without the help of the AFS client/cache manager. Using libafscp, this (partially rewritten) version of afsio is able to accomplish (1) authenticated access to an AFS path or FID (an existing KerberosV ticket is required), (2) fall back on unauthenticated ("anonymous") access if authentication (token acquisition) fails, and (3) work independtly of the AFS cache manager (afsd need not be running, though CellServDB and ThisCell are currently required). issues: 1) libvldbint and libafsint are not compiled pthreaded. we link in what we need. this should be changed when we are all-pthreaded. 2) venus is not a pthreaded-directory otherwise. same deal: in an all-pthreaded universe, undo the bodge that we do here. 3) venus is not an all-krb5 directory either. slight ick. Change-Id: I946e6eef58ac77c6fb97be256c4c564188201262 Reviewed-on: http://gerrit.openafs.org/4381 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementia.org>
afscp: build for windows attempt windows support for afscp Change-Id: I61cb1349466f24558b320bc40e3fae42ce654810 Reviewed-on: http://gerrit.openafs.org/4424 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementia.org>
Windows: Use roken gettimeofday implementation Use the gettimeofday implementation from roken, rather than brewing our own on Windows. Change-Id: I02fc1a7f0f6aded2e16e2ed53e04054546fc0535 Reviewed-on: http://gerrit.openafs.org/4433 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Jeffrey Altman <jaltman@openafs.org> Tested-by: Jeffrey Altman <jaltman@openafs.org>
Windows: permit clean when switching platforms When switching between i386 and amd64 in the same build tree the "clean" make directive would fail due to NTLang.bat not having been built in the new platform's destination directory. Force NTLang.bat to be built as a dependency of cleanup and delete it at the end along with the version files. Change-Id: I49a44204c636ab9ad89be44d4fad20ed6050fdda Reviewed-on: http://gerrit.openafs.org/3615 Reviewed-by: Jeffrey Altman <jaltman@openafs.org> Tested-by: Jeffrey Altman <jaltman@openafs.org>
Windows: build a UNICODE version of talocale.lib Add src/WINNT/talocale_unicode that builds a UNICODE version of talocale, talocaleU.lib Change-Id: Iec343adbbab23fefa2dd9f474d23e593810552e9 Reviewed-on: http://gerrit.openafs.org/3440 Tested-by: Jeffrey Altman <jaltman@openafs.org> Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Windows: build src/rx/tests Now that we have roken integrated build src/rx/tests as a standard part of the build. Change-Id: Ic2e6e9229f92c302bd4cfaa173c6d1b5e15d9b55 Reviewed-on: http://gerrit.openafs.org/3324 Reviewed-by: Jeffrey Altman <jaltman@openafs.org> Tested-by: Jeffrey Altman <jaltman@openafs.org>
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>
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>
Windows: Finish converting vol apps to pthread only The src/vol directory on Windows is one of the rare examples where a single directory builds both lwp and pthreaded versions of libraries and executables. With this patchset the executables are fully converted from lwp to pthread. This requires that afsrpc.dll include the pthread implementations of the threadname, fasttime, and lock implementations from the LWP directory. The inclusion within afsrpc.dll permits the dviced and dvolser directories to avoid rebuilding those object modules. Change-Id: I70c6e9ec346b5d9ef05d2400ddaf21e33a0c67a4 Reviewed-on: http://gerrit.openafs.org/3181 Reviewed-by: Derrick Brashear <shadow@dementia.org> Tested-by: Derrick Brashear <shadow@dementia.org>