{"action":"closed","number":640,"pull_request":{"url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/pulls/640","id":27161140,"html_url":"https://github.com/puppetlabs/puppetlabs-mysql/pull/640","diff_url":"https://github.com/puppetlabs/puppetlabs-mysql/pull/640.diff","patch_url":"https://github.com/puppetlabs/puppetlabs-mysql/pull/640.patch","issue_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/issues/640","number":640,"state":"closed","locked":false,"title":"Support for authentication plugins","user":{"login":"dveeden","id":1272980,"avatar_url":"https://avatars.githubusercontent.com/u/1272980?v=3","gravatar_id":"","url":"https://api.github.com/users/dveeden","html_url":"https://github.com/dveeden","followers_url":"https://api.github.com/users/dveeden/followers","following_url":"https://api.github.com/users/dveeden/following{/other_user}","gists_url":"https://api.github.com/users/dveeden/gists{/gist_id}","starred_url":"https://api.github.com/users/dveeden/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dveeden/subscriptions","organizations_url":"https://api.github.com/users/dveeden/orgs","repos_url":"https://api.github.com/users/dveeden/repos","events_url":"https://api.github.com/users/dveeden/events{/privacy}","received_events_url":"https://api.github.com/users/dveeden/received_events","type":"User","site_admin":false},"body":"Besides the default mysql_native_password there are more plugins available:\r\n* mysql_old_password (pre 4.1 passwords, support for it will be dropped in MySQL 5.7)\r\n* sha256_password (since 5.6?, more secure and stored a salted sha256 hash in authentication_string (instead of storing a non salted SHA1 hash in the password field)\r\n* unix socket authentication\r\n* PAM authentication\r\n* Windows authentication\r\n* No login (similar to /usr/sbin/nologin)\r\n\r\nThis PR makes it possible to define users which are authenticated by an authentication plugin.\r\n\r\nPossible improvements:\r\n* Support CREATE USER xxx IDENTIFIED WITH yyy USING zzz\r\n* It seems like MariaDB 10.x+ uses IDENTIFIED VIA instead if IDENTIFIED WITH\r\n* There is no good way to change the authentication plugin (See https://bugs.mysql.com/bug.php?id=67449 for details)\r\n* For sha256_password old_password=2 must be set if you call PASSWORD()\r\n* The authentication plugin is not loaded automatically\r\n\r\nSee also:\r\nhttps://dev.mysql.com/doc/refman/5.7/en/authentication-plugins-available.html\r\nhttps://mariadb.com/kb/en/mariadb/documentation/plugins/unix_socket-authentication-plugin/\r\nhttps://mariadb.com/kb/en/mariadb/documentation/plugins/pam-authentication-plugin/","created_at":"2015-01-11T10:29:35Z","updated_at":"2015-01-22T18:31:19Z","closed_at":"2015-01-22T18:31:19Z","merged_at":"2015-01-22T18:31:19Z","merge_commit_sha":"ea8d593b28e6fc495db46d5c9d1466b26d0fd185","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/pulls/640/commits","review_comments_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/pulls/640/comments","review_comment_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/pulls/comments/{number}","comments_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/issues/640/comments","statuses_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/statuses/305b0d2a87da836201100cacf6f8220129f7e889","head":{"label":"dveeden:auth-plugins","ref":"auth-plugins","sha":"305b0d2a87da836201100cacf6f8220129f7e889","user":{"login":"dveeden","id":1272980,"avatar_url":"https://avatars.githubusercontent.com/u/1272980?v=3","gravatar_id":"","url":"https://api.github.com/users/dveeden","html_url":"https://github.com/dveeden","followers_url":"https://api.github.com/users/dveeden/followers","following_url":"https://api.github.com/users/dveeden/following{/other_user}","gists_url":"https://api.github.com/users/dveeden/gists{/gist_id}","starred_url":"https://api.github.com/users/dveeden/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dveeden/subscriptions","organizations_url":"https://api.github.com/users/dveeden/orgs","repos_url":"https://api.github.com/users/dveeden/repos","events_url":"https://api.github.com/users/dveeden/events{/privacy}","received_events_url":"https://api.github.com/users/dveeden/received_events","type":"User","site_admin":false},"repo":{"id":29060126,"name":"puppetlabs-mysql","full_name":"dveeden/puppetlabs-mysql","owner":{"login":"dveeden","id":1272980,"avatar_url":"https://avatars.githubusercontent.com/u/1272980?v=3","gravatar_id":"","url":"https://api.github.com/users/dveeden","html_url":"https://github.com/dveeden","followers_url":"https://api.github.com/users/dveeden/followers","following_url":"https://api.github.com/users/dveeden/following{/other_user}","gists_url":"https://api.github.com/users/dveeden/gists{/gist_id}","starred_url":"https://api.github.com/users/dveeden/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dveeden/subscriptions","organizations_url":"https://api.github.com/users/dveeden/orgs","repos_url":"https://api.github.com/users/dveeden/repos","events_url":"https://api.github.com/users/dveeden/events{/privacy}","received_events_url":"https://api.github.com/users/dveeden/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dveeden/puppetlabs-mysql","description":"MySQL Puppet Module / Manifests + Types & Providers","fork":true,"url":"https://api.github.com/repos/dveeden/puppetlabs-mysql","forks_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/forks","keys_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/teams","hooks_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/hooks","issue_events_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/issues/events{/number}","events_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/events","assignees_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/assignees{/user}","branches_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/branches{/branch}","tags_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/tags","blobs_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/git/refs{/sha}","trees_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/statuses/{sha}","languages_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/languages","stargazers_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/stargazers","contributors_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/contributors","subscribers_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/subscribers","subscription_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/subscription","commits_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/commits{/sha}","git_commits_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/git/commits{/sha}","comments_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/comments{/number}","issue_comment_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/issues/comments/{number}","contents_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/contents/{+path}","compare_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/merges","archive_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/downloads","issues_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/issues{/number}","pulls_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/pulls{/number}","milestones_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/milestones{/number}","notifications_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/labels{/name}","releases_url":"https://api.github.com/repos/dveeden/puppetlabs-mysql/releases{/id}","created_at":"2015-01-10T14:49:44Z","updated_at":"2015-01-10T22:15:49Z","pushed_at":"2015-01-21T19:18:46Z","git_url":"git://github.com/dveeden/puppetlabs-mysql.git","ssh_url":"git@github.com:dveeden/puppetlabs-mysql.git","clone_url":"https://github.com/dveeden/puppetlabs-mysql.git","svn_url":"https://github.com/dveeden/puppetlabs-mysql","homepage":"","size":1203,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":false,"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":"puppetlabs:master","ref":"master","sha":"9f5539cb1d949697a4f74413c3737f533c3cf9df","user":{"login":"puppetlabs","id":234268,"avatar_url":"https://avatars.githubusercontent.com/u/234268?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetlabs","html_url":"https://github.com/puppetlabs","followers_url":"https://api.github.com/users/puppetlabs/followers","following_url":"https://api.github.com/users/puppetlabs/following{/other_user}","gists_url":"https://api.github.com/users/puppetlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetlabs/subscriptions","organizations_url":"https://api.github.com/users/puppetlabs/orgs","repos_url":"https://api.github.com/users/puppetlabs/repos","events_url":"https://api.github.com/users/puppetlabs/events{/privacy}","received_events_url":"https://api.github.com/users/puppetlabs/received_events","type":"Organization","site_admin":false},"repo":{"id":1797486,"name":"puppetlabs-mysql","full_name":"puppetlabs/puppetlabs-mysql","owner":{"login":"puppetlabs","id":234268,"avatar_url":"https://avatars.githubusercontent.com/u/234268?v=3","gravatar_id":"","url":"https://api.github.com/users/puppetlabs","html_url":"https://github.com/puppetlabs","followers_url":"https://api.github.com/users/puppetlabs/followers","following_url":"https://api.github.com/users/puppetlabs/following{/other_user}","gists_url":"https://api.github.com/users/puppetlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/puppetlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puppetlabs/subscriptions","organizations_url":"https://api.github.com/users/puppetlabs/orgs","repos_url":"https://api.github.com/users/puppetlabs/repos","events_url":"https://api.github.com/users/puppetlabs/events{/privacy}","received_events_url":"https://api.github.com/users/puppetlabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/puppetlabs/puppetlabs-mysql","description":"MySQL Puppet Module / Manifests + Types & Providers","fork":false,"url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql","forks_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/forks","keys_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/keys{/key_id}","collaborators_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/teams","hooks_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/hooks","issue_events_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/issues/events{/number}","events_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/events","assignees_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/assignees{/user}","branches_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/branches{/branch}","tags_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/tags","blobs_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/git/refs{/sha}","trees_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/git/trees{/sha}","statuses_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/statuses/{sha}","languages_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/languages","stargazers_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/stargazers","contributors_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/contributors","subscribers_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/subscribers","subscription_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/subscription","commits_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/commits{/sha}","git_commits_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/git/commits{/sha}","comments_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/comments{/number}","issue_comment_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/issues/comments/{number}","contents_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/contents/{+path}","compare_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/compare/{base}...{head}","merges_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/merges","archive_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/downloads","issues_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/issues{/number}","pulls_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/pulls{/number}","milestones_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/milestones{/number}","notifications_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/labels{/name}","releases_url":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/releases{/id}","created_at":"2011-05-25T06:10:41Z","updated_at":"2015-01-11T07:27:20Z","pushed_at":"2015-01-22T18:31:19Z","git_url":"git://github.com/puppetlabs/puppetlabs-mysql.git","ssh_url":"git@github.com:puppetlabs/puppetlabs-mysql.git","clone_url":"https://github.com/puppetlabs/puppetlabs-mysql.git","svn_url":"https://github.com/puppetlabs/puppetlabs-mysql","homepage":"","size":3903,"stargazers_count":332,"watchers_count":332,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":506,"mirror_url":null,"open_issues_count":68,"forks":506,"open_issues":68,"watchers":332,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/pulls/640"},"html":{"href":"https://github.com/puppetlabs/puppetlabs-mysql/pull/640"},"issue":{"href":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/issues/640"},"comments":{"href":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/issues/640/comments"},"review_comments":{"href":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/pulls/640/comments"},"review_comment":{"href":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/pulls/640/commits"},"statuses":{"href":"https://api.github.com/repos/puppetlabs/puppetlabs-mysql/statuses/305b0d2a87da836201100cacf6f8220129f7e889"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"hunner","id":91972,"avatar_url":"https://avatars.githubusercontent.com/u/91972?v=3","gravatar_id":"","url":"https://api.github.com/users/hunner","html_url":"https://github.com/hunner","followers_url":"https://api.github.com/users/hunner/followers","following_url":"https://api.github.com/users/hunner/following{/other_user}","gists_url":"https://api.github.com/users/hunner/gists{/gist_id}","starred_url":"https://api.github.com/users/hunner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hunner/subscriptions","organizations_url":"https://api.github.com/users/hunner/orgs","repos_url":"https://api.github.com/users/hunner/repos","events_url":"https://api.github.com/users/hunner/events{/privacy}","received_events_url":"https://api.github.com/users/hunner/received_events","type":"User","site_admin":false},"comments":2,"review_comments":0,"commits":1,"additions":37,"deletions":10,"changed_files":4}}