/usr/lib/python2.7/dist-packages/gplugs/whois.py is in gozerbot 0.99.1-5.
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  | # Simple threaded whois lookup tool
# (c) 2008 Wijnand 'maze' Modderman - http://tehmaze.com/
# BSD Licsense
__author__   = "Wijnand 'maze' Modderman"
__licsense__ = "BSD"
import socket
from gozerbot.commands import cmnds
from gozerbot.examples import examples
from gozerbot.plughelp import plughelp
import gozerbot.threads.thr as thr
plughelp.add('whois', 'query a whois server')
def do_whois(ievent, server, port, lookup):
    try:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.connect((server, port))
        sock.send('%s\r\n' % lookup)
        rock = sock.makefile('rb')
        info = []
        for line in rock.readlines():
            line = line.strip()
            if not line: continue
            if not line.startswith('%'):
                while '  ' in line: line = line.replace('  ', ' ')
                info.append(line)
        sock.close()
        if info:
            ievent.reply(info, dot=', ')
        else:
            ievent.reply('object not found')
    except socket.error, e:
        ievent.reply('socket error: %s' % (str(e),))
    except Exception, e:
        ievent.reply('error: %s' % (str(e),))
def handle_whois(bot, ievent):
    lookup, server, port = None, None, socket.getservbyname("whois")
    try:
        if ':' in ievent.args[0]:
            server, port = ievent.args[0].split(':')
            port = int(port)
        else:
            server = ievent.args[0]
        lookup = ' '.join(ievent.args[1:])
    except (IndexError, ValueError):
        ievent.missing('<server[:port]> <object>')
    #ievent.reply('doing lookup for "%s" on %s:%d' % (lookup, server, port))
    do_whois(ievent, server, port, lookup)
cmnds.add('whois', handle_whois, 'USER')
examples.add('whois', 'do a whois lookup on the specified server', 'whois whois.arin.net AS112')
 |