Page MenuHomeFreeBSD

bectl(8): change jail command to execute jail(8)
ClosedPublic

Authored by jwmaag_gmail.com on Feb 21 2019, 3:39 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jun 28, 5:08 AM
Unknown Object (File)
Sun, Jun 23, 6:10 PM
Unknown Object (File)
Sun, Jun 23, 1:28 PM
Unknown Object (File)
Thu, Jun 20, 8:16 PM
Unknown Object (File)
Mon, Jun 17, 11:54 PM
Unknown Object (File)
Fri, Jun 14, 4:46 AM
Unknown Object (File)
Mon, Jun 10, 5:27 PM
Unknown Object (File)
Wed, Jun 5, 12:50 PM
Subscribers

Details

Summary

Change bectl to read in -o flags and put them in a nvlist
then depending on whether we are interactive or not, use libjail
or the jail command to initalize our jail.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

As we discussed, I no longer have any qualms with dropping jail(3) completely and proxying it all through to jail(8).

sbin/bectl/bectl_jail.c
65 ↗(On Diff #54184)

style(9) nit: there should be a blank line following any declarations, or simply a blank line at the beginning if there are no declarations.

72 ↗(On Diff #54184)

Same as above: blank line before nvlist_remove_all.

89 ↗(On Diff #54184)

This looks like an accidental trailing space crawled in

227 ↗(On Diff #54184)

No spaces around these and a space after the parentheses before the opening brace.; if (nvlist_exists(...) || nvlist_exists(...)) { (with wrapping, of course)

261 ↗(On Diff #54184)

Space before the opening brace here

286 ↗(On Diff #54184)

Spacing

310 ↗(On Diff #54184)

Take a look at sbuf(9) for this; you can drop all of the argument tracking in favor of sbuf_new_auto() and a series of sbuf_cat()/sbuf_printf() depending on whether you need formatting or you're just appending /usr/sbin/jail.

sbin/bectl/bectl_jail.c
232 ↗(On Diff #54184)

Don't do this

236 ↗(On Diff #54184)

argv++, argc--

261 ↗(On Diff #54184)

Pass argc/argv through to bectl_cmd_jail_* as needed and tack those on at the end, after all parameters

Remove mounts created by the jail(8) command. prevent unwanted param arguments.
Clean up jail assets on effort basis.

  • handle multiple arguments passed in command
  • noticed a few more style issues
  • clean up allocated jail command arguments
This revision was not accepted when it landed; it landed in state Needs Review.Mar 19 2019, 5:39 PM
This revision was automatically updated to reflect the committed changes.