]> granicus.if.org Git - sudo/commitdiff
Document that plugins can be compiled statically into the sudo binary.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 4 Dec 2013 23:05:05 +0000 (16:05 -0700)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 4 Dec 2013 23:05:05 +0000 (16:05 -0700)
doc/sudo.cat
doc/sudo.conf.cat
doc/sudo.conf.man.in
doc/sudo.conf.mdoc.in
doc/sudo.man.in
doc/sudo.mdoc.in
doc/sudo_plugin.cat
doc/sudo_plugin.man.in
doc/sudo_plugin.mdoc.in

index 471bc4f7271a17a519aed1f6592e3aaf60fe4010..28bb7409be21c68c3e1707d7b69f8db3ddff73cd 100644 (file)
@@ -392,12 +392,14 @@ C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN
      instead of running it as a child process.
 
    P\bPl\blu\bug\bgi\bin\bns\bs
-     Plugins are dynamically loaded based on the contents of the sudo.conf(4)
-     file.  If no sudo.conf(4) file is present, or it contains no Plugin
-     lines, s\bsu\bud\bdo\bo will use the traditional _\bs_\bu_\bd_\bo_\be_\br_\bs security policy and I/O
-     logging.  See the sudo.conf(4) manual for details of the _\b/_\be_\bt_\bc_\b/_\bs_\bu_\bd_\bo_\b._\bc_\bo_\bn_\bf
-     file and the sudo_plugin(1m) manual for more information about the s\bsu\bud\bdo\bo
-     plugin architecture.
+     Plugins may be specified via Plugin directives in the sudo.conf(4) file.
+     They may be loaded as dynamic shared objects (on systems that support
+     them), or compiled directly into the s\bsu\bud\bdo\bo binary.  If no sudo.conf(4)
+     file is present, or it contains no Plugin lines, s\bsu\bud\bdo\bo will use the
+     traditional _\bs_\bu_\bd_\bo_\be_\br_\bs security policy and I/O logging.  See the
+     sudo.conf(4) manual for details of the _\b/_\be_\bt_\bc_\b/_\bs_\bu_\bd_\bo_\b._\bc_\bo_\bn_\bf file and the
+     sudo_plugin(1m) manual for more information about the s\bsu\bud\bdo\bo plugin
+     architecture.
 
 E\bEX\bXI\bIT\bT V\bVA\bAL\bLU\bUE\bE
      Upon successful execution of a program, the exit status from _\bs_\bu_\bd_\bo will
@@ -579,4 +581,4 @@ D\bDI\bIS\bSC\bCL\bLA\bAI\bIM\bME\bER\bR
      file distributed with s\bsu\bud\bdo\bo or http://www.sudo.ws/sudo/license.html for
      complete details.
 
-Sudo 1.8.8                      August 14, 2013                     Sudo 1.8.8
+Sudo 1.8.9                     December 4, 2013                     Sudo 1.8.9
index b1ffb496af4bb1b3b3830cf361cb913e89dfaedf..525b09f05557711d21f0ffbcc2e6aa13b0ece90c 100644 (file)
@@ -39,12 +39,12 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      end.  Plugins are dynamically loaded based on the contents of s\bsu\bud\bdo\bo.\b.c\bco\bon\bnf\bf.
 
      A Plugin line consists of the Plugin keyword, followed by the _\bs_\by_\bm_\bb_\bo_\bl_\b__\bn_\ba_\bm_\be
-     and the _\bp_\ba_\bt_\bh to the shared object containing the plugin.  The _\bs_\by_\bm_\bb_\bo_\bl_\b__\bn_\ba_\bm_\be
-     is the name of the struct policy_plugin or struct io_plugin in the plugin
-     shared object.  The _\bp_\ba_\bt_\bh may be fully qualified or relative.  If not
-     fully qualified, it is relative to the directory specified by the
-     _\bp_\bl_\bu_\bg_\bi_\bn_\b__\bd_\bi_\br Path setting, which defaults to _\b/_\bu_\bs_\br_\b/_\bl_\bo_\bc_\ba_\bl_\b/_\bl_\bi_\bb_\be_\bx_\be_\bc_\b/_\bs_\bu_\bd_\bo.  In
-     other words:
+     and the _\bp_\ba_\bt_\bh to the dynamic shared object that contains the plugin.  The
+     _\bs_\by_\bm_\bb_\bo_\bl_\b__\bn_\ba_\bm_\be is the name of the struct policy_plugin or struct io_plugin
+     symbol contained in the plugin.  The _\bp_\ba_\bt_\bh may be fully qualified or
+     relative.  If not fully qualified, it is relative to the directory
+     specified by the _\bp_\bl_\bu_\bg_\bi_\bn_\b__\bd_\bi_\br Path setting, which defaults to
+     _\b/_\bu_\bs_\br_\b/_\bl_\bo_\bc_\ba_\bl_\b/_\bl_\bi_\bb_\be_\bx_\be_\bc_\b/_\bs_\bu_\bd_\bo.  In other words:
 
            Plugin sudoers_policy sudoers.so
 
