%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2019 Best Practical Solutions, LLC
%# <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
push @Types, 'DatabaseHost', 'DatabasePort', 'DatabaseAdmin',
'DatabaseAdminPassword', 'DatabaseUser', 'DatabasePassword';
}
-if ( $db_type eq 'Pg' ) {
- push @Types, 'DatabaseRequireSSL';
-}
if ( $Run ) {
my ( $status, $msg ) = RT::Installer->SaveConfig;
if ( $status ) {
- delete $INC{'RT_SiteConfig.pm'};
RT->LoadConfig;
RT::Handle->FinalizeDatabaseType();
# dba connect systemdsn
$dbh = DBI->connect(
RT::Handle->DSN, $ARGS{DatabaseAdmin}, $ARGS{DatabaseAdminPassword}, { RaiseError => 0, PrintError => 0 },
);
-
+
+ if ( $dbh and $db_type eq "Oracle") {
+ # The database _existing_ is itself insufficient for Oracle -- we need to check for the RT user
+ my $sth = $dbh->prepare('SELECT username FROM dba_users WHERE username = ?');
+ $sth->execute( $ARGS{DatabaseUser} );
+ undef $dbh unless $sth->fetchrow_array;
+
+ push @errors, loc("Oracle users cannot have empty passwords")
+ unless $ARGS{DatabasePassword};
+ }
+
if ( $dbh ) {
# check if table Users exists
eval {
);
my $sth = $dbh->prepare('select * from Users');
+ $sth->execute();
};
unless ( $@ ) {