From 593e9b1e100ace54d1d9da7eb16e60f4e37c34ff Mon Sep 17 00:00:00 2001 From: Jon Robertson Date: Sun, 2 Dec 2012 22:07:16 -0800 Subject: Moved the Perl wallet modules and tests to DBIx::Class Moved all the Perl code to use DBIx::Class for the database interface. This includes updating all database calls, how the schema is generated and maintained, and the tests in places where some output has changed. We also remove the schema.t test, as the tests for it are more covered in the admin.t tests now. Change-Id: Ie5083432d09a0d9fe364a61c31378b77aa7b3cb7 Reviewed-on: https://gerrit.stanford.edu/598 Reviewed-by: Russ Allbery Tested-by: Russ Allbery --- perl/Wallet/Schema/Result/AclScheme.pm | 73 ++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 perl/Wallet/Schema/Result/AclScheme.pm (limited to 'perl/Wallet/Schema/Result/AclScheme.pm') diff --git a/perl/Wallet/Schema/Result/AclScheme.pm b/perl/Wallet/Schema/Result/AclScheme.pm new file mode 100644 index 0000000..96db79d --- /dev/null +++ b/perl/Wallet/Schema/Result/AclScheme.pm @@ -0,0 +1,73 @@ +package Wallet::Schema::Result::AclScheme; + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; +__PACKAGE__->load_components (qw//); + +=head1 NAME + +Wallet::Schema::Result::AclScheme + +=head1 DESCRIPTION + +This is a normalization table used to constrain the values in other +tables. It contains the types of ACL schemes that Wallet will +recognize, and the modules that govern each of those schemes. + +By default it contains the following entries: + + insert into acl_schemes (as_name, as_class) + values ('krb5', 'Wallet::ACL::Krb5'); + insert into acl_schemes (as_name, as_class) + values ('krb5-regex', 'Wallet::ACL::Krb5::Regex'); + insert into acl_schemes (as_name, as_class) + values ('ldap-attr', 'Wallet::ACL::LDAP::Attribute'); + insert into acl_schemes (as_name, as_class) + values ('netdb', 'Wallet::ACL::NetDB'); + insert into acl_schemes (as_name, as_class) + values ('netdb-root', 'Wallet::ACL::NetDB::Root'); + +If you have extended the wallet to support additional ACL schemes, you +will want to add additional rows to this table mapping those schemes +to Perl classes that implement the ACL verifier APIs. + +=cut + +__PACKAGE__->table("acl_schemes"); + +=head1 ACCESSORS + +=head2 as_name + + data_type: 'varchar' + is_nullable: 0 + size: 32 + +=head2 as_class + + data_type: 'varchar' + is_nullable: 1 + size: 64 + +=cut + +__PACKAGE__->add_columns( + "as_name", + { data_type => "varchar", is_nullable => 0, size => 32 }, + "as_class", + { data_type => "varchar", is_nullable => 1, size => 64 }, +); +__PACKAGE__->set_primary_key("as_name"); + +#__PACKAGE__->resultset->populate ([ +# [ qw/as_name as_class/ ], +# [ 'krb5', 'Wallet::ACL::Krb5' ], +# [ 'krb5-regex', 'Wallet::ACL::Krb5::Regex' ], +# [ 'ldap-attr', 'Wallet::ACL::LDAP::Attribute' ], +# [ 'netdb', 'Wallet::ACL::NetDB' ], +# [ 'netdb-root', 'Wallet::ACL::NetDB::Root' ], +# ]); + +1; -- cgit v1.2.3 From a03d2f7fedc1088bce90e2b921ae2aeae06fddd0 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Wed, 13 Feb 2013 12:41:27 -0800 Subject: Add spelling stopwords to new wallet Perl modules Change-Id: Id8810ff6deb991b70c2fd4587019aa245d247419 Reviewed-on: https://gerrit.stanford.edu/785 Reviewed-by: Russ Allbery Tested-by: Russ Allbery --- perl/Wallet/Policy/Stanford.pm | 3 +++ perl/Wallet/Schema.pm | 4 ++++ perl/Wallet/Schema/Result/AclScheme.pm | 3 +++ perl/Wallet/Schema/Result/Type.pm | 3 +++ 4 files changed, 13 insertions(+) (limited to 'perl/Wallet/Schema/Result/AclScheme.pm') diff --git a/perl/Wallet/Policy/Stanford.pm b/perl/Wallet/Policy/Stanford.pm index 1444d51..5e04b4f 100644 --- a/perl/Wallet/Policy/Stanford.pm +++ b/perl/Wallet/Policy/Stanford.pm @@ -369,6 +369,9 @@ sub verify_name { # Documentation ############################################################################## +=for stopwords +Allbery + =head1 NAME Wallet::Policy::Stanford - Stanford's wallet naming and ownership policy diff --git a/perl/Wallet/Schema.pm b/perl/Wallet/Schema.pm index cee94f7..6868876 100644 --- a/perl/Wallet/Schema.pm +++ b/perl/Wallet/Schema.pm @@ -55,6 +55,10 @@ __END__ # Documentation ############################################################################## +=for stopwords +RaiseError PrintError AutoCommit ACL verifier API APIs enums keytab backend +enctypes DBI Allbery + =head1 NAME Wallet::Schema - Database schema and connector for the wallet system diff --git a/perl/Wallet/Schema/Result/AclScheme.pm b/perl/Wallet/Schema/Result/AclScheme.pm index 96db79d..be20d49 100644 --- a/perl/Wallet/Schema/Result/AclScheme.pm +++ b/perl/Wallet/Schema/Result/AclScheme.pm @@ -6,6 +6,9 @@ use warnings; use base 'DBIx::Class::Core'; __PACKAGE__->load_components (qw//); +=for stopwords +ACL verifier APIs + =head1 NAME Wallet::Schema::Result::AclScheme diff --git a/perl/Wallet/Schema/Result/Type.pm b/perl/Wallet/Schema/Result/Type.pm index 89fb4c3..7af837b 100644 --- a/perl/Wallet/Schema/Result/Type.pm +++ b/perl/Wallet/Schema/Result/Type.pm @@ -5,6 +5,9 @@ use warnings; use base 'DBIx::Class::Core'; +=for stopwords +APIs + =head1 NAME Wallet::Schema::Result::Type -- cgit v1.2.3 From 027ed879d1697b04939547585ff3838b300154e1 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Fri, 22 Feb 2013 20:29:28 -0800 Subject: Fix NAME sections of new Wallet::Schema::Result::* classes Change-Id: I8aa2d9232a3f15d424eafbda69b6e065824e62b8 --- perl/Wallet/Schema/Result/Acl.pm | 2 +- perl/Wallet/Schema/Result/AclEntry.pm | 2 +- perl/Wallet/Schema/Result/AclHistory.pm | 2 +- perl/Wallet/Schema/Result/AclScheme.pm | 2 +- perl/Wallet/Schema/Result/Enctype.pm | 5 ++++- perl/Wallet/Schema/Result/Flag.pm | 2 +- perl/Wallet/Schema/Result/KeytabEnctype.pm | 2 +- perl/Wallet/Schema/Result/KeytabSync.pm | 2 +- perl/Wallet/Schema/Result/Object.pm | 2 +- perl/Wallet/Schema/Result/ObjectHistory.pm | 2 +- perl/Wallet/Schema/Result/SyncTarget.pm | 2 +- perl/Wallet/Schema/Result/Type.pm | 2 +- 12 files changed, 15 insertions(+), 12 deletions(-) (limited to 'perl/Wallet/Schema/Result/AclScheme.pm') diff --git a/perl/Wallet/Schema/Result/Acl.pm b/perl/Wallet/Schema/Result/Acl.pm index 60a357b..07956b7 100644 --- a/perl/Wallet/Schema/Result/Acl.pm +++ b/perl/Wallet/Schema/Result/Acl.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::Acl +Wallet::Schema::Result::Acl - Wallet schema for an ACL =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/AclEntry.pm b/perl/Wallet/Schema/Result/AclEntry.pm index 99105a0..2a7aad3 100644 --- a/perl/Wallet/Schema/Result/AclEntry.pm +++ b/perl/Wallet/Schema/Result/AclEntry.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::AclEntry +Wallet::Schema::Result::AclEntry - Wallet schema for an entry in an ACL =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/AclHistory.pm b/perl/Wallet/Schema/Result/AclHistory.pm index 2ad56ff..fd372e2 100644 --- a/perl/Wallet/Schema/Result/AclHistory.pm +++ b/perl/Wallet/Schema/Result/AclHistory.pm @@ -9,7 +9,7 @@ __PACKAGE__->load_components("InflateColumn::DateTime"); =head1 NAME -Wallet::Schema::Result::AclHistory +Wallet::Schema::Result::AclHistory - Wallet schema for ACL history =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/AclScheme.pm b/perl/Wallet/Schema/Result/AclScheme.pm index be20d49..8f76530 100644 --- a/perl/Wallet/Schema/Result/AclScheme.pm +++ b/perl/Wallet/Schema/Result/AclScheme.pm @@ -11,7 +11,7 @@ ACL verifier APIs =head1 NAME -Wallet::Schema::Result::AclScheme +Wallet::Schema::Result::AclScheme - Wallet schema for ACL scheme =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/Enctype.pm b/perl/Wallet/Schema/Result/Enctype.pm index be41b84..ca54de5 100644 --- a/perl/Wallet/Schema/Result/Enctype.pm +++ b/perl/Wallet/Schema/Result/Enctype.pm @@ -5,9 +5,12 @@ use warnings; use base 'DBIx::Class::Core'; +=for stopwords +Kerberos + =head1 NAME -Wallet::Schema::Result::Enctype +Wallet::Schema::Result::Enctype - Wallet schema for Kerberos encryption type =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/Flag.pm b/perl/Wallet/Schema/Result/Flag.pm index b38e85f..9b98da9 100644 --- a/perl/Wallet/Schema/Result/Flag.pm +++ b/perl/Wallet/Schema/Result/Flag.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::Flag +Wallet::Schema::Result::Flag - Wallet schema for object flags =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/KeytabEnctype.pm b/perl/Wallet/Schema/Result/KeytabEnctype.pm index ae40c52..9626d49 100644 --- a/perl/Wallet/Schema/Result/KeytabEnctype.pm +++ b/perl/Wallet/Schema/Result/KeytabEnctype.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::KeytabEnctype +Wallet::Schema::Result::KeytabEnctype - Wallet schema for keytab enctype =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/KeytabSync.pm b/perl/Wallet/Schema/Result/KeytabSync.pm index 92ab6b8..828c6f0 100644 --- a/perl/Wallet/Schema/Result/KeytabSync.pm +++ b/perl/Wallet/Schema/Result/KeytabSync.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::KeytabSync +Wallet::Schema::Result::KeytabSync - Wallet schema for keytab synchronization =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/Object.pm b/perl/Wallet/Schema/Result/Object.pm index 17c51e2..7f59d27 100644 --- a/perl/Wallet/Schema/Result/Object.pm +++ b/perl/Wallet/Schema/Result/Object.pm @@ -9,7 +9,7 @@ __PACKAGE__->load_components("InflateColumn::DateTime"); =head1 NAME -Wallet::Schema::Result::Object +Wallet::Schema::Result::Object - Wallet schema for an object =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/ObjectHistory.pm b/perl/Wallet/Schema/Result/ObjectHistory.pm index 067712f..df0a7df 100644 --- a/perl/Wallet/Schema/Result/ObjectHistory.pm +++ b/perl/Wallet/Schema/Result/ObjectHistory.pm @@ -9,7 +9,7 @@ __PACKAGE__->load_components("InflateColumn::DateTime"); =head1 NAME -Wallet::Schema::Result::ObjectHistory +Wallet::Schema::Result::ObjectHistory - Wallet schema for object history =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/SyncTarget.pm b/perl/Wallet/Schema/Result/SyncTarget.pm index 17f4320..27174f5 100644 --- a/perl/Wallet/Schema/Result/SyncTarget.pm +++ b/perl/Wallet/Schema/Result/SyncTarget.pm @@ -7,7 +7,7 @@ use base 'DBIx::Class::Core'; =head1 NAME -Wallet::Schema::Result::SyncTarget +Wallet::Schema::Result::SyncTarget - Wallet schema for synchronization targets =head1 DESCRIPTION diff --git a/perl/Wallet/Schema/Result/Type.pm b/perl/Wallet/Schema/Result/Type.pm index 7af837b..5b2e1d0 100644 --- a/perl/Wallet/Schema/Result/Type.pm +++ b/perl/Wallet/Schema/Result/Type.pm @@ -10,7 +10,7 @@ APIs =head1 NAME -Wallet::Schema::Result::Type +Wallet::Schema::Result::Type - Wallet schema for object types =head1 DESCRIPTION -- cgit v1.2.3 From 82902694563c7b140263e2fb17162f04cdb6cac2 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Wed, 27 Feb 2013 16:17:01 -0800 Subject: Add standard headers to the Wallet::Schema::* classes Change-Id: Iee8d55f6c86563fad71d770398e3221f7efb4b2e Reviewed-on: https://gerrit.stanford.edu/852 Reviewed-by: Russ Allbery Tested-by: Russ Allbery --- perl/Wallet/Schema.pm | 8 ++++++++ perl/Wallet/Schema/Result/Acl.pm | 8 ++++++++ perl/Wallet/Schema/Result/AclEntry.pm | 8 ++++++++ perl/Wallet/Schema/Result/AclHistory.pm | 8 ++++++++ perl/Wallet/Schema/Result/AclScheme.pm | 8 ++++++++ perl/Wallet/Schema/Result/Enctype.pm | 8 ++++++++ perl/Wallet/Schema/Result/Flag.pm | 8 ++++++++ perl/Wallet/Schema/Result/KeytabEnctype.pm | 8 ++++++++ perl/Wallet/Schema/Result/KeytabSync.pm | 8 ++++++++ perl/Wallet/Schema/Result/Object.pm | 8 ++++++++ perl/Wallet/Schema/Result/ObjectHistory.pm | 8 ++++++++ perl/Wallet/Schema/Result/SyncTarget.pm | 8 ++++++++ perl/Wallet/Schema/Result/Type.pm | 8 ++++++++ 13 files changed, 104 insertions(+) (limited to 'perl/Wallet/Schema/Result/AclScheme.pm') diff --git a/perl/Wallet/Schema.pm b/perl/Wallet/Schema.pm index 6868876..fc63447 100644 --- a/perl/Wallet/Schema.pm +++ b/perl/Wallet/Schema.pm @@ -1,3 +1,11 @@ +# Database schema and connector for the wallet system. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema; use strict; diff --git a/perl/Wallet/Schema/Result/Acl.pm b/perl/Wallet/Schema/Result/Acl.pm index 7fe395b..226738a 100644 --- a/perl/Wallet/Schema/Result/Acl.pm +++ b/perl/Wallet/Schema/Result/Acl.pm @@ -1,3 +1,11 @@ +# Wallet schema for an ACL. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::Acl; use strict; diff --git a/perl/Wallet/Schema/Result/AclEntry.pm b/perl/Wallet/Schema/Result/AclEntry.pm index a5ae5fa..a33a98c 100644 --- a/perl/Wallet/Schema/Result/AclEntry.pm +++ b/perl/Wallet/Schema/Result/AclEntry.pm @@ -1,3 +1,11 @@ +# Wallet schema for an entry in an ACL. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::AclEntry; use strict; diff --git a/perl/Wallet/Schema/Result/AclHistory.pm b/perl/Wallet/Schema/Result/AclHistory.pm index cc3978b..d3ef901 100644 --- a/perl/Wallet/Schema/Result/AclHistory.pm +++ b/perl/Wallet/Schema/Result/AclHistory.pm @@ -1,3 +1,11 @@ +# Wallet schema for ACL history. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::AclHistory; use strict; diff --git a/perl/Wallet/Schema/Result/AclScheme.pm b/perl/Wallet/Schema/Result/AclScheme.pm index 8f76530..91a58b2 100644 --- a/perl/Wallet/Schema/Result/AclScheme.pm +++ b/perl/Wallet/Schema/Result/AclScheme.pm @@ -1,3 +1,11 @@ +# Wallet schema for ACL scheme. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::AclScheme; use strict; diff --git a/perl/Wallet/Schema/Result/Enctype.pm b/perl/Wallet/Schema/Result/Enctype.pm index ca54de5..5733669 100644 --- a/perl/Wallet/Schema/Result/Enctype.pm +++ b/perl/Wallet/Schema/Result/Enctype.pm @@ -1,3 +1,11 @@ +# Wallet schema for Kerberos encryption type. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::Enctype; use strict; diff --git a/perl/Wallet/Schema/Result/Flag.pm b/perl/Wallet/Schema/Result/Flag.pm index 9b98da9..e223ff8 100644 --- a/perl/Wallet/Schema/Result/Flag.pm +++ b/perl/Wallet/Schema/Result/Flag.pm @@ -1,3 +1,11 @@ +# Wallet schema for object flags. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::Flag; use strict; diff --git a/perl/Wallet/Schema/Result/KeytabEnctype.pm b/perl/Wallet/Schema/Result/KeytabEnctype.pm index 3de620f..daea724 100644 --- a/perl/Wallet/Schema/Result/KeytabEnctype.pm +++ b/perl/Wallet/Schema/Result/KeytabEnctype.pm @@ -1,3 +1,11 @@ +# Wallet schema for keytab enctype. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::KeytabEnctype; use strict; diff --git a/perl/Wallet/Schema/Result/KeytabSync.pm b/perl/Wallet/Schema/Result/KeytabSync.pm index 77ee23d..ca84277 100644 --- a/perl/Wallet/Schema/Result/KeytabSync.pm +++ b/perl/Wallet/Schema/Result/KeytabSync.pm @@ -1,3 +1,11 @@ +# Wallet schema for keytab synchronization. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::KeytabSync; use strict; diff --git a/perl/Wallet/Schema/Result/Object.pm b/perl/Wallet/Schema/Result/Object.pm index 7f59d27..fd64e1b 100644 --- a/perl/Wallet/Schema/Result/Object.pm +++ b/perl/Wallet/Schema/Result/Object.pm @@ -1,3 +1,11 @@ +# Wallet schema for an object. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::Object; use strict; diff --git a/perl/Wallet/Schema/Result/ObjectHistory.pm b/perl/Wallet/Schema/Result/ObjectHistory.pm index df0a7df..9cbb159 100644 --- a/perl/Wallet/Schema/Result/ObjectHistory.pm +++ b/perl/Wallet/Schema/Result/ObjectHistory.pm @@ -1,3 +1,11 @@ +# Wallet schema for object history. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::ObjectHistory; use strict; diff --git a/perl/Wallet/Schema/Result/SyncTarget.pm b/perl/Wallet/Schema/Result/SyncTarget.pm index 27174f5..4300a54 100644 --- a/perl/Wallet/Schema/Result/SyncTarget.pm +++ b/perl/Wallet/Schema/Result/SyncTarget.pm @@ -1,3 +1,11 @@ +# Wallet schema for synchronization targets. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::SyncTarget; use strict; diff --git a/perl/Wallet/Schema/Result/Type.pm b/perl/Wallet/Schema/Result/Type.pm index 5b2e1d0..748a8a8 100644 --- a/perl/Wallet/Schema/Result/Type.pm +++ b/perl/Wallet/Schema/Result/Type.pm @@ -1,3 +1,11 @@ +# Wallet schema for object types. +# +# Written by Jon Robertson +# Copyright 2012, 2013 +# The Board of Trustees of the Leland Stanford Junior University +# +# See LICENSE for licensing terms. + package Wallet::Schema::Result::Type; use strict; -- cgit v1.2.3