|
@@ -656,6 +656,31 @@ rend_service_load_all_keys(void)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/** Add to <b>lst</b> every filename used by <b>s</b>. */
|
|
|
|
+static void
|
|
|
|
+rend_service_add_filenames_to_list(smartlist_t *lst, const rend_service_t *s)
|
|
|
|
+{
|
|
|
|
+ tor_assert(lst);
|
|
|
|
+ tor_assert(s);
|
|
|
|
+ smartlist_add_asprintf(lst, "%s"PATH_SEPARATOR"private_key",
|
|
|
|
+ s->directory);
|
|
|
|
+ smartlist_add_asprintf(lst, "%s"PATH_SEPARATOR"hostname",
|
|
|
|
+ s->directory);
|
|
|
|
+ smartlist_add_asprintf(lst, "%s"PATH_SEPARATOR"client_keys",
|
|
|
|
+ s->directory);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/** Add to <b>lst</b> every filename used by a configured hidden service */
|
|
|
|
+void
|
|
|
|
+rend_services_add_filenames_to_list(smartlist_t *lst)
|
|
|
|
+{
|
|
|
|
+ if (!rend_service_list)
|
|
|
|
+ return;
|
|
|
|
+ SMARTLIST_FOREACH_BEGIN(rend_service_list, rend_service_t *, s) {
|
|
|
|
+ rend_service_add_filenames_to_list(lst, s);
|
|
|
|
+ } SMARTLIST_FOREACH_END(s);
|
|
|
|
+}
|
|
|
|
+
|
|
/** Load and/or generate private keys for the hidden service <b>s</b>,
|
|
/** Load and/or generate private keys for the hidden service <b>s</b>,
|
|
* possibly including keys for client authorization. Return 0 on success, -1
|
|
* possibly including keys for client authorization. Return 0 on success, -1
|
|
* on failure. */
|
|
* on failure. */
|