{"action":"created","issue":{"url":"https://api.github.com/repos/bbatsov/projectile/issues/1225","repository_url":"https://api.github.com/repos/bbatsov/projectile","labels_url":"https://api.github.com/repos/bbatsov/projectile/issues/1225/labels{/name}","comments_url":"https://api.github.com/repos/bbatsov/projectile/issues/1225/comments","events_url":"https://api.github.com/repos/bbatsov/projectile/issues/1225/events","html_url":"https://github.com/bbatsov/projectile/pull/1225","id":304509333,"node_id":"MDExOlB1bGxSZXF1ZXN0MTc0NDcxNDM0","number":1225,"title":"Add :safe keywords to all the projectile defcustom","user":{"login":"arichiardi","id":1724788,"node_id":"MDQ6VXNlcjE3MjQ3ODg=","avatar_url":"https://avatars0.githubusercontent.com/u/1724788?v=4","gravatar_id":"","url":"https://api.github.com/users/arichiardi","html_url":"https://github.com/arichiardi","followers_url":"https://api.github.com/users/arichiardi/followers","following_url":"https://api.github.com/users/arichiardi/following{/other_user}","gists_url":"https://api.github.com/users/arichiardi/gists{/gist_id}","starred_url":"https://api.github.com/users/arichiardi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arichiardi/subscriptions","organizations_url":"https://api.github.com/users/arichiardi/orgs","repos_url":"https://api.github.com/users/arichiardi/repos","events_url":"https://api.github.com/users/arichiardi/events{/privacy}","received_events_url":"https://api.github.com/users/arichiardi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2018-03-12T19:29:31Z","updated_at":"2018-10-11T23:16:06Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/bbatsov/projectile/pulls/1225","html_url":"https://github.com/bbatsov/projectile/pull/1225","diff_url":"https://github.com/bbatsov/projectile/pull/1225.diff","patch_url":"https://github.com/bbatsov/projectile/pull/1225.patch"},"body":"I am adding `:safe` for our function `defcustom` so that we don't get warnings anymore.\r\n\r\n-----------------\r\n\r\nBefore submitting a PR make sure the following things have been done (and denote this\r\nby checking the relevant checkboxes):\r\n\r\n- [x] The commits are consistent with our [contribution guidelines](../CONTRIBUTING.md)\r\n- [ ] All tests are passing (`make test`)\r\nI get an error here `No such file or directory, noflet` - using the newer emacs\r\n\r\nThanks!\r\n"},"comment":{"url":"https://api.github.com/repos/bbatsov/projectile/issues/comments/429152885","html_url":"https://github.com/bbatsov/projectile/pull/1225#issuecomment-429152885","issue_url":"https://api.github.com/repos/bbatsov/projectile/issues/1225","id":429152885,"node_id":"MDEyOklzc3VlQ29tbWVudDQyOTE1Mjg4NQ==","user":{"login":"slippycheeze","id":306753,"node_id":"MDQ6VXNlcjMwNjc1Mw==","avatar_url":"https://avatars2.githubusercontent.com/u/306753?v=4","gravatar_id":"","url":"https://api.github.com/users/slippycheeze","html_url":"https://github.com/slippycheeze","followers_url":"https://api.github.com/users/slippycheeze/followers","following_url":"https://api.github.com/users/slippycheeze/following{/other_user}","gists_url":"https://api.github.com/users/slippycheeze/gists{/gist_id}","starred_url":"https://api.github.com/users/slippycheeze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slippycheeze/subscriptions","organizations_url":"https://api.github.com/users/slippycheeze/orgs","repos_url":"https://api.github.com/users/slippycheeze/repos","events_url":"https://api.github.com/users/slippycheeze/events{/privacy}","received_events_url":"https://api.github.com/users/slippycheeze/received_events","type":"User","site_admin":false},"created_at":"2018-10-11T23:16:06Z","updated_at":"2018-10-11T23:16:06Z","author_association":"NONE","body":"> Well, I'm puzzled and I don't know how to best proceed here. I understand both arguments and they all have merits, but they are also kind of conflicting, as it's often the case (usability vs security).\r\n\r\n@bbatsov FWIW, and I know this is late, but the PR is obviously being kept up to date: I believe that marking them safe is inappropriate.  It is a security vs usability problem, but having it prompt is the least worst choice if you do want to make function calls accessible from here.  (ie: mark it safe if the value is a string, and nothing else.)\r\n\r\nYou may wish to point users at `safe-local-variable-values`, but ... the problem is most likely best solved by the original user pressing `!` once when prompted, which will forever treat that variable and value pairing as safe, and save that in their custom settings.\r\n\r\nIf this was made possible, I'd be unable to use projectile: that would be a sufficiently broad gap that I would be out of compliance with our security policies, at least, without patching it to remove the safe flag.  For better or worse, this is not an unjustified level of security concern.\r\n\r\nI appreciate that it is ultimately your call, but I'd strongly advocate for letting the user who wants implicit trust do that themselves, rather than making it in any way a feature of projectile itself; Emacs provides the hooks and settings required, as well as a simple interface to let users assert that, yes, this value is trusted both now, and forever."}}
{"actor":{"display_login":"slippycheeze"}}