Imported Upstream version 2.6.4

This commit is contained in:
Arnaud Quette 2012-06-01 15:55:19 +02:00
parent fad6ced6f6
commit fefe62b2bd
257 changed files with 6020 additions and 1394 deletions

View file

@ -3,6 +3,7 @@
Copyright (C)
2003 Russell Kroll <rkroll@exploits.org>
2008 Arjen de Korte <adkorte-guest@alioth.debian.org>
2012 Arnaud Quette <arnaud.quette@free.fr>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -273,6 +274,7 @@ static int st_tree_dump_conn(st_tree_t *node, conn_t *conn)
{
int ret;
enum_t *etmp;
range_t *rtmp;
if (!node) {
return 1; /* not an error */
@ -297,6 +299,13 @@ static int st_tree_dump_conn(st_tree_t *node, conn_t *conn)
}
}
/* send any ranges */
for (rtmp = node->range_list; rtmp; rtmp = rtmp->next) {
if (!send_to_one(conn, "ADDRANGE %s %i %i\n", node->var, rtmp->min, rtmp->max)) {
return 0;
}
}
/* provide any auxiliary data */
if (node->aux) {
if (!send_to_one(conn, "SETAUX %s %d\n", node->var, node->aux)) {
@ -318,7 +327,9 @@ static int st_tree_dump_conn(st_tree_t *node, conn_t *conn)
snprintfcat(flist, sizeof(flist), " STRING");
}
send_to_one(conn, "SETFLAGS %s\n", flist);
if (!send_to_one(conn, "SETFLAGS %s\n", flist)) {
return 0;
}
}
if (node->right) {
@ -633,6 +644,19 @@ int dstate_addenum(const char *var, const char *fmt, ...)
return ret;
}
int dstate_addrange(const char *var, const int min, const int max)
{
int ret;
ret = state_addrange(dtree_root, var, min, max);
if (ret == 1) {
send_to_all("ADDRANGE %s %i %i\n", var, min, max);
}
return ret;
}
void dstate_setflags(const char *var, int flags)
{
st_tree_t *sttmp;
@ -739,6 +763,20 @@ int dstate_delenum(const char *var, const char *val)
return ret;
}
int dstate_delrange(const char *var, const int min, const int max)
{
int ret;
ret = state_delrange(dtree_root, var, min, max);
/* update listeners */
if (ret == 1) {
send_to_all("DELRANGE %s \"%i %i\"\n", var, min, max);
}
return ret;
}
int dstate_delcmd(const char *cmd)
{
int ret;