From: Ian Jackson Date: Wed, 3 Apr 2013 20:52:14 +0000 (+0100) Subject: db_setup_stmts: new setting X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=cgi-auth-flexible.git;a=commitdiff_plain;h=28a91929befb605f10c4136b426ffcc09950ebf9 db_setup_stmts: new setting --- diff --git a/cgi-auth-flexible.pm b/cgi-auth-flexible.pm index 1197f86..940e5dc 100644 --- a/cgi-auth-flexible.pm +++ b/cgi-auth-flexible.pm @@ -32,7 +32,7 @@ BEGIN { @EXPORT = qw(); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], - @EXPORT_OK = qw(); + @EXPORT_OK = qw(@default_db_setup_stmts); } our @EXPORT_OK; @@ -202,6 +202,18 @@ sub gen_plain_footer_html ($$) { ''); } +our @default_db_setup_stmts = + ("CREATE TABLE $v->{S}{assocdb_table} (". + " assochash VARCHAR PRIMARY KEY,". + " username VARCHAR NOT NULL,". + " last INTEGER NOT NULL". + ")" + , + "CREATE INDEX $v->{S}{assocdb_table}_timeout_index". + " ON $v->{S}{assocdb_table}". + " (last)" + ); + #---------- licence and source code ---------- sub srcdump_dump ($$$) { @@ -427,6 +439,7 @@ sub new_verifier { assocdb_user => '', assocdb_password => '', assocdb_table => 'caf_assocs', + assocdb_setup_stmts => [@_default_db_setup_statements], random_source => '/dev/urandom', secretbits => 128, # bits hash_algorithm => "SHA-256", @@ -543,14 +556,9 @@ sub _dbopen ($) { } $v->{Dbh} = $dbh; - $v->_db_setup_do("CREATE TABLE $v->{S}{assocdb_table} (". - " assochash VARCHAR PRIMARY KEY,". - " username VARCHAR NOT NULL,". - " last INTEGER NOT NULL". - ")"); - $v->_db_setup_do("CREATE INDEX $v->{S}{assocdb_table}_timeout_index". - " ON $v->{S}{assocdb_table}". - " (last)"); + foreach my $stmt (@default_db_setup_stmts) { + $v->_db_setup_do($stmt); + } return $dbh; }