Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

ident-666

by jettero (Monsignor)
on Aug 05, 2000 at 19:08 UTC ( #26337=sourcecode: print w/ replies, xml ) Need Help??

Category: networking daemons
Author/Contact Info ident666@voltar.org
Description: I saw a nullident.c program at freashmeat. I thought, hmmm, this would be funnier if it was random, and more insulting. They don't need to know who you are anyway.
#!/usr/bin/perl
#
#  Do this in your inetd.conf
#   #auth   stream  tcp     nowait    nobody    /usr/sbin/in.identd in
+.identd -l -e -o
#   auth   stream  tcp     nowait    nobody    /usr/local/jbin/ident-6
+66 ident-666
#
######################################################################
+##

use strict;

my $dict = "/usr/dict/words";
my $request;

&read_request and &write_response;

sub read_request {
    while(<>) {
        if( /(\S+)/ ) {
            $request = $1;
            return 1;
        }
    }

    return 0;
}

sub write_response {
    my $userid = &pick_word(3+rand(15));
    printf "%.20s : USERID : YouAreAPeeBrain : %.20s\r\n", $request, $
+userid;
    return 1;
}

sub pick_word {
    my $reqsize = int(shift);

    my $ret  = "";
    my $die  =  0;

    my ($set, $cur, $end) = (0, 1, 2);

    open DICT, "$dict" or die "redmist code: $!";
    seek DICT, rand(-s $dict), $set;

    <DICT>; # this get's us to the start of the next line.

    TOP: while (<DICT>) {
        ($ret = $1 and last) if /^(\w{$reqsize})$/;
    }

    if(length($ret) != $reqsize) {
        # ok, go back around
        seek DICT, 0, $set;

        # but remember we were already here ...
        die "Word too big, aaaaaaaahhhhhh!" if $die;
        $die = 1;

        goto TOP;
    }
    close DICT;

    return $ret;
}

Comment on ident-666
Download Code

Back to Code Catacombs

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://26337]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (12)
As of 2014-09-19 08:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (133 votes), past polls