Page MenuHomeFreeBSD

bapt (Baptiste Daroussin)
User

Projects (15)

User Details

User Since
Apr 18 2014, 5:23 AM (637 w, 3 d)

Recent Activity

Wed, Jul 1

bapt abandoned D56835: rcd(8): new service manager daemon.

I decided I will completly rework big parts of the code, I will reopen a review when ready, I don't want to waste your time, in the mean time, thank you all for the review so far.

Wed, Jul 1, 8:49 PM
bapt accepted D57997: ee: Handle EINTR when waiting for a character.
Wed, Jul 1, 8:16 PM
bapt accepted D57996: ee: Improve handling of malformed UTF-8 characters.
Wed, Jul 1, 8:16 PM

Sun, Jun 28

bapt committed rG3654d0c7e0a5: nuageinit: fix shell command injection in multiple rc.conf.d writes (authored by bapt).
nuageinit: fix shell command injection in multiple rc.conf.d writes
Sun, Jun 28, 6:49 PM
bapt committed rG35ea67ebc0b6: nuageinit: implement phone_home support (authored by bapt).
nuageinit: implement phone_home support
Sun, Jun 28, 6:48 PM
bapt committed rGe3d8f73cf2f6: nuageinit: implement mounts support (authored by bapt).
nuageinit: implement mounts support
Sun, Jun 28, 6:48 PM
bapt committed rGae577a78a80a: pw: fix const qualification in unquote() (authored by bapt).
pw: fix const qualification in unquote()
Sun, Jun 28, 6:48 PM
bapt committed rG2bb8d7c7ecb2: nuageinit: validate set-name to prevent shell injection in variable names (authored by bapt).
nuageinit: validate set-name to prevent shell injection in variable names
Sun, Jun 28, 6:44 PM
bapt committed rG1561d31aa0f9: nuageinit: fix shell injection in power_state_change delay and add test (authored by bapt).
nuageinit: fix shell injection in power_state_change delay and add test
Sun, Jun 28, 6:44 PM
bapt committed rG3bb20f3c2837: nuageinit: use single-quote shell escaping for hostname in rc.conf.d (authored by bapt).
nuageinit: use single-quote shell escaping for hostname in rc.conf.d
Sun, Jun 28, 6:44 PM
bapt committed rG7aefe34615c3: nuageinit: install certs in /usr/share/certs/trusted (authored by bapt).
nuageinit: install certs in /usr/share/certs/trusted
Sun, Jun 28, 6:44 PM
bapt committed rG48bf144ac4a2: nuageinit: update documentation for phone_home and final_message (authored by bapt).
nuageinit: update documentation for phone_home and final_message
Sun, Jun 28, 6:44 PM
bapt committed rG167ddf97da60: nuageinit: expose decode_base64 to fix tests (authored by bapt).
nuageinit: expose decode_base64 to fix tests
Sun, Jun 28, 6:44 PM
bapt committed rG25f255d45f2d: nuage.lua: add encode_base64 helper (authored by bapt).
nuage.lua: add encode_base64 helper
Sun, Jun 28, 6:44 PM
bapt committed rGeb677a598e68: nuageinit: implement final_message support (authored by bapt).
nuageinit: implement final_message support
Sun, Jun 28, 6:44 PM
bapt committed rG202ae0114a15: nuageinit: implement power_state_change and locale support (authored by bapt).
nuageinit: implement power_state_change and locale support
Sun, Jun 28, 6:44 PM
bapt committed rGbf026697c6d8: nuageinit: implement MIME multipart user-data support (authored by bapt).
nuageinit: implement MIME multipart user-data support
Sun, Jun 28, 6:44 PM
bapt committed rGf0fa0c599330: nuageinit: implement ca_certs support (authored by bapt).
nuageinit: implement ca_certs support
Sun, Jun 28, 6:43 PM
bapt committed rGa4a46e6ec8e0: nuageinit: implement ssh_authkey_fingerprints support (authored by bapt).
nuageinit: implement ssh_authkey_fingerprints support
Sun, Jun 28, 6:43 PM
bapt committed rG9835838d76d5: nuageinit: implement ntp support (authored by bapt).
nuageinit: implement ntp support
Sun, Jun 28, 6:43 PM
bapt committed rG8c4d8934cc00: nuageinit: implement keyboard support (authored by bapt).
nuageinit: implement keyboard support
Sun, Jun 28, 6:43 PM
bapt committed rG04b8103810c7: nuageinit: implement resolv_conf support (authored by bapt).
nuageinit: implement resolv_conf support
Sun, Jun 28, 6:43 PM
bapt committed rGc5755b769724: nuageinit: add tests for bootcmd, ssh_deletekeys, disable_root, manage_etc_hosts (authored by bapt).
nuageinit: add tests for bootcmd, ssh_deletekeys, disable_root, manage_etc_hosts
Sun, Jun 28, 6:43 PM
bapt committed rGed54170f89bb: pw: fix incorrect metalog path in mkdir_home_parents (authored by bapt).
pw: fix incorrect metalog path in mkdir_home_parents
Sun, Jun 28, 6:43 PM
bapt committed rGc552051fb08f: pw: fix setmode(NULL) crash when homemode is a boolean value (authored by bapt).
pw: fix setmode(NULL) crash when homemode is a boolean value
Sun, Jun 28, 6:43 PM
bapt committed rG2dd4c50deeaf: pw: fix inverted condition in shell_path error handling (authored by bapt).
pw: fix inverted condition in shell_path error handling
Sun, Jun 28, 6:43 PM
bapt committed rG3973c36d1f86: pw: fix uninitialized name pointer in pw_group_del (authored by bapt).
pw: fix uninitialized name pointer in pw_group_del
Sun, Jun 28, 6:43 PM
bapt committed rG543348190b7d: pw: remove duplicate pw_user_add declarations (authored by bapt).
pw: remove duplicate pw_user_add declarations
Sun, Jun 28, 6:43 PM
bapt committed rG85a943339f2d: nuageinit: implement manage_etc_hosts support (authored by bapt).
nuageinit: implement manage_etc_hosts support
Sun, Jun 28, 6:43 PM
bapt committed rG178f400cf643: nuageinit: implement bootcmd support (authored by bapt).
nuageinit: implement bootcmd support
Sun, Jun 28, 6:43 PM
bapt committed rGa67656ff5e78: nuageinit: complete SSH support with ssh_deletekeys and disable_root (authored by bapt).
nuageinit: complete SSH support with ssh_deletekeys and disable_root
Sun, Jun 28, 6:43 PM
bapt committed rG53906065f040: nuageinit: refactor goto abuse in chpasswd() (authored by bapt).
nuageinit: refactor goto abuse in chpasswd()
Sun, Jun 28, 6:43 PM
bapt committed rG41fc76cd796d: nuageinit: fix update_sshd_config crash when file does not exist (authored by bapt).
nuageinit: fix update_sshd_config crash when file does not exist
Sun, Jun 28, 6:43 PM
bapt committed rG481f6208e26a: nuageinit: fix TOCTOU in addsshkey, adddoas, addsudo (authored by bapt).
nuageinit: fix TOCTOU in addsshkey, adddoas, addsudo
Sun, Jun 28, 6:43 PM
bapt committed rG985f74ce766e: nuageinit: fix non-standard f:close(cmd) and remove dead precmd (authored by bapt).
nuageinit: fix non-standard f:close(cmd) and remove dead precmd
Sun, Jun 28, 6:43 PM
bapt committed rG2ebdc0a782a6: nuageinit: add hostname validation (RFC 952/1123) to sethostname() (authored by bapt).
nuageinit: add hostname validation (RFC 952/1123) to sethostname()
Sun, Jun 28, 6:43 PM
bapt committed rGf34a21ba0ada: nuageinit: remove dead checkgroup(), inline check in purge_group() (authored by bapt).
nuageinit: remove dead checkgroup(), inline check in purge_group()
Sun, Jun 28, 6:43 PM
bapt committed rG6fcafba9b365: nuageinit: add nil/empty guard to decode_base64() (authored by bapt).
nuageinit: add nil/empty guard to decode_base64()
Sun, Jun 28, 6:43 PM
bapt committed rG933551cdfd08: nuageinit: add config2_network DNS services test (authored by bapt).
nuageinit: add config2_network DNS services test
Sun, Jun 28, 6:43 PM
bapt committed rGfb06f62c7060: nuageinit: add dirname edge case tests (authored by bapt).
nuageinit: add dirname edge case tests
Sun, Jun 28, 6:43 PM
bapt committed rG4baa3af22f78: nuageinit: fix dirname('/') returning nil instead of '/' (authored by bapt).
nuageinit: fix dirname('/') returning nil instead of '/'
Sun, Jun 28, 6:42 PM
bapt committed rG43184397e6c4: nuageinit: add update_sshd_config tests (authored by bapt).
nuageinit: add update_sshd_config tests
Sun, Jun 28, 6:42 PM
bapt committed rG3b91e432616d: nuageinit: add adddoas tests (authored by bapt).
nuageinit: add adddoas tests
Sun, Jun 28, 6:42 PM
bapt committed rG3a0732153ebd: nuageinit: add addsudo tests (authored by bapt).
nuageinit: add addsudo tests
Sun, Jun 28, 6:42 PM
bapt committed rG413258a547df: nuageinit: add decode_base64 tests (authored by bapt).
nuageinit: add decode_base64 tests
Sun, Jun 28, 6:42 PM
bapt committed rG5c7627e96f22: devmatch: read linker.hints from all module paths (authored by bapt).
devmatch: read linker.hints from all module paths
Sun, Jun 28, 6:41 PM
bapt committed rGbc3e0c6afdb9: init: allow to specify a custom path for rc(8) (authored by bapt).
init: allow to specify a custom path for rc(8)
Sun, Jun 28, 6:41 PM

