ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/src/vped.C
(Generate patch)

Comparing gvpe/src/vped.C (file contents):
Revision 1.11 by pcg, Thu Oct 16 02:41:21 2003 UTC vs.
Revision 1.18 by pcg, Mon May 10 20:13:10 2004 UTC

21 21
22#include "config.h" 22#include "config.h"
23 23
24#include <cstdio> 24#include <cstdio>
25#include <cstring> 25#include <cstring>
26#include <cstdlib>
27#include <clocale>
26 28
27#include <errno.h> 29#include <errno.h>
28#include <fcntl.h> 30#include <fcntl.h>
29#include <getopt.h> 31#include <getopt.h>
30#include <signal.h> 32#include <signal.h>
46#include "conf.h" 48#include "conf.h"
47#include "slog.h" 49#include "slog.h"
48#include "util.h" 50#include "util.h"
49#include "vpn.h" 51#include "vpn.h"
50#include "iom.h" 52#include "iom.h"
51
52vpn network;
53 53
54static loglevel llevel = L_NONE; 54static loglevel llevel = L_NONE;
55 55
56/* If nonzero, display usage information and exit. */ 56/* If nonzero, display usage information and exit. */
57static int show_help; 57static int show_help;
149*/ 149*/
150void cleanup_and_exit(int c) 150void cleanup_and_exit(int c)
151{ 151{
152 network.shutdown_all (); 152 network.shutdown_all ();
153 153
154 if (pidfilename) 154 if (conf.pidfilename)
155 remove_pid (pidfilename); 155 remove_pid (conf.pidfilename);
156 156
157 slog (L_INFO, _("terminating with exit code %d"), c); 157 slog (L_INFO, _("terminating with exit code %d"), c);
158 158
159 exit (c); 159 exit (c);
160} 160}
222 222
223 if (show_version) 223 if (show_version)
224 { 224 {
225 printf (_("%s version %s (built %s %s, protocol %d.%d)\n"), get_identity (), 225 printf (_("%s version %s (built %s %s, protocol %d.%d)\n"), get_identity (),
226 VERSION, __DATE__, __TIME__, PROTOCOL_MAJOR, PROTOCOL_MINOR); 226 VERSION, __DATE__, __TIME__, PROTOCOL_MAJOR, PROTOCOL_MINOR);
227 printf (_("Built with kernel interface %s/%s.\n"), IFTYPE, IFSUBTYPE);
227 printf (_ 228 printf (_
228 ("Copyright (C) 2003 Marc Lehmann <vpe@plan9.de> and others.\n" 229 ("Copyright (C) 2003 Marc Lehmann <vpe@plan9.de> and others.\n"
229 "See the AUTHORS file for a complete list.\n\n" 230 "See the AUTHORS file for a complete list.\n\n"
230 "tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n" 231 "tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
231 "and you are welcome to redistribute it under certain conditions;\n" 232 "and you are welcome to redistribute it under certain conditions;\n"
245 if (do_mlock) 246 if (do_mlock)
246 if (mlockall (MCL_CURRENT | MCL_FUTURE)) 247 if (mlockall (MCL_CURRENT | MCL_FUTURE))
247 slog (L_ERR, _("system call `%s' failed: %s"), "mlockall", strerror (errno)); 248 slog (L_ERR, _("system call `%s' failed: %s"), "mlockall", strerror (errno));
248#endif 249#endif
249 250
250 make_names ();
251 conf.read_config (true); 251 conf.read_config (true);
252 252
253 set_loglevel (llevel != L_NONE ? llevel : conf.llevel); 253 set_loglevel (llevel != L_NONE ? llevel : conf.llevel);
254 254
255 RAND_load_file ("/dev/urandom", 1024); 255 RAND_load_file ("/dev/urandom", 1024);
256 256
257 if (!THISNODE) 257 if (!THISNODE)
258 { 258 {
259 slog (L_ERR, _("current node not set, or node '%s' not found in configfile, use the -n switch when starting vped."), 259 slog (L_ERR, _("current node not set, or node '%s' not found in configfile, specify the nodename when starting vped."),
260 thisnode ? thisnode : "<unset>"); 260 thisnode ? thisnode : "<unset>");
261 exit (1); 261 exit (EXIT_FAILURE);
262 } 262 }
263 263
264 if (detach (do_detach)) 264 if (detach (do_detach))
265 exit (0); 265 exit (EXIT_SUCCESS);
266 266
267 setup_signals (); 267 setup_signals ();
268 268
269 if (!network.setup ()) 269 if (!network.setup ())
270 { 270 {
271 iom.loop (); 271 iom.loop ();
272 cleanup_and_exit (1); 272 cleanup_and_exit (EXIT_FAILURE);
273 } 273 }
274 274
275 slog (L_ERR, _("unable to setup network, unrecoverable error, exiting.")); 275 slog (L_ERR, _("unable to setup network, unrecoverable error, exiting."));
276 cleanup_and_exit (1); 276 cleanup_and_exit (EXIT_FAILURE);
277} 277}
278 278

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines