diff options
Diffstat (limited to 'models/Auth.old/OpenID/URINorm.php')
| -rw-r--r-- | models/Auth.old/OpenID/URINorm.php | 231 | 
1 files changed, 0 insertions, 231 deletions
diff --git a/models/Auth.old/OpenID/URINorm.php b/models/Auth.old/OpenID/URINorm.php deleted file mode 100644 index 60e900a4c..000000000 --- a/models/Auth.old/OpenID/URINorm.php +++ /dev/null @@ -1,231 +0,0 @@ -<?php - -/** - * URI normalization routines. - * - * @package OpenID - * @author JanRain, Inc. <openid@janrain.com> - * @copyright 2005 Janrain, Inc. - * @license http://www.gnu.org/copyleft/lesser.html LGPL - */ - -require_once 'Auth/Yadis/Misc.php'; - -// from appendix B of rfc 3986 (http://www.ietf.org/rfc/rfc3986.txt) -function Auth_OpenID_getURIPattern() -{ -    return '&^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?&'; -} - -function Auth_OpenID_getAuthorityPattern() -{ -    return '/^([^@]*@)?([^:]*)(:.*)?/'; -} - -function Auth_OpenID_getEncodedPattern() -{ -    return '/%([0-9A-Fa-f]{2})/'; -} - -function Auth_OpenID_getUnreserved() -{ -    $_unreserved = array(); -    for ($i = 0; $i < 256; $i++) { -        $_unreserved[$i] = false; -    } - -    for ($i = ord('A'); $i <= ord('Z'); $i++) { -        $_unreserved[$i] = true; -    } - -    for ($i = ord('0'); $i <= ord('9'); $i++) { -        $_unreserved[$i] = true; -    } - -    for ($i = ord('a'); $i <= ord('z'); $i++) { -        $_unreserved[$i] = true; -    } - -    $_unreserved[ord('-')] = true; -    $_unreserved[ord('.')] = true; -    $_unreserved[ord('_')] = true; -    $_unreserved[ord('~')] = true; - -    return $_unreserved; -} - -function Auth_OpenID_getEscapeRE() -{ -    $parts = array(); -    foreach (array_merge(Auth_Yadis_getUCSChars(), -                         Auth_Yadis_getIPrivateChars()) as $pair) { -        list($m, $n) = $pair; -        $parts[] = sprintf("%s-%s", chr($m), chr($n)); -    } - -    return sprintf('[%s]', implode('', $parts)); -} - -function Auth_OpenID_pct_encoded_replace_unreserved($mo) -{ -    $_unreserved = Auth_OpenID_getUnreserved(); - -    $i = intval($mo[1], 16); -    if ($_unreserved[$i]) { -        return chr($i); -    } else { -        return strtoupper($mo[0]); -    } - -    return $mo[0]; -} - -function Auth_OpenID_pct_encoded_replace($mo) -{ -    return chr(intval($mo[1], 16)); -} - -function Auth_OpenID_remove_dot_segments($path) -{ -    $result_segments = array(); -     -    while ($path) { -        if (Auth_Yadis_startswith($path, '../')) { -            $path = substr($path, 3); -        } else if (Auth_Yadis_startswith($path, './')) { -            $path = substr($path, 2); -        } else if (Auth_Yadis_startswith($path, '/./')) { -            $path = substr($path, 2); -        } else if ($path == '/.') { -            $path = '/'; -        } else if (Auth_Yadis_startswith($path, '/../')) { -            $path = substr($path, 3); -            if ($result_segments) { -                array_pop($result_segments); -            } -        } else if ($path == '/..') { -            $path = '/'; -            if ($result_segments) { -                array_pop($result_segments); -            } -        } else if (($path == '..') || -                   ($path == '.')) { -            $path = ''; -        } else { -            $i = 0; -            if ($path[0] == '/') { -                $i = 1; -            } -            $i = strpos($path, '/', $i); -            if ($i === false) { -                $i = strlen($path); -            } -            $result_segments[] = substr($path, 0, $i); -            $path = substr($path, $i); -        } -    } - -    return implode('', $result_segments); -} - -function Auth_OpenID_urinorm($uri) -{ -    $uri_matches = array(); -    preg_match(Auth_OpenID_getURIPattern(), $uri, $uri_matches); - -    if (count($uri_matches) < 9) { -        for ($i = count($uri_matches); $i <= 9; $i++) { -            $uri_matches[] = ''; -        } -    } - -    $scheme = $uri_matches[2]; -    if ($scheme) { -        $scheme = strtolower($scheme); -    } - -    $scheme = $uri_matches[2]; -    if ($scheme === '') { -        // No scheme specified -        return null; -    } - -    $scheme = strtolower($scheme); -    if (!in_array($scheme, array('http', 'https'))) { -        // Not an absolute HTTP or HTTPS URI -        return null; -    } - -    $authority = $uri_matches[4]; -    if ($authority === '') { -        // Not an absolute URI -        return null; -    } - -    $authority_matches = array(); -    preg_match(Auth_OpenID_getAuthorityPattern(), -               $authority, $authority_matches); -    if (count($authority_matches) === 0) { -        // URI does not have a valid authority -        return null; -    } - -    if (count($authority_matches) < 4) { -        for ($i = count($authority_matches); $i <= 4; $i++) { -            $authority_matches[] = ''; -        } -    } - -    list($_whole, $userinfo, $host, $port) = $authority_matches; - -    if ($userinfo === null) { -        $userinfo = ''; -    } - -    if (strpos($host, '%') !== -1) { -        $host = strtolower($host); -        $host = preg_replace_callback( -                  Auth_OpenID_getEncodedPattern(), -                  'Auth_OpenID_pct_encoded_replace', $host); -        // NO IDNA. -        // $host = unicode($host, 'utf-8').encode('idna'); -    } else { -        $host = strtolower($host); -    } - -    if ($port) { -        if (($port == ':') || -            ($scheme == 'http' && $port == ':80') || -            ($scheme == 'https' && $port == ':443')) { -            $port = ''; -        } -    } else { -        $port = ''; -    } - -    $authority = $userinfo . $host . $port; - -    $path = $uri_matches[5]; -    $path = preg_replace_callback( -               Auth_OpenID_getEncodedPattern(), -               'Auth_OpenID_pct_encoded_replace_unreserved', $path); - -    $path = Auth_OpenID_remove_dot_segments($path); -    if (!$path) { -        $path = '/'; -    } - -    $query = $uri_matches[6]; -    if ($query === null) { -        $query = ''; -    } - -    $fragment = $uri_matches[8]; -    if ($fragment === null) { -        $fragment = ''; -    } - -    return $scheme . '://' . $authority . $path . $query . $fragment; -} - -?>  | 
