return;
}
- // Avoid endless loops
- $cachekey = 'zrlInit:' . $my_url;
- if (Cache::get($cachekey)) {
- logger('URL ' . $my_url . ' already tried to authenticate.', LOGGER_DEBUG);
- return;
- } else {
- Cache::set($cachekey, true, CACHE_MINUTE);
- }
-
$arr = ['zrl' => $my_url, 'url' => $a->cmd];
Addon::callHooks('zrl_init', $arr);
return;
}
- Worker::add(PRIORITY_LOW, 'GProbe', $my_url);
-
$contact = DBA::selectFirst('contact',['id', 'url'], ['id' => $cid]);
if (DBA::isResult($contact) && remote_user() && remote_user() == $contact['id']) {
return;
}
+ // Avoid endless loops
+ $cachekey = 'zrlInit:' . $my_url;
+ if (Cache::get($cachekey)) {
+ logger('URL ' . $my_url . ' already tried to authenticate.', LOGGER_DEBUG);
+ return;
+ } else {
+ Cache::set($cachekey, true, CACHE_MINUTE);
+ }
+
logger('Not authenticated. Invoking reverse magic-auth for ' . $my_url, LOGGER_DEBUG);
+ Worker::add(PRIORITY_LOW, 'GProbe', $my_url);
+
// Try to avoid recursion - but send them home to do a proper magic auth.
$query = str_replace(array('?zrl=', '&zid='), array('?rzrl=', '&rzrl='), $a->query_string);
// The other instance needs to know where to redirect.
$curlResult = Network::curl($contact['poll'], false, $redirects, ['cookiejar' => $cookiejar]);
unlink($cookiejar);
- if (!$curlResult->isTimeout()) {
+ if ($curlResult->isTimeout()) {
// set the last-update so we don't keep polling
DBA::update('contact', ['last-update' => DateTimeFormat::utcNow()], ['id' => $contact['id']]);
Contact::markForArchival($contact);