]> git.ipfire.org Git - thirdparty/shadow.git/commit
Make the sp_lstchg shadow field reproducible (re. #71)
authorChris Lamb <chris@chris-lamb.co.uk>
Wed, 2 Jan 2019 18:06:16 +0000 (18:06 +0000)
committerChris Lamb <chris@chris-lamb.co.uk>
Sun, 31 Mar 2019 15:00:01 +0000 (16:00 +0100)
commitfe34a2a0e44bc80ff213bfd185046a5f10c94997
tree4144e55dee984dde35f7d1c6248f7b77c37dd0c3
parente24deea4c944120932783c52cfb1c083d898b9f1
Make the sp_lstchg shadow field reproducible (re. #71)

From <https://github.com/shadow-maint/shadow/pull/71>:

```
The third field in the /etc/shadow file (sp_lstchg) contains the date of
the last password change expressed as the number of days since Jan 1, 1970.
As this is a relative time, creating a user today will result in:

username:17238:0:99999:7:::
whilst creating the same user tomorrow will result in:

username:17239:0:99999:7:::
This has an impact for the Reproducible Builds[0] project where we aim to
be independent of as many elements the build environment as possible,
including the current date.

This patch changes the behaviour to use the SOURCE_DATE_EPOCH[1]
environment variable (instead of Jan 1, 1970) if valid.
```

This updated PR adds some missing calls to gettime (). This was originally
filed by Johannes Schauer in Debian as #917773 [2].

[0] https://reproducible-builds.org/
[1] https://reproducible-builds.org/specs/source-date-epoch/
[2] https://bugs.debian.org/917773
libmisc/pwd2spwd.c
src/pwck.c
src/pwconv.c