<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/fs-mistrust/src/user.rs, branch arti-v1.1.12</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.12</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.12'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-08-23T09:34:00Z</updated>
<entry>
<title>Run maint/add_warning to add lint block everywhere</title>
<updated>2023-08-23T09:34:00Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-08-22T14:28:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac'/>
<id>urn:sha1:42df88d6bf6dbb460d2e5e1cd4838aafaffbe9ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run cargo +nightly fmt to format many let ... else ...</title>
<updated>2023-07-24T12:46:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-24T12:46:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3e2a909707acf7cad2621316a51f8643f1fe908a'/>
<id>urn:sha1:3e2a909707acf7cad2621316a51f8643f1fe908a</id>
<content type='text'>
rustfmt has grown opinions about how let ... else ... ought to be
formatted.  They don't always agree with our previous manual
decisions.

I think our policy is to always insist on rustfmt.  When that version
of rustfmt hits stable, our CI will start to fail for everyone.
(Right now this discrepancy just causes trouble for contributors who
are using nightly by default.)
</content>
</entry>
<entry>
<title>fs-mistrust: Run rustfmt to apply deferred formatting churn</title>
<updated>2023-07-14T15:02:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-14T14:10:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=967a36ee424aed0b0dbe216536990e7437e6b3a3'/>
<id>urn:sha1:967a36ee424aed0b0dbe216536990e7437e6b3a3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fs-mistrust: In a test, simplify env var handling</title>
<updated>2023-07-14T15:02:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-14T14:06:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f137cbbe7c4e1d660685934a53027956cb5120a2'/>
<id>urn:sha1:f137cbbe7c4e1d660685934a53027956cb5120a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fs-mistrust: users: Use OsStr and OsString a lot less</title>
<updated>2023-07-14T15:02:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-14T14:01:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=792371a68867a27ad22cc473c613c9402b6c73c3'/>
<id>urn:sha1:792371a68867a27ad22cc473c613c9402b6c73c3</id>
<content type='text'>
We don't use OsString now except where it appears in our public API,
or where we get it from std::env.

Moving the `use` statements into the use sites enabled me to see
that I had found all the places I wanted to change.
</content>
</entry>
<entry>
<title>fs-mistrust: Remove a now-unneeded suppression</title>
<updated>2023-07-14T15:02:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-14T13:46:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5f3571fdf3e4c4dc732dec05453e15ef3ce06ed7'/>
<id>urn:sha1:5f3571fdf3e4c4dc732dec05453e15ef3ce06ed7</id>
<content type='text'>
This function is actually (properly) fallible now.
</content>
</entry>
<entry>
<title>fs-mistruct: Abolish some now-unneeded muts</title>
<updated>2023-07-14T15:02:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-14T11:13:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e4bb7c388ae461e047af4ff9aa5d93f7f9942a7b'/>
<id>urn:sha1:e4bb7c388ae461e047af4ff9aa5d93f7f9942a7b</id>
<content type='text'>
MockPwdGrpProvider has internal mutability and is Sync, so its add
functions take &amp;self.
</content>
</entry>
<entry>
<title>fs-mistrust: Use pwd-grp's getgroups function</title>
<updated>2023-07-14T15:02:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-14T13:42:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fe79f423f797a25466824d974705c09ce9034c7d'/>
<id>urn:sha1:fe79f423f797a25466824d974705c09ce9034c7d</id>
<content type='text'>
This gets rid of some unsafe code here, with doubtful error handling,
in favour of the unit-tested version in pwd-grp.
</content>
</entry>
<entry>
<title>fs-mistruct: switch from users to pwd-grp</title>
<updated>2023-07-14T15:02:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-12T17:30:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5f46bacbb28e186745f364179647b2f7ef01a9c2'/>
<id>urn:sha1:5f46bacbb28e186745f364179647b2f7ef01a9c2</id>
<content type='text'>
users is unmaintained.  pwd-grp is the crate I have just written to
replace it. In this commit:

Change the cargo dependency and imports.

Replace the cacheing arrangements.  users has a built-in cache;
pwd-grp doesn't.  Now, instead of cashing individual lookups, we cache
the trusted user and trusted gid calculation results.
This saves on some syscalls, and is also more convenient to write.
(Mocking is still done via the dependency.)

Many systematic consequential changes of details:

 * The entrypoint names to the library are different:
   pwd-grp uses the names of the corresponding Unix functions.

 * pwd-grp's returned structs are transparent, so we don't
   call accessors for .uid(), .name(), etc.

 * pwd-grp's methods are much more often fallible
   (returning io::Result&lt;Option&lt;...&gt;)

 * We're using the non-UTF-8 pwd-grp API, which means we must
   use turbofish syntax in some places.

 * The mocking API is a bit different.
</content>
</entry>
<entry>
<title>fs-mistrust: Introduce tempoary PwdGrpProvider alias</title>
<updated>2023-07-14T15:02:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-07-14T11:29:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bf65b7763e81363e95e3431b4c437345ba68bbe2'/>
<id>urn:sha1:bf65b7763e81363e95e3431b4c437345ba68bbe2</id>
<content type='text'>
This allows us to change a number of trait bounds in advance, reducing
noise in the next commit.
</content>
</entry>
</feed>
