X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FSetup.pm;h=e27b66fc595e269342aa595097f9f17f2f2222b6;hb=22a1feb55c4bb705064a04646ff5c321b8112ce1;hp=3725115d6a5737eb68e16ec26cd77262d59b5646;hpb=3aa57c0b48933b3d723b3b69e858049ac7c01380;p=freeside.git diff --git a/FS/FS/Setup.pm b/FS/FS/Setup.pm index 3725115d6..e27b66fc5 100644 --- a/FS/FS/Setup.pm +++ b/FS/FS/Setup.pm @@ -5,6 +5,7 @@ use vars qw( @ISA @EXPORT_OK ); use Exporter; #use Tie::DxHash; use Tie::IxHash; +use Crypt::OpenSSL::RSA; use FS::UID qw( dbh driver_name ); use FS::Record; @@ -13,7 +14,7 @@ $FS::svc_domain::whois_hack = 1; $FS::svc_domain::whois_hack = 1; @ISA = qw( Exporter ); -@EXPORT_OK = qw( create_initial_data ); +@EXPORT_OK = qw( create_initial_data enable_encryption ); =head1 NAME @@ -55,6 +56,8 @@ sub create_initial_data { populate_msgcat(); populate_numbering(); + + enable_encryption(); if ( $oldAutoCommit ) { dbh->commit or die dbh->errstr; @@ -62,6 +65,27 @@ sub create_initial_data { } +sub enable_encryption { + + eval "use FS::Conf"; + die $@ if $@; + + my $conf = new FS::Conf; + + die "encryption key(s) already in place" + if $conf->exists('encryptionpublickey') + || $conf->exists('encryptionprivatekey'); + + my $length = 2048; + my $rsa = Crypt::OpenSSL::RSA->generate_key($length); + + $conf->set('encryption', 1); + $conf->set('encryptionmodule', 'Crypt::OpenSSL::RSA'); + $conf->set('encryptionpublickey', $rsa->get_public_key_string ); + $conf->set('encryptionprivatekey', $rsa->get_private_key_string ); + +} + 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 @@ -185,6 +209,14 @@ sub populate_initial_data { sub initial_data { my %opt = @_; + my $cust_location = FS::cust_location->new({ + 'address1' => '1234 System Lane', + 'city' => 'Systemtown', + 'state' => 'CA', + 'zip' => '54321', + 'country' => 'US', + }); + #tie my %hash, 'Tie::DxHash', tie my %hash, 'Tie::IxHash', @@ -327,14 +359,11 @@ sub initial_data { 'refnum' => 1, #XXX 'first' => 'System', 'last' => 'Accounts', - 'address1' => '1234 System Lane', - 'city' => 'Systemtown', - 'state' => 'CA', - 'zip' => '54321', - 'country' => 'US', 'payby' => 'COMP', 'payinfo' => 'system', #or something 'paydate' => '1/2037', + 'bill_location' => $cust_location, + 'ship_location' => $cust_location, }, ],