mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-20 00:35:30 +00:00
make objcache consistent, get rid of jsalmon
This commit is contained in:
parent
d777aee293
commit
198f875136
2 changed files with 8 additions and 67 deletions
|
@ -73,30 +73,6 @@ class ActivityStreams
|
|||
$this->valid = false;
|
||||
}
|
||||
}
|
||||
|
||||
// verify and unpack JSalmon signature if present
|
||||
// This will only be the case for Zot6 packets
|
||||
|
||||
if ($this->valid && is_array($this->data) && array_key_exists('signed', $this->data)) {
|
||||
$ret = JSalmon::verify($this->data);
|
||||
$tmp = JSalmon::unpack($this->data['data']);
|
||||
if ($ret && $ret['success'] && $tmp) {
|
||||
if ($ret['signer']) {
|
||||
logger('Unpacked: ' . json_encode($tmp, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT), LOGGER_DATA, LOG_DEBUG);
|
||||
$saved = json_encode($this->data, JSON_UNESCAPED_SLASHES);
|
||||
$this->data = $tmp;
|
||||
$this->meta['signer'] = $ret['signer'];
|
||||
$this->meta['signed_data'] = $saved;
|
||||
if ($ret['hubloc']) {
|
||||
$this->meta['hubloc'] = $ret['hubloc'];
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
logger('JSalmon verification failure.');
|
||||
$this->valid = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Attempt to assemble an Activity from what we were given.
|
||||
|
@ -117,6 +93,9 @@ class ActivityStreams
|
|||
$this->edsig = $this->get_compound_property('proof');
|
||||
if ($this->edsig) {
|
||||
$this->checkEddsaSignature();
|
||||
if (!$this->sigok) {
|
||||
$this->valid = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Implied create activity required by C2S specification if no object is present
|
||||
|
@ -436,25 +415,6 @@ class ActivityStreams
|
|||
}
|
||||
}
|
||||
|
||||
// verify and unpack JSalmon signature if present
|
||||
// This may be present in Zot6 packets
|
||||
|
||||
if (is_array($x) && array_key_exists('signed', $x)) {
|
||||
$ret = JSalmon::verify($x);
|
||||
$tmp = JSalmon::unpack($x['data']);
|
||||
if ($ret && $ret['success']) {
|
||||
if ($ret['signer']) {
|
||||
logger('Unpacked: ' . json_encode($tmp, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT), LOGGER_DATA, LOG_DEBUG);
|
||||
$saved = json_encode($x, JSON_UNESCAPED_SLASHES);
|
||||
$x = $tmp;
|
||||
$x['meta']['signer'] = $ret['signer'];
|
||||
$x['meta']['signed_data'] = $saved;
|
||||
if ($ret['hubloc']) {
|
||||
$x['meta']['hubloc'] = $ret['hubloc'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($first && is_array($x) && array_key_exists(0, $x)) {
|
||||
return $x[0];
|
||||
}
|
||||
|
|
|
@ -129,11 +129,6 @@ class Libzot
|
|||
}
|
||||
|
||||
if ($msg) {
|
||||
$actor = Channel::url($channel);
|
||||
$actors = get_hubloc_id_urls_by_portable_id($channel['channel_hash']);
|
||||
if ($encoding === 'activitystreams' && array_key_exists('actor', $msg) && in_array($msg['actor'], $actors)) {
|
||||
$msg = JSalmon::sign($msg, $actor, $channel['channel_prvkey']);
|
||||
}
|
||||
$data['data'] = $msg;
|
||||
} else {
|
||||
unset($data['encoding']);
|
||||
|
@ -1393,15 +1388,7 @@ class Libzot
|
|||
if (!array_key_exists('comment_policy', $arr)) {
|
||||
$arr['comment_policy'] = 'authenticated';
|
||||
}
|
||||
if (isset($AS->meta['signed_data'])) {
|
||||
ObjCache::Set($arr['mid'] . '.nomad', $AS->meta['signed_data']);
|
||||
// IConfig::Set($arr, 'activitypub', 'signed_data', $AS->meta['signed_data'], false);
|
||||
$j = json_decode($AS->meta['signed_data'], true);
|
||||
if ($j) {
|
||||
ObjCache::Set($arr['mid'], json_encode(JSalmon::unpack($j['data'])), false);
|
||||
// IConfig::Set($arr, 'activitypub', 'rawmsg', json_encode(JSalmon::unpack($j['data'])), false);
|
||||
}
|
||||
}
|
||||
ObjCache::Set($arr['mid'], $AS->raw);
|
||||
|
||||
logger('Activity received: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG);
|
||||
logger('Activity recipients: ' . print_r($deliveries, true), LOGGER_DATA, LOG_DEBUG);
|
||||
|
@ -2062,7 +2049,7 @@ class Libzot
|
|||
}
|
||||
}
|
||||
else {
|
||||
ObjCache::Set($arr['mid'] . '.nomad', $act->meta['signed_data']);
|
||||
ObjCache::Set($arr['mid'], $act->raw);
|
||||
$item_result = self::update_imported_item($sender, $arr, $r[0], $channel['channel_id'], $tag_delivery);
|
||||
$DR->update('updated');
|
||||
$result[] = $DR->get();
|
||||
|
@ -2130,7 +2117,7 @@ class Libzot
|
|||
$arr['body'] = str_replace("#^[", "[", $arr['body']);
|
||||
}
|
||||
// IConfig::Set($arr, 'activitypub', 'signed_data', $act->meta['signed_data'], false);
|
||||
ObjCache::Set($arr['mid'] . '.nomad', $act->meta['signed_data']);
|
||||
ObjCache::Set($arr['mid'], $act->raw);
|
||||
|
||||
$item_result = item_store($arr);
|
||||
if ($item_result['success']) {
|
||||
|
@ -2297,17 +2284,11 @@ class Libzot
|
|||
$arr['replyto'] = $r[0]['replyto'];
|
||||
}
|
||||
}
|
||||
if (
|
||||
(isset($AS->meta) && isset($AS->meta['hubloc']) && $AS->meta['hubloc'])
|
||||
|| ($arr['author_xchan'] === $arr['owner_xchan'])
|
||||
) {
|
||||
if ($AS->sigok) {
|
||||
$arr['item_verified'] = true;
|
||||
}
|
||||
|
||||
if (isset($AS->meta) && isset($AS->meta['signed_data']) && $AS->meta['signed_data']) {
|
||||
// IConfig::Set($arr, 'activitypub', 'signed_data', $AS->meta['signed_data'], false);
|
||||
ObjCache::Set($arr['mid'] . '.nomad', $AS->meta['signed_data']);
|
||||
}
|
||||
ObjCache::Set($arr['mid'], $AS->raw);
|
||||
|
||||
logger('FOF Activity received: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG);
|
||||
logger('FOF Activity recipient: ' . $channel['channel_hash'], LOGGER_DATA, LOG_DEBUG);
|
||||
|
|
Loading…
Reference in a new issue