- 30 Mar, 2022 1 commit
-
-
Jeremy Soller authored
-
- 17 Mar, 2022 2 commits
-
-
Jeremy Soller authored
-
Jeremy Soller authored
-
- 22 Nov, 2021 2 commits
-
-
SamwiseFilmore authored
-
SamwiseFilmore authored
Names for groups and users must be less than 32. This is a fairly arbitrary value, just what other OSs use I guess. Sensitive allocations are now zeroed; any string or buffer that stores a salt, hash, or password is zeroed before being freed. Added notes in the docs for password parameters passed in by reference.
-
- 21 Nov, 2021 1 commit
-
-
SamwiseFilmore authored
Notably also removes the manual implementation of fmt::Debug from user in favor of deriving it, since auth::Full's implementation of Debug prevents it from outputting anything sensitive.
-
- 17 Nov, 2021 2 commits
-
-
SamwiseFilmore authored
More documentation...
-
SamwiseFilmore authored
Added a GroupBuilder builder pattern for constructing groups instead of passing the elements as a list of things to AllGroups::add_group. Fields are verified as allowed names when added to the AllGroups. All strings are now checked for semicolons before being written to the database files in `/etc`. Error messages to match. This should prevent any misuse of the `User`/`Group` fields from yielding a bad system state.
-
- 05 Oct, 2021 1 commit
-
-
SamwiseFilmore authored
While putting together a presentation on the way that I set up the marker types in this crate I came up with a "better" way of doing it, specifically to save a few words of mem per User by adding the hash to the type that is given as a parameter instead of as a field of User
-
- 04 Oct, 2021 1 commit
-
-
SamwiseFilmore authored
-
- 01 Jan, 2021 1 commit
-
-
SamwiseFilmore authored
Breaks API again, but only for errors (I believe... return types have become more specific, not less);
-
- 31 Dec, 2020 7 commits
-
-
SamwiseFilmore authored
0.4 See merge request !35
-
SamwiseFilmore authored
See the previous commit for caveats on this release. More info in the tag.
-
SamwiseFilmore authored
Several peripheral API changes here ramping up to the 0.4.0 release. - The `All::remove_by_*` functions now return booleans indicating if the gruser was removed or not. - User and Group no longer implement display for use in passwd/shadow file serialization; the implementations have moved to private functions. - Parse errors now return a line number (only the line number! Don't leak the file contents). - Invalid lines are no longer ignored during passwd/group file parsing. This has potential to cause breakage but I'd estimate that to be a pretty small risk. It does now report any parse errors.
-
SamwiseFilmore authored
-
SamwiseFilmore authored
-
SamwiseFilmore authored
-
SamwiseFilmore authored
Essentially just make the tests pass. Enabling locks on linux causes deadlocks in the tests (even when running single-threaded?), so I need to look at that some more. This also includes a couple of documentation combing things, there will be another commit to follow this up.
-
- 06 Sep, 2020 1 commit
-
-
SamwiseFilmore authored
This compiles, but I think the tests are deadlocking somehow, even with an unlock being called explicitly in the AllGroups drop. More work is needed to make this work.
-
- 05 Sep, 2020 3 commits
-
-
SamwiseFilmore authored
Uhg.
-
SamwiseFilmore authored
- `FromStr` is no longer used for /etc/group parsing - All the structs in this crate will debug print correctly - Trailing whitespace/empty user lists for /etc/group entries are now parsed correctly. Tests added for those cases as well.
-
SamwiseFilmore authored
I never liked how I had to pass around a bool and ensure that the user had used the API correctly and panic if they hadn't. This commit adds a marker type to `User` and `AllUsers` that ensures that a user of the library cannot use authentication and other password related methods unless they've instantiated the user with authentication information. Got rid of the tests that ensured panics for incorrect usage of the API; incorrect API use is a compile-time error now. I removed `FromStr` for `User` and added it as a private method, later commits will do the same for `Group` and possibly transition away from `Display`. Documentation in the works.
-
- 26 Aug, 2020 3 commits
-
-
SamwiseFilmore authored
-
SamwiseFilmore authored
Resolves #26. Since dirs is a reverse dependency of this crate and is used an awful lot, it's nice to have as small a dependency footprint as possible. dirs doesn't need the authentication stuff so we can drop a large number of deps. I imagine this will probably be useful in other contexts as well.
-
SamwiseFilmore authored
Bump rust-argon2 dependency Closes #30 See merge request !34
-
- 26 Mar, 2020 1 commit
-
-
Nikhil Benesch authored
-
- 22 Jan, 2020 3 commits
-
-
Jeremy Soller authored
-
Jeremy Soller authored
Bump rust-argon2 dependency to 0.7 See merge request !33
-
Alex Gaynor authored
-
- 20 Jan, 2020 5 commits
-
-
Jeremy Soller authored
-
Alex Gaynor authored
-
Jeremy Soller authored
-
Jeremy Soller authored
-
Jeremy Soller authored
Switch from rand_os crate to getrandom See merge request !32
-
- 01 Jan, 2020 1 commit
-
-
Alex Gaynor authored
This extracts part of !30 into it's own PR. getrandom has a smaller dependency footprint, and the version of rand_os being used was quite out of date.
-
- 01 Sep, 2019 3 commits
-
-
Blaž Hrastnik authored
-
Blaž Hrastnik authored
-
Blaž Hrastnik authored
-
- 07 Aug, 2019 2 commits
-
-
Jeremy Soller authored
-
Jeremy Soller authored
-