Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1208 → Rev 1209

/hostadmiral/trunk/backend/backend.pl
93,7 → 93,7
. "\n$request{'code'} $request{'response'}\n\n";
close CLIENT;
$request{'stop_timestamp'} = [gettimeofday];
log_debug("Duration: " . tv_interval($request{'start_timestamp'},
log_debug("Duration: " . tv_interval($request{'start_timestamp'},
$request{'stop_timestamp'}) . " sec");
}
 
125,7 → 125,7
 
# check end lines
if($#lines < $cur+1 || $lines[$#lines-1] ne "" || $lines[$#lines] ne "") {
set_request_code($request, $code_no_end_lines,
set_request_code($request, $code_no_end_lines,
"Request doesn't end with \\n\\n");
return;
}
133,7 → 133,7
# check password
if($password) {
if($#lines < $cur || !($lines[$cur] =~ /^$password_header/)) {
set_request_code($request, $code_no_password,
set_request_code($request, $code_no_password,
"Password not specified");
return;
}
176,7 → 176,7
sub handle_user_create
{
my $request = shift @_;
 
set_request_code($request, $code_ignored, "Not interesting in users");
}
 
183,7 → 183,7
sub handle_user_modify
{
my $request = shift @_;
 
set_request_code($request, $code_ignored, "Not interesting in users");
}
 
190,7 → 190,7
sub handle_user_delete
{
my $request = shift @_;
 
set_request_code($request, $code_ignored, "Not interesting in users");
}
 
200,7 → 200,7
my %params = parse_command_params($request, shift @_, ("name"));
return unless(%params);
 
my $res_action = save_to_db($request, "transport",
my $res_action = save_to_db($request, "transport",
{ domain => $params{"name"} },
{ domain => $params{"name"}, comment => $params{"comment"},
transport => 'virtual:' } );
221,7 → 221,7
my %params = parse_command_params($request, shift @_, ("oldName", "name"));
return unless(%params);
 
my $res_action = save_to_db($request, "transport",
my $res_action = save_to_db($request, "transport",
{ domain => $params{"oldName"} },
{ domain => $params{"name"}, comment => $params{"comment"},
transport => 'virtual:' } );
242,7 → 242,7
my %params = parse_command_params($request, shift @_, ("name"));
return unless(%params);
 
my $res_action = delete_from_db($request, "transport",
my $res_action = delete_from_db($request, "transport",
{ domain => $params{"name"} } );
 
if($res_action eq 'delete') {
273,7 → 273,7
("login", "password", "domain"));
return unless(%params);
 
my $res_action = save_to_db($request, "users",
my $res_action = save_to_db($request, "users",
{ login => "$params{'login'}\@$params{'domain'}" },
{ login => "$params{'login'}\@$params{'domain'}",
password => $params{"password"},
299,7 → 299,7
 
# FIXME move the old maildir
 
my $res_action = save_to_db($request, "users",
my $res_action = save_to_db($request, "users",
{ login => "$params{'oldLogin'}\@$params{'oldDomain'}" },
{ login => "$params{'login'}\@$params{'domain'}",
password => $params{"password"},
324,7 → 324,7
 
# FIXME remove the maildir
 
my $res_action = delete_from_db($request, "users",
my $res_action = delete_from_db($request, "users",
{ login => "$params{'login'}\@$params{'domain'}" } );
 
if($res_action eq 'delete') {
342,13 → 342,13
return unless(%params);
my @rcpts = parse_command_array($request, @_);
 
my $del_action = delete_from_db($request, "aliases",
my $del_action = delete_from_db($request, "aliases",
{ alias => "$params{'address'}\@$params{'domain'}" } );
return if($del_action eq "error");
 
foreach my $rcpt (@rcpts) {
log_debug("save $rcpt");
my $res_action = save_to_db($request, "aliases",
my $res_action = save_to_db($request, "aliases",
undef,
{ alias => "$params{'address'}\@$params{'domain'}",
rcpt => $rcpt, comment => $params{"comment"} } );
370,18 → 370,20
return unless(%params);
my @rcpts = parse_command_array($request, @_);
 
my $del_action = delete_from_db($request, "aliases",
my $del_action = delete_from_db($request, "aliases",
{ alias => "$params{'address'}\@$params{'domain'}" } );
return if($del_action eq "error");
 
foreach my $rcpt (@rcpts) {
log_debug("save $rcpt");
my $res_action = save_to_db($request, "aliases",
my $res_action = save_to_db($request, "aliases",
undef,
{ alias => "$params{'address'}\@$params{'domain'}",
rcpt => $rcpt, comment => $params{"comment"} } );
return if($res_action eq "error");
}
# FIXME add the loopback destination? handle "a@domain.com => a@domain.com"
# as "a@domain.com => _something_@domain.com + _something_@domain.com => _something_@domain.com" ?
 
if($del_action eq 'delete') {
set_request_code($request, $code_ok, "Mail alias modified");
397,7 → 399,7
my %params = parse_command_params($request, shift @_, ("address", "domain"));
return unless(%params);
 
my $res_action = delete_from_db($request, "aliases",
my $res_action = delete_from_db($request, "aliases",
{ alias => "$params{'address'}\@$params{'domain'}" } );
 
if($res_action eq 'delete') {
417,7 → 419,7
$value =~ s/\\t/\t/g;
$value =~ s/\\0/\000/g;
$value =~ s/\\\\/\\/g;
 
return $value;
}
 
441,7 → 443,7
my @params = split /\t/, shift @_, -1;
my %required = map { $_ => 1 } @_; # convert array to hash
my %values = ();
 
@params = @params[2..$#params]; # remove handler and action
map {
my ($key, $value) = split /=/, $_;
471,7 → 473,7
{
my $request = shift @_;
my $dbh = undef;
 
eval { $dbh = DBI->connect($db_url, $db_user, $db_password); };
if($@) {
set_request_code($request, $code_db_connect_error, $@);
515,7 → 517,7
my $dbh = db_connect($request);
 
return 'error' unless($dbh);
 
eval {
my $sql = "";
while(my ($key, $value) = each(%$key_columns)) {
531,7 → 533,7
next unless(defined $value);
$sth->bind_param(++$count, $value);
}
 
my $res = $sth->execute;
 
if($res < 1) {
562,7 → 564,7
my $dbh = db_connect($request);
 
return 'error' unless($dbh);
 
eval {
my $res = 0;
 
591,7 → 593,7
next unless(defined $value);
$update_sth->bind_param(++$count, $value);
}
 
$res = $update_sth->execute;
$res_action = 'update';
}
632,11 → 634,12
next unless(defined $value);
$insert_sth->bind_param(++$count, $value);
}
 
$res = $insert_sth->execute;
$res_action = 'insert';
}
};
# FIXME handle exceptions?
 
if(db_close($request, $dbh, $@)) {
return $res_action;