@@ -52,17 +52,24 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
            Plugin sudoers_policy /usr/local/libexec/sudo/sudoers.so
 
+     If the plugin was compiled statically into the s\bsu\bud\bdo\bo binary instead of
+     being installed as a dynamic shared object, the _\bp_\ba_\bt_\bh should be specified
+     without a leading directory, as it does not actually exist in the file
+     system.  For example:
+
+           Plugin sudoers_policy sudoers.so
+
      Starting with s\bsu\bud\bdo\bo 1.8.5, any additional parameters after the _\bp_\ba_\bt_\bh are
      passed as arguments to the plugin's _\bo_\bp_\be_\bn function.  For example, to
      override the compile-time default sudoers file mode:
 
            Plugin sudoers_policy sudoers.so sudoers_mode=0440
 
-     The same shared object may contain multiple plugins, each with a
-     different symbol name.  The shared object file must be owned by uid 0 and
-     only writable by its owner.  Because of ambiguities that arise from
-     composite policies, only a single policy plugin may be specified.  This
-     limitation does not apply to I/O plugins.
+     The same dynamic shared object may contain multiple plugins, each with a
+     different symbol name.  The file must be owned by uid 0 and only writable
+     by its owner.  Because of ambiguities that arise from composite policies,
+     only a single policy plugin may be specified.  This limitation does not
+     apply to I/O plugins.
 
      If no s\bsu\bud\bdo\bo.\b.c\bco\bon\bnf\bf file is present, or if it contains no Plugin lines, the
      s\bsu\bud\bdo\boe\ber\brs\bs plugin will be used as the default security policy and for I/O
@@ -369,4 +376,4 @@ D\bDI\bIS\bSC\bCL\bLA\bAI\bIM\bME\bER\bR
      file distributed with s\bsu\bud\bdo\bo or http://www.sudo.ws/sudo/license.html for
      complete details.
 
-Sudo 1.8.9                     December 3, 2013                     Sudo 1.8.9
+Sudo 1.8.9                     December 4, 2013                     Sudo 1.8.9
index c6e55d9fbea57557c573182d29ef7ebcf0ebedfb..5721df48caad94d17713b3c7763f16c5801b0201 100644 (file)
@@ -16,7 +16,7 @@
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH "SUDO" "5" "December 3, 2013" "Sudo @PACKAGE_VERSION@" "OpenBSD Programmer's Manual"
+.TH "SUDO" "5" "December 4, 2013" "Sudo @PACKAGE_VERSION@" "OpenBSD Programmer's Manual"
 .nh
 .if n .ad l
 .SH "NAME"
@@ -100,14 +100,14 @@ keyword, followed by the
 \fIsymbol_name\fR
 and the
 \fIpath\fR
-to the shared object containing the plugin.
+to the dynamic shared object that contains the plugin.
 The
 \fIsymbol_name\fR
 is the name of the
 \fRstruct policy_plugin\fR
 or
 \fRstruct io_plugin\fR
-in the plugin shared object.
+symbol contained in the plugin.
 The
 \fIpath\fR
 may be fully qualified or relative.
@@ -133,6 +133,20 @@ Plugin sudoers_policy @PLUGINDIR@/sudoers.so
 .RE
 .fi
 .PP
