[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r16382: Limit number of authorized clients depending on authorizatio (tor/branches/121-hs-authorization/src/or)
Author: kloesing
Date: 2008-08-04 11:46:46 -0400 (Mon, 04 Aug 2008)
New Revision: 16382
Modified:
tor/branches/121-hs-authorization/src/or/rendservice.c
Log:
Limit number of authorized clients depending on authorization protocol.
Modified: tor/branches/121-hs-authorization/src/or/rendservice.c
===================================================================
--- tor/branches/121-hs-authorization/src/or/rendservice.c 2008-08-04 12:44:14 UTC (rev 16381)
+++ tor/branches/121-hs-authorization/src/or/rendservice.c 2008-08-04 15:46:46 UTC (rev 16382)
@@ -383,6 +383,20 @@
smartlist_split_string(clients, client_names, ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
tor_free(client_names);
+ if ((service->auth_type == 1 && smartlist_len(clients) > 512) ||
+ (service->auth_type == 2 && smartlist_len(clients) > 16)) {
+ log_warn(LD_CONFIG, "HiddenServiceAuthorizeClient contains %d "
+ "client authorization entries, but only a "
+ "maximum of %d entries is allowed for "
+ "authorization type %d.",
+ smartlist_len(clients),
+ service->auth_type == 1 ? 512 : 16,
+ service->auth_type);
+ SMARTLIST_FOREACH(clients, char *, cp, tor_free(cp));
+ smartlist_free(clients);
+ rend_service_free(service);
+ return -1;
+ }
SMARTLIST_FOREACH(clients, char *, client_name, {
rend_authorized_client_t *client;
size_t len = strlen(client_name);