This file is indexed.

/usr/share/irssi/scripts/chanshare.pl is in irssi-scripts 20160301.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# /CHANSHARE - display people who are in more than one channel with you
# for irssi 0.7.98
#
# /CHANSHARE [ircnets ...] [#channels ...]
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
# 
# Version 0.1 - Timo Sirainen tss@iki.fi
#	Initial stalker.pl 
# Version 0.2 - Chad Armstrong chad@analogself.com
#	Added multiserver support
#	Added keying by nick AND hostname. "nick (fw.corp.com)"
#	Prints to current active window now.
# Version 0.21 - Timo Sirainen tss@iki.fi
#       Removed printing to active window - if you want it, remove your
#       status window.
# Version 0.3 - Timo Sirainen tss@iki.fi
#       Supports for limiting searches only to specified ircnets and
#       channels. Some cleanups..

use strict;
use Irssi;
use vars qw($VERSION %IRSSI); 
$VERSION = "0.3";
%IRSSI = (
    authors	=> "Timo \'cras\' Sirainen",
    contact	=> "tss\@iki.fi",
    name	=> "chan share",
    description	=> "/CHANSHARE - display people who are in more than one channel with you",
    license	=> "Public Domain",
    url		=> "http://irssi.org/",
    changed	=> "2002-03-04T22:47+0100",
    changes	=> "v0.3 - Timo Sirainen tss\@iki.fi: Supports for limiting searches only to specified ircnets and channels. Some cleanups.."
);

sub cmd_chanshare {
  my ($data, $server, $channel) = @_;
  my (%channicks, @show_channels, @show_ircnets);

  # get list of channels and ircnets
  @show_channels = ();
  @show_ircnets = ();
  foreach my $arg (split(" ", $data)) {
    if ($server->ischannel($arg)) {
      push @show_channels, $arg;
    } else {
      push @show_ircnets, $arg;
    }
  }

  my @checkservers = ();
  if (scalar(@show_ircnets) == 0) {
    # check from all servers
    @checkservers = Irssi::servers();
  } else {
    # check from specified ircnets
    foreach my $s (Irssi::servers()) {
      foreach my $n (@show_ircnets) {
	if ($s->{chatnet} eq $n) {
	  push @checkservers, $s;
	  last;
	}
      }
    }
  }

  foreach my $s (@checkservers) {
    my $mynick = $s->{nick};
    foreach my $channel ($s->channels()) {
      foreach my $nick ($channel->nicks()) {
	my ($user, $host) = split(/@/, $nick->{host});
	my $nickhost = $nick->{nick}." ($host)";
	my @list = ();
	next if ($nick->{nick} eq $mynick);

	@list = @{$channicks{$nickhost}} if (@{$channicks{$nickhost}});
#	Irssi::print($nickhost);
	push @list, $channel->{name};
	$channicks{$nickhost} = [@list];
      }
    }
  }

  Irssi::print("Nicks of those who share your #channels:");
  foreach my $nick (keys %channicks) {
    my @channels = @{$channicks{$nick}};
    if (@channels > 1) {
      my $chanstr = "";
      my $ok = scalar(@show_channels) == 0;
      foreach $channel (@channels) {
	if (!$ok) {
	  # check the show_channels list..
	  foreach my $c (@show_channels) {
	    if ($channel eq $c) {
	      $ok = 1;
	      last;
	    }
	  }
	}
	$chanstr .= "$channel ";
      }
      Irssi::print("$chanstr : $nick") if ($ok);
    }
  }
}

Irssi::command_bind('chanshare', 'cmd_chanshare');