#ifndef CLIENT_TAGS_H_INCLUDED
#define CLIENT_TAGS_H_INCLUDED
-#define CLIENT_TAGS_H_VERSION "$Id:$"
+#define CLIENT_TAGS_H_VERSION "$Id: client-tags.h,v 1.1 2016/03/17 10:42:27 fabiankeil Exp $"
/*********************************************************************
*
- * File : $Source: $
+ * File : $Source: /cvsroot/ijbswa/current/client-tags.h,v $
*
* Purpose : Declares functions for client-specific tags.
*
const time_t time_to_live);
extern int client_has_requested_tag(const char *client_address,
const char *tag);
+
+#define CLIENT_TAG_LENGTH_MAX 50
#endif
-const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.149 2016/03/17 18:20:57 fabiankeil Exp $";
+const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.150 2016/03/27 16:54:50 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/loadcfg.c,v $
#include "urlmatch.h"
#include "cgi.h"
#include "gateway.h"
+#ifdef FEATURE_CLIENT_TAGS
+#include "client-tags.h"
+#endif
const char loadcfg_h_rcs[] = LOADCFG_H_VERSION;
"client-specific-tag '%s' lacks a description.", name);
}
*description = '\0';
+ /*
+ * The length is limited because we don't want truncated
+ * HTML caused by the cgi interface using static buffer
+ * sizes.
+ */
+ if (strlen(name) > CLIENT_TAG_LENGTH_MAX)
+ {
+ log_error(LOG_LEVEL_FATAL,
+ "client-specific-tag '%s' is longer than %d characters.",
+ name, CLIENT_TAG_LENGTH_MAX);
+ }
description++;
register_tag(config->client_tags, name, description);
}