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

Comparing gvpe/src/gvpectrl.C (file contents):
Revision 1.1 by pcg, Fri Mar 18 01:53:05 2005 UTC vs.
Revision 1.5 by pcg, Tue Jun 21 08:46:53 2005 UTC

1/* 1/*
2 vpectrl.C -- the main file for gvpectrl 2 gvpectrl.C -- the main file for gvpectrl
3 Copyright (C) 1998-2002 Ivo Timmermans <ivo@o2w.nl> 3 Copyright (C) 1998-2002 Ivo Timmermans <ivo@o2w.nl>
4 2000-2002 Guus Sliepen <guus@sliepen.eu.org> 4 2000-2002 Guus Sliepen <guus@sliepen.eu.org>
5 2003-2005 Marc Lehmann <gvpe@schmorp.de> 5 2003-2005 Marc Lehmann <gvpe@schmorp.de>
6 6
7 This file is part of GVPE. 7 This file is part of GVPE.
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details. 17 GNU General Public License for more details.
18 18
19 You should have received a copy of the GNU General Public License 19 You should have received a copy of the GNU General Public License
20 along with gvpe; if not, write to the Free Software 20 along with gvpe; if not, write to the Free Software
21 Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22*/ 22*/
23 23
24#include "config.h" 24#include "config.h"
25 25
26#include <cstdio> 26#include <cstdio>
52static int show_help; 52static int show_help;
53 53
54/* If nonzero, print the version on standard output and exit. */ 54/* If nonzero, print the version on standard output and exit. */
55static int show_version; 55static int show_version;
56 56
57/* If nonzero, it will attempt to kill a running vped and exit. */ 57/* If nonzero, it will attempt to kill a running gvpe and exit. */
58static int kill_vped; 58static int kill_gvpe;
59 59
60/* If nonzero, it will attempt to kill a running vped and exit. */ 60/* If nonzero, it will attempt to kill a running gvpe and exit. */
61static int show_config; 61static int show_config;
62 62
63/* If nonzero, generate public/private keypair for this net. */ 63/* If nonzero, generate public/private keypair for this net. */
64static int generate_keys; 64static int generate_keys;
65 65
82 else 82 else
83 { 83 {
84 printf (_("Usage: %s [option]...\n\n"), get_identity ()); 84 printf (_("Usage: %s [option]...\n\n"), get_identity ());
85 printf (_ 85 printf (_
86 (" -c, --config=DIR Read configuration options from DIR.\n" 86 (" -c, --config=DIR Read configuration options from DIR.\n"
87 " -k, --kill[=SIGNAL] Attempt to kill a running vped and exit.\n" 87 " -k, --kill[=SIGNAL] Attempt to kill a running gvpe and exit.\n"
88 " -g, --generate-keys Generate public/private RSA keypair.\n" 88 " -g, --generate-keys Generate public/private RSA keypair.\n"
89 " -s, --show-config Display the configuration information.\n" 89 " -s, --show-config Display the configuration information.\n"
90 " --help Display this help and exit.\n" 90 " --help Display this help and exit.\n"
91 " --version Output version information and exit.\n\n")); 91 " --version Output version information and exit.\n\n"));
92 printf (_("Report bugs to <vpe@plan9.de>.\n")); 92 printf (_("Report bugs to <gvpe@schmorp.de>.\n"));
93 } 93 }
94 94
95 exit (status); 95 exit (status);
96} 96}
97 97
112 112
113 case 'c': /* config file */ 113 case 'c': /* config file */
114 confbase = strdup (optarg); 114 confbase = strdup (optarg);
115 break; 115 break;
116 116
117 case 'k': /* kill old vpeds */ 117 case 'k': /* kill old gvpes */
118 if (optarg) 118 if (optarg)
119 { 119 {
120 if (!strcasecmp (optarg, "HUP")) 120 if (!strcasecmp (optarg, "HUP"))
121 kill_vped = SIGHUP; 121 kill_gvpe = SIGHUP;
122 else if (!strcasecmp (optarg, "TERM")) 122 else if (!strcasecmp (optarg, "TERM"))
123 kill_vped = SIGTERM; 123 kill_gvpe = SIGTERM;
124 else if (!strcasecmp (optarg, "KILL")) 124 else if (!strcasecmp (optarg, "KILL"))
125 kill_vped = SIGKILL; 125 kill_gvpe = SIGKILL;
126 else if (!strcasecmp (optarg, "USR1")) 126 else if (!strcasecmp (optarg, "USR1"))
127 kill_vped = SIGUSR1; 127 kill_gvpe = SIGUSR1;
128 else if (!strcasecmp (optarg, "USR2")) 128 else if (!strcasecmp (optarg, "USR2"))
129 kill_vped = SIGUSR2; 129 kill_gvpe = SIGUSR2;
130 else if (!strcasecmp (optarg, "INT")) 130 else if (!strcasecmp (optarg, "INT"))
131 kill_vped = SIGINT; 131 kill_gvpe = SIGINT;
132 else if (!strcasecmp (optarg, "ALRM")) 132 else if (!strcasecmp (optarg, "ALRM"))
133 kill_vped = SIGALRM; 133 kill_gvpe = SIGALRM;
134 else 134 else
135 { 135 {
136 kill_vped = atoi (optarg); 136 kill_gvpe = atoi (optarg);
137 137
138 if (!kill_vped) 138 if (!kill_gvpe)
139 { 139 {
140 fprintf (stderr, 140 fprintf (stderr,
141 _ 141 _
142 ("Invalid argument `%s'; SIGNAL must be a number or one of HUP, TERM, KILL, USR1, USR2, WINCH, INT or ALRM.\n"), 142 ("Invalid argument `%s'; SIGNAL must be a number or one of HUP, TERM, KILL, USR1, USR2, WINCH, INT or ALRM.\n"),
143 optarg); 143 optarg);
144 usage (1); 144 usage (1);
145 } 145 }
146 } 146 }
147 } 147 }
148 else 148 else
149 kill_vped = SIGTERM; 149 kill_gvpe = SIGTERM;
150 150
151 break; 151 break;
152 152
153 case 'g': /* generate public/private keypair */ 153 case 'g': /* generate public/private keypair */
154 generate_keys = RSA_KEYBITS; 154 generate_keys = RSA_KEYBITS;
298 { 298 {
299 printf (_("%s version %s (built %s %s, protocol %d.%d)\n"), get_identity (), 299 printf (_("%s version %s (built %s %s, protocol %d.%d)\n"), get_identity (),
300 VERSION, __DATE__, __TIME__, PROTOCOL_MAJOR, PROTOCOL_MINOR); 300 VERSION, __DATE__, __TIME__, PROTOCOL_MAJOR, PROTOCOL_MINOR);
301 printf (_("Built with kernel interface %s/%s.\n"), IFTYPE, IFSUBTYPE); 301 printf (_("Built with kernel interface %s/%s.\n"), IFTYPE, IFSUBTYPE);
302 printf (_ 302 printf (_
303 ("Copyright (C) 2003 Marc Lehmann <vpe@plan9.de> and others.\n" 303 ("Copyright (C) 2003 Marc Lehmann <gvpe@schmorp.de> and others.\n"
304 "See the AUTHORS file for a complete list.\n\n" 304 "See the AUTHORS file for a complete list.\n\n"
305 "vpe comes with ABSOLUTELY NO WARRANTY. This is free software,\n" 305 "vpe comes with ABSOLUTELY NO WARRANTY. This is free software,\n"
306 "and you are welcome to redistribute it under certain conditions;\n" 306 "and you are welcome to redistribute it under certain conditions;\n"
307 "see the file COPYING for details.\n")); 307 "see the file COPYING for details.\n"));
308 308
310 } 310 }
311 311
312 if (show_help) 312 if (show_help)
313 usage (0); 313 usage (0);
314 314
315 conf.read_config (false); 315 {
316 configuration_parser (conf, false, 0, 0);
317 }
316 318
317 if (generate_keys) 319 if (generate_keys)
318 { 320 {
319 RAND_load_file ("/dev/urandom", 1024); 321 RAND_load_file ("/dev/urandom", 1024);
320 exit (keygen (generate_keys)); 322 exit (keygen (generate_keys));
321 } 323 }
322 324
323 if (kill_vped) 325 if (kill_gvpe)
324 exit (kill_other (kill_vped)); 326 exit (kill_other (kill_gvpe));
325 327
326 if (show_config) 328 if (show_config)
327 { 329 {
328 conf.print (); 330 conf.print ();
329 exit (EXIT_SUCCESS); 331 exit (EXIT_SUCCESS);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines