X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=sources%2FTCP_echod.c;fp=sources%2FTCP_echod.c;h=7062c3b8e658ff0ec7a7f524fffd1dd5951313c2;hb=8654ce33b450ae7bb34c3907835000a0760c2931;hp=dd0a9f855b3f2cb5d8295c431732c5ac36e86c5e;hpb=88d8a251947f948094d35de596feaf49e975f91b;p=gapil.git diff --git a/sources/TCP_echod.c b/sources/TCP_echod.c index dd0a9f8..7062c3b 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$ * ****************************************************************/ /* @@ -115,21 +115,11 @@ 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) { + if (errno) perror("Socket creation error"); + return 1; + } /* release privileges and go daemon */ if (setgid(65534) !=0) { /* first give away group privileges */ perror("cannot give away group privileges");