our $osnick_default = 'OperServ';
our $osnick = $osnick_default;
-
+our $osuser = { NICK => $osnick, ID => "123AAAAAD" };
my %newstypes = (
u => 'User',
o => 'Oper'
}
sub dispatch($$$) {
- my ($src, $dst, $msg) = @_;
+ my ($user, $dstUser, $msg) = @_;
$msg =~ s/^\s+//;
my @args = split(/\s+/, $msg);
my $cmd = shift @args;
-
- my $user = { NICK => $src, AGENT=> $dst };
-
+ $user -> {AGENT} = $dstUser;
+ my $src = $user -> {NICK};
+ return unless (lc $dstUser->{NICK} eq lc $osnick);
+ get_user_id ($user);
services::ulog($osnick, LOG_INFO(), "cmd: [$msg]", $user);
return if flood_check($user);
- unless(adminserv::is_svsop($user) or adminserv::is_ircop($user)) {
+ unless(defined(adminserv::is_svsop($user)) or adminserv::is_ircop($user)) {
notice($user, $err_deny);
- ircd::globops($osnick, "\002$src\002 failed access to $osnick $msg");
+ ircd::globops($osuser, "\002$src\002 failed access to $osnick $msg");
return;
}
notice($user, "You don't have the right access");
return $event::SUCCESS;
}
- ircd::svsjoin($osnick, $target, @chans);
+ ircd::svsjoin($osuser, $target, @chans);
}
sub os_fpart($$@) {
}
$reason = join(' ', @params) if @params;
- ircd::svspart($osnick, $target, $reason, @chans);
+ ircd::svspart($osuser, $target, $reason, @chans);
}
sub os_qline_add($$$$) {
return $event::SUCCESS;
}
nickserv::enforcer_quit($newnick);
- ircd::svsnick($osnick, $curnick, $newnick);
+ ircd::svsnick($osuser, $curnick, $newnick);
notice($user, $curnick.' changed to '.$newnick);
return $event::SUCCESS;
}
my $hostmask = $hostname;
$hostmask =~ s/\*/\%/g;
my $ret = $del_clone_exceptname->execute($hostmask);
- ircd::notice($osnick, main_conf_diag, "hostname: $hostname; hostmask: $hostmask");
+ ircd::notice($osuser, main_conf_diag, "hostname: $hostname; hostmask: $hostmask");
if($ret == 1) {
notice($user, "\002$hostname\002 successfully deleted from the hostname exception list");
return;
}
foreach my $tuser (chanserv::get_users_nochans($noid)) {
- $tuser->{AGENT} = $osnick;
+ $tuser->{AGENT} = $osuser;
nickserv::kill_user($tuser,
"Killed by \002".get_user_nick($user)."\002".
(@args ? ": ".join(' ', @args) : '')
return;
}
foreach my $tuser (chanserv::get_users_nochans($noid)) {
- $tuser->{AGENT} = $osnick;
+ $tuser->{AGENT} = $osuser;
nickserv::kline_user($tuser, services_conf_chankilltime,
"K:Lined by \002".get_user_nick($user)."\002".
(@args ? ": ".join(' ', @args) : '')
elsif($cmd =~ /^(msg|message|notice)$/i) {
notice($user, "Must have message to send") unless(@args);
foreach my $tuser (chanserv::get_users_nochans($noid)) {
- $tuser->{AGENT} = $osnick;
+ $tuser->{AGENT} = $osuser;
notice($tuser,
"Automated message from \002".get_user_nick($user),
join(' ', @args)
}
foreach my $tuser (chanserv::get_users_nochans($noid)) {
- $tuser->{AGENT} = $osnick;
- ircd::svsjoin($osnick, get_user_nick($tuser), $args[0]);
+ $tuser->{AGENT} = $osuser;
+ ircd::svsjoin($osuser, get_user_nick($tuser), $args[0]);
}
}
else {
return $event::SUCCESS;
}
- ircd::svskill($osnick, $target, $reason);
+ ircd::svskill($osuser, $target, $reason);
}
return $event::SUCCESS;
}
foreach my $target (split(',', $targets)) {
- my $tuser = { NICK => $target, AGENT => $osnick };
+ my $tuser = { NICK => $target, AGENT => $osuser };
if (!get_user_id($tuser)) {
notice($user, $target.' is not online.');
return $event::SUCCESS;
}
unless($zline) {
if(!$remove) {
- ircd::kline($opernick, $ident, $host, $expiry, $reason);
+ ircd::kline(ircd::getUuid($osnick), $ident, $host, $expiry, $reason);
} else {
ircd::unkline($opernick, $ident, $host);
}
return;
}
if(!$remove) {
- ircd::zline($opernick, $host, $expiry, $reason);
+ ircd::zline($osnick, $host, $expiry, $reason);
} else {
ircd::unzline($opernick, $host);
}
}
foreach my $tuser (get_clones($target)) {
next unless is_online($tuser);
- $tuser->{AGENT} = $osnick;
+ $tuser->{AGENT} = $osuser;
nickserv::kill_user($tuser,
"Killed by \002".get_user_nick($user)."\002".
(@args ? ": ".join(' ', @args) : '')
}
foreach my $tuser (get_clones($target)) {
next unless is_online($tuser);
- $tuser->{AGENT} = $osnick;
+ $tuser->{AGENT} = $osuser;
nickserv::kline_user($tuser, services_conf_chankilltime,
"K:Lined by \002".get_user_nick($user)."\002".
(@args ? ": ".join(' ', @args) : '')
notice($user, "Must have message to send") unless(@args);
foreach my $tuser (get_clones($target)) {
next unless is_online($tuser);
- $tuser->{AGENT} = $osnick;
+ $tuser->{AGENT} = $osuser;
notice($tuser,
"Automated message from \002".get_user_nick($user),
join(' ', @args)
foreach my $tuser (get_clones($target)) {
next unless is_online($tuser);
- $tuser->{AGENT} = $osnick;
- ircd::svsjoin($osnick, get_user_nick($tuser), $args[0]);
+ $tuser->{AGENT} = $osuser;
+ ircd::svsjoin($osuser, get_user_nick($tuser), $args[0]);
}
}
else {