{"action":"created","issue":{"url":"https://api.github.com/repos/shadow-maint/shadow/issues/146","repository_url":"https://api.github.com/repos/shadow-maint/shadow","labels_url":"https://api.github.com/repos/shadow-maint/shadow/issues/146/labels{/name}","comments_url":"https://api.github.com/repos/shadow-maint/shadow/issues/146/comments","events_url":"https://api.github.com/repos/shadow-maint/shadow/issues/146/events","html_url":"https://github.com/shadow-maint/shadow/pull/146","id":395332869,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQxODExNzI5","number":146,"title":"Make the sp_lstchg shadow field reproducible (re. #71)","user":{"login":"lamby","id":133209,"node_id":"MDQ6VXNlcjEzMzIwOQ==","avatar_url":"https://avatars3.githubusercontent.com/u/133209?v=4","gravatar_id":"","url":"https://api.github.com/users/lamby","html_url":"https://github.com/lamby","followers_url":"https://api.github.com/users/lamby/followers","following_url":"https://api.github.com/users/lamby/following{/other_user}","gists_url":"https://api.github.com/users/lamby/gists{/gist_id}","starred_url":"https://api.github.com/users/lamby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lamby/subscriptions","organizations_url":"https://api.github.com/users/lamby/orgs","repos_url":"https://api.github.com/users/lamby/repos","events_url":"https://api.github.com/users/lamby/events{/privacy}","received_events_url":"https://api.github.com/users/lamby/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2019-01-02T18:13:56Z","updated_at":"2019-01-04T07:38:47Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/shadow-maint/shadow/pulls/146","html_url":"https://github.com/shadow-maint/shadow/pull/146","diff_url":"https://github.com/shadow-maint/shadow/pull/146.diff","patch_url":"https://github.com/shadow-maint/shadow/pull/146.patch"},"body":"From <https://github.com/shadow-maint/shadow/pull/71>:\r\n\r\n```\r\nThe third field in the /etc/shadow file (sp_lstchg) contains the date of\r\nthe last password change expressed as the number of days since Jan 1, 1970.\r\nAs this is a relative time, creating a user today will result in:\r\n\r\nusername:17238:0:99999:7:::\r\nwhilst creating the same user tomorrow will result in:\r\n\r\nusername:17239:0:99999:7:::\r\nThis has an impact for the Reproducible Builds[0] project where we aim to\r\nbe independent of as many elements the build environment as possible,\r\nincluding the current date.\r\n\r\nThis patch changes the behaviour to use the SOURCE_DATE_EPOCH[1]\r\nenvironment variable (instead of Jan 1, 1970) if valid.\r\n```\r\n\r\nThis updated PR adds some missing calls to gettime (). This was originally\r\nfiled by Johannes Schauer in Debian as #917773 [2].\r\n\r\n[0] https://reproducible-builds.org/\r\n[1] https://reproducible-builds.org/specs/source-date-epoch/\r\n[2] https://bugs.debian.org/917773"},"comment":{"url":"https://api.github.com/repos/shadow-maint/shadow/issues/comments/451371516","html_url":"https://github.com/shadow-maint/shadow/pull/146#issuecomment-451371516","issue_url":"https://api.github.com/repos/shadow-maint/shadow/issues/146","id":451371516,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MTM3MTUxNg==","user":{"login":"t8m","id":7125407,"node_id":"MDQ6VXNlcjcxMjU0MDc=","avatar_url":"https://avatars3.githubusercontent.com/u/7125407?v=4","gravatar_id":"","url":"https://api.github.com/users/t8m","html_url":"https://github.com/t8m","followers_url":"https://api.github.com/users/t8m/followers","following_url":"https://api.github.com/users/t8m/following{/other_user}","gists_url":"https://api.github.com/users/t8m/gists{/gist_id}","starred_url":"https://api.github.com/users/t8m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/t8m/subscriptions","organizations_url":"https://api.github.com/users/t8m/orgs","repos_url":"https://api.github.com/users/t8m/repos","events_url":"https://api.github.com/users/t8m/events{/privacy}","received_events_url":"https://api.github.com/users/t8m/received_events","type":"User","site_admin":false},"created_at":"2019-01-04T07:38:47Z","updated_at":"2019-01-04T07:38:47Z","author_association":"CONTRIBUTOR","body":"Actually it would be a security issue if user without preexisting shadow entry could prevent password ageing on password change. Although the issue would be fairly low impact one. I'd suggest using secure_getenv() instead of normal getenv() in gettime().\r\n"}}
{"actor":{"display_login":"t8m"}}