Commit 10410907 authored by James Walker's avatar James Walker

A bit safer checking in the keypair parsing

parent 7b1b6045
......@@ -59,12 +59,21 @@ class MagicEnvelope
}
if ($xrd->links) {
if ($link = Discovery::getService($xrd->links, Magicsig::PUBLICKEYREL)) {
list($type, $keypair) = explode(',', $link['href']);
if (empty($keypair)) {
$keypair = false;
$parts = explode(',', $link['href']);
if (count($parts) == 2) {
$keypair = $parts[1];
} else {
// Backwards compatibility check for separator bug in 0.9.0
list($type, $keypair) = explode(';', $link['href']);
$parts = explode(';', $link['href']);
if (count($parts) == 2) {
$keypair = $parts[1];
}
}
if ($keypair) {
return $keypair;
}
return $keypair;
}
}
throw new Exception('Unable to locate signer public key');
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment