From bd70e6ae6d5baa5f75e3c704ae25ff41a6a90047 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Thu, 13 Oct 2016 21:01:54 -0700 Subject: try to filter any path information from leaking through to zot_finger; and log the url wherever called to track down where it might be called with a malformed webbie or complete path instead of hostname. --- Zotlabs/Zot/Finger.php | 4 +++- include/zot.php | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Zotlabs/Zot/Finger.php b/Zotlabs/Zot/Finger.php index e7603442f..210513e60 100644 --- a/Zotlabs/Zot/Finger.php +++ b/Zotlabs/Zot/Finger.php @@ -32,6 +32,8 @@ class Finger { } else { $address = substr($webbie,0,strpos($webbie,'@')); $host = substr($webbie,strpos($webbie,'@')+1); + if(strpos($host,'/')) + $host = substr($host,0,strpos($host,'/')); } $xchan_addr = $address . '@' . $host; @@ -58,7 +60,7 @@ class Finger { if ($r[0]['hubloc_network'] && $r[0]['hubloc_network'] !== 'zot') { logger('zot_finger: alternate network: ' . $webbie); - logger('url: '.$url.', net: '.var_export($r[0]['hubloc_network'],true), LOGGER_DATA, LOG_DEBUG); + logger('url: ' . $url . ', net: ' . var_export($r[0]['hubloc_network'],true), LOGGER_DATA, LOG_DEBUG); return $ret; } } diff --git a/include/zot.php b/include/zot.php index 2e02b96e7..f6d6fe362 100644 --- a/include/zot.php +++ b/include/zot.php @@ -186,6 +186,8 @@ function zot_finger($webbie, $channel = null, $autofallback = true) { } else { $address = substr($webbie,0,strpos($webbie,'@')); $host = substr($webbie,strpos($webbie,'@')+1); + if(strpos($host,'/')) + $host = substr($host,0,strpos($host,'/')); } $xchan_addr = $address . '@' . $host; @@ -355,6 +357,8 @@ function zot_refresh($them, $channel = null, $force = false) { $rhs = '/.well-known/zot-info'; + logger('zot_refresh: ' . $url, LOGGER_DATA, LOG_INFO); + $result = z_post_url($url . $rhs,$postvars); logger('zot_refresh: zot-info: ' . print_r($result,true), LOGGER_DATA, LOG_DEBUG); -- cgit v1.2.3