aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-10-01 22:20:09 -0700
committerfriendica <info@friendica.com>2013-10-01 22:20:09 -0700
commit494090a3b7de23686d96530afd9509e50bff6362 (patch)
tree05696be7002d053896637ce7533536f64fd7bc12
parentbde20f81e6789511f0c7623abab06594dec83850 (diff)
downloadvolse-hubzilla-494090a3b7de23686d96530afd9509e50bff6362.tar.gz
volse-hubzilla-494090a3b7de23686d96530afd9509e50bff6362.tar.bz2
volse-hubzilla-494090a3b7de23686d96530afd9509e50bff6362.zip
in probe diagnostic - note https failure as diagnostic info - this also changes zot_finger so you can tell it not to fallback. This could be useful in corporate environments that are off the grid or other high security situations (as much as anything could be considered high security which relies on SSL).
-rw-r--r--include/zot.php6
-rw-r--r--mod/probe.php11
2 files changed, 12 insertions, 5 deletions
diff --git a/include/zot.php b/include/zot.php
index 33bb60c0f..3ea7fa90b 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -116,7 +116,7 @@ function zot_zot($url,$data) {
*/
-function zot_finger($webbie,$channel) {
+function zot_finger($webbie,$channel,$autofallback = true) {
if(strpos($webbie,'@') === false) {
@@ -165,7 +165,7 @@ function zot_finger($webbie,$channel) {
$result = z_post_url($url . $rhs,$postvars);
- if(! $result['success']) {
+ if((! $result['success']) && ($autofallback)) {
if($https) {
logger('zot_finger: https failed. falling back to http');
$result = z_post_url('http://' . $host . $rhs,$postvars);
@@ -176,7 +176,7 @@ function zot_finger($webbie,$channel) {
$rhs .= '?f=&address=' . urlencode($address);
$result = z_fetch_url($url . $rhs);
- if(! $result['success']) {
+ if((! $result['success']) && ($autofallback)) {
if($https) {
logger('zot_finger: https failed. falling back to http');
$result = z_fetch_url('http://' . $host . $rhs);
diff --git a/mod/probe.php b/mod/probe.php
index 397f571c5..bd792d52e 100644
--- a/mod/probe.php
+++ b/mod/probe.php
@@ -15,9 +15,16 @@ function probe_content(&$a) {
if(x($_GET,'addr')) {
$channel = $a->get_channel();
$addr = trim($_GET['addr']);
- $res = zot_finger($addr,$channel);
+ $res = zot_finger($addr,$channel,false);
$o .= '<pre>';
- $j = json_decode($res['body'],true);
+ if($res['success'])
+ $j = json_decode($res['body'],true);
+ else {
+ $o .= "<strong>https connection failed. Trying again with auto failover to http.</strong>\r\n\r\n";
+ $res = zot_finger($addr,$channel,true);
+ if($res['success'])
+ $j = json_decode($res['body'],true);
+ }
if($j && $j['permissions'] && $j['permissions']['iv'])
$j['permissions'] = json_decode(aes_unencapsulate($j['permissions'],$channel['channel_prvkey']),true);
$o .= str_replace("\n",'<br />',print_r($j,true));