index 60ee896db11f140fbf7dfbf06ec6ba3e27a76940..64b014917eb432ef4b68ebbca2eeb3fba5906ca4 100644 (file)
&main::daemon_log("$session_id ERROR: GosaPackages: no event handler or core function defined for '$header'", 1);
@out_msg_l = ();
} elsif ($out_msg_l[0] eq 'knownclienterror') {
- &main::daemon_log("$session_id ERROR: no event handler found for '$header', check client registration events!", 1);
- &main::daemon_log("$session_id ERROR: no or more than 1 hits are found at known_clients_db with sql query: '$sql_events'", 1);
- &main::daemon_log("$session_id ERROR: processing is aborted and message will not be forwarded", 1);
+ if ($header eq "ping") {
+ &main::daemon_log("$session_id WARNING: Cannot send '$header' to '$target'. GOsa-si do not know client. Maybe client is offline or gosa-si-client process is not running.", 3);
+ } else {
+ &main::daemon_log("$session_id ERROR: no general event handler found for '$header', check client registration events!", 1);
+ &main::daemon_log("$session_id ERROR: no or more than 1 hits are found at known_clients_db with sql query: '$sql_events'", 1);
+ &main::daemon_log("$session_id ERROR: processing is aborted and message will not be forwarded", 1);
+ }
@out_msg_l = ();
} elsif ($out_msg_l[0] eq 'noeventerror') {
+ &main::daemon_log("$session_id ERROR: no general event handler found for '$header', check client registration events!", 1);
&main::daemon_log("$session_id ERROR: client '$target' is not registered for event '$header', processing is aborted", 1);
@out_msg_l = ();
}
# Check if it is a periodical job
my $periodic = 'none';
- my $periodic_time = 1;
if (exists $msg_hash->{periodic})
{
$periodic = $msg_hash->{periodic}[0];
- if (not defined $periodic) # Periodic tag is not defined
- {
- $periodic = "";
- }
-
- if (not exists $main::check_periodic->{$periodic}) # Periodic tag is not valid
+ if (not $periodic =~ /[0-9]+_(hours|minutes|days|weeks|months)/) # Periodic tag is not valid
{
&main::daemon_log("$session_id ERROR: Message contains invalid periodic-tag '$periodic'.".
- " Please use one of the following tags instead: '".join("', '", keys(%$main::check_periodic))."'.".
+ " Please use the following pattern for the tag: 'INTEGER_[minutes|hours|days|weeks|months]'".
" Aborted message: $msg", 1);
$out_msg = "<xml>".
"<header>answer</header><source>$main::server_address</source><target>GOSA</target>".
"</xml>";
return ($out_msg);
}
-
- if (exists $msg_hash->{$periodic}) # Check periodical time tag and set value
- {
- if (ref $msg_hash->{$periodic}[0] eq "HASH") # Periodical time tag is empty
- {
- &main::daemon_log("$session_id ERROR: Message contains no content of periodical time tag.".
- " Please use an integer for this tag (i. e.: <periodic>hours</periodoc><hours>5</hours>)", 1);
- $out_msg = "<xml>".
- "<header>answer</header><source>$main::server_address</source><target>GOSA</target>".
- "<answer1>1</answer1><error_string>Message contains no content of periodic time tag</error_string>".
- "</xml>";
- return ($out_msg);
-
- }
-
- if (not $msg_hash->{$periodic}[0] =~ /[1-9]+\d*/) # Periodical time tag is not an INT > 0
- {
- &main::daemon_log("$session_id ERROR: Message contains invalid periodical time tag '$msg_hash->{$periodic}[0]'.".
- " Please use an integer for this tag (i. e.: <periodic>hours</periodoc><hours>5</hours>)", 1);
- $out_msg = "<xml>".
- "<header>answer</header><source>$main::server_address</source><target>GOSA</target>".
- "<answer1>1</answer1><error_string>Message contains invalid periodic time tag '$msg_hash->{$periodic}[0]'</error_string>".
- "</xml>";
- return ($out_msg);
- }
-
- $periodic_time = $msg_hash->{$periodic}[0];
- }
}
# Add job to job queue
plainname=>$plain_name,
siserver=>"localhost",
modified=>"1",
- periodic=>$periodic_time."_".$periodic,
+ periodic=>$periodic,
};
my $res = $main::job_db->add_dbentry($func_dic);
if (not $res == 0) {