From 4fe00a3075c10c5b2168ac2b4996a32055a799ee Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 3 May 2010 23:02:25 -0400 Subject: When handling incoming mail, skip everything after a blank line if we already have content --- lib/mailhandler.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib') diff --git a/lib/mailhandler.php b/lib/mailhandler.php index 890f6d5b4..e9ba41839 100644 --- a/lib/mailhandler.php +++ b/lib/mailhandler.php @@ -265,6 +265,10 @@ class MailHandler if (preg_match('/^\s*Begin\s+forward/', $line)) { break; } + // skip everything after a blank line if we already have content + if ($output !== '' && $line === '') { + break; + } $output .= ' ' . $line; } -- cgit v1.2.3-54-g00ecf From bb94b78e8997ba1b66ddde7ad46653bfa6f958e6 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 4 May 2010 18:43:32 -0700 Subject: Handle timeout more gracefully in background pings Added a 2-second default timeout for XMLRPC/extended pings, configurable as [ping,timeout]. No longer repeating the entire ping section if we had an HTTP error during a submission. For now, dropping the bad item and continuing on with others. (Todo: individual retry and cleaner discards of blacklisted broken-for-now sites.) --- lib/default.php | 3 ++- lib/ping.php | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/default.php b/lib/default.php index fa4ece10a..ab5f294de 100644 --- a/lib/default.php +++ b/lib/default.php @@ -188,7 +188,8 @@ $default = 'cache' => array('base' => null), 'ping' => - array('notify' => array()), + array('notify' => array(), + 'timeout' => 2), 'inboxes' => array('enabled' => true), # ignored after 0.9.x 'newuser' => diff --git a/lib/ping.php b/lib/ping.php index 735af9ef1..be2933ae3 100644 --- a/lib/ping.php +++ b/lib/ping.php @@ -45,7 +45,15 @@ function ping_broadcast_notice($notice) { $tags)); $request = HTTPClient::start(); - $httpResponse = $request->post($notify_url, array('Content-Type: text/xml'), $req); + $request->setConfig('connect_timeout', common_config('ping', 'timeout')); + $request->setConfig('timeout', common_config('ping', 'timeout')); + try { + $httpResponse = $request->post($notify_url, array('Content-Type: text/xml'), $req); + } catch (Exception $e) { + common_log(LOG_ERR, + "Exception pinging $notify_url: " . $e->getMessage()); + continue; + } if (!$httpResponse || mb_strlen($httpResponse->getBody()) == 0) { common_log(LOG_WARNING, -- cgit v1.2.3-54-g00ecf From c2bda7726c05c6c7f5ef4f9519e56f107bc4e1e5 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 5 May 2010 13:11:36 -0700 Subject: XMPP debugging: log the message source when discarding empty or unrecognized messages. --- lib/xmppmanager.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/xmppmanager.php b/lib/xmppmanager.php index cca54db08..829eaa36c 100644 --- a/lib/xmppmanager.php +++ b/lib/xmppmanager.php @@ -253,12 +253,12 @@ class XmppManager extends IoManager $from = jabber_normalize_jid($pl['from']); if ($pl['type'] != 'chat') { - $this->log(LOG_WARNING, "Ignoring message of type ".$pl['type']." from $from."); + $this->log(LOG_WARNING, "Ignoring message of type ".$pl['type']." from $from: " . $pl['xml']->toString()); return; } if (mb_strlen($pl['body']) == 0) { - $this->log(LOG_WARNING, "Ignoring message with empty body from $from."); + $this->log(LOG_WARNING, "Ignoring message with empty body from $from: " . $pl['xml']->toString()); return; } -- cgit v1.2.3-54-g00ecf