+If the plugin was compiled statically into the
+\fBsudo\fR
+binary instead of being installed as a dynamic shared object, the
+\fIpath\fR
+should be specified without a leading directory,
+as it does not actually exist in the file system.
+For example:
+.nf
+.sp
+.RS 6n
+Plugin sudoers_policy sudoers.so
+.RE
+.fi
+.PP
 Starting with
 \fBsudo\fR
 1.8.5, any additional parameters after the
@@ -148,9 +162,9 @@ Plugin sudoers_policy sudoers.so sudoers_mode=0440
 .RE
 .fi
 .PP
-The same shared object may contain multiple plugins, each with a
-different symbol name.
-The shared object file must be owned by uid 0 and only writable by its owner.
+The same dynamic shared object may contain multiple plugins,
+each with a different symbol name.
+The file must be owned by uid 0 and only writable by its owner.
 Because of ambiguities that arise from composite policies, only a single
 policy plugin may be specified.
 This limitation does not apply to I/O plugins.
index d2f0d43f8aaf89610fb07cb6b8a220560f290374..b4eeab6dff4603398cb4ba3aaafd2714c3f26775 100644 (file)
@@ -14,7 +14,7 @@
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd December 3, 2013
+.Dd December 4, 2013
 .Dt SUDO @mansectform@
 .Os Sudo @PACKAGE_VERSION@
 .Sh NAME
@@ -96,14 +96,14 @@ keyword, followed by the
 .Em symbol_name
 and the
 .Em path
-to the shared object containing the plugin.
+to the dynamic shared object that contains the plugin.
 The
 .Em symbol_name
 is the name of the
 .Li struct policy_plugin
 or
 .Li struct io_plugin
-in the plugin shared object.
+symbol contained in the plugin.
 The
 .Em path
 may be fully qualified or relative.
@@ -123,6 +123,17 @@ is equivalent to:
 Plugin sudoers_policy @PLUGINDIR@/sudoers.so
 .Ed
 .Pp
+If the plugin was compiled statically into the
+.Nm sudo
+binary instead of being installed as a dynamic shared object, the
+.Em path
+should be specified without a leading directory,
+as it does not actually exist in the file system.
+For example:
+.Bd -literal -offset indent
+Plugin sudoers_policy sudoers.so
+.Ed
+.Pp
 Starting with
 .Nm sudo
 1.8.5, any additional parameters after the
@@ -135,9 +146,9 @@ For example, to override the compile-time default sudoers file mode:
 Plugin sudoers_policy sudoers.so sudoers_mode=0440
 .Ed
 .Pp
-The same shared object may contain multiple plugins, each with a
-different symbol name.
-The shared object file must be owned by uid 0 and only writable by its owner.
+The same dynamic shared object may contain multiple plugins,
+each with a different symbol name.
+The file must be owned by uid 0 and only writable by its owner.
 Because of ambiguities that arise from composite policies, only a single
 policy plugin may be specified.
 This limitation does not apply to I/O plugins.
index d5e68129c4cdb3aa7d78cde8314d7d4aec4bd92f..43e2d915c699cf6580085b7ad74bc0e966100dae 100644 (file)
@@ -21,7 +21,7 @@
 .\" Agency (DARPA) and Air Force Research Laboratory, Air Force
 .\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
 .\"
-.TH "SUDO" "@mansectsu@" "August 14, 2013" "Sudo @PACKAGE_VERSION@" "System Manager's Manual"
+.TH "SUDO" "@mansectsu@" "December 4, 2013" "Sudo @PACKAGE_VERSION@" "System Manager's Manual"
 .nh
 .if n .ad l
 .SH "NAME"
@@ -788,9 +788,15 @@ run in a new pty,
 \fBsudo\fR
 may execute the command directly instead of running it as a child process.
 .SS "Plugins"
-Plugins are dynamically loaded based on the contents of the
+Plugins may be specified via
+\fRPlugin\fR
+directives in the
 sudo.conf(@mansectform@)
 file.
+They may be loaded as dynamic shared objects (on systems that support them),
+or compiled directly into the
+\fBsudo\fR
+binary.
 If no
 sudo.conf(@mansectform@)
 file is present, or it contains no
index e5d14ac9c31e7e7fe7fa8f99d402a924e8e9570d..c0cc5e6af6606196198a8b0ff883229259afb94d 100644 (file)
@@ -19,7 +19,7 @@
 .\" Agency (DARPA) and Air Force Research Laboratory, Air Force
 .\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
 .\"
