[Bug 274568] rc.conf(5): Empty "jail_list" does not start jails defined in "/etc/jail.conf.d"

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 18 Oct 2023 17:14:27 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274568

            Bug ID: 274568
           Summary: rc.conf(5): Empty "jail_list" does not start jails
                    defined in "/etc/jail.conf.d"
           Product: Base System
           Version: 13.2-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: conf
          Assignee: bugs@FreeBSD.org
          Reporter: stephen.j.fox.jr@gmail.com

According to the manual page for rc.conf(5), an empty "jail_list" variable
should result in all jails being started on boot or with "service jail start":

  jail_list   (str) A space-delimited list of jail names.  When left empty,
                   all of the jail(8) instances defined in the configuration
                   file are started.  The names specified in this list control
                   the jail startup order.  jail(8) instances missing from
                   jail_list must be started manually.  Note that a jail's
                   depend parameter in the configuration file may override this
                   list.

In FreeBSD 13.2-RELEASE, "service jail start" with an empty jail_list results
in the following error message with an exit status of 0:

  "/etc/jail.conf: No such file or directory"

The following shell output demonstrates this issue:

```
# uname -a
FreeBSD freebsd-sketch 13.2-RELEASE-p3 FreeBSD 13.2-RELEASE-p3 GENERIC amd64
# file /etc/jail.conf.d/foo.conf 
/etc/jail.conf.d/foo.conf: ASCII text
# grep '^jail_list' /etc/rc.conf
jail_list=""
root@freebsd-sketch:~ # service jail start
Starting jails:jail: /etc/jail.conf: No such file or directory
.
# echo $?
0
# jls
   JID  IP Address      Hostname                      Path
# # Edit rc.conf to manually specify the "foo" jail.
# grep '^jail_list' /etc/rc.conf
jail_list="foo"
# service jail start
Starting jails: foo.
# jls
   JID  IP Address      Hostname                      Path
     3                  foo.                          /zroot/jails/foo
```

-- 
You are receiving this mail because:
You are the assignee for the bug.