{"action":"closed","issue":{"url":"https://api.github.com/repos/elastic/elasticsearch/issues/28594","repository_url":"https://api.github.com/repos/elastic/elasticsearch","labels_url":"https://api.github.com/repos/elastic/elasticsearch/issues/28594/labels{/name}","comments_url":"https://api.github.com/repos/elastic/elasticsearch/issues/28594/comments","events_url":"https://api.github.com/repos/elastic/elasticsearch/issues/28594/events","html_url":"https://github.com/elastic/elasticsearch/issues/28594","id":295795735,"number":28594,"title":"SocketAccess using AccessController with permissions","user":{"login":"albertzaharovits","id":4568420,"avatar_url":"https://avatars2.githubusercontent.com/u/4568420?v=4","gravatar_id":"","url":"https://api.github.com/users/albertzaharovits","html_url":"https://github.com/albertzaharovits","followers_url":"https://api.github.com/users/albertzaharovits/followers","following_url":"https://api.github.com/users/albertzaharovits/following{/other_user}","gists_url":"https://api.github.com/users/albertzaharovits/gists{/gist_id}","starred_url":"https://api.github.com/users/albertzaharovits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/albertzaharovits/subscriptions","organizations_url":"https://api.github.com/users/albertzaharovits/orgs","repos_url":"https://api.github.com/users/albertzaharovits/repos","events_url":"https://api.github.com/users/albertzaharovits/events{/privacy}","received_events_url":"https://api.github.com/users/albertzaharovits/received_events","type":"User","site_admin":false},"labels":[{"id":23174,"url":"https://api.github.com/repos/elastic/elasticsearch/labels/%3Eenhancement","name":">enhancement","color":"4a4ea8","default":false},{"id":111624690,"url":"https://api.github.com/repos/elastic/elasticsearch/labels/feedback_needed","name":"feedback_needed","color":"d4c5f9","default":false},{"id":92913858,"url":"https://api.github.com/repos/elastic/elasticsearch/labels/low%20hanging%20fruit","name":"low hanging fruit","color":"07569b","default":false}],"state":"closed","locked":false,"assignee":{"login":"albertzaharovits","id":4568420,"avatar_url":"https://avatars2.githubusercontent.com/u/4568420?v=4","gravatar_id":"","url":"https://api.github.com/users/albertzaharovits","html_url":"https://github.com/albertzaharovits","followers_url":"https://api.github.com/users/albertzaharovits/followers","following_url":"https://api.github.com/users/albertzaharovits/following{/other_user}","gists_url":"https://api.github.com/users/albertzaharovits/gists{/gist_id}","starred_url":"https://api.github.com/users/albertzaharovits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/albertzaharovits/subscriptions","organizations_url":"https://api.github.com/users/albertzaharovits/orgs","repos_url":"https://api.github.com/users/albertzaharovits/repos","events_url":"https://api.github.com/users/albertzaharovits/events{/privacy}","received_events_url":"https://api.github.com/users/albertzaharovits/received_events","type":"User","site_admin":false},"assignees":[{"login":"albertzaharovits","id":4568420,"avatar_url":"https://avatars2.githubusercontent.com/u/4568420?v=4","gravatar_id":"","url":"https://api.github.com/users/albertzaharovits","html_url":"https://github.com/albertzaharovits","followers_url":"https://api.github.com/users/albertzaharovits/followers","following_url":"https://api.github.com/users/albertzaharovits/following{/other_user}","gists_url":"https://api.github.com/users/albertzaharovits/gists{/gist_id}","starred_url":"https://api.github.com/users/albertzaharovits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/albertzaharovits/subscriptions","organizations_url":"https://api.github.com/users/albertzaharovits/orgs","repos_url":"https://api.github.com/users/albertzaharovits/repos","events_url":"https://api.github.com/users/albertzaharovits/events{/privacy}","received_events_url":"https://api.github.com/users/albertzaharovits/received_events","type":"User","site_admin":false}],"milestone":null,"comments":8,"created_at":"2018-02-09T08:51:32Z","updated_at":"2018-03-14T13:18:25Z","closed_at":"2018-03-14T13:18:25Z","author_association":"CONTRIBUTOR","body":"Java 8 defines a new [`AccessController#doPrivileged`](https://docs.oracle.com/javase/8/docs/api/java/security/AccessController.html#doPrivileged-java.security.PrivilegedExceptionAction-java.security.AccessControlContext-java.security.Permission...-) method that allows to specify a limited set of permissions, instead of granting all.\r\n\r\nWe have several `SocketAccess` classes scattered around plugins, e.g.,\r\nhttps://github.com/elastic/elasticsearch/blob/da1a10fa9266770769881b222ee99e7bdd6af4c2/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/SocketAccess.java#L48\r\n\r\nI think it would be beneficial to collate all `SocketAccess` classes under a single `org.elasticsearch.common` one and use the new `doPriviledge` with permissions facility.\r\n"}}
{"actor":{"display_login":"jasontedor"}}