summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-09-08 11:47:44 -0700
committerBrion Vibber <brion@pobox.com>2010-09-08 11:47:44 -0700
commit7407754c2714248eebc995412a3aee881df2a238 (patch)
tree5ade211b1755df5fffa254de28cf838d35b76df4
parent58b5ff718a5fa209dce5dd23d6d0fb35d30facd6 (diff)
parentd470c007fc18c9112804155e495ff295cd60ef88 (diff)
Merge branch 'master' into testing
-rw-r--r--classes/Notice.php4
-rw-r--r--plugins/OpenID/openid.php16
-rw-r--r--plugins/RSSCloud/RSSCloudQueueHandler.php7
3 files changed, 24 insertions, 3 deletions
diff --git a/classes/Notice.php b/classes/Notice.php
index 14477b1b5..f1b012465 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -583,7 +583,9 @@ class Notice extends Memcached_DataObject
if ($f2p->find()) {
while ($f2p->fetch()) {
$f = File::staticGet($f2p->file_id);
- $att[] = clone($f);
+ if ($f) {
+ $att[] = clone($f);
+ }
}
}
return $att;
diff --git a/plugins/OpenID/openid.php b/plugins/OpenID/openid.php
index 4ce350f77..1b93163e5 100644
--- a/plugins/OpenID/openid.php
+++ b/plugins/OpenID/openid.php
@@ -182,7 +182,19 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
$trust_root = common_root_url(true);
$process_url = common_local_url($returnto);
- if ($auth_request->shouldSendRedirect()) {
+ // Net::OpenID::Server as used on LiveJournal appears to incorrectly
+ // reject POST requests for data submissions that OpenID 1.1 specs
+ // as GET, although 2.0 allows them:
+ // https://rt.cpan.org/Public/Bug/Display.html?id=42202
+ //
+ // Our OpenID libraries would have switched in the redirect automatically
+ // if it were detecting 1.1 compatibility mode, however the server is
+ // advertising itself as 2.0-compatible, so we got switched to the POST.
+ //
+ // Since the GET should always work anyway, we'll just take out the
+ // autosubmitter for now.
+ //
+ //if ($auth_request->shouldSendRedirect()) {
$redirect_url = $auth_request->redirectURL($trust_root,
$process_url,
$immediate);
@@ -194,6 +206,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
} else {
common_redirect($redirect_url, 303);
}
+ /*
} else {
// Generate form markup and render it.
$form_id = 'openid_message';
@@ -219,6 +232,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
$action->handle(array('action' => 'autosubmit'));
}
}
+ */
}
# Half-assed attempt at a module-private function
diff --git a/plugins/RSSCloud/RSSCloudQueueHandler.php b/plugins/RSSCloud/RSSCloudQueueHandler.php
index 295c26189..ef11eda2e 100644
--- a/plugins/RSSCloud/RSSCloudQueueHandler.php
+++ b/plugins/RSSCloud/RSSCloudQueueHandler.php
@@ -28,7 +28,12 @@ class RSSCloudQueueHandler extends QueueHandler
function handle($notice)
{
- $profile = $notice->getProfile();
+ try {
+ $profile = $notice->getProfile();
+ } catch (Exception $e) {
+ common_log(LOG_ERR, "Dropping RSSCloud item for notice with bogus profile: " . $e->getMessage());
+ return true;
+ }
$notifier = new RSSCloudNotifier();
return $notifier->notify($profile);
}