… | |
… | |
230 | { |
230 | { |
231 | printf (_("%s version %s (built %s %s, protocol version %d.%d)\n"), get_identity (), |
231 | printf (_("%s version %s (built %s %s, protocol version %d.%d)\n"), get_identity (), |
232 | VERSION, __DATE__, __TIME__, PROTOCOL_MAJOR, PROTOCOL_MINOR); |
232 | VERSION, __DATE__, __TIME__, PROTOCOL_MAJOR, PROTOCOL_MINOR); |
233 | printf (_("Built with kernel interface %s/%s.\n"), IFTYPE, IFSUBTYPE); |
233 | printf (_("Built with kernel interface %s/%s.\n"), IFTYPE, IFSUBTYPE); |
234 | printf (_ |
234 | printf (_ |
235 | ("Copyright (C) 2003-2008 Marc Lehmann <gvpe@schmorp.de> and others.\n" |
235 | ("Copyright (C) 2003-2011 Marc Lehmann <gvpe@schmorp.de> and others.\n" |
236 | "See the AUTHORS file for a complete list.\n\n" |
236 | "See the AUTHORS file for a complete list.\n\n" |
237 | "GVPE comes with ABSOLUTELY NO WARRANTY. This is free software,\n" |
237 | "GVPE comes with ABSOLUTELY NO WARRANTY. This is free software,\n" |
238 | "and you are welcome to redistribute it under certain conditions;\n" |
238 | "and you are welcome to redistribute it under certain conditions;\n" |
239 | "see the file COPYING for details.\n")); |
239 | "see the file COPYING for details.\n")); |
240 | |
240 | |
… | |
… | |
285 | exit (EXIT_SUCCESS); |
285 | exit (EXIT_SUCCESS); |
286 | |
286 | |
287 | setup_signals (); |
287 | setup_signals (); |
288 | |
288 | |
289 | if (!network.setup ()) |
289 | if (!network.setup ()) |
|
|
290 | if (network.drop_privileges ()) |
290 | { |
291 | { |
291 | ev_loop (EV_DEFAULT_ 0); |
292 | ev_run (EV_DEFAULT_ 0); |
292 | cleanup_and_exit (EXIT_FAILURE); |
293 | cleanup_and_exit (EXIT_FAILURE); |
293 | } |
294 | } |
294 | |
295 | |
295 | slog (L_ERR, _("unrecoverable error while setting up network, exiting.")); |
296 | slog (L_CRIT, _("unrecoverable error while setting up network, exiting.")); |
296 | cleanup_and_exit (EXIT_FAILURE); |
297 | cleanup_and_exit (EXIT_FAILURE); |
297 | } |
298 | } |
298 | |
299 | |