Fri, Jun 26

bapt committed R11:2a621a6a994d: ports-mgmt/pkg-devel: update to 2.7.99.3 (will become 2.8.0) (authored by bapt).
ports-mgmt/pkg-devel: update to 2.7.99.3 (will become 2.8.0)
Fri, Jun 26, 2:19 PM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

Handle partial non-blocking read on the control socket
Add forgotten support for proper shutdown (oups)

Fri, Jun 26, 7:48 AM

Thu, Jun 25

bapt committed R11:b38e6345c378: shells/zsh: update to 5.9.1 (authored by bapt).
shells/zsh: update to 5.9.1
Thu, Jun 25, 1:02 PM
bapt committed R11:0bdf3184b8ed: UPDATING: simplify py311->py312 rename with pkg set -p (authored by bapt).
UPDATING: simplify py311->py312 rename with pkg set -p
Thu, Jun 25, 1:02 PM
bapt committed R11:aa0c8a5d8f22: multimedia/jellyfin: update to 10.11.11 (authored by bapt).
multimedia/jellyfin: update to 10.11.11
Thu, Jun 25, 6:29 AM

Wed, Jun 24

bapt accepted D57626: locale: Update Unicode to CLDR 48.2.
Wed, Jun 24, 7:51 AM

Tue, Jun 23

