aboutsummaryrefslogtreecommitdiff
path: root/perl
AgeCommit message (Collapse)Author
2018-06-03Fix skipping in verifier/netdb testRuss Allbery
If AUTHOR_TESTING wasn't set, the test would plan twice. Fix this by restructuring it to delay printing a plan and convert the Kerberos ticket test to a skip_all plan.
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-27Add obsolete-strings test and fix problems it findsRuss Allbery
Mostly changing http eyrie.org URLs to https, but also remove my old email address in one place and switch some tests away from my old RRA_MAINTAINER_TESTS environment variable to use the Lancaster Consensus variables properly. This uncovered a bug in skipping one test unless Stanford Kerberos credentials existed.
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.
2018-05-27Fix syntax error in Wallet::Kadmin::ADRuss Allbery
2018-05-27Fix spelling errors in Wallet::ConfigRuss Allbery
2018-05-27Fix spelling errors in Wallet::Kadmin::ADRuss Allbery
2018-05-27Reorganize AD configuration optionsRuss Allbery
Move options up with other keytab backend options except for the bucket for keytabs, which does belong in the section on retrieving existing keytabs.
2018-05-27Minor syslog updates in AD supportBill MacAllister
2018-05-27Update handling of long host namesBill MacAllister
2018-05-27Create unique account id for host keytabsBill MacAllister
It turns out that the length limitations apply to all keytabs, not just service keytabs. This change creates unique ids for hostnames that exceed the AD length limit.
2018-05-27Correction to AD handling of long service keytab IDsBill MacAllister
The account name for a service keytab cannot exceed 20 characters. The routine that was generating a unique id incorrectly attempted to perform an LDAP query. This change fixes that problem.
2018-05-27Correction to AD handling of long service keytab IDsBill MacAllister
The account name for a service keytab cannot exceed 20 characters. The routine that was generating a unique id incorrectly attempted to perform an LDAP query. This change fixes that problem.
2018-05-27Update AD keytab policiesBill MacAllister
* Make sure userPrincipalName is created for all keytabs and use it to search for entries in AD. * Allow the creation of any service principal. This requires making sure that the cn used to create AD entries for service accounts not be any longer than 20 characters.
2018-05-27Correct configuration reference in AD.pmBill MacAllister
Correct a variable reference that was causing AD keytab creation to fail. Update the debugging for shell command execution that makes debugging more rebust and highlights problems.
2018-05-27Add ad-keytab, update Wallet::ConfigBill MacAllister
* This ad-keytab is useful in the initial setup of AD as a keytab store for wallet. * Change configuration variables to correctly reflect that some values are relative distinguished names. * Add a configuration variable for the base distinguished name for ActiveDirectory.
2017-05-27correcting msktutil usage to support more enctypesepackorigan
with multiple enctypes specified, only the last one will actually take effect. If you wish to provide support for more then one, you need to add the values (0x04 + 0x08 + 0x10 = 0x1C). replacing the 3 lines with one line to enable all three. Note that the keytabs generated will have 3 line for each principal (one for each enctypes). See msktutil man page for further details on enctypes.
2016-01-23Update Perl module versions for 1.4Russ Allbery
2016-01-23Add Wallet module test requirementsA. Karl Kornel
2016-01-17Add stopwords for perl/create-ddlRuss Allbery
2016-01-17Add license statements to new SQL filesRuss Allbery
2016-01-17Fix version source and prerequisites in Build.PLRuss Allbery
Flesh out recommends for more accurate dependencies for the Perl modules. Pull the version from one of the Perl modules, now that we have another test that ensures that those versions are all consistent.
2016-01-17Standardize Perl module versionsRuss Allbery
The versions of all of the wallet Perl modules now match the overall package version except for Wallet::Schema, which is used to version the database schema. Import the test from rra-c-util 5.10 and exclude Wallet::Schema from the tests. Go through all Perl modules and standardize the syntax for setting the version and indicating the required version of Perl. Fix a few other syntax issues while I'm in there.
2016-01-16Fix spelling errors and add stopwordsRuss Allbery
2016-01-16Add documentation of the Active Directory supportRuss Allbery
Also remove some configuration checks that aren't required, and unify handling of some configuration options.
2016-01-16Pass object type and name to external ACL verifiersRuss Allbery
This requires changing the ACL verifier plumbing to pass object type and name all the way through when verifying ACLs. Hopefully I caught everything.
2016-01-05Merge branch 'master' into ad-keytabsBill MacAllister
Conflicts: NEWS
2016-01-03Clean up test-files directory after object/password testRuss Allbery
2016-01-03Use _exit when failing to fork external commandsRuss Allbery
Failed kadmin commands were deleting the wallet database in the test suite due to an END block in the test programs. Use _exit to avoid this.
2016-01-03Fix t/object/keytab.t MIT enctype recognitionRuss Allbery
New versions of MIT now use the actual enctype in klist -ke output. Also add 128-bit AES. Also add some additional debugging that was useful when chasing another problem.
2016-01-03Fix Wallet::Object::Duo to pass strict.t test w/o Net::DuoRuss Allbery
Ubuntu precise and trusty don't have Net::Duo packages. Delay loading to the constructor so that the modules will still pass strictness tests. This also fixes Travis-CI testing. Change-Id: I23f1fe6dbdddaac2040f459410a74be4a13b6755
2016-01-03Add stopword for Wallet::ACL::External documentationRuss Allbery
Change-Id: I3a8b13a8b255522cff92910f8d99ec94dc020e6f
2016-01-03Add Wallet::ACL::External ACL typeRuss Allbery
A new ACL type, external (Wallet::ACL::External), is now supported. This ACL runs an external command to check if access is allowed, and passes the principal and the ACL identifier to that command. To enable this ACL type for an existing wallet database, use wallet-admin to register the new verifier. Change-Id: I21b72b4373eefc92985aca1505e2d1a1ec699602
2015-12-29Add in missing use statement for Sys::SyslogBill MacAllister
2015-12-29Add error check for partially created AD keytabsBill MacAllister
The msktutil script does not always signal error conditions. This change implements a check that examines the output from msktutil and reports and error when the keytab creation fails to create the keytab but does create a computer entry in the directory. If an error is detected the directory entry is deleted leaving the directory in a clean state. Also, support has been added for output of debugging information to syslog using the AD_DEBUG configuration variable. Finally perltidy suggested changes were made to AD.pm.
2015-12-18Merge branch 'master' into ad-keytabsBill MacAllister
Conflicts: NEWS
2015-12-14Add documentation for Wallet::ACL::NestedRuss Allbery
2015-12-14Better error reporting on verifier failure during addRuss Allbery
When adding a new ACL, if creation of the verifier failed, we reported a pretty minimal error message claiming that the identifier was the problem. It can't possibly be the problem when the constructor fails. Report the actual failure more directly.
2015-12-14Skip Stanford naming policy tests that require NetDBRuss Allbery
We need a fake NetDB server to test this stuff properly, but until then, just avoid running the tests.
2015-12-03Implement support for managed Active Directory keytabsBill MacAllister
This version implements Active Directory as the store for keytabs. The interface to Active Directory uses a combination of direct LDAP queries and the msktutil utility. This version does not support the wallet unchanging flag. Unchanging requires that a keytab be retrieved without changing the password/kvno which is not supported by msktutil.
2015-11-18Added Wallet::ACL::LDAP::Attribute::RootJon Robertson
Added a version of the LDAP attribute ACL. Like the root version for NetDB, this requires that the principal end in /root, and then strips off /root before doing matching against the given LDAP attribute. Change-Id: I23119ef9c9ce3e0556f5d71a509815f2efc1bbe6
2015-11-18ldap-attr.t: Updated tests to use jonrober rather than rraJon Robertson
Change-Id: I842a7335a4b50c9c20b921ae2efc63aab571635e
2015-11-18stanford.t: Added netdb configuration to policy testsJon Robertson
Since we now check to see if something is a valid netdb node entry for the ACL verifiers, we need to have a valid netdb setup to run. Change-Id: Ic2651f8b8b306dfa1f426d91f329b5100a9a1d64
2015-11-18Added wallet report for nested ACLJon Robertson
We needed a way to report on where all a specific ACL might be nested, since we can't destroy an ACL until it's no longer being nested. For the immediate this is part of wallet-report. Change-Id: I41c11b73325d1eb3a28289eac3505bf965877be1
2015-11-18ACL.pm: Destroying a nested ACL will now failJon Robertson
When destroying an ACL nested in other ACLs, we now fail with an explanation rather than going through to remove all the places it's nested. That's more in line with how we handle trying to destroy ACLs that own things. Change-Id: I8bc0530e37c54369ec52d9b369f8fabe98def77a
2015-11-18Nested.pm: Updated comments around constructorJon Robertson
Removed some default text and explained why we grab the database handle for future use. Change-Id: I50b3ae06c1761453de3140d501830c245d550c04
2015-06-08Wallet/Server.pm: Fix sorting of ACLs and entriesJon Robertson
There was an older mistake in sorting ACLs and entries, using && instead of || when sorting. Problem and fix pointed out to Chris Law. Change-Id: Iab46b4bcbd842978f88a7d9f63958ebea4806413
2015-06-08Added nested acl verifierJon Robertson
This verifier will allow embedding one ACL in another for more flexible ACL handling. As part of thise we've also added the ability for each verifier to do a syntax check to see if a given name is valid for that verifier. For the moment this returns true for everything but Nested. Nested will check to make sure the given name is an existing group. Change-Id: Iacdf146d46ed882d57b7534058d34db6e6ec1de4
2015-06-08ACL.pm: Error messages use name rather than IDJon Robertson
All error messages should now use the ACL name rather than the ADL id, for readability. Change-Id: I2d1cfe806b459ef083293df4fa0b83cb4cef673b
2015-06-08Merged all Duo objects into one moduleJon Robertson
To handle local proliferation of Duo integration type requests, all Duo types have been merged into one module that will pick up and decide integration specifics off of the object type. If you are using the Duo types locally already, you'll want to load perl/sql/wallet-1.3-update-duo.sql to your database to update the old object types to all use the Duo module. All existing Duo integrations have been added to the module for handling, but nothing new has been added to the wallet object types. Since there are a lot of Duo integrations, sites should only manually add the ones they're interested in to the wallet types table. Change-Id: If9c9a0a3e77923354f31d8f9c98a519c93df200b