-.Dd August 14, 2013
+.Dd December 4, 2013
 .Dt SUDO @mansectsu@
 .Os Sudo @PACKAGE_VERSION@
 .Sh NAME
@@ -779,9 +779,15 @@ run in a new pty,
 .Nm sudo
 may execute the command directly instead of running it as a child process.
 .Ss Plugins
-Plugins are dynamically loaded based on the contents of the
+Plugins may be specified via
+.Li Plugin
+directives in the
 .Xr sudo.conf @mansectform@
 file.
+They may be loaded as dynamic shared objects (on systems that support them),
+or compiled directly into the
+.Nm sudo
+binary.
 If no
 .Xr sudo.conf @mansectform@
 file is present, or it contains no
index 9fe54172f101945d832bad935819cfc5f54d4b19..718930131173882800b88cb66ee160e573618c2e 100644 (file)
@@ -5,10 +5,13 @@ N\bNA\bAM\bME\bE
 
 D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
      Starting with version 1.8, s\bsu\bud\bdo\bo supports a plugin API for policy and
-     session logging.  By default, the s\bsu\bud\bdo\boe\ber\brs\bs policy plugin and an associated
-     I/O logging plugin are used.  Via the plugin API, s\bsu\bud\bdo\bo can be configured
-     to use alternate policy and/or I/O logging plugins provided by third
-     parties.  The plugins to be used are specified in the sudo.conf(4) file.
+     session logging.  Plugins may be compiled as dynamic shared objects (the
+     default on systems that support them) or compiled statically into the
+     s\bsu\bud\bdo\bo binary itself.  By default, the s\bsu\bud\bdo\boe\ber\brs\bs policy plugin and an
+     associated I/O logging plugin are used.  Via the plugin API, s\bsu\bud\bdo\bo can be
+     configured to use alternate policy and/or I/O logging plugins provided by
+     third parties.  The plugins to be used are specified in the sudo.conf(4)
+     file.
 
      The API is versioned with a major and minor number.  The minor version
      number is incremented when additions are made.  The major number is
@@ -1453,4 +1456,4 @@ D\bDI\bIS\bSC\bCL\bLA\bAI\bIM\bME\bER\bR
      file distributed with s\bsu\bud\bdo\bo or http://www.sudo.ws/sudo/license.html for
      complete details.
 
-Sudo 1.8.8                      August 16, 2013                     Sudo 1.8.8
+Sudo 1.8.9                     December 4, 2013                     Sudo 1.8.9
index 20f07b10bf204e6ffa52ec8f4939c2679347c982..9e034393774f7f35c430a7d7c07b5f39939876f0 100644 (file)
@@ -16,7 +16,7 @@
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH "SUDO_PLUGIN" "5" "August 16, 2013" "Sudo @PACKAGE_VERSION@" "OpenBSD Programmer's Manual"
+.TH "SUDO_PLUGIN" "5" "December 4, 2013" "Sudo @PACKAGE_VERSION@" "OpenBSD Programmer's Manual"
 .nh
 .if n .ad l
 .SH "NAME"
@@ -27,6 +27,10 @@ Starting with version 1.8,
 \fBsudo\fR
 supports a plugin API
 for policy and session logging.
+Plugins may be compiled as dynamic shared objects (the default on
+systems that support them) or compiled statically into the
+\fBsudo\fR
+binary itself.
 By default, the
 \fBsudoers\fR
 policy plugin and an associated I/O logging plugin are used.
index 7da55ef8901ad8a77c68b193439ead8d0be0cde7..76d061e267cee0e7a12dfd502240e133c3ea0453 100644 (file)
@@ -14,7 +14,7 @@
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd August 16, 2013
+.Dd December 4, 2013
 .Dt SUDO_PLUGIN @mansectform@
 .Os Sudo @PACKAGE_VERSION@
 .Sh NAME
@@ -25,6 +25,10 @@ Starting with version 1.8,
 .Nm sudo
 supports a plugin API
 for policy and session logging.
+Plugins may be compiled as dynamic shared objects (the default on
+systems that support them) or compiled statically into the
+.Nm sudo
+binary itself.
 By default, the
 .Nm sudoers
 policy plugin and an associated I/O logging plugin are used.