bapt added inline comments to D56835: rcd(8): new service manager daemon.
Tue, Jun 23, 9:23 PM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

Handle errors from setsid() and chdir("/"), just in case

Tue, Jun 23, 9:21 PM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

Activate the reaper for all kind of legacy scripts
Fixes some tokenizer issue
xread now can take a timeout parameter
rcctl status now prints the nojail and nostart status
fix a bunch of tests
dangerous env vars concept removed
varity the PROC_REAP_STATUS
use waitid instead of waitpid

Tue, Jun 23, 9:16 PM

Thu, Jun 18

bapt added a comment to D56835: rcd(8): new service manager daemon.

Will it help sshd to start without being indefinitely blocked by e.g. mysqld? That would be enough of a reason for me personally to switch to this thing immediately.

Thu, Jun 18, 9:38 AM
bapt accepted D57622: uvideo.4: Initial manual page.
Thu, Jun 18, 8:39 AM

Wed, Jun 17

bapt updated the diff for D56835: rcd(8): new service manager daemon.

improve experience when dealing with legacy script:
better output of the rcctl command, and fix all bugs dealing with local_unbound
reported so far

Wed, Jun 17, 6:47 PM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

more work on zombies
show resources for legacy scripts

Wed, Jun 17, 10:06 AM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

Handle cases when a user explicitly set /var/run a tmpfs in the fstab

Wed, Jun 17, 9:24 AM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

Add boot time looging by popular demand

Wed, Jun 17, 8:05 AM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

reap hard; this time I hope it should be fine for your case @otis

Wed, Jun 17, 7:31 AM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

actually properly read ziaee's comments

Wed, Jun 17, 7:20 AM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

address @ziaee comments

Wed, Jun 17, 7:12 AM
bapt added a comment to D56835: rcd(8): new service manager daemon.
In D56835#1311164, @imp wrote:

I'd like to echo the user requirement. I have not current need for it at $WORK, but can see a need in the future. Having the ability for users to tie into the startup, running as themselves, much like we allow users to add jobs to cron, at, etc would be a useful, but not gating, feature.

