summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Walker <walkah@walkah.net>2010-02-25 09:39:16 -0500
committerJames Walker <walkah@walkah.net>2010-02-25 17:09:54 -0500
commite62e49ed3be08e30ab5ea6a5a46e1f90d4715182 (patch)
tree101ace347b2eeb2b2394750661edd105fb20eae5
parentbac959ad46e6e04bce8c29f8a24e198e62bf5616 (diff)
adding some exception handling for magicenv parsing
-rw-r--r--plugins/OStatus/lib/magicenvelope.php2
-rw-r--r--plugins/OStatus/lib/salmon.php8
2 files changed, 7 insertions, 3 deletions
diff --git a/plugins/OStatus/lib/magicenvelope.php b/plugins/OStatus/lib/magicenvelope.php
index 81f4609c5..4a9efe93d 100644
--- a/plugins/OStatus/lib/magicenvelope.php
+++ b/plugins/OStatus/lib/magicenvelope.php
@@ -59,7 +59,7 @@ class MagicEnvelope
$signer_uri = $this->normalizeUser($signer_uri);
if (!$this->checkAuthor($text, $signer_uri)) {
- return false;
+ throw new Exception("Unable to determine entry author.");
}
$signature_alg = Magicsig::fromString($this->getKeyPair($signer_uri));
diff --git a/plugins/OStatus/lib/salmon.php b/plugins/OStatus/lib/salmon.php
index b5f178cc6..9d4359f74 100644
--- a/plugins/OStatus/lib/salmon.php
+++ b/plugins/OStatus/lib/salmon.php
@@ -72,8 +72,12 @@ class Salmon
// TODO: Should probably be getting the signer uri as an argument?
$signer_uri = $magic_env->getAuthor($text);
- $env = $magic_env->signMessage($text, 'application/atom+xml', $signer_uri);
-
+ try {
+ $env = $magic_env->signMessage($text, 'application/atom+xml', $signer_uri);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, "Salmon signing failed: ". $e->getMessage());
+ return $text;
+ }
return $magic_env->unfold($env);
}