X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/d167fc1b2599ab06f857e984fc203fd7f64f4c0a..6047fbac6ecdaa13a13ea71f7f62eb77b2361eec:/server/tripe.c diff --git a/server/tripe.c b/server/tripe.c index b5bd21c4..280878c9 100644 --- a/server/tripe.c +++ b/server/tripe.c @@ -1,13 +1,11 @@ /* -*-c-*- * - * $Id$ - * * Main program * * (c) 2001 Straylight/Edgeware */ -/*----- Licensing notice --------------------------------------------------* +/*----- Licensing notice --------------------------------------------------* * * This file is part of Trivial IP Encryption (TrIPE). * @@ -15,12 +13,12 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * TrIPE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with TrIPE; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -114,7 +112,8 @@ Options:\n\ -D, --daemon Run in the background.\n\ -d, --directory=DIR Switch to directory DIR [default " CONFIGDIR "].\n\ -b, --bind-address=ADDR Bind UDP socket to this IP ADDR.\n\ --p, --port=PORT Select UDP port to listen to.\n\ +-p, --port=PORT Select UDP port to listen to " + "[default " STR(TRIPE_PORT) "].\n\ -n, --tunnel=TUNNEL Seelect default tunnel driver.\n\ -U, --setuid=USER Set uid to USER after initialization.\n\ -G, --setgid=GROUP Set gid to GROUP after initialization.\n\ @@ -135,7 +134,7 @@ int main(int argc, char *argv[]) const char *csock = SOCKETDIR "/tripesock"; const char *dir = CONFIGDIR; const char *p; - unsigned port = 0; + unsigned port = TRIPE_PORT; struct in_addr baddr = { INADDR_ANY }; unsigned f = 0; int i; @@ -152,6 +151,8 @@ int main(int argc, char *argv[]) if ((p = getenv("TRIPEDIR")) != 0) dir = p; + if ((p = getenv("TRIPESOCK")) != 0) + csock = p; tun_default = tunnels[0]; for (;;) { @@ -241,7 +242,7 @@ int main(int argc, char *argv[]) die(EXIT_FAILURE, "unknown service name `%s'", optarg); i = ntohs(s->s_port); } - if (i == 0 || i >= 65536) + if (i >= 65536) die(EXIT_FAILURE, "bad port number %lu", i); port = i; } break; @@ -328,7 +329,7 @@ int main(int argc, char *argv[]) km_init(kr_priv, kr_pub, tag_priv); a_init(csock); if (f & f_daemon) { - if (u_daemon()) + if (daemonize()) die(EXIT_FAILURE, "couldn't become a daemon: %s", strerror(errno)); a_daemon(); }