<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openrc.git/src/openrc, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.vlhl.dev/navi/openrc.git/atom?h=master</id>
<link rel='self' href='https://git.vlhl.dev/navi/openrc.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/'/>
<updated>2023-10-19T08:56:54+00:00</updated>
<entry>
<title>rc.c, openrc-pam.c: move lockfile code into pam module</title>
<updated>2023-10-19T08:56:54+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2023-06-20T12:29:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/commit/?id=8bd49c2ad03122f3cb6d7f769ff062b5d64098cd'/>
<id>urn:sha1:8bd49c2ad03122f3cb6d7f769ff062b5d64098cd</id>
<content type='text'>
since we now assure that XDG_RUNTIME_DIR is set in the pam environment,
we can handle the lock file in there instead, which makes way more sense
for me at least.

Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>rc.c: use a flag instead of environment variables change the lockfile</title>
<updated>2023-10-19T08:56:54+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2023-06-16T01:37:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/commit/?id=0007a8e4f49e100a51b4db69769e60845c6f411b'/>
<id>urn:sha1:0007a8e4f49e100a51b4db69769e60845c6f411b</id>
<content type='text'>
Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>openrc: rework pathing functions</title>
<updated>2023-10-19T08:56:54+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2023-06-09T23:46:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/commit/?id=5a1cd9545164d978ded996ac6d673fd6d480a2fe'/>
<id>urn:sha1:5a1cd9545164d978ded996ac6d673fd6d480a2fe</id>
<content type='text'>
this simplifies the allocation of path string. also fixes some memory
leaks from the ealier commit

also changes the log path for users to XDG_CACHE_HOME, default
~/.cache/openrc

Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>openrc: create lockfile for --user.</title>
<updated>2023-10-19T08:56:54+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2023-05-27T11:10:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/commit/?id=b8613baa85965cbdf5fbe262b9464d5c0d98614f'/>
<id>urn:sha1:b8613baa85965cbdf5fbe262b9464d5c0d98614f</id>
<content type='text'>
the pam module sets a variable that when in user mode, openrc should
pick up and either create/increment, or decrement. this is done so that
multiple session_open and session_close from pam doesn't randomly change
the user runlevel for the current user. only the first session open
starts the default runlevel, and only the last session close switches to
the none runlevel.

Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>openrc: Add the correct path for logs as user</title>
<updated>2023-10-19T08:56:54+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2023-03-21T23:58:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/commit/?id=3f4314e7cb68efbbec648f06cf509c963750c03e'/>
<id>urn:sha1:3f4314e7cb68efbbec648f06cf509c963750c03e</id>
<content type='text'>
Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>openrc: Add support for user services.</title>
<updated>2023-10-19T08:56:54+00:00</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2023-03-14T22:03:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/commit/?id=9efa44579fd1f60a4c9ace264bb0b968ccb0f7ea'/>
<id>urn:sha1:9efa44579fd1f60a4c9ace264bb0b968ccb0f7ea</id>
<content type='text'>
Modifies many functions where filesystem paths were hardcoded. In
non-user-services mode, they still are. In user-services mode, they are
allocated, since XDG_ dirs are to be set via environment variables.

Signed-off-by: Anna (navi) Figueiredo Gomes &lt;navi@vlhl.dev&gt;
</content>
</entry>
<entry>
<title>rc: fix automatic restart with runlevel-specific conf.d files</title>
<updated>2023-07-27T03:41:42+00:00</updated>
<author>
<name>Sven Wegener</name>
<email>sven.wegener@stealer.net</email>
</author>
<published>2023-07-15T14:52:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/commit/?id=86efc43d0e0d7569f5d2e7a58b8c461ac9f7dae8'/>
<id>urn:sha1:86efc43d0e0d7569f5d2e7a58b8c461ac9f7dae8</id>
<content type='text'>
Commit fc4f15d6cd8e7884f7094e5d3749b01f2d5a448f broke the automatic restart of
services having runlevel-specific conf.d files.

The double dirname() was not a mistake, but the way of getting from the
service script in init.d to the upper directory containing the conf.d
directory. dirname() modifies the argument in-place, so the second call
operated on a modified value. To make it more obvious what is going on,
have the second call operate on the returned value from the first call.

Fixes: fc4f15d ("openrc: fix double-assignment to dir")
Signed-off-by: Sven Wegener &lt;sven.wegener@stealer.net&gt;
</content>
</entry>
<entry>
<title>rc: use LIST_FOREACH_SAFE in cleanup()</title>
<updated>2023-04-25T00:20:19+00:00</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-01-30T12:43:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/commit/?id=3f82d5b1a3e7456571488fd151ae84f9f30ef6cc'/>
<id>urn:sha1:3f82d5b1a3e7456571488fd151ae84f9f30ef6cc</id>
<content type='text'>
according to the linux manpage, the "safe" variant may not be available
on all platform. however we bundle our own `queue.h` so this should not
be an issue.
</content>
</entry>
<entry>
<title>rc: block SIGCHLD during pid list operations</title>
<updated>2023-04-25T00:20:19+00:00</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-01-28T12:45:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/commit/?id=0b4732520fbe50445cd05df58c7475659ee0a6f3'/>
<id>urn:sha1:0b4732520fbe50445cd05df58c7475659ee0a6f3</id>
<content type='text'>
the pid list will be accessed inside the SIGCHLD signal handler. so we
must ensure SIGCHLD handler doesn't get invoked while the list is at an
inconsistent state making it unsafe to interact with.

Co-authored-by: Dominique MARTINET &lt;dominique.martinet@atmark-techno.com&gt;
Bug: https://github.com/OpenRC/openrc/issues/589#issuecomment-1406588576
</content>
</entry>
<entry>
<title>rc: avoid calling free inside SIGCHLD handler</title>
<updated>2023-04-25T00:20:19+00:00</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-01-28T12:38:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/openrc.git/commit/?id=bbd3acfc678a891b9ec2b021ad9f745c34e554f7'/>
<id>urn:sha1:bbd3acfc678a891b9ec2b021ad9f745c34e554f7</id>
<content type='text'>
`free` is not async-signal-safe and calling it inside a signal handler
can have bad effects, as reported in the musl ML:
https://www.openwall.com/lists/musl/2023/01/23/1

the solution:

- keep track of weather remove_pid() is being called from inside a
  signal handler or not.
- if it's inside a signal handler then DO NOT call free - instead put
  that pointer into a "to be freed later" list.
- if it's not inside a signal handler then take the "to be freed later"
  list and free anything in it.

Bug: https://github.com/OpenRC/openrc/issues/589
Reported-by: Dominique MARTINET &lt;dominique.martinet@atmark-techno.com&gt;
</content>
</entry>
</feed>