I believe that user units is actually an orthogonal feature of the system service manager. If we are to implement user units, IMO, it should be a cross-platform project that consumes pristine systemd unit descriptions and hooks into the OS via PAM. It doesn't even has to be a part of base, because only uses of user units I stumbled upon so far were coming from ports.

I'm working on a systemd-logind replacement, which will fill the user units hole nicely, but there is a ton of work to do.

Wed, Jun 17, 7:10 AM

Tue, Jun 16

bapt added a comment to D56835: rcd(8): new service manager daemon.

Please add [explicit? implicit?] versioning information to the schema and UCL files -- otherwise you risk problems when upgrading/downgrading schema/unit files.

Tue, Jun 16, 5:50 PM
bapt added inline comments to D56835: rcd(8): new service manager daemon.
Tue, Jun 16, 5:27 PM
bapt added a comment to D56835: rcd(8): new service manager daemon.

This is a lot of greenfield code. Simple architectural question: is there a reason why this was written in C instead of C++? C++ wouldn't provide all of the functionality, but it would provide access to a number of data structures and algorithms that aren't available in C.

This comment is coming from a place of seeing and dealing with the complexity associated with libatf-c vs libatf-c++ -- the former has a number of complicated forms of memory management and data structures that simply do not need to exist with libatf-c++.

I don't know how to code in c++.

