diff options
-rw-r--r-- | include/zid.php | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/include/zid.php b/include/zid.php index 67c1d9f6c..5b5601191 100644 --- a/include/zid.php +++ b/include/zid.php @@ -53,13 +53,13 @@ function zid($s, $address = '') { $mine = get_my_url(); $myaddr = (($address) ? $address : get_my_address()); - /** - * @FIXME checking against our own channel url is no longer reliable. We may have a lot - * of urls attached to our channel. Should probably match against our site, since we - * will not need to remote authenticate on our own site anyway. - */ + $mine_parsed = parse_url($mine); + $s_parsed = parse_url($s); - if ($mine && $myaddr && (! link_compare($mine,$s))) + if($mine_parsed['host'] === $s_parsed['host']) + $url_match = true; + + if ($mine && $myaddr && (! $url_match)) $zurl = $s . (($num_slashes >= 3) ? '' : '/') . $achar . 'zid=' . urlencode($myaddr); else $zurl = $s; @@ -346,4 +346,4 @@ function owt_init($token) { info(sprintf( t('OpenWebAuth: %1$s welcomes %2$s'),\App::get_hostname(), $hubloc['xchan_name'])); logger('OpenWebAuth: auth success from ' . $hubloc['xchan_addr']); -}
\ No newline at end of file +} |