{"action":"created","comment":{"url":"https://api.github.com/repos/docker/notary/pulls/comments/48299971","id":48299971,"diff_hunk":"@@ -175,18 +177,27 @@ func addKey(s LimitedFileStore, passphraseRetriever passphrase.Retriever, cached\n \t\tbreak\n \t}\n \n-\treturn encryptAndAddKey(s, chosenPassphrase, cachedKeys, name, alias, privKey)\n+\treturn encryptAndAddKey(s, chosenPassphrase, cachedKeys, name, role, privKey)\n }\n \n func getKeyAlias(s LimitedFileStore, keyID string) (string, error) {\n-\tfiles := s.ListFiles()\n-\n \tname := strings.TrimSpace(strings.TrimSuffix(filepath.Base(keyID), filepath.Ext(keyID)))\n \n-\tfor _, file := range files {\n+\tfor _, file := range s.ListFiles() {\n \t\tfilename := filepath.Base(file)\n \n \t\tif strings.HasPrefix(filename, name) {\n+\t\t\td, err := s.Get(file)\n+\t\t\tif err != nil {\n+\t\t\t\treturn \"\", err\n+\t\t\t}\n+\t\t\tblock, _ := pem.Decode(d)\n+\t\t\tif block != nil {\n+\t\t\t\tif role, ok := block.Headers[\"role\"]; ok {\n+\t\t\t\t\treturn role, nil\n+\t\t\t\t}\n+\t\t\t}\n+\n \t\t\taliasPlusDotKey := strings.TrimPrefix(filename, name+\"_\")\n \t\t\tretVal := strings.TrimSuffix(aliasPlusDotKey, \".\"+keyExtension)","path":"trustmanager/keyfilestore.go","position":75,"original_position":75,"commit_id":"22ed2b6787aaba2d6caa899e5ebefd897cd3931c","original_commit_id":"22ed2b6787aaba2d6caa899e5ebefd897cd3931c","user":{"login":"diogomonica","id":55332,"avatar_url":"https://avatars.githubusercontent.com/u/55332?v=3","gravatar_id":"","url":"https://api.github.com/users/diogomonica","html_url":"https://github.com/diogomonica","followers_url":"https://api.github.com/users/diogomonica/followers","following_url":"https://api.github.com/users/diogomonica/following{/other_user}","gists_url":"https://api.github.com/users/diogomonica/gists{/gist_id}","starred_url":"https://api.github.com/users/diogomonica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diogomonica/subscriptions","organizations_url":"https://api.github.com/users/diogomonica/orgs","repos_url":"https://api.github.com/users/diogomonica/repos","events_url":"https://api.github.com/users/diogomonica/events{/privacy}","received_events_url":"https://api.github.com/users/diogomonica/received_events","type":"User","site_admin":false},"body":"I thought ListFiles was not supposed to return something that has `\".\"+keyExtension`","created_at":"2015-12-22T21:27:05Z","updated_at":"2015-12-22T21:27:05Z","html_url":"https://github.com/docker/notary/pull/383#discussion_r48299971","pull_request_url":"https://api.github.com/repos/docker/notary/pulls/383","_links":{"self":{"href":"https://api.github.com/repos/docker/notary/pulls/comments/48299971"},"html":{"href":"https://github.com/docker/notary/pull/383#discussion_r48299971"},"pull_request":{"href":"https://api.github.com/repos/docker/notary/pulls/383"}}},"pull_request":{"url":"https://api.github.com/repos/docker/notary/pulls/383","id":54325544,"html_url":"https://github.com/docker/notary/pull/383","diff_url":"https://github.com/docker/notary/pull/383.diff","patch_url":"https://github.com/docker/notary/pull/383.patch","issue_url":"https://api.github.com/repos/docker/notary/issues/383","number":383,"state":"open","locked":false,"title":"Cleanup and removing filename aliases in favour of PEM headers","user":{"login":"endophage","id":1302091,"avatar_url":"https://avatars.githubusercontent.com/u/1302091?v=3","gravatar_id":"","url":"https://api.github.com/users/endophage","html_url":"https://github.com/endophage","followers_url":"https://api.github.com/users/endophage/followers","following_url":"https://api.github.com/users/endophage/following{/other_user}","gists_url":"https://api.github.com/users/endophage/gists{/gist_id}","starred_url":"https://api.github.com/users/endophage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endophage/subscriptions","organizations_url":"https://api.github.com/users/endophage/orgs","repos_url":"https://api.github.com/users/endophage/repos","events_url":"https://api.github.com/users/endophage/events{/privacy}","received_events_url":"https://api.github.com/users/endophage/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-12-22T02:11:23Z","updated_at":"2015-12-22T21:27:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d7d3ad494ca51c566b40af2b5c8427543d00d859","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/docker/notary/pulls/383/commits","review_comments_url":"https://api.github.com/repos/docker/notary/pulls/383/comments","review_comment_url":"https://api.github.com/repos/docker/notary/pulls/comments{/number}","comments_url":"https://api.github.com/repos/docker/notary/issues/383/comments","statuses_url":"https://api.github.com/repos/docker/notary/statuses/22ed2b6787aaba2d6caa899e5ebefd897cd3931c","head":{"label":"endophage:cleanup","ref":"cleanup","sha":"22ed2b6787aaba2d6caa899e5ebefd897cd3931c","user":{"login":"endophage","id":1302091,"avatar_url":"https://avatars.githubusercontent.com/u/1302091?v=3","gravatar_id":"","url":"https://api.github.com/users/endophage","html_url":"https://github.com/endophage","followers_url":"https://api.github.com/users/endophage/followers","following_url":"https://api.github.com/users/endophage/following{/other_user}","gists_url":"https://api.github.com/users/endophage/gists{/gist_id}","starred_url":"https://api.github.com/users/endophage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endophage/subscriptions","organizations_url":"https://api.github.com/users/endophage/orgs","repos_url":"https://api.github.com/users/endophage/repos","events_url":"https://api.github.com/users/endophage/events{/privacy}","received_events_url":"https://api.github.com/users/endophage/received_events","type":"User","site_admin":false},"repo":{"id":37937558,"name":"notary","full_name":"endophage/notary","owner":{"login":"endophage","id":1302091,"avatar_url":"https://avatars.githubusercontent.com/u/1302091?v=3","gravatar_id":"","url":"https://api.github.com/users/endophage","html_url":"https://github.com/endophage","followers_url":"https://api.github.com/users/endophage/followers","following_url":"https://api.github.com/users/endophage/following{/other_user}","gists_url":"https://api.github.com/users/endophage/gists{/gist_id}","starred_url":"https://api.github.com/users/endophage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endophage/subscriptions","organizations_url":"https://api.github.com/users/endophage/orgs","repos_url":"https://api.github.com/users/endophage/repos","events_url":"https://api.github.com/users/endophage/events{/privacy}","received_events_url":"https://api.github.com/users/endophage/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/endophage/notary","description":"","fork":true,"url":"https://api.github.com/repos/endophage/notary","forks_url":"https://api.github.com/repos/endophage/notary/forks","keys_url":"https://api.github.com/repos/endophage/notary/keys{/key_id}","collaborators_url":"https://api.github.com/repos/endophage/notary/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/endophage/notary/teams","hooks_url":"https://api.github.com/repos/endophage/notary/hooks","issue_events_url":"https://api.github.com/repos/endophage/notary/issues/events{/number}","events_url":"https://api.github.com/repos/endophage/notary/events","assignees_url":"https://api.github.com/repos/endophage/notary/assignees{/user}","branches_url":"https://api.github.com/repos/endophage/notary/branches{/branch}","tags_url":"https://api.github.com/repos/endophage/notary/tags","blobs_url":"https://api.github.com/repos/endophage/notary/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/endophage/notary/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/endophage/notary/git/refs{/sha}","trees_url":"https://api.github.com/repos/endophage/notary/git/trees{/sha}","statuses_url":"https://api.github.com/repos/endophage/notary/statuses/{sha}","languages_url":"https://api.github.com/repos/endophage/notary/languages","stargazers_url":"https://api.github.com/repos/endophage/notary/stargazers","contributors_url":"https://api.github.com/repos/endophage/notary/contributors","subscribers_url":"https://api.github.com/repos/endophage/notary/subscribers","subscription_url":"https://api.github.com/repos/endophage/notary/subscription","commits_url":"https://api.github.com/repos/endophage/notary/commits{/sha}","git_commits_url":"https://api.github.com/repos/endophage/notary/git/commits{/sha}","comments_url":"https://api.github.com/repos/endophage/notary/comments{/number}","issue_comment_url":"https://api.github.com/repos/endophage/notary/issues/comments{/number}","contents_url":"https://api.github.com/repos/endophage/notary/contents/{+path}","compare_url":"https://api.github.com/repos/endophage/notary/compare/{base}...{head}","merges_url":"https://api.github.com/repos/endophage/notary/merges","archive_url":"https://api.github.com/repos/endophage/notary/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/endophage/notary/downloads","issues_url":"https://api.github.com/repos/endophage/notary/issues{/number}","pulls_url":"https://api.github.com/repos/endophage/notary/pulls{/number}","milestones_url":"https://api.github.com/repos/endophage/notary/milestones{/number}","notifications_url":"https://api.github.com/repos/endophage/notary/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/endophage/notary/labels{/name}","releases_url":"https://api.github.com/repos/endophage/notary/releases{/id}","created_at":"2015-06-23T18:35:21Z","updated_at":"2015-06-23T18:35:27Z","pushed_at":"2015-12-22T11:00:38Z","git_url":"git://github.com/endophage/notary.git","ssh_url":"git@github.com:endophage/notary.git","clone_url":"https://github.com/endophage/notary.git","svn_url":"https://github.com/endophage/notary","homepage":"","size":21976,"stargazers_count":0,"watchers_count":0,"language":"Go","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":"docker:master","ref":"master","sha":"340a337c3168814271c9bcfb592a123a8dad6f62","user":{"login":"docker","id":5429470,"avatar_url":"https://avatars.githubusercontent.com/u/5429470?v=3","gravatar_id":"","url":"https://api.github.com/users/docker","html_url":"https://github.com/docker","followers_url":"https://api.github.com/users/docker/followers","following_url":"https://api.github.com/users/docker/following{/other_user}","gists_url":"https://api.github.com/users/docker/gists{/gist_id}","starred_url":"https://api.github.com/users/docker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker/subscriptions","organizations_url":"https://api.github.com/users/docker/orgs","repos_url":"https://api.github.com/users/docker/repos","events_url":"https://api.github.com/users/docker/events{/privacy}","received_events_url":"https://api.github.com/users/docker/received_events","type":"Organization","site_admin":false},"repo":{"id":37743436,"name":"notary","full_name":"docker/notary","owner":{"login":"docker","id":5429470,"avatar_url":"https://avatars.githubusercontent.com/u/5429470?v=3","gravatar_id":"","url":"https://api.github.com/users/docker","html_url":"https://github.com/docker","followers_url":"https://api.github.com/users/docker/followers","following_url":"https://api.github.com/users/docker/following{/other_user}","gists_url":"https://api.github.com/users/docker/gists{/gist_id}","starred_url":"https://api.github.com/users/docker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker/subscriptions","organizations_url":"https://api.github.com/users/docker/orgs","repos_url":"https://api.github.com/users/docker/repos","events_url":"https://api.github.com/users/docker/events{/privacy}","received_events_url":"https://api.github.com/users/docker/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/docker/notary","description":"Notary is a Docker project that allows anyone to have trust over arbitrary collections of data","fork":false,"url":"https://api.github.com/repos/docker/notary","forks_url":"https://api.github.com/repos/docker/notary/forks","keys_url":"https://api.github.com/repos/docker/notary/keys{/key_id}","collaborators_url":"https://api.github.com/repos/docker/notary/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/docker/notary/teams","hooks_url":"https://api.github.com/repos/docker/notary/hooks","issue_events_url":"https://api.github.com/repos/docker/notary/issues/events{/number}","events_url":"https://api.github.com/repos/docker/notary/events","assignees_url":"https://api.github.com/repos/docker/notary/assignees{/user}","branches_url":"https://api.github.com/repos/docker/notary/branches{/branch}","tags_url":"https://api.github.com/repos/docker/notary/tags","blobs_url":"https://api.github.com/repos/docker/notary/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/docker/notary/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/docker/notary/git/refs{/sha}","trees_url":"https://api.github.com/repos/docker/notary/git/trees{/sha}","statuses_url":"https://api.github.com/repos/docker/notary/statuses/{sha}","languages_url":"https://api.github.com/repos/docker/notary/languages","stargazers_url":"https://api.github.com/repos/docker/notary/stargazers","contributors_url":"https://api.github.com/repos/docker/notary/contributors","subscribers_url":"https://api.github.com/repos/docker/notary/subscribers","subscription_url":"https://api.github.com/repos/docker/notary/subscription","commits_url":"https://api.github.com/repos/docker/notary/commits{/sha}","git_commits_url":"https://api.github.com/repos/docker/notary/git/commits{/sha}","comments_url":"https://api.github.com/repos/docker/notary/comments{/number}","issue_comment_url":"https://api.github.com/repos/docker/notary/issues/comments{/number}","contents_url":"https://api.github.com/repos/docker/notary/contents/{+path}","compare_url":"https://api.github.com/repos/docker/notary/compare/{base}...{head}","merges_url":"https://api.github.com/repos/docker/notary/merges","archive_url":"https://api.github.com/repos/docker/notary/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/docker/notary/downloads","issues_url":"https://api.github.com/repos/docker/notary/issues{/number}","pulls_url":"https://api.github.com/repos/docker/notary/pulls{/number}","milestones_url":"https://api.github.com/repos/docker/notary/milestones{/number}","notifications_url":"https://api.github.com/repos/docker/notary/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/docker/notary/labels{/name}","releases_url":"https://api.github.com/repos/docker/notary/releases{/id}","created_at":"2015-06-19T20:07:53Z","updated_at":"2015-12-22T20:52:48Z","pushed_at":"2015-12-22T18:33:59Z","git_url":"git://github.com/docker/notary.git","ssh_url":"git@github.com:docker/notary.git","clone_url":"https://github.com/docker/notary.git","svn_url":"https://github.com/docker/notary","homepage":"https://docker.com","size":22199,"stargazers_count":454,"watchers_count":454,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":65,"mirror_url":null,"open_issues_count":51,"forks":65,"open_issues":51,"watchers":454,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/docker/notary/pulls/383"},"html":{"href":"https://github.com/docker/notary/pull/383"},"issue":{"href":"https://api.github.com/repos/docker/notary/issues/383"},"comments":{"href":"https://api.github.com/repos/docker/notary/issues/383/comments"},"review_comments":{"href":"https://api.github.com/repos/docker/notary/pulls/383/comments"},"review_comment":{"href":"https://api.github.com/repos/docker/notary/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/docker/notary/pulls/383/commits"},"statuses":{"href":"https://api.github.com/repos/docker/notary/statuses/22ed2b6787aaba2d6caa899e5ebefd897cd3931c"}}}}