All pastes #495993 Raw Edit

almost done

public c v1 · immutable
·published 2007-05-19 00:01 UTC
rendered paste body
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <errno.h>#include <string.h>#include <netdb.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#define PORT 6667 //IRC port#define MAXDATASIZE 512;int main(argc, char *argv[]){        char *nick    = "NICK nanobot\r\n"; //bot nick        char *user    = "USER nano d d :nano\r\n"; //user        char *channel = "JOIN #social\r\n"; //channel        if (argc != 2)        {                fprintf(stderr,"[-]Usage ircbot <serverip>\n");               exit(1);        }int connection, numbytes;char buf[512];struct hostent *he;struct sockaddr_in sin;if ((he = gethostbyname(argv[1])) == NULL){        herror("gethostbyname");        exit(1);}if ((connection = socket(PF_INET, SOCK_STREAM, 0)) == -1){        perror("socket");        exit(1);}sin.sin_family    = AF_INET;sin.sin_port      = htons(PORT);sin.sin_addr      = *((struct in_addr *)he->h_addr);if(connect(connection, (struct sockaddr *)&sin, sizeof(struct sockaddr)) == -1){        perror("connect");        exit(1);}send(connection, nick, sizeof(buf), 0);send(connection, user, sizeof(buf), 0);while(1){        if ((numbytes = recv(connection, buf, MAXDATASIZE - 1, 0)) == -1)        {                perror("recv");                exit(1);        }        if (strncmp("PING", buf, 4) == 0)        {                printf("Received PING... sending PONG\n");                buf[1] = 'O';                if(send(connection, buf, strlen(buf), 0) == -1)                {                        perror("send");                        exit(1);                }        }}