fold back in changes from production
This commit is contained in:
parent
e5a7980770
commit
f4ff96a03e
2 changed files with 35 additions and 26 deletions
20
cli.c
20
cli.c
|
|
@ -2,7 +2,7 @@
|
|||
// vim: sw=4 ts=8
|
||||
|
||||
char const *cvs_name = "$Name: $";
|
||||
char const *cvs_id_cli = "$Id: cli.c,v 1.6 2004-06-28 02:43:13 fred_nerk Exp $";
|
||||
char const *cvs_id_cli = "$Id: cli.c,v 1.7 2004-07-02 07:30:43 bodea Exp $";
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
|
|
@ -171,13 +171,13 @@ void init_cli()
|
|||
c = cli_register_command(cli, NULL, "restart", NULL, PRIVILEGE_PRIVILEGED, MODE_EXEC, NULL);
|
||||
cli_register_command(cli, c, "bgp", cmd_restart_bgp, PRIVILEGE_PRIVILEGED, MODE_EXEC, "Restart BGP");
|
||||
|
||||
c = cli_register_command(cli, NULL, "load", NULL, PRIVILEGE_PRIVILEGED, MODE_EXEC, NULL);
|
||||
cli_register_command(cli, c, "plugin", cmd_load_plugin, PRIVILEGE_PRIVILEGED, MODE_EXEC, "Load a plugin");
|
||||
c = cli_register_command(cli, NULL, "load", NULL, PRIVILEGE_PRIVILEGED, MODE_CONFIG, NULL);
|
||||
cli_register_command(cli, c, "plugin", cmd_load_plugin, PRIVILEGE_PRIVILEGED, MODE_CONFIG, "Load a plugin");
|
||||
|
||||
c = cli_register_command(cli, NULL, "remove", NULL, PRIVILEGE_PRIVILEGED, MODE_EXEC, NULL);
|
||||
cli_register_command(cli, c, "plugin", cmd_remove_plugin, PRIVILEGE_PRIVILEGED, MODE_EXEC, "Remove a plugin");
|
||||
c = cli_register_command(cli, NULL, "remove", NULL, PRIVILEGE_PRIVILEGED, MODE_CONFIG, NULL);
|
||||
cli_register_command(cli, c, "plugin", cmd_remove_plugin, PRIVILEGE_PRIVILEGED, MODE_CONFIG, "Remove a plugin");
|
||||
|
||||
cli_register_command(cli, NULL, "set", cmd_set, PRIVILEGE_PRIVILEGED, MODE_EXEC, "Set a configuration variable");
|
||||
cli_register_command(cli, NULL, "set", cmd_set, PRIVILEGE_PRIVILEGED, MODE_CONFIG, "Set a configuration variable");
|
||||
|
||||
// Enable regular processing
|
||||
cli_regular(cli, regular_stuff);
|
||||
|
|
@ -331,7 +331,7 @@ void cli_do_file(FILE *fh)
|
|||
{
|
||||
log(3, 0, 0, 0, "Reading configuration file\n");
|
||||
cli_print_callback(cli, cli_print_log);
|
||||
cli_file(cli, fh, PRIVILEGE_PRIVILEGED);
|
||||
cli_file(cli, fh, PRIVILEGE_PRIVILEGED, MODE_CONFIG);
|
||||
cli_print_callback(cli, NULL);
|
||||
}
|
||||
|
||||
|
|
@ -1012,6 +1012,7 @@ int cmd_drop_user(struct cli_def *cli, char *command, char **argv, int argc)
|
|||
cli_print(cli, "Can't do this on a slave. Do it on %s", inet_toa(config->cluster_master_address));
|
||||
return CLI_OK;
|
||||
}
|
||||
|
||||
if (!argc)
|
||||
{
|
||||
cli_print(cli, "Specify a user to drop");
|
||||
|
|
@ -1059,6 +1060,7 @@ int cmd_drop_tunnel(struct cli_def *cli, char *command, char **argv, int argc)
|
|||
cli_print(cli, "Can't do this on a slave. Do it on %s", inet_toa(config->cluster_master_address));
|
||||
return CLI_OK;
|
||||
}
|
||||
|
||||
if (!argc)
|
||||
{
|
||||
cli_print(cli, "Specify a tunnel to drop");
|
||||
|
|
@ -1115,6 +1117,7 @@ int cmd_drop_session(struct cli_def *cli, char *command, char **argv, int argc)
|
|||
cli_print(cli, "Can't do this on a slave. Do it on %s", inet_toa(config->cluster_master_address));
|
||||
return CLI_OK;
|
||||
}
|
||||
|
||||
if (!argc)
|
||||
{
|
||||
cli_print(cli, "Specify a session id to drop");
|
||||
|
|
@ -1271,6 +1274,7 @@ int cmd_throttle(struct cli_def *cli, char *command, char **argv, int argc)
|
|||
cli_print(cli, "Can't do this on a slave. Do it on %s", inet_toa(config->cluster_master_address));
|
||||
return CLI_OK;
|
||||
}
|
||||
|
||||
if (!argc)
|
||||
{
|
||||
cli_print(cli, "Specify a user");
|
||||
|
|
@ -1289,6 +1293,7 @@ int cmd_throttle(struct cli_def *cli, char *command, char **argv, int argc)
|
|||
else
|
||||
cli_print(cli, "Throttling user %s", argv[i]);
|
||||
}
|
||||
|
||||
return CLI_OK;
|
||||
}
|
||||
|
||||
|
|
@ -1306,6 +1311,7 @@ int cmd_no_throttle(struct cli_def *cli, char *command, char **argv, int argc)
|
|||
cli_print(cli, "Can't do this on a slave. Do it on %s", inet_toa(config->cluster_master_address));
|
||||
return CLI_OK;
|
||||
}
|
||||
|
||||
if (!argc)
|
||||
{
|
||||
cli_print(cli, "Specify a user");
|
||||
|
|
|
|||
13
cluster.c
13
cluster.c
|
|
@ -1,6 +1,6 @@
|
|||
// L2TPNS Clustering Stuff
|
||||
|
||||
char const *cvs_id_cluster = "$Id: cluster.c,v 1.4 2004-06-28 02:43:13 fred_nerk Exp $";
|
||||
char const *cvs_id_cluster = "$Id: cluster.c,v 1.5 2004-07-02 07:30:43 bodea Exp $";
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/file.h>
|
||||
|
|
@ -343,6 +343,7 @@ static void send_heartbeat(int seq, char * data, int size)
|
|||
if (size > sizeof(past_hearts[0].data)) {
|
||||
log(0,0,0,0, "Tried to heartbeat something larger than the maximum packet!\n");
|
||||
kill(0, SIGTERM);
|
||||
exit(1);
|
||||
}
|
||||
i = seq % HB_HISTORY_SIZE;
|
||||
past_hearts[i].seq = seq;
|
||||
|
|
@ -770,8 +771,8 @@ void cluster_heartbeat(int highsession, int freesession, int hightunnel)
|
|||
kill(0, SIGTERM);
|
||||
}
|
||||
|
||||
log(3,0,0,0, "Sending heartbeat with %d changes (%d x-sess, %d x-tunnels, %d highsess, %d hightun size %d)\n",
|
||||
config->cluster_num_changes, count, tcount, config->cluster_highest_sessionid,
|
||||
log(3,0,0,0, "Sending heartbeat #%d with %d changes (%d x-sess, %d x-tunnels, %d highsess, %d hightun size %d)\n",
|
||||
h.seq, config->cluster_num_changes, count, tcount, config->cluster_highest_sessionid,
|
||||
config->cluster_highest_tunnelid, (p-buff));
|
||||
|
||||
config->cluster_num_changes = 0;
|
||||
|
|
@ -1068,16 +1069,18 @@ static int cluster_process_heartbeat_v2(u8 * data, int size, int more, u8 * p, u
|
|||
|
||||
log(0,0,0,0, "I just got a packet claiming to be from a master but _I_ am the master!\n");
|
||||
if (!h->basetime) {
|
||||
log(0,0,0,0, "Heartbeat from addr %s with zero basetime!\n", inet_toa(htonl(addr)) );
|
||||
log(0,0,0,0, "Heartbeat from addr %s with zero basetime!\n", inet_toa(addr) );
|
||||
return -1; // Skip it.
|
||||
}
|
||||
if (basetime > h->basetime) {
|
||||
log(0,0,0,0, "They're (%s) an older master than me so I'm gone!\n", inet_toa(htonl(addr)));
|
||||
log(0,0,0,0, "They're (%s) an older master than me so I'm gone!\n", inet_toa(addr));
|
||||
kill(0, SIGTERM);
|
||||
exit(1);
|
||||
}
|
||||
if (basetime == h->basetime && my_address < addr) { // Tie breaker.
|
||||
log(0,0,0,0, "They're a higher IP address than me, so I'm gone!\n");
|
||||
kill(0, SIGTERM);
|
||||
exit(1);
|
||||
}
|
||||
return -1; // Skip it.
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue