Your message dated Mon, 09 Oct 2006 07:32:19 -0700
with message-id <[EMAIL PROTECTED]>
and subject line Bug#379316: fixed in irssi-scripts 20061009
has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere. Please contact me immediately.)
Debian bug tracking system administrator
(administrator, Debian Bugs database)
--- Begin Message ---
Package: irssi-scripts
Version: 20060513
Severity: wishlist
Tags: patch
Hi,
please include the attached script in the irssi-scripts package. It
seems to be the current standard for /nickserv identify requests on
freenode and oftc - the included nickserv.pl doesn't work as well.
(Btw, I tried to get it included on scripts.irssi.org, but never got a
reply. They seem to be busy there... Please consider including it
anyway here - irc.debian.org users will thank you :-)
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.8-2-686
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Christoph
--
[EMAIL PROTECTED] | http://www.df7cb.de/
#
# $Id: nickident.pl,v 1.1 2002/12/03 05:31:23 david Exp $
#
# NickServ interface
# Original code by Sami Haahtinen / ZaNaGa
# Protected channel support added by David McNett <[EMAIL PROTECTED]>
#
use strict;
my $cvsid = '$Id: nickident.pl,v 1.1 2002/12/03 05:31:23 david Exp $';
my $version = '?';
if( $cvsid =~ /\$Id: [^ ]+ (\d+\.\d+)/ ) {
$version = $1;
}
my $nickserv_passfile = glob "~/.irssi/nickserv.users";
my $nickserv_chanfile = glob "~/.irssi/nickserv.channels";
my @users = ();
my @chans = ();
my %nickservs = (
openprojects => [ 'NickServ', '[EMAIL PROTECTED]' ],
sourceirc => [ 'NickServ', '[EMAIL PROTECTED]' ],
cuckoonet => [ 'NickServ', '[EMAIL PROTECTED]' ],
slashnet => [ 'NickServ', '[EMAIL PROTECTED]' ],
roxnet => [ 'NickServ', '[EMAIL PROTECTED]' ],
oftc => [ 'NickServ', '[EMAIL PROTECTED]' ],
techno => [ 'NickServ', '[EMAIL PROTECTED]' ],
euirc => [ 'NickServ', '[EMAIL PROTECTED]' ],
cacert => [ 'NickServ', '[EMAIL PROTECTED]' ],
);
use Irssi;
use Irssi::Irc;
sub join_channels {
my ($server) = @_;
my $current_ircnet = $server->{'tag'};
Irssi::print("joining channels for $current_ircnet");
foreach $_ (@chans) {
my ($channel, $ircnet) = split(/:/);
if ($current_ircnet =~ /^$ircnet$/i) {
Irssi::print("joining $channel");
$server->send_message("ChanServ", "UNBAN $channel", "-nick");
sleep 1;
Irssi::Server::channels_join($server, $channel, 0);
}
}
}
sub get_nickpass {
my ($current_nick, $current_ircnet) = @_;
foreach $_ (@users) {
my ($nick, $ircnet, $password) = split(/:/);
if ($current_nick =~ /^$nick$/i and $current_ircnet =~ /^$ircnet$/i) {
return $password;
}
}
return 0;
}
sub got_nickserv_msg {
my ($nick, $server, $text) = @_;
my $password;
if ($password = get_nickpass($server->{'nick'}, $server->{'tag'})) {
# The below is for OPN style.. i need to figure out a way to
# make this portable
if ($text =~ /This nickname is owned by someone else/i) {
Irssi::print("got authrequest from $nick/" . $server->{'tag'});
$server->send_message("nickserv", "IDENTIFY $password", "-nick");
Irssi::signal_stop();
} elsif ($text =~ /^This nickname is registered and protected\. If it is your/) {
Irssi::print("got authrequest from $nick/" . $server->{'tag'});
$server->send_message("nickserv", "IDENTIFY $password", "-nick");
Irssi::signal_stop();
} elsif ($text =~ /^This nick is registered\. Please choose another\./) {
Irssi::print("got authrequest from $nick/" . $server->{'tag'});
$server->send_message("nickserv", "IDENTIFY $password", "-nick");
Irssi::signal_stop();
} elsif ($text =~ /nick, type.+msg NickServ IDENTIFY.+password.+Otherwise,|please choose a different nick./i) {
Irssi::signal_stop();
} elsif ($text =~ /Password accepted - you are now recognized./ ||
$text =~ /Wow, you managed to remember your password. That's a miracle by your usual standard./ ) {
Irssi::print("Got a positive response from $nick/" . $server->{'tag'});
join_channels($server);
Irssi::signal_stop();
}
}
}
sub event_nickserv_message {
my ($server, $data, $nick, $address) = @_;
my ($target, $text) = $data =~ /^(\S*)\s:(.*)/;
foreach my $key (keys %nickservs) {
if ( ($nickservs{$key}->[0] =~ /^$nick$/i)
and ($nickservs{$key}->[1] =~ /^$address$/i) ) {
got_nickserv_msg($nick, $server, $text)
}
}
}
sub create_users {
Irssi::print("Creating basic userfile in $nickserv_passfile. please edit it and run /nickserv_read");
if(!(open NICKUSERS, ">$nickserv_passfile")) {
Irssi::print("Unable to create file $nickserv_passfile");
}
print NICKUSERS "# This file should contain all your protected nicks\n";
print NICKUSERS "# with the corresponding ircnet tag and password.\n";
print NICKUSERS "#\n";
print NICKUSERS "# Nick and IrcNet Tag are case insensitive\n";
print NICKUSERS "#\n";
print NICKUSERS "# Nick IrcNet Tag Password\n";
print NICKUSERS "# -------- ---------- --------\n";
close NICKUSERS;
chmod 0600, $nickserv_passfile;
}
sub create_chans {
Irssi::print("Creating basic channelfile in $nickserv_chanfile. please edit it and run /nickserv_read");
if(!(open NICKCHANS, ">$nickserv_chanfile")) {
Irssi::print("Unable to create file $nickserv_chanfile");
}
print NICKCHANS "# This file should contain a list of all channels\n";
print NICKCHANS "# which you don't want to join until after you've\n";
print NICKCHANS "# successfully identified with NickServ. This is\n";
print NICKCHANS "# useful for channels which are access-controlled.\n";
print NICKCHANS "#\n";
print NICKCHANS "# Channel IrcNet Tag\n";
print NICKCHANS "# -------- ----------\n";
close NICKCHANS;
chmod 0600, $nickserv_chanfile;
}
sub read_users {
my $count = 0;
# Lets reset @users so we can call this as a function.
@users = ();
if (!(open NICKUSERS, "<$nickserv_passfile")) {
create_users;
};
Irssi::print("Running checks on the userfile.");
# first we test the file with mask 066 (we don't actually care if the
# file is executable by others.. what could they do with it =)
# Well, according to my calculations umask 066 should be 54, go figure.
my $mode = (stat($nickserv_passfile))[2];
if ($mode & 54) {
Irssi::print("your password file should be mode 0600. Go fix it!");
Irssi::print("use command: chmod 0600 $nickserv_passfile");
}
# and then we read the userfile.
# apaprently Irssi resets $/, so we set it here.
$/ = "\n";
while( my $line = <NICKUSERS>) {
if( $line !~ /^(#|\s*$)/ ) {
my ($nick, $ircnet, $password) =
$line =~ /\s*(\S+)\s+(\S+)\s+(\S+)/;
push @users, "$nick:$ircnet:$password";
$count++;
}
}
Irssi::print("Found $count accounts");
close NICKUSERS;
}
sub read_chans {
my $count = 0;
# Lets reset @users so we can call this as a function.
@chans = ();
if (!(open NICKCHANS, "<$nickserv_chanfile")) {
create_chans;
};
Irssi::print("Running checks on the channelfile.");
# first we test the file with mask 066 (we don't actually care if the
# file is executable by others.. what could they do with it =)
my $mode = (stat($nickserv_chanfile))[2];
if ($mode & 066) {
Irssi::print("your channels file should be mode 0600. Go fix it!");
Irssi::print("use command: chmod 0600 $nickserv_chanfile");
}
# and then we read the channelfile.
# apaprently Irssi resets $/, so we set it here.
$/ = "\n";
while( my $line = <NICKCHANS>) {
if( $line !~ /^(#|\s*$)/ ) {
my ($channel, $ircnet) =
$line =~ /\s*(\S+)\s+(\S+)/;
push @chans, "$channel:$ircnet";
$count++;
}
}
Irssi::print("Found $count channels");
close NICKCHANS;
}
sub read_files {
read_users();
read_chans();
}
Irssi::signal_add("event notice", "event_nickserv_message");
Irssi::command_bind('nickserv_read', 'read_files');
read_files();
Irssi::print("Nickserv Interface $version loaded...");
signature.asc
Description: Digital signature
--- End Message ---
--- Begin Message ---
Source: irssi-scripts
Source-Version: 20061009
We believe that the bug you reported is fixed in the latest version of
irssi-scripts, which is due to be installed in the Debian FTP archive:
irssi-scripts_20061009.dsc
to pool/main/i/irssi-scripts/irssi-scripts_20061009.dsc
irssi-scripts_20061009.tar.gz
to pool/main/i/irssi-scripts/irssi-scripts_20061009.tar.gz
irssi-scripts_20061009_all.deb
to pool/main/i/irssi-scripts/irssi-scripts_20061009_all.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Florian Ernst <[EMAIL PROTECTED]> (supplier of updated irssi-scripts package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.7
Date: Mon, 9 Oct 2006 16:10:48 +0200
Source: irssi-scripts
Binary: irssi-scripts
Architecture: source all
Version: 20061009
Distribution: unstable
Urgency: medium
Maintainer: Florian Ernst <[EMAIL PROTECTED]>
Changed-By: Florian Ernst <[EMAIL PROTECTED]>
Description:
irssi-scripts - collection of scripts for irssi
Closes: 367335 379296 379300 379303 379305 379308 379316
Changes:
irssi-scripts (20061009) unstable; urgency=medium
.
* urgency=medium in order to get this into etch in time
* trackbar.pl: pick r1.4 from upstream which removed utf-8 support
(Closes: #367335)
* queryresume.pl: apply autolog_path fix and suggested generalization
by Christoph Berg (Closes: #379296)
* timer.pl: add repeat rate to /timer list, patch by Christoph Berg
(Closes: #379300)
* topic-diff.pl: ignore trailing whitespace changes, and also
recognize ' - ' as separator, patch by Christoph Berg (Closes: #379303)
* topics.pl: show real time instead of epoch, remove quotes, patch by
Christoph Berg (Closes: #379305)
* chanact.pl: add options to shorten channel names, patch by Christoph Berg
(Closes: #379308)
* Include script nickident.pl by Christoph Berg to identify to services
(Closes: #379316)
Files:
41fcd0407e3c4f432577fa98f851888d 512 net optional irssi-scripts_20061009.dsc
a611d1ba3b892b5a28920f57a747343c 686640 net optional
irssi-scripts_20061009.tar.gz
a06b0465c8cffc15402052b074c97ea8 681842 net optional
irssi-scripts_20061009_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
iD8DBQFFKlkzs3U+TVFLPnwRAtSzAKCECS+3GScs+RAss1Ux6Y5ospcwlwCfTG0Q
n6VddUZCBdvwEBVCAk06GZM=
=qv/r
-----END PGP SIGNATURE-----
--- End Message ---