From fda593caeda997fbd97eed28f69107ce91c16242 Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 12 Aug 2011 02:58:29 -0700 Subject: [PATCH] introduction fails if confirmation differs by http vs https --- boot.php | 2 +- mod/dfrn_confirm.php | 20 +++++++++++++++----- mod/probe.php | 23 +++++++++++++++++++++++ mod/webfinger.php | 2 +- 4 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 mod/probe.php diff --git a/boot.php b/boot.php index ea304b1e8..0a8a2fd84 100644 --- a/boot.php +++ b/boot.php @@ -7,7 +7,7 @@ require_once('include/text.php'); require_once("include/pgettext.php"); -define ( 'FRIENDIKA_VERSION', '2.2.1068' ); +define ( 'FRIENDIKA_VERSION', '2.2.1069' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); define ( 'DB_UPDATE_VERSION', 1079 ); diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php index 869bde3bf..bcc4e3438 100644 --- a/mod/dfrn_confirm.php +++ b/mod/dfrn_confirm.php @@ -528,12 +528,22 @@ function dfrn_confirm_post(&$a,$handsfree = null) { dbesc($decrypted_source_url), intval($local_uid) ); - if(! count($ret)) { - // this is either a bogus confirmation (?) or we deleted the original introduction. - $message = t('Contact record was not found for you on our site.'); - xml_status(3,$message); - return; // NOTREACHED + if(strstr($decrypted_source_url,'http:')) + $newurl = str_replace('http:','https:',$decrypted_source_url); + else + $newurl = str_replace('https:','http:',$decrypted_source_url); + + $ret = q("SELECT * FROM `contact` WHERE `url` = '%s' AND `uid` = %d LIMIT 1", + dbesc($newurl), + intval($local_uid) + ); + if(! count($r)) { + // this is either a bogus confirmation (?) or we deleted the original introduction. + $message = t('Contact record was not found for you on our site.'); + xml_status(3,$message); + return; // NOTREACHED + } } $relation = $ret[0]['rel']; diff --git a/mod/probe.php b/mod/probe.php new file mode 100644 index 000000000..221d18650 --- /dev/null +++ b/mod/probe.php @@ -0,0 +1,23 @@ +Probe Diagnostic'; + + $o .= '
'; + $o .= 'Lookup address: '; + $o .= '
'; + + $o .= '

'; + + if(x($_GET,'addr')) { + $addr = trim($_GET['addr']); + $res = probe_url($addr); + $o .= '
';
+		$o .= str_replace("\n",'
',print_r($res,true)); + $o .= '
'; + } + return $o; +} diff --git a/mod/webfinger.php b/mod/webfinger.php index f6d6026b4..74bd2c954 100644 --- a/mod/webfinger.php +++ b/mod/webfinger.php @@ -23,4 +23,4 @@ function webfinger_content(&$a) { $o .= ''; } return $o; -} \ No newline at end of file +}