{"action":"created","issue":{"url":"https://api.github.com/repos/golang/go/issues/27871","repository_url":"https://api.github.com/repos/golang/go","labels_url":"https://api.github.com/repos/golang/go/issues/27871/labels{/name}","comments_url":"https://api.github.com/repos/golang/go/issues/27871/comments","events_url":"https://api.github.com/repos/golang/go/issues/27871/events","html_url":"https://github.com/golang/go/pull/27871","id":363919941,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE4MjM0Mzgw","number":27871,"title":"os: add support for long path names on unix RemoveAll","user":{"login":"ostenbom","id":7828615,"node_id":"MDQ6VXNlcjc4Mjg2MTU=","avatar_url":"https://avatars0.githubusercontent.com/u/7828615?v=4","gravatar_id":"","url":"https://api.github.com/users/ostenbom","html_url":"https://github.com/ostenbom","followers_url":"https://api.github.com/users/ostenbom/followers","following_url":"https://api.github.com/users/ostenbom/following{/other_user}","gists_url":"https://api.github.com/users/ostenbom/gists{/gist_id}","starred_url":"https://api.github.com/users/ostenbom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ostenbom/subscriptions","organizations_url":"https://api.github.com/users/ostenbom/orgs","repos_url":"https://api.github.com/users/ostenbom/repos","events_url":"https://api.github.com/users/ostenbom/events{/privacy}","received_events_url":"https://api.github.com/users/ostenbom/received_events","type":"User","site_admin":false},"labels":[{"id":831707000,"node_id":"MDU6TGFiZWw4MzE3MDcwMDA=","url":"https://api.github.com/repos/golang/go/labels/cla:%20yes","name":"cla: yes","color":"0e8a16","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":159,"created_at":"2018-09-26T08:49:00Z","updated_at":"2018-10-30T00:40:17Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/golang/go/pulls/27871","html_url":"https://github.com/golang/go/pull/27871","diff_url":"https://github.com/golang/go/pull/27871.diff","patch_url":"https://github.com/golang/go/pull/27871.patch"},"body":"On unix systems, long enough path names will fail when performing syscalls\r\nlike `Lstat`. The current RemoveAll uses several of these syscalls, and so\r\nwill fail for long paths. This can be risky, as it can let users \"hide\"\r\nfiles from the system or otherwise make long enough paths for programs\r\nto fail. By using `Unlinkat` and `Openat` syscalls instead, RemoveAll is\r\nsafer on unix systems. Initially implemented for linux, darwin, and several bsds.\r\n\r\nFixes #27029\r\n\r\nCo-authored-by: Giuseppe Capizzi <gcapizzi@pivotal.io>\r\nCo-authored-by: Julia Nedialkova <yulia.nedyalkova@sap.com>"},"comment":{"url":"https://api.github.com/repos/golang/go/issues/comments/434131078","html_url":"https://github.com/golang/go/pull/27871#issuecomment-434131078","issue_url":"https://api.github.com/repos/golang/go/issues/27871","id":434131078,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNDEzMTA3OA==","user":{"login":"gopherbot","id":8566911,"node_id":"MDQ6VXNlcjg1NjY5MTE=","avatar_url":"https://avatars1.githubusercontent.com/u/8566911?v=4","gravatar_id":"","url":"https://api.github.com/users/gopherbot","html_url":"https://github.com/gopherbot","followers_url":"https://api.github.com/users/gopherbot/followers","following_url":"https://api.github.com/users/gopherbot/following{/other_user}","gists_url":"https://api.github.com/users/gopherbot/gists{/gist_id}","starred_url":"https://api.github.com/users/gopherbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gopherbot/subscriptions","organizations_url":"https://api.github.com/users/gopherbot/orgs","repos_url":"https://api.github.com/users/gopherbot/repos","events_url":"https://api.github.com/users/gopherbot/events{/privacy}","received_events_url":"https://api.github.com/users/gopherbot/received_events","type":"User","site_admin":false},"created_at":"2018-10-30T00:40:17Z","updated_at":"2018-10-30T00:40:17Z","author_association":"NONE","body":"Message from Gerrit User 29433:\n\nPatch Set 20:\n\n(1 comment)\n\nAh, now I see the (new)fstatat(64) overlap, thanks Tobias. I managed to reduce all of the sysnum_linux_* files down to 3 using the 3 different calls. Again should come through when a googler thumbs up on the github PR.\n\n---\nPlease don’t reply on this GitHub thread. Visit [golang.org/cl/137442](https://go-review.googlesource.com/c/go/+/137442#message-97d9bf1bc08686cd723dc8ea123f52e91a0fee96).\nAfter addressing review feedback, remember to [publish your drafts](https://github.com/golang/go/wiki/GerritBot#i-left-a-reply-to-a-comment-in-gerrit-but-no-one-but-me-can-see-it)!"}}
{"actor":{"display_login":"gopherbot"}}