From 0bf49c6270a4166999d6e4c9bcff3f416e2f7eb6 Mon Sep 17 00:00:00 2001 From: Calin Burloiu Date: Thu, 8 Sep 2011 15:32:46 +0300 Subject: [PATCH] OpenID library installed --- application/config/openid.php | 9 + application/controllers/catalog.php | 8 +- application/controllers/test.php | 146 ++ application/language/english/openid_lang.php | 20 + application/libraries/Auth/OpenID.php | 563 +++++ application/libraries/Auth/OpenID/AX.php | 1022 ++++++++ .../libraries/Auth/OpenID/Association.php | 610 +++++ application/libraries/Auth/OpenID/BigMath.php | 451 ++++ .../libraries/Auth/OpenID/Consumer.php | 2234 +++++++++++++++++ .../libraries/Auth/OpenID/CryptUtil.php | 122 + .../Auth/OpenID/DatabaseConnection.php | 130 + .../libraries/Auth/OpenID/DiffieHellman.php | 113 + .../libraries/Auth/OpenID/Discover.php | 606 +++++ .../libraries/Auth/OpenID/DumbStore.php | 99 + .../libraries/Auth/OpenID/Extension.php | 61 + .../libraries/Auth/OpenID/FileStore.php | 618 +++++ application/libraries/Auth/OpenID/HMAC.php | 105 + .../libraries/Auth/OpenID/Interface.php | 196 ++ application/libraries/Auth/OpenID/KVForm.php | 111 + .../libraries/Auth/OpenID/MDB2Store.php | 413 +++ .../libraries/Auth/OpenID/MemcachedStore.php | 207 ++ application/libraries/Auth/OpenID/Message.php | 920 +++++++ .../libraries/Auth/OpenID/MySQLStore.php | 77 + application/libraries/Auth/OpenID/Nonce.php | 108 + application/libraries/Auth/OpenID/PAPE.php | 300 +++ application/libraries/Auth/OpenID/Parse.php | 377 +++ .../libraries/Auth/OpenID/PostgreSQLStore.php | 112 + .../libraries/Auth/OpenID/SQLStore.php | 557 ++++ .../libraries/Auth/OpenID/SQLiteStore.php | 70 + application/libraries/Auth/OpenID/SReg.php | 521 ++++ application/libraries/Auth/OpenID/Server.php | 1765 +++++++++++++ .../libraries/Auth/OpenID/ServerRequest.php | 36 + .../libraries/Auth/OpenID/TrustRoot.php | 461 ++++ application/libraries/Auth/OpenID/URINorm.php | 249 ++ .../libraries/Auth/Yadis/HTTPFetcher.php | 174 ++ application/libraries/Auth/Yadis/Manager.php | 521 ++++ application/libraries/Auth/Yadis/Misc.php | 58 + .../Auth/Yadis/ParanoidHTTPFetcher.php | 245 ++ .../libraries/Auth/Yadis/ParseHTML.php | 258 ++ .../libraries/Auth/Yadis/PlainHTTPFetcher.php | 248 ++ application/libraries/Auth/Yadis/XML.php | 352 +++ application/libraries/Auth/Yadis/XRDS.php | 478 ++++ application/libraries/Auth/Yadis/XRI.php | 234 ++ application/libraries/Auth/Yadis/XRIRes.php | 72 + application/libraries/Auth/Yadis/Yadis.php | 382 +++ application/libraries/Openid.php | 211 ++ application/views/view_openid.php | 68 + application/views/view_policy.php | 9 + 48 files changed, 16705 insertions(+), 2 deletions(-) create mode 100644 application/config/openid.php create mode 100644 application/controllers/test.php create mode 100644 application/language/english/openid_lang.php create mode 100644 application/libraries/Auth/OpenID.php create mode 100644 application/libraries/Auth/OpenID/AX.php create mode 100644 application/libraries/Auth/OpenID/Association.php create mode 100644 application/libraries/Auth/OpenID/BigMath.php create mode 100644 application/libraries/Auth/OpenID/Consumer.php create mode 100644 application/libraries/Auth/OpenID/CryptUtil.php create mode 100644 application/libraries/Auth/OpenID/DatabaseConnection.php create mode 100644 application/libraries/Auth/OpenID/DiffieHellman.php create mode 100644 application/libraries/Auth/OpenID/Discover.php create mode 100644 application/libraries/Auth/OpenID/DumbStore.php create mode 100644 application/libraries/Auth/OpenID/Extension.php create mode 100644 application/libraries/Auth/OpenID/FileStore.php create mode 100644 application/libraries/Auth/OpenID/HMAC.php create mode 100644 application/libraries/Auth/OpenID/Interface.php create mode 100644 application/libraries/Auth/OpenID/KVForm.php create mode 100644 application/libraries/Auth/OpenID/MDB2Store.php create mode 100644 application/libraries/Auth/OpenID/MemcachedStore.php create mode 100644 application/libraries/Auth/OpenID/Message.php create mode 100644 application/libraries/Auth/OpenID/MySQLStore.php create mode 100644 application/libraries/Auth/OpenID/Nonce.php create mode 100644 application/libraries/Auth/OpenID/PAPE.php create mode 100644 application/libraries/Auth/OpenID/Parse.php create mode 100644 application/libraries/Auth/OpenID/PostgreSQLStore.php create mode 100644 application/libraries/Auth/OpenID/SQLStore.php create mode 100644 application/libraries/Auth/OpenID/SQLiteStore.php create mode 100644 application/libraries/Auth/OpenID/SReg.php create mode 100644 application/libraries/Auth/OpenID/Server.php create mode 100644 application/libraries/Auth/OpenID/ServerRequest.php create mode 100644 application/libraries/Auth/OpenID/TrustRoot.php create mode 100644 application/libraries/Auth/OpenID/URINorm.php create mode 100644 application/libraries/Auth/Yadis/HTTPFetcher.php create mode 100644 application/libraries/Auth/Yadis/Manager.php create mode 100644 application/libraries/Auth/Yadis/Misc.php create mode 100644 application/libraries/Auth/Yadis/ParanoidHTTPFetcher.php create mode 100644 application/libraries/Auth/Yadis/ParseHTML.php create mode 100644 application/libraries/Auth/Yadis/PlainHTTPFetcher.php create mode 100644 application/libraries/Auth/Yadis/XML.php create mode 100644 application/libraries/Auth/Yadis/XRDS.php create mode 100644 application/libraries/Auth/Yadis/XRI.php create mode 100644 application/libraries/Auth/Yadis/XRIRes.php create mode 100644 application/libraries/Auth/Yadis/Yadis.php create mode 100644 application/libraries/Openid.php create mode 100644 application/views/view_openid.php create mode 100644 application/views/view_policy.php diff --git a/application/config/openid.php b/application/config/openid.php new file mode 100644 index 0000000..37a9667 --- /dev/null +++ b/application/config/openid.php @@ -0,0 +1,9 @@ + diff --git a/application/controllers/catalog.php b/application/controllers/catalog.php index 1addf0d..7d86d36 100644 --- a/application/controllers/catalog.php +++ b/application/controllers/catalog.php @@ -148,11 +148,12 @@ class Catalog extends CI_Controller { { // Redirect to an URL which contains search string if data was passed // via POST method and not via URL segments. - $str_post_search = $this->input->post('search', TRUE); + $str_post_search = $this->input->post('search'); if ($search_query === "" && $str_post_search !== FALSE) - redirect('catalog/search/'. $this->input->post('search', TRUE)); + redirect('catalog/search/'. $str_post_search); $this->load->model('videos_model'); + $this->load->library('security'); // ** // ** LOADING MODEL @@ -160,6 +161,9 @@ class Catalog extends CI_Controller { // Search query is encoded for URL and must be decoded. $enc_search_query = $search_query; $search_query = $this->videos_model->decode_search_query($search_query); + + // Security filtering + $search_query = $this->security->xss_clean($search_query); $results_data['search_query'] = $search_query; // Category diff --git a/application/controllers/test.php b/application/controllers/test.php new file mode 100644 index 0000000..c1cc29c --- /dev/null +++ b/application/controllers/test.php @@ -0,0 +1,146 @@ +lang->load('openid', 'english'); + $this->load->library('openid'); + $this->load->helper('url'); + //$this->output->enable_profiler(TRUE); + } + + // Index + function index() + { + if ($this->input->post('action') == 'verify') + { + $user_id = $this->input->post('openid_identifier'); + $pape_policy_uris = $this->input->post('policies'); + + if (!$pape_policy_uris) + { + $pape_policy_uris = array(); + } + + $this->config->load('openid'); + $req = $this->config->item('openid_required'); + $opt = $this->config->item('openid_optional'); + $policy = site_url($this->config->item('openid_policy')); + $request_to = site_url($this->config->item('openid_request_to')); + + $this->openid->set_request_to($request_to); + $this->openid->set_trust_root(base_url()); + $this->openid->set_args(null); + $this->openid->set_sreg(true, $req, $opt, $policy); + $this->openid->set_pape(true, $pape_policy_uris); + $this->openid->authenticate($user_id); + } + + $data['pape_policy_uris'] = array( + PAPE_AUTH_MULTI_FACTOR_PHYSICAL, + PAPE_AUTH_MULTI_FACTOR, + PAPE_AUTH_PHISHING_RESISTANT + ); + + $this->load->view('view_openid', $data); + + } + + // Policy + function policy() + { + $this->load->view('view_policy'); + } + + // set message + function _set_message($msg, $val = '', $sub = '%s') + { + return str_replace($sub, $val, $this->lang->line($msg)); + } + + // Check + function check() + { + $this->config->load('openid'); + $request_to = site_url($this->config->item('openid_request_to')); + + $this->openid->set_request_to($request_to); + $response = $this->openid->getResponse(); + + switch ($response->status) + { + case Auth_OpenID_CANCEL: + $data['msg'] = $this->lang->line('openid_cancel'); + break; + case Auth_OpenID_FAILURE: + $data['error'] = $this->_set_message('openid_failure', $response->message); + break; + case Auth_OpenID_SUCCESS: + $openid = $response->getDisplayIdentifier(); + $esc_identity = htmlspecialchars($openid, ENT_QUOTES); + + $data['success'] = $this->_set_message('openid_success', array($esc_identity, $esc_identity), array('%s','%t')); + + if ($response->endpoint->canonicalID) { + $data['success'] .= $this->_set_message('openid_canonical', $response->endpoint->canonicalID); + } + + $sreg_resp = Auth_OpenID_SRegResponse::fromSuccessResponse($response); + $sreg = $sreg_resp->contents(); + + foreach ($sreg as $key => $value) + { + $data['success'] .= $this->_set_message('openid_content', array($key, $value), array('%s','%t')); + } + + $pape_resp = Auth_OpenID_PAPE_Response::fromSuccessResponse($response); + + if ($pape_resp) + { + if ($pape_resp->auth_policies) + { + $data['success'] .= $this->lang->line('openid_pape_policies_affected'); + + foreach ($pape_resp->auth_policies as $uri) + { + $data['success'] .= "
  • $uri
  • "; + } + + $data['success'] .= ""; + } + else + { + $data['success'] .= $this->lang->line('openid_pape_not_affected'); + } + + if ($pape_resp->auth_age) + { + $data['success'] .= $this->_set_message('openid_auth_age', $pape_resp->auth_age); + } + + if ($pape_resp->nist_auth_level) + { + $data['success'] .= $this->_set_message('openid_nist_level', $pape_resp->nist_auth_level); + } + } + else + { + $data['success'] .= $this->lang->line('openid_pape_noresponse'); + } + break; + } + + $data['pape_policy_uris'] = array( + PAPE_AUTH_MULTI_FACTOR_PHYSICAL, + PAPE_AUTH_MULTI_FACTOR, + PAPE_AUTH_PHISHING_RESISTANT + ); + + $this->load->view('view_openid', $data); + } + +} +?> diff --git a/application/language/english/openid_lang.php b/application/language/english/openid_lang.php new file mode 100644 index 0000000..a21328f --- /dev/null +++ b/application/language/english/openid_lang.php @@ -0,0 +1,20 @@ +%t as your identity.'; +$lang['openid_pape_policies_affected'] = "

    The following PAPE policies affected the authentication: