aboutsummaryrefslogtreecommitdiff
path: root/tests/client
AgeCommit message (Collapse)Author
2018-06-03Add SPDX-License-Identifier headersRuss Allbery
Add SPDX-License-Identifier headers to all substantial source files. Collapse copyright years. Add some Emacs configuration for files where the copyright notice is at the end. Add a test that every file has SPDX-License-Identifier.
2018-05-27Update to rra-c-util 7.2 and C TAP Harness 4.3Russ Allbery
Update to rra-c-util 7.2: * Improve configure output for krb5-config testing. * Define UINT32_MAX for systems that don't have it. * Add SPDX-License-Identifier headers to all substantial source files. * Fix new warnings from GCC 7 and Clang warnings. * Require Test::Strict 0.25 or later to run those tests. * Fix off-by-one error in return-value checks for snprintf. * Use Autoconf to probe for supported warning flags. * Fix running module-version-t -u with current versions of Perl. * Use C_TAP_SOURCE and C_TAP_BUILD instead of SOURCE and BUILD. Update to C TAP Harness 4.3: * Add support for valgrind and libtool in test lists. * Report test failures as left and right, not wanted and expected. * Fix string comparisons with NULL pointers and the string "(null)". * Add SPDX-License-Identifier headers to all substantial source files. * Avoid zero-length realloc allocations in breallocarray. * Fix new warnings from GCC 7 and Clang warnings. * Use C_TAP_SOURCE and C_TAP_BUILD instead of SOURCE and BUILD.
2016-01-23Clean up generation of Perl scriptsRuss Allbery
Use @PERL@ as the substitution variable instead of WALLET_PERL_PATH to match normal Automake conventions. Write the scripts into the build path, not the source path, to work properly with out-of-tree builds. Clean up the distribution rules. Use separate Makefile rules for each script so that make has proper dependencies. Also fix the Perl paths in (some of) the test scripts, although there are others for which this still isn't going to work.
2014-07-11Test for Perl strict and minimum versionRuss Allbery
Fix strictness issues across the whole code base, and ensure that all Perl scripts enable warnings. (Hopefully enabling warnings won't cause problems for the server.) Change-Id: I4dee49f7a6bcbeeee21d74bf61a1fd26514f832c Reviewed-on: https://gerrit.stanford.edu/1532 Reviewed-by: Russ Allbery <rra@stanford.edu> Tested-by: Russ Allbery <rra@stanford.edu>
2014-07-11Switch to Module::Build for the Perl moduleRuss Allbery
The wallet server now requires Perl 5.8 or later (instead of 5.006 in previous versions) and is now built with Module::Build instead of ExtUtils::MakeMaker. This should be transparent to anyone not working with the source code, since Perl 5.8 was released in 2002, but Module::Build is now required to build the wallet server. It is included in some versions of Perl, or can be installed separately from CPAN, distribution packages, or other sources. Also reorganize the test suite to use subdirectories. Change-Id: Id06120ba2bad1ebbfee3d8a48ca2f25869463165 Reviewed-on: https://gerrit.stanford.edu/1530 Reviewed-by: Russ Allbery <rra@stanford.edu> Tested-by: Russ Allbery <rra@stanford.edu>
2014-07-11Fix test cleanup code to run during global destructionRuss Allbery
If we don't run the code to delete the wallet database very late, destruction of the SQLite objects may recreate the database file. Move the unlink to an END block to avoid this problem. Change-Id: Ib5ec2cbd08ba24c99f3dfa1daa01488931c5958f Reviewed-on: https://gerrit.stanford.edu/1525 Reviewed-by: Russ Allbery <rra@stanford.edu> Tested-by: Russ Allbery <rra@stanford.edu>
2014-04-13Change my email address to eagle@eyrie.orgRuss Allbery
Change-Id: I4c2b5d7c807d6c27dd18a3b92eef66d21287d21e Reviewed-on: https://gerrit.stanford.edu/1481 Reviewed-by: Russ Allbery <rra@stanford.edu> Tested-by: Russ Allbery <rra@stanford.edu>
2014-01-06Fix wallet-rekey on keytabs containing multiple principalsRuss Allbery
Fix wallet-rekey on keytabs containing multiple principals. Previous versions assumed one could concatenate keytab files together to make a valid keytab file, which doesn't work with some Kerberos libraries. This caused new keys downloaded for principals after the first to be discarded. As a side effect of this fix, wallet-rekey always appends new keys directly to the existing keytab file, and never creates a backup copy of that file. Change-Id: I5f863239ce4ebba66b35ff09454f2897367bd359 Reviewed-on: https://gerrit.stanford.edu/1369 Reviewed-by: Russ Allbery <rra@stanford.edu> Tested-by: Russ Allbery <rra@stanford.edu>
2013-02-27Use correct form of Stanford's copyright statementRuss Allbery
Change-Id: I06dd9ecca19315179bdd34d4b301548fe7604331 Reviewed-on: https://gerrit.stanford.edu/842 Reviewed-by: Russ Allbery <rra@stanford.edu> Tested-by: Russ Allbery <rra@stanford.edu>
2013-02-27Update to rra-c-util 4.8 and C TAP Harness 1.12Russ Allbery
Update to rra-c-util 4.8: * Look for krb5-config in /usr/kerberos/bin after the user's PATH. * Kerberos library probing fixes without transitive shared libraries. * Fix Autoconf warnings when probing for AIX's bundled Kerberos. * Avoid using krb5-config if --with-{krb5,gssapi}-{include,lib} given. * Correctly remove -I/usr/include from Kerberos and GSS-API flags. * Build on systems where krb5/krb5.h exists but krb5.h does not. * Pass --deps to krb5-config unless --enable-reduced-depends was used. * Do not use krb5-config results unless gssapi is supported. * Fix probing for Heimdal's libroken to work with older versions. * Update warning flags for GCC 4.6.1. * Update utility library and test suite for newer GCC warnings. * Fix broken GCC attribute markers causing compilation problems. * Suppress warnings on compilers that support gcc's __attribute__. * Add notices to all files copied over from rra-c-util. * Fix warnings when reporting memory allocation failure in messages.c. * Fix message utility library compiler warnings on 64-bit systems. * Include strings.h for additional POSIX functions where found. * Use an atexit handler to clean up after Kerberos tests. * Kerberos test configuration now goes in tests/config. * The principal of the test keytab is determined automatically. * Simplify the test suite calls for Kerberos and remctl tests. * Check for a missing ssize_t. * Improve the xstrndup utility function. * Checked asprintf variants are now void functions and cannot fail. * Fix use of long long in portable/mkstemp.c. * Fix test suite portability to Solaris. * Substantial improvements to the POD syntax and spelling checks. Update to C TAP Harness 1.12: * Fix compliation of runtests with more aggressive warnings. * Add a more complete usage message and a -h command-line flag. * Flush stderr before printing output from tests. * Better handle running shell tests without BUILD and SOURCE set. * Fix runtests to honor -s even if BUILD and -b aren't given. * runtests now frees all allocated resources on exit. * Only use feature-test macros when requested or built with gcc -ansi. * Drop is_double from the C TAP library to avoid requiring -lm. * Avoid using local in the shell libtap.sh library. * Suppress warnings on compilers that support gcc's __attribute__. Change-Id: I394294d5486ac1ce265c7713bec71a148aaaf1ce Reviewed-on: https://gerrit.stanford.edu/841 Reviewed-by: Russ Allbery <rra@stanford.edu> Tested-by: Russ Allbery <rra@stanford.edu>
2010-08-13Flesh out the wallet-rekey test suiteRuss Allbery
Test partial rekeying, aboring due to failure to rekey, and skipping a keytab because all principals were foreign.
2010-07-29Add an initial test for wallet-rekeyRuss Allbery
This confirms basic functionality, but doesn't test more interesting things like rekeying multiple keys in the same keytab or skipping principals that aren't from the local realm.
2010-07-29Update client test to work correctly with Heimdal userspaceRuss Allbery
The check for whether we got the right keytab data was not being done on Heimdal since it only knew how to run klist. Add a new ktutil_list function to kerberos.sh that runs klist or ktutil list as appropriate.
2010-02-21Clean up krb5.conf in the client/basic test if skippingRuss Allbery
The test created krb5.conf first thing, but didn't delete it if skipping all of the tests.
2010-02-20Add a check to the full client test suite for storing a nulRuss Allbery
2010-02-20Add support in the wallet client for store of binary dataRuss Allbery
Refactor the wallet client code to use remctl_commandv and send stores with data containing nul.
2010-02-09Reorganize main POD tests and add a spelling checkRuss Allbery
Add a POD spelling test to the non-Perl-module part of the code and move the documentation tests into a separate directory. Merge the POD syntax tests between client and server into one test. Reformat all of the POD documentation to use 74 columns. Fix a few revealed spelling errors or weird wordings.
2010-02-09Fix multiple builddir != srcdir issues with test suiteRuss Allbery
Simplify the build rules for the test suite to take advantage of the improved runtests support for builddir != srcdir. Stop doing Autoconf substitution on full.conf now that we have that support.
2010-02-09Stop doing Autoconf substitution on some test suite codeRuss Allbery
Anything that only was using substitution for the paths to the build tree now uses $SOURCE and $BUILD instead. Stop doing substitution. Also fix tests/data/cmd-wrapper to use the environment variables.
2010-02-09Use the $SOURCE and $BUILD test suite variablesRuss Allbery
Now that runtests has been updated to a version that sets $SOURCE and $BUILD, use that in the test cases rather than Autoconf substitutions.
2010-02-09Update to C TAP Harness 1.1 and rra-c-util 3.0 testsRuss Allbery
* Update portable and util tests for C TAP Harness 1.1. * Remove the need for Autoconf substitution in test programs. * Support running a single test program with runtests -o. * Properly handle test cases that are skipped in their entirety. * Much improved C TAP library more closely matching Test::More. Rewrite client/basic-t to use the new test library functions and my current test case coding style.
2010-02-09Update test count for tests/client/basicRuss Allbery
2010-02-09Remove kaserver synchronization support from the wallet clientRuss Allbery
The wallet client no longer enables kaserver synchronization when a srvtab is requested with -S. Instead, it just extracts the DES key from the keytab and writes it to a srvtab. It no longer forces the kvno of the srvtab to 0 (a Stanford-specific action) and instead preserves the kvno from the key in the keytab. This should now do the right thing for sites that use a KDC that serves both Kerberos v4 and Kerberos v5 from the same database.
2009-06-09Remove Subversion Id stringsRuss Allbery
2008-08-13Correctly handle storing of data that begins with a dash and don'tRuss Allbery
parse it as an argument to wallet-backend.
2008-04-24The wallet command-line client now reads the data for store from aRuss Allbery
file (using -f) or from standard input (if -f wasn't given) when the data isn't specified on the command line. The data still must not contain nul characters.
2008-04-24Add a test suite for wallet -u.Russ Allbery
2008-04-10Fix leading comment.Russ Allbery
2008-02-13Additional flags for the Stanford hacked kinit so that the test suiteRuss Allbery
can run in AFS.
2008-02-12Correctly handle get of an empty object in the wallet client. TheRuss Allbery
empty string is valid object content. Add a full end-to-end test suite to catch protocol mismatches between the client and server, such as the one fixed in this release.
2008-02-12Initial pass at an end-to-end test suite.Russ Allbery
2008-02-07Added POD testing for the client and server documentation.Russ Allbery
2008-02-07Add new exists and autocreate wallet server interfaces. The firstRuss Allbery
states whether a given object exists and the second attempts to create the object using the default owner rules. Remove default owner handling from the create interface, which is now for administrators only. Remove server-side auto-creation of objects on get or store and instead have the client check for object existence and call autocreate if necessary. This removes confusion between default ACLs and administrative object creation for users who are also on the ADMIN ACL.
2008-02-07When creating a srvtab based on a just-downloaded keytab, extract theRuss Allbery
srvtab key before merging the keytab into an existing file. Otherwise, if the new keys had a lower kvno than the old keys (possible after deleting and recreating the object), the wrong key would be extracted for the srvtab.
2008-01-19When downloading a keytab to a file that already exists, merge the newRuss Allbery
keytab keys into that file rather than moving aside the old keytab and creating a new keytab with only the new keys. Also fix get handling in the client for all types other than keytabs. This isn't visible yet since the server doesn't yet support other types of objects.
2008-01-17Remove the right krb5.conf file in client tests. Strip any existingRuss Allbery
wallet configuration from krb5.conf since it confuses the profile library. Add a test for printing keytabs to standard output.
2008-01-05The wallet client can now get the server, port, principal, and remctlRuss Allbery
type from krb5.conf as well as from compile-time defaults and command-line options.
2007-12-07Allow the empty string in wallet-backend arguments.Russ Allbery
When writing to a file in the wallet client program, remove an old backup file before creating a new backup and don't fail if the backup already exists.
2007-10-05Add comprehensive license information in LICENSE and update the copyrightRuss Allbery
and license statements in all files. Make sure that some files that were missing copyright information now have them. Reference LICENSE rather than README in all notices.
2007-10-05The wallet client now automatically sets the sync attribute on a keytabRuss Allbery
object when get is called with the -S flag.
2007-10-05Pull the file writing code for the wallet client into a separate fileRuss Allbery
so that the srvtab and keytab management can share it. Write atomically to a new file and then link and rename to do an atomic update. Leave a backup copy of any file that's replaced.
2007-09-27Initial cut at srvtab support in the wallet client. This still requiresRuss Allbery
additional work and cleanup, particularly support for the sync attribute.
2007-08-29Some more fixes for the new test and the new wallet error output. Also,Russ Allbery
remctld now doesn't exit on SIGTERM, so send it something stronger.
2007-08-29Fix the remctld flags for the latest version. Fix the kinit invocationRuss Allbery
for stock MIT Kerberos. Add an additional test of the expires command, which isn't special-cased in the wallet client.
2006-08-23Add a test infrastructure and a very basic test for the clientRuss Allbery
functionality so far.