diff options
Diffstat (limited to 'authtoken.json')
-rwxr-xr-x | authtoken.json | 36 |
1 files changed, 4 insertions, 32 deletions
diff --git a/authtoken.json b/authtoken.json index ef279c4..dbdc64a 100755 --- a/authtoken.json +++ b/authtoken.json @@ -1,44 +1,16 @@ #!/usr/bin/perl use strict; -use warnings; -use Config::IniFiles; -use DBI; - -sub get_token -{ - my $username = shift; - - my $RD_CONF = "/etc/rd.conf"; - my $cfg = Config::IniFiles->new(-file => $RD_CONF) - or return ('ERROR', "Config File Error: " . join("\n", @Config::IniFiles::errors), ''); - - my $dbhost = $cfg->val('mySQL', 'Hostname'); - my $dbname = $cfg->val('mySQL', 'Database'); - my $dbuser = $cfg->val('mySQL', 'Loginname'); - my $dbpasswd = $cfg->val('mySQL', 'Password'); - - my $dbh = DBI->connect("DBI:mysql:$dbname:$dbhost","$dbuser","$dbpasswd") - or return ('ERROR', "Database Error: " . $DBI::errstr, ''); - - my $sth = $dbh->prepare('select PASSWORD from USERS where LOGIN_NAME = ?') - or return ('ERROR', "Database Error: " . $dbh->errstr, ''); - - $sth->execute($username) - or return ('ERROR', "Database Error: " . $sth->errstr, ''); - - my ($token) = $sth->fetchrow_array; - return ('OK', 'success', $token) if(defined $token); - - return ('ERROR', "user '" . $username . "' not known by rivendell", '') -} +use File::Basename; +use lib dirname( __FILE__ ) . '/lib'; +use rddb; my $status = 'ERROR'; my $errorstring = 'unknown'; my $username = ''; my $token = ''; if(defined $ENV{REMOTE_USER}) { - ($status, $errorstring, $token) = get_token($ENV{REMOTE_USER}); + ($token, $status, $errorstring) = rddb::get_token($ENV{REMOTE_USER}); $username = $ENV{REMOTE_USER}; } else { $errorstring = 'no username defined - are you logged in?'; |