[or-cvs] Make RecommendedVersions a CONFIG_TYPE_LINELIST option, and...
Nick Mathewson
nickm at seul.org
Fri Oct 15 05:09:51 UTC 2004
Update of /home/or/cvsroot/src/or
In directory moria.mit.edu:/tmp/cvs-serv22882/src/or
Modified Files:
config.c dirserv.c or.h
Log Message:
Make RecommendedVersions a CONFIG_TYPE_LINELIST option, and have it tolerate whitespace a little better.
Index: config.c
===================================================================
RCS file: /home/or/cvsroot/src/or/config.c,v
retrieving revision 1.170
retrieving revision 1.171
diff -u -d -r1.170 -r1.171
--- config.c 15 Oct 2004 01:58:11 -0000 1.170
+++ config.c 15 Oct 2004 05:09:48 -0000 1.171
@@ -279,7 +279,7 @@
config_compare(list, "RouterFile", CONFIG_TYPE_STRING, &options->RouterFile) ||
config_compare(list, "RunAsDaemon", CONFIG_TYPE_BOOL, &options->RunAsDaemon) ||
config_compare(list, "RunTesting", CONFIG_TYPE_BOOL, &options->RunTesting) ||
- config_compare(list, "RecommendedVersions",CONFIG_TYPE_STRING, &options->RecommendedVersions) ||
+ config_compare(list, "RecommendedVersions",CONFIG_TYPE_LINELIST, &options->RecommendedVersions) ||
config_compare(list, "RendNodes", CONFIG_TYPE_STRING, &options->RendNodes) ||
config_compare(list, "RendExcludeNodes",CONFIG_TYPE_STRING, &options->RendExcludeNodes) ||
@@ -466,7 +466,6 @@
tor_free(options->RendNodes);
tor_free(options->RendExcludeNodes);
tor_free(options->OutboundBindAddress);
- tor_free(options->RecommendedVersions);
tor_free(options->User);
tor_free(options->Group);
tor_free(options->HttpProxy);
@@ -477,6 +476,7 @@
config_free_lines(options->ExitPolicy);
config_free_lines(options->SocksPolicy);
config_free_lines(options->DirServers);
+ config_free_lines(options->RecommendedVersions);
if (options->FirewallPorts) {
SMARTLIST_FOREACH(options->FirewallPorts, char *, cp, tor_free(cp));
smartlist_free(options->FirewallPorts);
Index: dirserv.c
===================================================================
RCS file: /home/or/cvsroot/src/or/dirserv.c,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -d -r1.98 -r1.99
--- dirserv.c 14 Oct 2004 02:47:08 -0000 1.98
+++ dirserv.c 15 Oct 2004 05:09:48 -0000 1.99
@@ -559,6 +559,7 @@
{
char *cp, *eos;
char *identity_pkey; /* Identity key, DER64-encoded. */
+ char *recommended_versions;
char digest[20];
char signature[128];
char published[33];
@@ -589,6 +590,20 @@
}
}
#endif
+
+ {
+ smartlist_t *versions;
+ struct config_line_t *ln;
+ versions = smartlist_create();
+ for (ln = options.RecommendedVersions; ln; ln = ln->next) {
+ smartlist_split_string(versions, ln->value, ",",
+ SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
+ }
+ recommended_versions = smartlist_join_strings(versions,",",0);
+ SMARTLIST_FOREACH(versions,char *,s,tor_free(s));
+ smartlist_free(versions);
+ }
+
dirserv_remove_old_servers(ROUTER_MAX_AGE);
published_on = time(NULL);
format_iso_time(published, published_on);
@@ -598,7 +613,7 @@
"recommended-software %s\n"
"running-routers %s\n"
"opt dir-signing-key %s\n\n",
- published, options.RecommendedVersions, cp, identity_pkey);
+ published, recommended_versions, cp, identity_pkey);
tor_free(cp);
tor_free(identity_pkey);
Index: or.h
===================================================================
RCS file: /home/or/cvsroot/src/or/or.h,v
retrieving revision 1.433
retrieving revision 1.434
diff -u -d -r1.433 -r1.434
--- or.h 15 Oct 2004 04:57:36 -0000 1.433
+++ or.h 15 Oct 2004 05:09:48 -0000 1.434
@@ -858,8 +858,9 @@
struct config_line_t *DirBindAddress;
/** Local address to bind outbound sockets */
char *OutboundBindAddress;
- char *RecommendedVersions; /**< Directory server only: which versions of
- * Tor should we tell users to run? */
+ struct config_line_t *RecommendedVersions;
+ /**< Directory server only: which versions of
+ * Tor should we tell users to run? */
char *User; /**< Name of user to run Tor as. */
char *Group; /**< Name of group to run Tor as. */
double PathlenCoinWeight; /**< Parameter used to configure average path
More information about the tor-commits
mailing list