X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=sources%2FTCP_echod.c;h=cca49332ade78b32be343a7d57dea39f64cc4f67;hp=dd0a9f855b3f2cb5d8295c431732c5ac36e86c5e;hb=b51bcef6bcf8c8622107b8ab8a22626dbdf6ba96;hpb=99ef4679f4d9d22707075c7e05a4dbd3900edcd1 diff --git a/sources/TCP_echod.c b/sources/TCP_echod.c index dd0a9f8..cca4933 100644 --- a/sources/TCP_echod.c +++ b/sources/TCP_echod.c @@ -1,6 +1,6 @@ /* TCP_echod.c * - * Copyright (C) 2001-2003 Simone Piccardi + * Copyright (C) 2001-2004 Simone Piccardi * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ * * Usage: echod -h give all info * - * $Id: TCP_echod.c,v 1.13 2003/12/25 17:31:09 piccardi Exp $ + * $Id$ * ****************************************************************/ /* @@ -64,7 +64,7 @@ int main(int argc, char *argv[]) int waiting = 0; int compat = 0; pid_t pid; - struct sockaddr_in serv_add, cli_add; + struct sockaddr_in cli_add; socklen_t len; char debug[MAXLINE], ipaddr[20]; /* @@ -115,21 +115,10 @@ int main(int argc, char *argv[]) } else { SignalRestart(SIGCHLD, HandSigCHLD); /* restarting handler */ } - /* create socket */ - if ( (list_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - perror("Socket creation error"); - exit(1); - } - /* initialize address */ - memset((void *)&serv_add, 0, sizeof(serv_add)); /* clear server address */ - serv_add.sin_family = AF_INET; /* address type is INET */ - serv_add.sin_port = htons(7); /* echo port is 7 */ - serv_add.sin_addr.s_addr = htonl(INADDR_ANY); /* connect from anywhere */ - /* bind socket */ - if (bind(list_fd, (struct sockaddr *)&serv_add, sizeof(serv_add)) < 0) { - perror("bind error"); - exit(1); - } + /* create and bind socket */ + if ( (list_fd = sockbind(argv[optind], "echo", 6, SOCK_STREAM)) < 0) { + return 1; + } /* release privileges and go daemon */ if (setgid(65534) !=0) { /* first give away group privileges */ perror("cannot give away group privileges");