{"action":"created","comment":{"url":"https://api.github.com/repos/roundcube/roundcubemail/pulls/comments/64145343","id":64145343,"diff_hunk":"@@ -45,7 +45,18 @@ public function save($curpas, $newpass)\n         // Setup the xmlapi connection\n         $this->xmlapi = new xmlapi($rcmail->config->get('password_cpanel_host'));\n         $this->xmlapi->set_port($rcmail->config->get('password_cpanel_port'));\n-        $this->xmlapi->password_auth($this->cuser, $rcmail->config->get('password_cpanel_password'));\n+        // Hash auth\n+        if (!empty($rcmail->config->get('password_cpanel_hash'))) {\n+            $this->xmlapi->hash_auth( $this->cuser, $rcmail->config->get('password_cpanel_hash'));\n+        }\n+        // Pass auth\n+        else if (!empty($rcmail->config->get('password_cpanel_password'))) {\n+            $this->xmlapi->hash_auth( $this->cuser, $rcmail->config->get('password_cpanel_password'));","path":"plugins/password/drivers/cpanel.php","position":11,"original_position":11,"commit_id":"80429559271996f9ac7534c02ed8da29c24cb828","original_commit_id":"80429559271996f9ac7534c02ed8da29c24cb828","user":{"login":"alecpl","id":546788,"avatar_url":"https://avatars.githubusercontent.com/u/546788?v=3","gravatar_id":"","url":"https://api.github.com/users/alecpl","html_url":"https://github.com/alecpl","followers_url":"https://api.github.com/users/alecpl/followers","following_url":"https://api.github.com/users/alecpl/following{/other_user}","gists_url":"https://api.github.com/users/alecpl/gists{/gist_id}","starred_url":"https://api.github.com/users/alecpl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alecpl/subscriptions","organizations_url":"https://api.github.com/users/alecpl/orgs","repos_url":"https://api.github.com/users/alecpl/repos","events_url":"https://api.github.com/users/alecpl/events{/privacy}","received_events_url":"https://api.github.com/users/alecpl/received_events","type":"User","site_admin":false},"body":"Here password_hash() should be used. Also, I'd like to see config->get() use once per option.","created_at":"2016-05-22T07:24:26Z","updated_at":"2016-05-22T07:24:26Z","html_url":"https://github.com/roundcube/roundcubemail/pull/5252#discussion_r64145343","pull_request_url":"https://api.github.com/repos/roundcube/roundcubemail/pulls/5252","_links":{"self":{"href":"https://api.github.com/repos/roundcube/roundcubemail/pulls/comments/64145343"},"html":{"href":"https://github.com/roundcube/roundcubemail/pull/5252#discussion_r64145343"},"pull_request":{"href":"https://api.github.com/repos/roundcube/roundcubemail/pulls/5252"}}},"pull_request":{"url":"https://api.github.com/repos/roundcube/roundcubemail/pulls/5252","id":70085623,"html_url":"https://github.com/roundcube/roundcubemail/pull/5252","diff_url":"https://github.com/roundcube/roundcubemail/pull/5252.diff","patch_url":"https://github.com/roundcube/roundcubemail/pull/5252.patch","issue_url":"https://api.github.com/repos/roundcube/roundcubemail/issues/5252","number":5252,"state":"open","locked":false,"title":"Password plugin, cPanel driver","user":{"login":"julianmatz","id":1578450,"avatar_url":"https://avatars.githubusercontent.com/u/1578450?v=3","gravatar_id":"","url":"https://api.github.com/users/julianmatz","html_url":"https://github.com/julianmatz","followers_url":"https://api.github.com/users/julianmatz/followers","following_url":"https://api.github.com/users/julianmatz/following{/other_user}","gists_url":"https://api.github.com/users/julianmatz/gists{/gist_id}","starred_url":"https://api.github.com/users/julianmatz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julianmatz/subscriptions","organizations_url":"https://api.github.com/users/julianmatz/orgs","repos_url":"https://api.github.com/users/julianmatz/repos","events_url":"https://api.github.com/users/julianmatz/events{/privacy}","received_events_url":"https://api.github.com/users/julianmatz/received_events","type":"User","site_admin":false},"body":"Add support for hash auth (cPanel Remote Access Key) in the Password plugin's cPanel driver and call the $xmlapi->listaccts() method to retrieve the cPanel account user that owns the domain (required for cPanel reseller accounts).","created_at":"2016-05-14T08:01:36Z","updated_at":"2016-05-22T07:24:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bbe54d0b9929aaf4ab4fd338f8024a6a1af6b644","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/roundcube/roundcubemail/pulls/5252/commits","review_comments_url":"https://api.github.com/repos/roundcube/roundcubemail/pulls/5252/comments","review_comment_url":"https://api.github.com/repos/roundcube/roundcubemail/pulls/comments{/number}","comments_url":"https://api.github.com/repos/roundcube/roundcubemail/issues/5252/comments","statuses_url":"https://api.github.com/repos/roundcube/roundcubemail/statuses/80429559271996f9ac7534c02ed8da29c24cb828","head":{"label":"NETLINK:master","ref":"master","sha":"80429559271996f9ac7534c02ed8da29c24cb828","user":{"login":"NETLINK","id":12402182,"avatar_url":"https://avatars.githubusercontent.com/u/12402182?v=3","gravatar_id":"","url":"https://api.github.com/users/NETLINK","html_url":"https://github.com/NETLINK","followers_url":"https://api.github.com/users/NETLINK/followers","following_url":"https://api.github.com/users/NETLINK/following{/other_user}","gists_url":"https://api.github.com/users/NETLINK/gists{/gist_id}","starred_url":"https://api.github.com/users/NETLINK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NETLINK/subscriptions","organizations_url":"https://api.github.com/users/NETLINK/orgs","repos_url":"https://api.github.com/users/NETLINK/repos","events_url":"https://api.github.com/users/NETLINK/events{/privacy}","received_events_url":"https://api.github.com/users/NETLINK/received_events","type":"Organization","site_admin":false},"repo":{"id":58795977,"name":"roundcubemail","full_name":"NETLINK/roundcubemail","owner":{"login":"NETLINK","id":12402182,"avatar_url":"https://avatars.githubusercontent.com/u/12402182?v=3","gravatar_id":"","url":"https://api.github.com/users/NETLINK","html_url":"https://github.com/NETLINK","followers_url":"https://api.github.com/users/NETLINK/followers","following_url":"https://api.github.com/users/NETLINK/following{/other_user}","gists_url":"https://api.github.com/users/NETLINK/gists{/gist_id}","starred_url":"https://api.github.com/users/NETLINK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NETLINK/subscriptions","organizations_url":"https://api.github.com/users/NETLINK/orgs","repos_url":"https://api.github.com/users/NETLINK/repos","events_url":"https://api.github.com/users/NETLINK/events{/privacy}","received_events_url":"https://api.github.com/users/NETLINK/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/NETLINK/roundcubemail","description":"The Roundcube Webmail suite","fork":true,"url":"https://api.github.com/repos/NETLINK/roundcubemail","forks_url":"https://api.github.com/repos/NETLINK/roundcubemail/forks","keys_url":"https://api.github.com/repos/NETLINK/roundcubemail/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NETLINK/roundcubemail/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NETLINK/roundcubemail/teams","hooks_url":"https://api.github.com/repos/NETLINK/roundcubemail/hooks","issue_events_url":"https://api.github.com/repos/NETLINK/roundcubemail/issues/events{/number}","events_url":"https://api.github.com/repos/NETLINK/roundcubemail/events","assignees_url":"https://api.github.com/repos/NETLINK/roundcubemail/assignees{/user}","branches_url":"https://api.github.com/repos/NETLINK/roundcubemail/branches{/branch}","tags_url":"https://api.github.com/repos/NETLINK/roundcubemail/tags","blobs_url":"https://api.github.com/repos/NETLINK/roundcubemail/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NETLINK/roundcubemail/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NETLINK/roundcubemail/git/refs{/sha}","trees_url":"https://api.github.com/repos/NETLINK/roundcubemail/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NETLINK/roundcubemail/statuses/{sha}","languages_url":"https://api.github.com/repos/NETLINK/roundcubemail/languages","stargazers_url":"https://api.github.com/repos/NETLINK/roundcubemail/stargazers","contributors_url":"https://api.github.com/repos/NETLINK/roundcubemail/contributors","subscribers_url":"https://api.github.com/repos/NETLINK/roundcubemail/subscribers","subscription_url":"https://api.github.com/repos/NETLINK/roundcubemail/subscription","commits_url":"https://api.github.com/repos/NETLINK/roundcubemail/commits{/sha}","git_commits_url":"https://api.github.com/repos/NETLINK/roundcubemail/git/commits{/sha}","comments_url":"https://api.github.com/repos/NETLINK/roundcubemail/comments{/number}","issue_comment_url":"https://api.github.com/repos/NETLINK/roundcubemail/issues/comments{/number}","contents_url":"https://api.github.com/repos/NETLINK/roundcubemail/contents/{+path}","compare_url":"https://api.github.com/repos/NETLINK/roundcubemail/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NETLINK/roundcubemail/merges","archive_url":"https://api.github.com/repos/NETLINK/roundcubemail/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NETLINK/roundcubemail/downloads","issues_url":"https://api.github.com/repos/NETLINK/roundcubemail/issues{/number}","pulls_url":"https://api.github.com/repos/NETLINK/roundcubemail/pulls{/number}","milestones_url":"https://api.github.com/repos/NETLINK/roundcubemail/milestones{/number}","notifications_url":"https://api.github.com/repos/NETLINK/roundcubemail/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NETLINK/roundcubemail/labels{/name}","releases_url":"https://api.github.com/repos/NETLINK/roundcubemail/releases{/id}","deployments_url":"https://api.github.com/repos/NETLINK/roundcubemail/deployments","created_at":"2016-05-14T07:43:46Z","updated_at":"2016-05-14T07:43:51Z","pushed_at":"2016-05-15T11:53:54Z","git_url":"git://github.com/NETLINK/roundcubemail.git","ssh_url":"git@github.com:NETLINK/roundcubemail.git","clone_url":"https://github.com/NETLINK/roundcubemail.git","svn_url":"https://github.com/NETLINK/roundcubemail","homepage":"http://roundcube.net","size":41447,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"roundcube:master","ref":"master","sha":"614f4413ae916e2636e743a56c9d374475eca1f9","user":{"login":"roundcube","id":1432918,"avatar_url":"https://avatars.githubusercontent.com/u/1432918?v=3","gravatar_id":"","url":"https://api.github.com/users/roundcube","html_url":"https://github.com/roundcube","followers_url":"https://api.github.com/users/roundcube/followers","following_url":"https://api.github.com/users/roundcube/following{/other_user}","gists_url":"https://api.github.com/users/roundcube/gists{/gist_id}","starred_url":"https://api.github.com/users/roundcube/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roundcube/subscriptions","organizations_url":"https://api.github.com/users/roundcube/orgs","repos_url":"https://api.github.com/users/roundcube/repos","events_url":"https://api.github.com/users/roundcube/events{/privacy}","received_events_url":"https://api.github.com/users/roundcube/received_events","type":"Organization","site_admin":false},"repo":{"id":4224042,"name":"roundcubemail","full_name":"roundcube/roundcubemail","owner":{"login":"roundcube","id":1432918,"avatar_url":"https://avatars.githubusercontent.com/u/1432918?v=3","gravatar_id":"","url":"https://api.github.com/users/roundcube","html_url":"https://github.com/roundcube","followers_url":"https://api.github.com/users/roundcube/followers","following_url":"https://api.github.com/users/roundcube/following{/other_user}","gists_url":"https://api.github.com/users/roundcube/gists{/gist_id}","starred_url":"https://api.github.com/users/roundcube/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roundcube/subscriptions","organizations_url":"https://api.github.com/users/roundcube/orgs","repos_url":"https://api.github.com/users/roundcube/repos","events_url":"https://api.github.com/users/roundcube/events{/privacy}","received_events_url":"https://api.github.com/users/roundcube/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/roundcube/roundcubemail","description":"The Roundcube Webmail suite","fork":false,"url":"https://api.github.com/repos/roundcube/roundcubemail","forks_url":"https://api.github.com/repos/roundcube/roundcubemail/forks","keys_url":"https://api.github.com/repos/roundcube/roundcubemail/keys{/key_id}","collaborators_url":"https://api.github.com/repos/roundcube/roundcubemail/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/roundcube/roundcubemail/teams","hooks_url":"https://api.github.com/repos/roundcube/roundcubemail/hooks","issue_events_url":"https://api.github.com/repos/roundcube/roundcubemail/issues/events{/number}","events_url":"https://api.github.com/repos/roundcube/roundcubemail/events","assignees_url":"https://api.github.com/repos/roundcube/roundcubemail/assignees{/user}","branches_url":"https://api.github.com/repos/roundcube/roundcubemail/branches{/branch}","tags_url":"https://api.github.com/repos/roundcube/roundcubemail/tags","blobs_url":"https://api.github.com/repos/roundcube/roundcubemail/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/roundcube/roundcubemail/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/roundcube/roundcubemail/git/refs{/sha}","trees_url":"https://api.github.com/repos/roundcube/roundcubemail/git/trees{/sha}","statuses_url":"https://api.github.com/repos/roundcube/roundcubemail/statuses/{sha}","languages_url":"https://api.github.com/repos/roundcube/roundcubemail/languages","stargazers_url":"https://api.github.com/repos/roundcube/roundcubemail/stargazers","contributors_url":"https://api.github.com/repos/roundcube/roundcubemail/contributors","subscribers_url":"https://api.github.com/repos/roundcube/roundcubemail/subscribers","subscription_url":"https://api.github.com/repos/roundcube/roundcubemail/subscription","commits_url":"https://api.github.com/repos/roundcube/roundcubemail/commits{/sha}","git_commits_url":"https://api.github.com/repos/roundcube/roundcubemail/git/commits{/sha}","comments_url":"https://api.github.com/repos/roundcube/roundcubemail/comments{/number}","issue_comment_url":"https://api.github.com/repos/roundcube/roundcubemail/issues/comments{/number}","contents_url":"https://api.github.com/repos/roundcube/roundcubemail/contents/{+path}","compare_url":"https://api.github.com/repos/roundcube/roundcubemail/compare/{base}...{head}","merges_url":"https://api.github.com/repos/roundcube/roundcubemail/merges","archive_url":"https://api.github.com/repos/roundcube/roundcubemail/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/roundcube/roundcubemail/downloads","issues_url":"https://api.github.com/repos/roundcube/roundcubemail/issues{/number}","pulls_url":"https://api.github.com/repos/roundcube/roundcubemail/pulls{/number}","milestones_url":"https://api.github.com/repos/roundcube/roundcubemail/milestones{/number}","notifications_url":"https://api.github.com/repos/roundcube/roundcubemail/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/roundcube/roundcubemail/labels{/name}","releases_url":"https://api.github.com/repos/roundcube/roundcubemail/releases{/id}","deployments_url":"https://api.github.com/repos/roundcube/roundcubemail/deployments","created_at":"2012-05-04T11:19:01Z","updated_at":"2016-05-22T04:00:54Z","pushed_at":"2016-05-22T06:22:52Z","git_url":"git://github.com/roundcube/roundcubemail.git","ssh_url":"git@github.com:roundcube/roundcubemail.git","clone_url":"https://github.com/roundcube/roundcubemail.git","svn_url":"https://github.com/roundcube/roundcubemail","homepage":"http://roundcube.net","size":47759,"stargazers_count":1695,"watchers_count":1695,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":673,"mirror_url":null,"open_issues_count":241,"forks":673,"open_issues":241,"watchers":1695,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/roundcube/roundcubemail/pulls/5252"},"html":{"href":"https://github.com/roundcube/roundcubemail/pull/5252"},"issue":{"href":"https://api.github.com/repos/roundcube/roundcubemail/issues/5252"},"comments":{"href":"https://api.github.com/repos/roundcube/roundcubemail/issues/5252/comments"},"review_comments":{"href":"https://api.github.com/repos/roundcube/roundcubemail/pulls/5252/comments"},"review_comment":{"href":"https://api.github.com/repos/roundcube/roundcubemail/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/roundcube/roundcubemail/pulls/5252/commits"},"statuses":{"href":"https://api.github.com/repos/roundcube/roundcubemail/statuses/80429559271996f9ac7534c02ed8da29c24cb828"}}}}
{"actor":{"display_login":"alecpl"}}