X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/f5071c422df06800e59bb1be0218c0f6ec2ba831..aa77d4f89aa291e851c9be8a64ecfdb1434e83c9:/snoopctl.c diff --git a/snoopctl.c b/snoopctl.c index 8c7c3d5..8afcbe1 100644 --- a/snoopctl.c +++ b/snoopctl.c @@ -5,7 +5,7 @@ /* snoop control */ -char const *cvs_id = "$Id: snoopctl.c,v 1.1 2004/11/17 15:08:19 bodea Exp $"; +char const *cvs_id = "$Id: snoopctl.c,v 1.4 2004/12/16 08:49:53 bodea Exp $"; int plugin_api_version = PLUGIN_API_VERSION; static struct pluginfuncs *p = 0; @@ -16,8 +16,6 @@ char *plugin_control_help[] = { 0 }; -static int iam_master = 0; - int plugin_init(struct pluginfuncs *funcs) { if (!funcs) @@ -27,12 +25,6 @@ int plugin_init(struct pluginfuncs *funcs) return 1; } -int plugin_become_master(void) -{ - iam_master = 1; - return PLUGIN_RET_OK; -} - int plugin_control(struct param_control *data) { sessionidt session; @@ -46,14 +38,10 @@ int plugin_control(struct param_control *data) if (strcmp(data->argv[0], "snoop") && strcmp(data->argv[0], "unsnoop")) return PLUGIN_RET_OK; // not for us - flag = data->argv[0][0] != 'u'; + if (!data->iam_master) + return PLUGIN_RET_NOTMASTER; - if (!iam_master) - { - data->response = NSCTL_RES_ERR; - data->additional = "must be run on the cluster master"; - return PLUGIN_RET_STOP; - } + flag = data->argv[0][0] != 'u'; if (flag) { @@ -89,8 +77,8 @@ int plugin_control(struct param_control *data) if (flag) { - ipt ip = inet_addr(data->argv[2]); - u16 port = atoi(data->argv[3]); + in_addr_t ip = inet_addr(data->argv[2]); + uint16_t port = atoi(data->argv[3]); if (!ip || ip == INADDR_NONE) { @@ -129,7 +117,7 @@ int plugin_control(struct param_control *data) s->snoop_port = 0; } - p->sesssion_changed(session); + p->session_changed(session); data->response = NSCTL_RES_OK; data->additional = 0;