<feed xmlns='http://www.w3.org/2005/Atom'>
<title>procd, branch master</title>
<subtitle>OpenWrt service / process manager</subtitle>
<id>https://git.openwrt.org/project/procd/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/procd/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/'/>
<updated>2026-06-17T09:45:14Z</updated>
<entry>
<title>jail: chown rootfs overlay dir to mapped root in user namespace</title>
<updated>2026-06-17T09:45:14Z</updated>
<author>
<name>John Crispin</name>
</author>
<published>2026-06-17T09:38:07Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/commit/?id=60fdbf00e924fff0a510c4ec31c520d35e69bfe1'/>
<id>urn:sha1:60fdbf00e924fff0a510c4ec31c520d35e69bfe1</id>
<content type='text'>
When a persistent overlay directory is provided in a user namespace,
the jail userns root (mapped to root_map_uid on the host) needs to
create the upper and work directories inside it. Chown the overlay
directory to the mapped root uid so these can be created.

Signed-off-by: John Crispin &lt;john@phrozen.org&gt;
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>jail: mount rootfs overlay with userxattr in user namespace</title>
<updated>2026-06-17T09:45:13Z</updated>
<author>
<name>John Crispin</name>
</author>
<published>2026-06-17T09:38:01Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/commit/?id=4f42296dc4f00177bdc185c7da827be8ae6666b8'/>
<id>urn:sha1:4f42296dc4f00177bdc185c7da827be8ae6666b8</id>
<content type='text'>
In a user namespace the overlay is mounted by the mapped root, which
lacks CAP_SYS_ADMIN in the init user namespace and thus cannot use the
default trusted.overlay.* xattrs. Add the userxattr mount option in
that case so overlayfs uses the user.overlay.* xattrs instead.

Signed-off-by: John Crispin &lt;john@phrozen.org&gt;
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>service: notify instance exit details via ubus</title>
<updated>2026-06-17T09:45:09Z</updated>
<author>
<name>John Crispin</name>
</author>
<published>2026-06-17T08:56:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/commit/?id=9ff6e43bb75fa2e8e92e3ec91dc23b389fee8868'/>
<id>urn:sha1:9ff6e43bb75fa2e8e92e3ec91dc23b389fee8868</id>
<content type='text'>
Add service_event_instance_exit() which broadcasts a ubus notification
including the service and instance name, pid, exit code, respawn count
and the command. Use it for the instance.fail and instance.respawn
events instead of the plain service_event() broadcast.

Signed-off-by: John Crispin &lt;john@phrozen.org&gt;
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>service: fix calloc_a argument</title>
<updated>2026-05-22T17:22:59Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2026-05-22T17:22:57Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/commit/?id=74bfbee8adb8162ee3f1427905af06836f332a37'/>
<id>urn:sha1:74bfbee8adb8162ee3f1427905af06836f332a37</id>
<content type='text'>
Use size_t instead of int, in order to avoid garbage values being used
inside calloc_a.

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>jail: make /dev/tty accessible by others</title>
<updated>2026-05-04T11:29:42Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2026-05-04T11:23:46Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/commit/?id=c92dbcd460d725aee619f94172f0cd53548887ef'/>
<id>urn:sha1:c92dbcd460d725aee619f94172f0cd53548887ef</id>
<content type='text'>
Required for e.g. `scp`, which fails otherwise:
debug1: read_passphrase: can't open /dev/tty: Permission denied

Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>jail: fix reading the oci device gid value</title>
<updated>2026-05-04T11:29:02Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2026-04-15T09:49:34Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/commit/?id=876981d0516d8c3f1508ba620ef76fb2e9b511d4'/>
<id>urn:sha1:876981d0516d8c3f1508ba620ef76fb2e9b511d4</id>
<content type='text'>
Fix the typo to properly set the device group in the container namespace.

Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>jail: mount tools used by dhcp.sh in the netifd jail</title>
<updated>2026-05-04T11:28:59Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2026-04-13T15:01:08Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/commit/?id=8013c0cd27557bfa410b3babf9265e5d520b4333'/>
<id>urn:sha1:8013c0cd27557bfa410b3babf9265e5d520b4333</id>
<content type='text'>
./dhcp.sh: eval: line 33: md5sum: not found
./dhcp.sh: eval: line 33: cut: not found
./dhcp.sh: eval: line 107: /sbin/uci: not found

Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>instance: disable console logging</title>
<updated>2026-05-04T11:28:32Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2026-04-12T16:37:45Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/commit/?id=81119d3f249d765789d1ac84586e8d4e4f8ee112'/>
<id>urn:sha1:81119d3f249d765789d1ac84586e8d4e4f8ee112</id>
<content type='text'>
This spams the logs with every in- and outcoming byte.

Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>jail: mount ucode related bits into netifd jail</title>
<updated>2026-05-04T11:28:32Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2026-04-12T15:36:35Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/commit/?id=ac5cc72f6cfad21864b8a79618c409d56cba8686'/>
<id>urn:sha1:ac5cc72f6cfad21864b8a79618c409d56cba8686</id>
<content type='text'>
netifd gained ucode support, mount the required pieces to fix the
errors:

daemon.crit netifd: Error loading ucode script:
Syntax error: Unable to resolve path for module 'uci' In line 1, byte 27:
    `import * as uci from "uci";`
    Near here ----------------^
Syntax error: Unable to resolve path for module 'uloop' In line 2, byte 31:
    `import * as uloop from "uloop";`
    Near here --------------------^
Syntax error: Unable to resolve path for module 'ubus' In line 3, byte 32:
    `import * as libubus from "ubus";`
    Near here ---------------------^
Syntax error: Unable to resolve path for module 'fs' In line 4, byte 37:
    `import { access, dirname } from "fs";`
    Near here --------------------------^

Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>jail: mount /lib/config into netifd jail</title>
<updated>2026-03-24T23:48:23Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2026-03-24T23:10:14Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/procd/commit/?id=cd7a4e5f8b8e4e7ce38f7e2be577802b7ec4ff3e'/>
<id>urn:sha1:cd7a4e5f8b8e4e7ce38f7e2be577802b7ec4ff3e</id>
<content type='text'>
The DHCP and DHCPv6 protocol scripts in netifd source
/lib/config/uci.sh during initialization. Without /lib/config/uci.sh
bind-mounted into the jail, the netifd instance running inside
a container's network namespace fails to start the DHCP client:

  ./dhcp.sh: .: line 8: can't open '/lib/config/uci.sh'
  ./dhcpv6.sh: .: line 5: can't open '/lib/config/uci.sh'

Add /lib/config/uci.sh to the jail netifd mount list alongside the
existing /lib/functions and /lib/functions.sh entries.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
</feed>