:(. Is this project available on a branch that I can help contribute to? I really want to leverage C++ to avoid a lot of wheel reinventing with the daemon.

Tue, Jun 16, 5:18 PM
bapt committed rG3b6f833c95eb: uvideo: increase isochronous transfer depth for throughput (authored by bapt).
uvideo: increase isochronous transfer depth for throughput
Tue, Jun 16, 11:24 AM
bapt committed rG8bc06ffbbd80: uvideo: add missing formats to be in par with webcamd's uvcvideo (authored by bapt).
uvideo: add missing formats to be in par with webcamd's uvcvideo
Tue, Jun 16, 11:24 AM
bapt committed rGb711ef9c75ba: uvideo: import uvideo(4) driver from OpenBSD (authored by bapt).
uvideo: import uvideo(4) driver from OpenBSD
Tue, Jun 16, 11:23 AM
bapt committed rGd0450cbec7e6: uvideo: add Camera Terminal controls (authored by bapt).
uvideo: add Camera Terminal controls
Tue, Jun 16, 11:23 AM
bapt committed rG54df18cbb400: uvideo: add kqueue support (authored by bapt).
uvideo: add kqueue support
Tue, Jun 16, 11:23 AM
bapt closed D56960: uvideo: import uvideo(4) driver from OpenBSD.
Tue, Jun 16, 11:23 AM
bapt closed D56962: uvideo: add Camera Terminal controls.
Tue, Jun 16, 11:23 AM
bapt closed D56961: uvideo: add kqueue support.
Tue, Jun 16, 11:23 AM
bapt added a comment to D56835: rcd(8): new service manager daemon.

And, when invoked as /sbin/rcd on a live system, I'm getting:

1700  -  Is    0:00.02 |-- rcd -v
2599  -  Z     0:00.00 | |-- <defunct>
2600  -  Z     0:00.00 | |-- <defunct>
2601  -  Z     0:00.00 | |-- <defunct>
2602  -  Z     0:00.00 | |-- <defunct>
2603  -  Z     0:00.00 | |-- <defunct>
3180  -  Z     0:00.00 | |-- <defunct>
3182  -  Z     0:00.00 | |-- <defunct>
3185  -  Z     0:00.00 | |-- <defunct>
3228  -  I     0:00.00 | |-- rcd-exec: reaper: syslogd (pid 3378) (rcd-exec)
3371  -  SCs   0:00.00 | | |-- /usr/sbin/syslogd -s
3376  -  I     0:00.00 | | |-- syslogd: syslogd.casper (syslogd)
3378  -  Is    0:00.00 | | `-- syslogd: system.net (syslogd)
3359  -  Z     0:00.00 | |-- <defunct>
3361  -  Z     0:00.00 | |-- <defunct>
3362  -  Z     0:00.00 | |-- <defunct>
3364  -  Z     0:00.00 | |-- <defunct>
3365  -  Z     0:00.00 | |-- <defunct>
3368  -  Z     0:00.00 | |-- <defunct>
3536  -  I     0:00.00 | `-- rcd-exec: reaper: cron (pid 3715) (rcd-exec)
3715  -  Ss    0:00.00 |   `-- /usr/sbin/cron -s

too many defuct processes.

Tue, Jun 16, 10:17 AM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

Address zombie in legacy mode
add xpdwait for EINTR

Tue, Jun 16, 10:16 AM
bapt added a comment to D56835: rcd(8): new service manager daemon.

This looks very cool, and a lot of work.

I would like to see that service(8) detects that rcd is being used and invokes rcctl instead of rc.d scripts. This way, service(8) can be used to start/restart/etc things without needing to know how init works on the system.

Tue, Jun 16, 10:04 AM
bapt added inline comments to D56835: rcd(8): new service manager daemon.
Tue, Jun 16, 10:00 AM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

Address @jilles comments

Tue, Jun 16, 9:59 AM
bapt added a comment to D56835: rcd(8): new service manager daemon.

This is a lot of greenfield code. Simple architectural question: is there a reason why this was written in C instead of C++? C++ wouldn't provide all of the functionality, but it would provide access to a number of data structures and algorithms that aren't available in C.

This comment is coming from a place of seeing and dealing with the complexity associated with libatf-c vs libatf-c++ -- the former has a number of complicated forms of memory management and data structures that simply do not need to exist with libatf-c++.

Tue, Jun 16, 9:46 AM
bapt updated the diff for D56835: rcd(8): new service manager daemon.

fix xmalloc conversion to use longjmp, now this is define per use
case so only the use in rcd is using longjmp

Tue, Jun 16, 7:32 AM

Mon, Jun 15

bapt updated the diff for D56835: rcd(8): new service manager daemon.

Address @kib's comments

Mon, Jun 15, 11:16 AM

Sun, Jun 14

bapt committed rGa74c77cc7bed: grep(1): optimize -w/--word-regexp word boundary check (authored by bapt).
grep(1): optimize -w/--word-regexp word boundary check
Sun, Jun 14, 6:15 PM
bapt closed D57587: grep(1): optimize -w/--word-regexp word boundary check.
Sun, Jun 14, 6:15 PM
bapt updated the diff for D57587: grep(1): optimize -w/--word-regexp word boundary check.

address kevens comments

Sun, Jun 14, 5:02 PM
bapt abandoned D57529: grep: remove unconditional fflush(stdout) from grep_printline.
Sun, Jun 14, 2:50 PM
bapt closed D57563: grep: periodic timer-based fflush instead of unconditional per-line flush.
Sun, Jun 14, 2:50 PM
bapt added a comment to D57563: grep: periodic timer-based fflush instead of unconditional per-line flush.

committed

Sun, Jun 14, 2:49 PM
bapt added a reviewer for D57587: grep(1): optimize -w/--word-regexp word boundary check: kevans.
Sun, Jun 14, 2:40 PM
bapt requested review of D57587: grep(1): optimize -w/--word-regexp word boundary check.
Sun, Jun 14, 2:36 PM
bapt committed rGffe47c424e0a: grep: periodic timer-based fflush instead of unconditional per-line flush (authored by bapt).
grep: periodic timer-based fflush instead of unconditional per-line flush
Sun, Jun 14, 2:27 PM
bapt closed D57528: grep(1): optimize -w/--word-regexp word boundary check.
Sun, Jun 14, 2:27 PM
bapt committed R11:81e1ec7b3320: ools/scripts: remove support for legacy pkg tools (authored by bapt).
ools/scripts: remove support for legacy pkg tools
Sun, Jun 14, 8:15 AM
bapt committed R11:02d43642f3ad: misc/github-copilot-cli: readd PORTEPOCH (authored by bapt).
misc/github-copilot-cli: readd PORTEPOCH
Sun, Jun 14, 7:53 AM
bapt committed R11:8abbc2f99de2: misc/ompl: Fix duplicate target "post-patch-PLANNERARENA-off" (authored by trond.endrestol_ximalas.info).
misc/ompl: Fix duplicate target "post-patch-PLANNERARENA-off"
Sun, Jun 14, 7:43 AM
bapt updated the diff for D57563: grep: periodic timer-based fflush instead of unconditional per-line flush.

fix missed initialization of printline_last_flush

Sun, Jun 14, 7:20 AM

Sat, Jun 13

bapt added a reviewer for D57563: grep: periodic timer-based fflush instead of unconditional per-line flush: kevans.
Sat, Jun 13, 6:28 PM