diff options
Diffstat (limited to 'FS/FS/Setup.pm')
-rw-r--r-- | FS/FS/Setup.pm | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/FS/FS/Setup.pm b/FS/FS/Setup.pm index f26e50ea9..0c3226af8 100644 --- a/FS/FS/Setup.pm +++ b/FS/FS/Setup.pm @@ -27,7 +27,7 @@ use FS::access_groupagent; use FS::Record qw(qsearch); use FS::msgcat; -@EXPORT_OK = qw( create_initial_data enable_encryption ); +@EXPORT_OK = qw( create_initial_data enable_encryption enable_banned_pay_pad ); =head1 NAME @@ -71,6 +71,8 @@ sub create_initial_data { populate_numbering(); enable_encryption(); + + enable_banned_pay_pad(); if ( $oldAutoCommit ) { dbh->commit or die dbh->errstr; @@ -99,6 +101,25 @@ sub enable_encryption { } +sub enable_banned_pay_pad { + + eval "use FS::Conf"; + die $@ if $@; + + my $conf = new FS::Conf; + + die "banned_pay-pad already in place" + if length( $conf->config('banned_pay-pad') ); + + #arbitrary but good enough... all we need is *some* per-site random padding + my @pw_set = ( 'a'..'z', 'A'..'Z', '0'..'9', '(', ')', '#', '.', ',' ); + + $conf->set('banned_pay-pad', + join('', map($pw_set[ int(rand($#pw_set)) ], (0..15) ) ) + ); + +} + sub populate_numbering { eval "use FS::lata_Data;"; # this automatically populates the lata table, if unpopulated eval "use FS::msa_Data;"; # this automatically populates the msa table, if unpopulated |