------------------------------+
intro to penis communications +
by movl ----------------------+

**************************************
* SEE PX25 RFC FOR MORE INFORMATION! *
**************************************

int main(void){

 hi!!!!!!!!!!!!!!!!! my name is m0vl and i wrote this article for *YOU*. 
I've been getting quite a few emailz about penis communication, mainly about
px25 networks.  The Input/Output is quite difficult to implement on most
small px25 packet switched networkz.  Usually, the normal px25 packet looks
something like this..

[....................4500 bytes.................................]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-.
| BALL |  IP_CUM buffer     | sperm count | header | flags | tip |  |
| SACK |  ~~~~~~~~~~~~~     | max is 520  |        |       |     |  |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++_.'

No I/O functions can be done until you know the size of the remote penis
packet in relation to your local penis packet - this is where the problem
comes into play. Usually, the remote server wont tell you the correct size
of their penis packet.  Sometimes, if we can get the server to compare
sizes, we can get an accurate answer. I've included code that will let you
find out how the remote penis packet compares to your local one.

px25@iss.net:~/px25/article/code/# ls -l pen[15-is]*.[c-h]
-rw-rwxr-i   1 root     root         1523 Sep 15 14:21 pen15_client.c
-rw-rwxr-i   1 root     root         1766 Sep 15 14:10 pen15_serv.c
-rw-rwxr-i   1 root     root          330 Sep 15 12:48 penis.h
px25@iss.net:~/px25/article/code/#

tested on SCOUnix/Minix/SunOS/HPUnix/WinNT/UNICOS.
To compile: cc pen15_[client/serv].c -o [pcl/pse] -lnsl <-lsocket>

[BEGIN_DIR] px25
[CUT_HERE] penis.h
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define MY_LEN         ((int)(rand()%25)) // my penis's size is ever-changing
#define MY_WID         ((int)(rand()%25)) // only idiots get rand #'s this way
#define PENIS_PORT                   6969 // standard port from px25 RFC.

struct penis {
  float p_length;
  float p_width;
  struct penis *next;
};
char odata[]= "PENIS PACKET SWITCHER"; // read rfc.
[END_CUT] penis.h
[CUT_HERE] pen15_client.c
#include "penis.h"

extern char *optarg;
extern int   optind;

main (int    argc,
      char **argv)
{
    int sockfd=0, c=0, p=0,f0rk=0,delay=0;
    struct sockaddr_in my_addr, your_addr;
    struct hostent *he;
    struct penis my_penis;
    char data[100];
    if (argc < 6)
    {
        goto usage;
        exit(-1);
    }
    while ( (c = getopt(argc,argv,"l:w:p:D:")) != EOF)
    {
        switch(c)
        {
        case 'l':
            my_penis.p_length = atof(optarg);
            break;
        case 'w':
            my_penis.p_width  = atof(optarg);
            break;
        case 'p':
            p=atoi(optarg);
            break;
        case 'D':
            delay=atoi(optarg);
            break;
        case 't':
//            times = atoi(optarg);
            break;
        case '?':
            goto usage;
            exit(-1);
        default:
            goto usage;
            exit(-1);
        }
    }
    if ( 0 >= my_penis.p_width || 0 >= my_penis.p_length )
    {
        goto usage;
        exit(-1);
    }
    for ( ; optind < argc ; optind++ )
    {
        f0rk = fork();
        if (f0rk==0)
        {
            exit(0);
        }
        if ((he=gethostbyname(argv[optind]))==NULL)
        {
            herror(argv[optind]);
            exit(-1);
        }
#ifdef DEBUG
        fprintf(stderr,"(%i) #%i -> [%s]\n",optind,f0rk,argv[optind]);
#endif
        if ((sockfd=socket(AF_INET,SOCK_DGRAM,0))< 0)
        {
            perror("couldnt get a FUQN UDP SOCKET MOTHERFUQR!");
            exit(-1);
        }
        bzero((char*)&my_addr, sizeof(my_addr));
        my_addr.sin_family = AF_INET;
        my_addr.sin_addr.s_addr = htonl(INADDR_ANY);
        if (delay!=0) sleep(delay);
        if ((bind(sockfd, (struct sockaddr*) &my_addr,
                  sizeof(my_addr))<0))
        {
            perror("cant fuqn bind to local prot!");
            exit(-1);
        }
        bzero((char*)&your_addr,sizeof(your_addr));
        your_addr.sin_family = AF_INET;
        your_addr.sin_addr = *((struct in_addr*)he->h_addr);
        your_addr.sin_port = htons(p==0?PENIS_PORT:p);

        snprintf(data,sizeof(data)-1,
                 "L %f : W %f",my_penis.p_length,my_penis.p_width);

        if (0>(sendto(sockfd,data,sizeof(data),0,
                      (struct sockaddr*)&your_addr,sizeof(your_addr))))
        {
            perror("sendto is a stupid bitch!");
            exit(-1);
        }
        shutdown(sockfd,2);
        wait();
    }
    putchar('\n');
    exit(0);
usage:
    fprintf(stderr,"usage: %s [-l len] [-w width]"
            " <-p port> <-D delay> [host(s)...]\n",argv[0]);
}

[END_CUT] pen15_client.c
[CUT_HERE] pen15_serv.c
/* Parts (c) px25 Network Solutions */
#include "penis.h"
#include 
#include 

int con=0;
extern char *optarg;
extern int optind;
void getsig(int);
int main(int    argc,
         char **argv)
{
    int sockfd=0, addrlen=0, optz=0, bkg=0, port=0;
    struct sockaddr_in my_addr, your_addr;
    struct penis my_penis, your_penis;
    FILE *logf = NULL;
    char data[100] = "\0";
    time_t t1me;
    while ( EOF != (optz = getopt(argc,argv,"o:l:w:p:f")))
    {
        switch(optz)
        {
        case 'o':
            if ( NULL == (logf = fopen(optarg,"a+")))
            {
                perror(optarg);
                exit(-1);
            }
            break;
        case 'l':
            my_penis.p_length = atof(optarg);
            break;
        case 'w':
            my_penis.p_width  = atof(optarg);
            break;
        case 'p':
            port = atoi(optarg);
            break;
        case 'f':
            bkg = 1;
            break;
        default:
            goto usage;
            exit(-1);
        }
    }

    if (logf == NULL) logf = stdout;
    if (argv[optind]!=NULL)
    {
        goto usage;
        exit(-1);
    }
    signal(SIGTERM,getsig);
    signal(SIGKILL,getsig);
    signal(SIGINT ,getsig);
    if (my_penis.p_length < 0) my_penis.p_length = MY_LEN;
    if (my_penis.p_width  < 0) my_penis.p_width  = MY_WID;
    if (bkg > 0)
    {
        if (fork() != 0) exit(0);
        setsid();
    }
    if ( (sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
    {
        perror("couldn't get a fuqn udp socket!");
        exit(-1);
    }
    bzero((char*)&data,sizeof(data));
    bzero((char*)&your_addr,sizeof(your_addr));
    bzero((char*)&my_addr,sizeof(my_addr));
    my_addr.sin_family        =   AF_INET;
    my_addr.sin_addr.s_addr   =   htons(INADDR_ANY);
    my_addr.sin_port          =   htons(port==0?PENIS_PORT:port);
    your_addr.sin_family      =   AF_INET;
    your_addr.sin_addr.s_addr =   htons(INADDR_ANY);

    if ((bind(sockfd,(struct sockaddr *)&my_addr,sizeof(my_addr)) <0))
    {
        perror("couldn't bind to udp port!");
        exit(-1);
    }
    // fcntl(sockfd,F_SETFL,O_NONBLOCK);
    for(;;)
    {

        if (recvfrom(sockfd,data,sizeof(data)-1,0,
                     (struct sockaddr *) &your_addr, &addrlen) > 0)
        {
            if ((sscanf(data,"L %f : W %f",
                        &your_penis.p_length,
                        &your_penis.p_width))==2)
            {
                con++;
                t1me = time(NULL);
                fprintf(logf,"%.24s: [%s] has a %s and %s penis than you.\n",
                        ctime(&t1me),
                        inet_ntoa(your_addr.sin_addr),
                        ((your_penis.p_length>my_penis.p_length)?
                         "longer":"shorter"),
                        ((your_penis.p_width > my_penis.p_width)?
                         "thicker":"thinner"));
            }
        }
        bzero((char*)&data,sizeof(data));
    }

    shutdown(sockfd,2);
    fclose(logf);
usage:
    fprintf(stderr,"usage: %s <-o file> <-l len> <-w width> <-p port> <-f>\n",argv[0]);
}
void getsig(int s)
{
#ifndef NONSTOP
    fprintf(stderr,"Caught signal %i, exiting...\n",s);
    fprintf(stderr,"[%i connections]\n",con);
#ifndef NOTELL
    exit(-1);
#endif
#endif
}

[END_CUT] pen15_serv.c
Bonuz Warez From Minus!
[CUT_HERE] viagra.c
/* non-spoofing px25 flooder */
/* by minus for ~EELLLL8 */
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define YOU 0
#define ME  1
#ifndef MAX_FILE
#define MAX_FILE 400
#endif
#ifndef BUF
#define BUF 40
#endif

int count=0;
int maxcount;

struct px25
{
  struct sockaddr_in _addr[2];
  int sockfd[MAX_FILE+20];
  int SockI;
};

char *
make_p(void)
{
  static char request[11];
  snprintf(request,11,"L %.2i : W %.2i",(rand()%60),(rand()%60));
  return request;
}
void *
viagra (struct px25 *px)
{

  if (!(count < maxcount) || !(px->SockI < MAX_FILE)) pthread_exit(NULL);
  (px->SockI+1 >(MAX_FILE-1))?px->SockI = 0:px->SockI++;
  px->_addr[ME].sin_port = htonl(INADDR_ANY);
  if (count > maxcount) pthread_exit(NULL);

  if ((px->sockfd[px->SockI]=socket(AF_INET,SOCK_DGRAM,0))< 0)
  {
    puts("\n----error----");
    perror("socket()");
    exit(-1);
  }
  if ((bind(px->sockfd[px->SockI],(struct sockaddr*)&px->_addr[ME],
       sizeof(px->_addr[ME]))<0))
  {
    puts("\n----error----");
    perror("bind(spoofhost)");
    exit(-1);
  }
  if (!(count < maxcount) || !(px->SockI < MAX_FILE))
      pthread_exit(NULL);
  if (0>(sendto(px->sockfd[px->SockI],make_p(),11,0,
         (struct sockaddr*)&px->_addr[YOU],sizeof(px->_addr[YOU]))))
  {
    puts("\n----error----");
    perror("sendto(desthost)");
    exit(-1);
  }
  close(px->sockfd[px->SockI]);
  pthread_exit(NULL);
}

int
main (int argc, char *argv[])
{
  struct px25 px;
  int i,Y;
  struct hostent *PXHost[2];
  pthread_t *pt;

  if (argc != 5)
  {
    fputs("./viagra    \n",stderr);
    // we will not include real spoofing because of the potential
    // abuse of px25. use your real IP in this edition.
    exit(-1);
  }

  if ((PXHost[YOU]=gethostbyname(argv[2]))==NULL)
  {
    herror(argv[2]);
    exit(-1);
  }
  if ((PXHost[ME]=gethostbyname(argv[1]))==NULL)
  {
    herror(argv[1]);
    exit(-1);
  }
  maxcount = atoi(argv[4]);
  pt = (pthread_t *) malloc((size_t)(maxcount*(int)sizeof(pthread_t)));
  if (!pt) { fputs("out of memory.\n",stderr); exit(-1); }
  px._addr[YOU].sin_family     = AF_INET;
  px._addr[YOU].sin_addr       = *((struct in_addr*)PXHost[YOU]->h_addr);
  px._addr[YOU].sin_port       = htons(atoi(argv[3]));
  px._addr[ME].sin_family      = AF_INET;
  px._addr[ME].sin_addr        = *((struct in_addr*)PXHost[ME]->h_addr);
  px._addr[ME].sin_port        = htons(0);
  px.SockI = 0;
  setvbuf(stdout,(char*)NULL,_IONBF,0);
  printf("----%.24s -> [%.24s:%.6s] (#%.15s)----\n",
         argv[1],argv[2],argv[3],argv[4]);

  for (count=0;count (MAX_FILE-1)) px.SockI =0;

    if(pthread_create(pt,NULL,(void*)&viagra,(struct px25*)&px))
    {
      puts("\n----error----");
      perror ("pthread_create()");
      exit (-1);
    }
    if (count > MAX_FILE){
      for(Y=0;Y *)
  rstevenz (RIP)
FuckOFfz:
  #Linux (for banning me when all i didz was /ctcp cdcc list!)
  Mr. Smith (for the F in History, u bastard)
  FarmSex.com (my credit card IS valid, you fuck3rz!) 

 exit(0xFFFFFFFF+1);
}
[EOW]
SOURCE