-../Insp/Parse.pm
\ No newline at end of file
+/home/errietta/srsv/branches/0.5.0/SrSv/Unreal/Parse.pm
\ No newline at end of file
-../Insp/Send.pm
\ No newline at end of file
+/home/errietta/srsv/branches/0.5.0/SrSv/Unreal/Send.pm
\ No newline at end of file
if ($capab =~ /founder=(\S)(\S)/) {
$IRCd_capabilities{"FOUNDER"} = $2;
}
+ if ($capab =~ /halfop=(\S)(\S)/) {
+ $IRCd_capabilities{"HALFOP"} = $2;
+ }
if ($capab =~ /silence/) {
$IRCd_capabilities{"SILENCE"} = 32; #unless we can make it TELL US
}
sub chghost($$$) {
my ($src, $target, $vhost) = @_;
+ print "SRC " . Dumper ($src);
my $srcId = ($src->{ID}?$src->{ID}:$src->{NICK});
my $targetId = ($target->{ID}?encodeUUID_($target):$target->{NICK});
ircsend(($srcId?":$srcId ":'')." CHGHOST $targetId $vhost");
$IRCd_capabilities{"SILENCE"} = 32;
$IRCd_capabilities{"WATCH"} = 32;
$IRCd_capabilities{"REG"} = 1;
+ $IRCd_capabilities{"HALFOP"} = 'h';
$IRCd_capabilities{"INSP"} = 0;
# so ugly. Ugly Ugly UGLY.
}
addhandler('NETINFO', undef(), undef(), 'ircd::netinfo', 1);
addhandler('VERSION', undef(), undef(), 'ircd::version', 1);
addhandler('SERVER', undef(), undef(), 'ircd::handle_server', 1);
-sub setUuid ($$) {
- return undef;
+sub getAgentRevUuid($) {
+ return undef;
}
-sub setRevUuid ($$) {
- return undef;
+sub getAgentUuid($) {
+ return undef;
}
-sub getUuid ($) {
- return undef;
+sub setAgentRevUuid ($$) {
}
-sub getRevUuid ($) {
- return undef;
+sub setAgentUuid ($$) {
+
}
sub serv_connect() {
my $remote = main_conf_remote;
}
}
-sub init { }
+sub init { $rsUser = { NICK => $rsnick, ID => ircd::getAgentUuid($rsnick) };}
sub begin { }
sub end { }
sub unload { }
);
sub init() {
+ $asuser = { NICK => $asnick, ID => ircd::getAgentUuid($asnick) };
$create_svsop = $dbh->prepare("INSERT IGNORE INTO svsop SELECT id, NULL, NULL FROM nickreg WHERE nick=?");
$delete_svsop = $dbh->prepare("DELETE FROM svsop USING svsop, nickreg WHERE nickreg.nick=? AND svsop.nrid=nickreg.id");
);
sub init() {
+ $bsuser = { NICK => $bsnick, ID => ircd::getAgentUuid($bsnick) };
$get_all_bots = $dbh->prepare("SELECT nick, ident, vhost, gecos, flags FROM bot");
$get_botchans = $dbh->prepare("SELECT chan, COALESCE(bot, '$chanserv::csnick') FROM chanreg WHERE bot != '' OR (flags & ". CRF_BOTSTAY() . ")");
$get_botstay_chans = $dbh->prepare("SELECT chan, COALESCE(bot, '$chanserv::csnick') FROM chanreg WHERE (flags & ".
if($bot) {
$assign_bot->execute($bot, $cn);
- my $botUser = { NICK=>$bot, ID=>ircd::getAgentUUID ($bot) };
+ my $botUser = { NICK=>$bot, ID=>ircd::getAgentUuid ($bot) };
bot_join($chan, $botUser);
notice($user, "\002$bot\002 now assigned to \002$cn\002.");
} else {
unless(is_agent_in_chan($nick, $cn)) {
agent_join($bot, $cn);
my $bot2 = { NICK => $nick, ID => ircd::getAgentUuid($nick), UID=>ircd::getAgentUuid($nick) };
+ print "FOUNDERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR " . $IRCd_capabilities{"FOUNDER"};
if(!ircd::PREFIXAQ_DISABLE() && $IRCd_capabilities{"FOUNDER"} ne "" && $IRCd_capabilities{"ADMIN"} ne "") {
$botchmode = '+q';
} else {
);
sub init() {
+ $csUser = { NICK => $csnick, ID => ircd::getAgentUuid($csnick) };
#$chan_create = $dbh->prepare("INSERT IGNORE INTO chan SET id=(RAND()*294967293)+1, chan=?");
$get_joinpart_lock = $dbh->prepare("LOCK TABLES chan WRITE, chanuser WRITE");
$get_modelock_lock = $dbh->prepare("LOCK TABLES chanreg READ LOCAL, chan WRITE");
return unless defined($old);
my $cn = $chan->{CHAN};
-
+ if ($level == 3 && $IRCd_capabilities{"HALFOP"} eq "") {
+ notice ($user, "m_halfop.so is required to add half ops.");
+ notice ($user, "Please notify your friendly network administrators to enable it.");
+ return;
+ }
+ if ($level == 5 && $IRCd_capabilities{"ADMIN"} eq "") {
+ notice ($user, "m_chanprotect.so is required to add SOPs.");
+ notice ($user, "Please notify your friendly network administrators to enable it.");
+ return;
+ }
if($old == $level) {
notice($user, "\002$nick\002 already has $levels[$level] access to \002$cn\002.");
return;
if ($IRCd_capabilities{"ADMIN"} eq "") {
$l[3] = 'o';
}
+ if ($IRCd_capabilities{"HALFOP"} eq "") {
+ $l[2] = "v";
+ }
if($masks[$sign] & 2**$i) {
$out .= $l[$i];
my $user_ = { NICK => $nick, AGENT => $csnick};
our $hsnick = $hsnick_default;
our $hsuser = { NICK => $hsnick, ID => ircd::getAgentUuid($hsnick) };
sub init() {
+$hsuser = { NICK => $hsnick, ID => ircd::getAgentUuid($hsnick) };
import SrSv::DB::StubGen (
dbh => $dbh,
generator => 'services_mysql_stubgen',
}
sub dispatch($$$) {
- $hsuser = { NICK => $hsnick, ID => ircd::getAgentUuid($hsnick) };
my ($user, $dstUser, $msg) = @_;
my $src = $user->{NICK};
$msg =~ s/^\s+//;
);
sub init() {
+ $msuser = { NICK => $msnick, ID => ircd::getAgentUuid($msnick) };
$get_first_unread = $dbh->prepare("SELECT memo.src, memo.chan, memo.time, memo.flag, memo.msg FROM memo, nickreg WHERE nickreg.nick=? AND memo.dstid=nickreg.id AND memo.flag=0 LIMIT 1");
$send_memo = $dbh->prepare("INSERT INTO memo SELECT ?, id, NULL, UNIX_TIMESTAMP(), NULL, ? FROM nickreg WHERE nick=?");
$send_chan_memo = $dbh->prepare("INSERT INTO memo SELECT ?, nickreg.id, ?, ?, NULL, ? FROM chanacc, nickreg
);
sub init() {
+ $nsuser = { NICK => $nsnick, ID => ircd::getAgentUuid($nsnick) };
$nick_check = $dbh->prepare("SELECT id FROM user WHERE nick=? AND online=0 AND time=?");
$nick_checkExists = $dbh -> prepare ("SELECT nick FROM user WHERE id=? AND time=?");
$nick_deleteChanUser = $dbh -> prepare ("DELETE FROM chanuser WHERE nickid=?");
use SrSv::MySQL '$dbh';
use SrSv::IPv6;
-
+use Data::Dumper;
use constant {
MAX_LIM => 16777215
};
our $osnick_default = 'OperServ';
our $osnick = $osnick_default;
-our $osuser = { NICK => $osnick, ircd::getAgentUuid($osnick) };
+our $osuser = { NICK => $osnick, ID => ircd::getAgentUuid($osnick) };
my %newstypes = (
u => 'User',
o => 'Oper'
);
sub init() {
+ $osuser = { NICK => $osnick, ID => ircd::getAgentUuid($osnick) };
=cut
$add_akill = $dbh->prepare("INSERT INTO akill SET setter=?, mask=?, reason=?, time=?, expire=?");
$del_akill = $dbh->prepare("DELETE FROM akill WHERE mask=?");
}
sub dispatch($$$) {
- $osuser = { NICK => $osnick, ircd::getAgentUuid($osnick) };
+ $osuser = { NICK => $osnick, ID => ircd::getAgentUuid($osnick) };
my ($user, $dstUser, $msg) = @_;
$msg =~ s/^\s+//;
my @args = split(/\s+/, $msg);