|
|
@@ -3042,13 +3042,18 @@ xs_list *content_search(snac *user, const char *regex,
|
|
|
}
|
|
|
|
|
|
|
|
|
-int actor_failure(const char *id, int op)
|
|
|
-/* actor failure maintenance */
|
|
|
+int instance_failure(const char *url, int op)
|
|
|
+/* do some checks and accounting on instance failures */
|
|
|
{
|
|
|
int ret = 0;
|
|
|
+ xs *l = xs_split(url, "/");
|
|
|
+ const char *hostname = xs_list_get(l, 2);
|
|
|
double mt;
|
|
|
|
|
|
- xs *md5 = xs_md5_hex(id, strlen(id));
|
|
|
+ if (!xs_is_string(hostname))
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ xs *md5 = xs_md5_hex(hostname, strlen(hostname));
|
|
|
xs *fn = xs_fmt("%s/failure/%s", srv_basedir, md5);
|
|
|
|
|
|
switch (op) {
|
|
|
@@ -3070,7 +3075,7 @@ int actor_failure(const char *id, int op)
|
|
|
|
|
|
/* only create once, as the date will be used */
|
|
|
if ((f = fopen(fn, "w")) != NULL) {
|
|
|
- fprintf(f, "%s\n", id);
|
|
|
+ fprintf(f, "%s\n", hostname);
|
|
|
fclose(f);
|
|
|
}
|
|
|
}
|
|
|
@@ -3088,20 +3093,6 @@ int actor_failure(const char *id, int op)
|
|
|
}
|
|
|
|
|
|
|
|
|
-int instance_failure(const char *url, int op)
|
|
|
-/* instance failure maintenance */
|
|
|
-{
|
|
|
- /* extract just the host name */
|
|
|
- xs *l = xs_split(url, "/");
|
|
|
- const char *hostname = xs_list_get(l, 2);
|
|
|
-
|
|
|
- if (!xs_is_string(hostname))
|
|
|
- return 0;
|
|
|
-
|
|
|
- return actor_failure(hostname, op);
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
/** notifications **/
|
|
|
|
|
|
xs_str *notify_check_time(snac *snac, int reset)
|