{"action":"created","comment":{"url":"https://api.github.com/repos/opencadc/core/pulls/comments/352200780","pull_request_review_id":324801193,"id":352200780,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDM1MjIwMDc4MA==","diff_hunk":"@@ -395,21 +531,93 @@ private void authorize(HttpServletRequest request, boolean readOnly) throws Acce\n         }\n     }\n \n+    /**\n+     * Get a Set of X500Principal's from the logControl properties. Return\n+     * an empty set if the properties do not exist or can't be read.\n+     *\n+     * @return Set of authorized X500Principals, can be an empty Set if none configured.\n+     */\n+    Set<Principal> getAuthorizedUserPrincipals(PropertiesReader propertiesReader) {\n+        Set<Principal> principals = new HashSet<Principal>();\n+        if (propertiesReader != null) {\n+            try {\n+                List<String> properties = propertiesReader.getPropertyValues(USER_DNS_PROPERTY);\n+                if (properties != null) {\n+                    for (String property : properties) {\n+                        if (StringUtil.hasLength(property)) {","path":"cadc-log/src/main/java/ca/nrc/cadc/log/LogControlServlet.java","position":349,"original_position":297,"commit_id":"88e2f0f4ef0c89733986ff6a6e356d3d54fabcdf","original_commit_id":"9c521f67a04e5865e18b34101b8dd4cd525e9b7a","user":{"login":"jburke-cadc","id":14943606,"node_id":"MDQ6VXNlcjE0OTQzNjA2","avatar_url":"https://avatars2.githubusercontent.com/u/14943606?v=4","gravatar_id":"","url":"https://api.github.com/users/jburke-cadc","html_url":"https://github.com/jburke-cadc","followers_url":"https://api.github.com/users/jburke-cadc/followers","following_url":"https://api.github.com/users/jburke-cadc/following{/other_user}","gists_url":"https://api.github.com/users/jburke-cadc/gists{/gist_id}","starred_url":"https://api.github.com/users/jburke-cadc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jburke-cadc/subscriptions","organizations_url":"https://api.github.com/users/jburke-cadc/orgs","repos_url":"https://api.github.com/users/jburke-cadc/repos","events_url":"https://api.github.com/users/jburke-cadc/events{/privacy}","received_events_url":"https://api.github.com/users/jburke-cadc/received_events","type":"User","site_admin":false},"body":"The getPropertyValues can return a null if the property isn't in the properties file.","created_at":"2019-11-29T16:40:00Z","updated_at":"2019-11-29T16:40:00Z","html_url":"https://github.com/opencadc/core/pull/108#discussion_r352200780","pull_request_url":"https://api.github.com/repos/opencadc/core/pulls/108","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/opencadc/core/pulls/comments/352200780"},"html":{"href":"https://github.com/opencadc/core/pull/108#discussion_r352200780"},"pull_request":{"href":"https://api.github.com/repos/opencadc/core/pulls/108"}},"in_reply_to_id":351944706},"pull_request":{"url":"https://api.github.com/repos/opencadc/core/pulls/108","id":344231432,"node_id":"MDExOlB1bGxSZXF1ZXN0MzQ0MjMxNDMy","html_url":"https://github.com/opencadc/core/pull/108","diff_url":"https://github.com/opencadc/core/pull/108.diff","patch_url":"https://github.com/opencadc/core/pull/108.patch","issue_url":"https://api.github.com/repos/opencadc/core/issues/108","number":108,"state":"open","locked":false,"title":"S2524 - allow log level changes using a certificate","user":{"login":"jburke-cadc","id":14943606,"node_id":"MDQ6VXNlcjE0OTQzNjA2","avatar_url":"https://avatars2.githubusercontent.com/u/14943606?v=4","gravatar_id":"","url":"https://api.github.com/users/jburke-cadc","html_url":"https://github.com/jburke-cadc","followers_url":"https://api.github.com/users/jburke-cadc/followers","following_url":"https://api.github.com/users/jburke-cadc/following{/other_user}","gists_url":"https://api.github.com/users/jburke-cadc/gists{/gist_id}","starred_url":"https://api.github.com/users/jburke-cadc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jburke-cadc/subscriptions","organizations_url":"https://api.github.com/users/jburke-cadc/orgs","repos_url":"https://api.github.com/users/jburke-cadc/repos","events_url":"https://api.github.com/users/jburke-cadc/events{/privacy}","received_events_url":"https://api.github.com/users/jburke-cadc/received_events","type":"User","site_admin":false},"body":"","created_at":"2019-11-21T21:00:18Z","updated_at":"2019-11-29T16:40:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"68a1d0b95934a60056cbbd01fa3c70aa3d5584ba","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/opencadc/core/pulls/108/commits","review_comments_url":"https://api.github.com/repos/opencadc/core/pulls/108/comments","review_comment_url":"https://api.github.com/repos/opencadc/core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/opencadc/core/issues/108/comments","statuses_url":"https://api.github.com/repos/opencadc/core/statuses/88e2f0f4ef0c89733986ff6a6e356d3d54fabcdf","head":{"label":"jburke-cadc:s2524","ref":"s2524","sha":"88e2f0f4ef0c89733986ff6a6e356d3d54fabcdf","user":{"login":"jburke-cadc","id":14943606,"node_id":"MDQ6VXNlcjE0OTQzNjA2","avatar_url":"https://avatars2.githubusercontent.com/u/14943606?v=4","gravatar_id":"","url":"https://api.github.com/users/jburke-cadc","html_url":"https://github.com/jburke-cadc","followers_url":"https://api.github.com/users/jburke-cadc/followers","following_url":"https://api.github.com/users/jburke-cadc/following{/other_user}","gists_url":"https://api.github.com/users/jburke-cadc/gists{/gist_id}","starred_url":"https://api.github.com/users/jburke-cadc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jburke-cadc/subscriptions","organizations_url":"https://api.github.com/users/jburke-cadc/orgs","repos_url":"https://api.github.com/users/jburke-cadc/repos","events_url":"https://api.github.com/users/jburke-cadc/events{/privacy}","received_events_url":"https://api.github.com/users/jburke-cadc/received_events","type":"User","site_admin":false},"repo":{"id":65930751,"node_id":"MDEwOlJlcG9zaXRvcnk2NTkzMDc1MQ==","name":"core","full_name":"jburke-cadc/core","private":false,"owner":{"login":"jburke-cadc","id":14943606,"node_id":"MDQ6VXNlcjE0OTQzNjA2","avatar_url":"https://avatars2.githubusercontent.com/u/14943606?v=4","gravatar_id":"","url":"https://api.github.com/users/jburke-cadc","html_url":"https://github.com/jburke-cadc","followers_url":"https://api.github.com/users/jburke-cadc/followers","following_url":"https://api.github.com/users/jburke-cadc/following{/other_user}","gists_url":"https://api.github.com/users/jburke-cadc/gists{/gist_id}","starred_url":"https://api.github.com/users/jburke-cadc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jburke-cadc/subscriptions","organizations_url":"https://api.github.com/users/jburke-cadc/orgs","repos_url":"https://api.github.com/users/jburke-cadc/repos","events_url":"https://api.github.com/users/jburke-cadc/events{/privacy}","received_events_url":"https://api.github.com/users/jburke-cadc/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jburke-cadc/core","description":"core libraries used by modules in other OpenCADC repositories","fork":true,"url":"https://api.github.com/repos/jburke-cadc/core","forks_url":"https://api.github.com/repos/jburke-cadc/core/forks","keys_url":"https://api.github.com/repos/jburke-cadc/core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jburke-cadc/core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jburke-cadc/core/teams","hooks_url":"https://api.github.com/repos/jburke-cadc/core/hooks","issue_events_url":"https://api.github.com/repos/jburke-cadc/core/issues/events{/number}","events_url":"https://api.github.com/repos/jburke-cadc/core/events","assignees_url":"https://api.github.com/repos/jburke-cadc/core/assignees{/user}","branches_url":"https://api.github.com/repos/jburke-cadc/core/branches{/branch}","tags_url":"https://api.github.com/repos/jburke-cadc/core/tags","blobs_url":"https://api.github.com/repos/jburke-cadc/core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jburke-cadc/core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jburke-cadc/core/git/refs{/sha}","trees_url":"https://api.github.com/repos/jburke-cadc/core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jburke-cadc/core/statuses/{sha}","languages_url":"https://api.github.com/repos/jburke-cadc/core/languages","stargazers_url":"https://api.github.com/repos/jburke-cadc/core/stargazers","contributors_url":"https://api.github.com/repos/jburke-cadc/core/contributors","subscribers_url":"https://api.github.com/repos/jburke-cadc/core/subscribers","subscription_url":"https://api.github.com/repos/jburke-cadc/core/subscription","commits_url":"https://api.github.com/repos/jburke-cadc/core/commits{/sha}","git_commits_url":"https://api.github.com/repos/jburke-cadc/core/git/commits{/sha}","comments_url":"https://api.github.com/repos/jburke-cadc/core/comments{/number}","issue_comment_url":"https://api.github.com/repos/jburke-cadc/core/issues/comments{/number}","contents_url":"https://api.github.com/repos/jburke-cadc/core/contents/{+path}","compare_url":"https://api.github.com/repos/jburke-cadc/core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jburke-cadc/core/merges","archive_url":"https://api.github.com/repos/jburke-cadc/core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jburke-cadc/core/downloads","issues_url":"https://api.github.com/repos/jburke-cadc/core/issues{/number}","pulls_url":"https://api.github.com/repos/jburke-cadc/core/pulls{/number}","milestones_url":"https://api.github.com/repos/jburke-cadc/core/milestones{/number}","notifications_url":"https://api.github.com/repos/jburke-cadc/core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jburke-cadc/core/labels{/name}","releases_url":"https://api.github.com/repos/jburke-cadc/core/releases{/id}","deployments_url":"https://api.github.com/repos/jburke-cadc/core/deployments","created_at":"2016-08-17T18:06:34Z","updated_at":"2016-08-17T18:06:36Z","pushed_at":"2019-11-28T19:05:11Z","git_url":"git://github.com/jburke-cadc/core.git","ssh_url":"git@github.com:jburke-cadc/core.git","clone_url":"https://github.com/jburke-cadc/core.git","svn_url":"https://github.com/jburke-cadc/core","homepage":null,"size":1912,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"opencadc:master","ref":"master","sha":"75e9c8f0e595cbf4f93a26a770861c9015549350","user":{"login":"opencadc","id":13909060,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzOTA5MDYw","avatar_url":"https://avatars2.githubusercontent.com/u/13909060?v=4","gravatar_id":"","url":"https://api.github.com/users/opencadc","html_url":"https://github.com/opencadc","followers_url":"https://api.github.com/users/opencadc/followers","following_url":"https://api.github.com/users/opencadc/following{/other_user}","gists_url":"https://api.github.com/users/opencadc/gists{/gist_id}","starred_url":"https://api.github.com/users/opencadc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencadc/subscriptions","organizations_url":"https://api.github.com/users/opencadc/orgs","repos_url":"https://api.github.com/users/opencadc/repos","events_url":"https://api.github.com/users/opencadc/events{/privacy}","received_events_url":"https://api.github.com/users/opencadc/received_events","type":"Organization","site_admin":false},"repo":{"id":47991770,"node_id":"MDEwOlJlcG9zaXRvcnk0Nzk5MTc3MA==","name":"core","full_name":"opencadc/core","private":false,"owner":{"login":"opencadc","id":13909060,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzOTA5MDYw","avatar_url":"https://avatars2.githubusercontent.com/u/13909060?v=4","gravatar_id":"","url":"https://api.github.com/users/opencadc","html_url":"https://github.com/opencadc","followers_url":"https://api.github.com/users/opencadc/followers","following_url":"https://api.github.com/users/opencadc/following{/other_user}","gists_url":"https://api.github.com/users/opencadc/gists{/gist_id}","starred_url":"https://api.github.com/users/opencadc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opencadc/subscriptions","organizations_url":"https://api.github.com/users/opencadc/orgs","repos_url":"https://api.github.com/users/opencadc/repos","events_url":"https://api.github.com/users/opencadc/events{/privacy}","received_events_url":"https://api.github.com/users/opencadc/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/opencadc/core","description":"core libraries used by modules in other OpenCADC repositories","fork":false,"url":"https://api.github.com/repos/opencadc/core","forks_url":"https://api.github.com/repos/opencadc/core/forks","keys_url":"https://api.github.com/repos/opencadc/core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/opencadc/core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/opencadc/core/teams","hooks_url":"https://api.github.com/repos/opencadc/core/hooks","issue_events_url":"https://api.github.com/repos/opencadc/core/issues/events{/number}","events_url":"https://api.github.com/repos/opencadc/core/events","assignees_url":"https://api.github.com/repos/opencadc/core/assignees{/user}","branches_url":"https://api.github.com/repos/opencadc/core/branches{/branch}","tags_url":"https://api.github.com/repos/opencadc/core/tags","blobs_url":"https://api.github.com/repos/opencadc/core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/opencadc/core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/opencadc/core/git/refs{/sha}","trees_url":"https://api.github.com/repos/opencadc/core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/opencadc/core/statuses/{sha}","languages_url":"https://api.github.com/repos/opencadc/core/languages","stargazers_url":"https://api.github.com/repos/opencadc/core/stargazers","contributors_url":"https://api.github.com/repos/opencadc/core/contributors","subscribers_url":"https://api.github.com/repos/opencadc/core/subscribers","subscription_url":"https://api.github.com/repos/opencadc/core/subscription","commits_url":"https://api.github.com/repos/opencadc/core/commits{/sha}","git_commits_url":"https://api.github.com/repos/opencadc/core/git/commits{/sha}","comments_url":"https://api.github.com/repos/opencadc/core/comments{/number}","issue_comment_url":"https://api.github.com/repos/opencadc/core/issues/comments{/number}","contents_url":"https://api.github.com/repos/opencadc/core/contents/{+path}","compare_url":"https://api.github.com/repos/opencadc/core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/opencadc/core/merges","archive_url":"https://api.github.com/repos/opencadc/core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/opencadc/core/downloads","issues_url":"https://api.github.com/repos/opencadc/core/issues{/number}","pulls_url":"https://api.github.com/repos/opencadc/core/pulls{/number}","milestones_url":"https://api.github.com/repos/opencadc/core/milestones{/number}","notifications_url":"https://api.github.com/repos/opencadc/core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/opencadc/core/labels{/name}","releases_url":"https://api.github.com/repos/opencadc/core/releases{/id}","deployments_url":"https://api.github.com/repos/opencadc/core/deployments","created_at":"2015-12-14T17:54:13Z","updated_at":"2019-11-07T19:16:21Z","pushed_at":"2019-11-28T19:05:13Z","git_url":"git://github.com/opencadc/core.git","ssh_url":"git@github.com:opencadc/core.git","clone_url":"https://github.com/opencadc/core.git","svn_url":"https://github.com/opencadc/core","homepage":null,"size":1883,"stargazers_count":2,"watchers_count":2,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":11,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":9,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":11,"open_issues":9,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/opencadc/core/pulls/108"},"html":{"href":"https://github.com/opencadc/core/pull/108"},"issue":{"href":"https://api.github.com/repos/opencadc/core/issues/108"},"comments":{"href":"https://api.github.com/repos/opencadc/core/issues/108/comments"},"review_comments":{"href":"https://api.github.com/repos/opencadc/core/pulls/108/comments"},"review_comment":{"href":"https://api.github.com/repos/opencadc/core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/opencadc/core/pulls/108/commits"},"statuses":{"href":"https://api.github.com/repos/opencadc/core/statuses/88e2f0f4ef0c89733986ff6a6e356d3d54fabcdf"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"jburke-cadc"}}