Substitute python plugin file name in sudo_plugin_python documentation.

Also use prefix for group plugin fallback path section in sudoers manual.
This commit is contained in:
Todd C. Miller
2022-12-30 13:38:40 -07:00
parent ad55f8ccee
commit 4b0dc2eecb
6 changed files with 71 additions and 58 deletions

7
configure vendored
View File

@@ -723,6 +723,7 @@ OBJEXT
EXEEXT EXEEXT
ac_ct_CC ac_ct_CC
CC CC
python_plugin
sudoers_plugin sudoers_plugin
plugindir plugindir
pam_login_service pam_login_service
@@ -3594,6 +3595,7 @@ ac_config_headers="$ac_config_headers config.h pathnames.h"
# #
@@ -3645,6 +3647,7 @@ pam_session=on
pam_login_service=sudo pam_login_service=sudo
plugindir="$libexecdir/sudo" plugindir="$libexecdir/sudo"
sudoers_plugin="sudoers.so" sudoers_plugin="sudoers.so"
python_plugin="python_plugin.so"
DIGEST=digest.lo DIGEST=digest.lo
devsearch="/dev/pts:/dev/vt:/dev/term:/dev/zcons:/dev/pty:/dev" devsearch="/dev/pts:/dev/vt:/dev/term:/dev/zcons:/dev/pty:/dev"
# #
@@ -17151,6 +17154,7 @@ aix*)
noexec_file="$libexecdir/sudo/sudo_noexec.a(sudo_noexec.so)" noexec_file="$libexecdir/sudo/sudo_noexec.a(sudo_noexec.so)"
intercept_file="$libexecdir/sudo/sudo_intercept.a(sudo_intercept.so)" intercept_file="$libexecdir/sudo/sudo_intercept.a(sudo_intercept.so)"
sudoers_plugin="sudoers.a(sudoers.so)" sudoers_plugin="sudoers.a(sudoers.so)"
python_plugin="python_plugin.a(python_plugin.so)"
fi fi
;; ;;
esac esac
@@ -36640,6 +36644,9 @@ echo " Pathnames:" >&6
echo " log directory : ${log_dir}" >&6 echo " log directory : ${log_dir}" >&6
echo " plugin directory : ${plugindir}" >&6 echo " plugin directory : ${plugindir}" >&6
echo " sudoers plugin : ${sudoers_plugin}" >&6 echo " sudoers plugin : ${sudoers_plugin}" >&6
if test "${enable_python-no}" != "no"; then
echo " python plugin : ${python_plugin}" >&6
fi
echo " run directory : ${rundir}" >&6 echo " run directory : ${rundir}" >&6
echo " var directory : ${vardir}" >&6 echo " var directory : ${vardir}" >&6
echo " I/O log directory : ${iolog_dir}" >&6 echo " I/O log directory : ${iolog_dir}" >&6

View File

@@ -179,6 +179,7 @@ AC_SUBST([pam_session])
AC_SUBST([pam_login_service]) AC_SUBST([pam_login_service])
AC_SUBST([plugindir]) AC_SUBST([plugindir])
AC_SUBST([sudoers_plugin]) AC_SUBST([sudoers_plugin])
AC_SUBST([python_plugin])
# #
# Begin initial values for man page substitution # Begin initial values for man page substitution
# #
@@ -228,6 +229,7 @@ pam_session=on
pam_login_service=sudo pam_login_service=sudo
plugindir="$libexecdir/sudo" plugindir="$libexecdir/sudo"
sudoers_plugin="sudoers.so" sudoers_plugin="sudoers.so"
python_plugin="python_plugin.so"
DIGEST=digest.lo DIGEST=digest.lo
devsearch="/dev/pts:/dev/vt:/dev/term:/dev/zcons:/dev/pty:/dev" devsearch="/dev/pts:/dev/vt:/dev/term:/dev/zcons:/dev/pty:/dev"
# #
@@ -1685,6 +1687,7 @@ aix*)
noexec_file="$libexecdir/sudo/sudo_noexec.a(sudo_noexec.so)" noexec_file="$libexecdir/sudo/sudo_noexec.a(sudo_noexec.so)"
intercept_file="$libexecdir/sudo/sudo_intercept.a(sudo_intercept.so)" intercept_file="$libexecdir/sudo/sudo_intercept.a(sudo_intercept.so)"
sudoers_plugin="sudoers.a(sudoers.so)" sudoers_plugin="sudoers.a(sudoers.so)"
python_plugin="python_plugin.a(python_plugin.so)"
fi fi
;; ;;
esac esac
@@ -4424,6 +4427,9 @@ echo " Pathnames:" >&AS_MESSAGE_FD
echo " log directory : ${log_dir}" >&AS_MESSAGE_FD echo " log directory : ${log_dir}" >&AS_MESSAGE_FD
echo " plugin directory : ${plugindir}" >&AS_MESSAGE_FD echo " plugin directory : ${plugindir}" >&AS_MESSAGE_FD
echo " sudoers plugin : ${sudoers_plugin}" >&AS_MESSAGE_FD echo " sudoers plugin : ${sudoers_plugin}" >&AS_MESSAGE_FD
if test "${enable_python-no}" != "no"; then
echo " python plugin : ${python_plugin}" >&AS_MESSAGE_FD
fi
echo " run directory : ${rundir}" >&AS_MESSAGE_FD echo " run directory : ${rundir}" >&AS_MESSAGE_FD
echo " var directory : ${vardir}" >&AS_MESSAGE_FD echo " var directory : ${vardir}" >&AS_MESSAGE_FD
echo " I/O log directory : ${iolog_dir}" >&AS_MESSAGE_FD echo " I/O log directory : ${iolog_dir}" >&AS_MESSAGE_FD

View File

@@ -151,7 +151,7 @@ Running the Python interpreter and bridging between C and Python is
handled by the handled by the
\fBsudo\fR \fBsudo\fR
plugin plugin
\fIpython_plugin.so\fR. \fI@python_plugin@\fR.
This shared object can be loaded like any other dynamic This shared object can be loaded like any other dynamic
\fBsudo\fR \fBsudo\fR
plugin and should receive the path and the class name of the Python plugin and should receive the path and the class name of the Python
@@ -162,10 +162,10 @@ sudo.conf(@mansectform@):
.nf .nf
.sp .sp
.RS 4n .RS 4n
Plugin python_policy python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_policy @python_plugin@ ModulePath=<path> ClassName=<class>
Plugin python_io python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_io @python_plugin@ ModulePath=<path> ClassName=<class>
Plugin python_audit python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_audit @python_plugin@ ModulePath=<path> ClassName=<class>
Plugin python_approval python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_approval @python_plugin@ ModulePath=<path> ClassName=<class>
.RE .RE
.fi .fi
.PP .PP
@@ -175,7 +175,7 @@ file:
.nf .nf
.sp .sp
.RS 4n .RS 4n
Defaults group_plugin="python_plugin.so ModulePath=<path> ClassName=<class>" Defaults group_plugin="@python_plugin@ ModulePath=<path> ClassName=<class>"
.RE .RE
.fi .fi
.PP .PP
@@ -210,7 +210,7 @@ For example:
.nf .nf
.sp .sp
.RS 4n .RS 4n
Plugin python_policy python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_policy @python_plugin@ ModulePath=<path> ClassName=<class>
.RE .RE
.fi .fi
.PP .PP
@@ -568,7 +568,7 @@ To try it, register it by adding the following lines to
.nf .nf
.sp .sp
.RS 0n .RS 0n
Plugin python_policy python_plugin.so \e Plugin python_policy @python_plugin@ \e
ModulePath=@EXAMPLES@/example_policy_plugin.py \e ModulePath=@EXAMPLES@/example_policy_plugin.py \e
ClassName=SudoPolicyPlugin ClassName=SudoPolicyPlugin
.RE .RE
@@ -586,7 +586,7 @@ For example:
.nf .nf
.sp .sp
.RS 4n .RS 4n
Plugin python_io python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_io @python_plugin@ ModulePath=<path> ClassName=<class>
.RE .RE
.fi .fi
.PP .PP
@@ -868,7 +868,7 @@ To try it, register it by adding the following lines to
.nf .nf
.sp .sp
.RS 4n .RS 4n
Plugin python_io python_plugin.so \e Plugin python_io @python_plugin@ \e
ModulePath=@EXAMPLES@/example_io_plugin.py \e ModulePath=@EXAMPLES@/example_io_plugin.py \e
ClassName=SudoIOPlugin ClassName=SudoIOPlugin
.RE .RE
@@ -880,7 +880,7 @@ For example:
.nf .nf
.sp .sp
.RS 4n .RS 4n
Plugin python_audit python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_audit @python_plugin@ ModulePath=<path> ClassName=<class>
.RE .RE
.fi .fi
.PP .PP
@@ -1188,7 +1188,7 @@ To try it, register it by adding the following lines to
.nf .nf
.sp .sp
.RS 4n .RS 4n
Plugin python_audit python_plugin.so \e Plugin python_audit @python_plugin@ \e
ModulePath=@EXAMPLES@/example_audit_plugin.py \e ModulePath=@EXAMPLES@/example_audit_plugin.py \e
ClassName=SudoAuditPlugin ClassName=SudoAuditPlugin
.RE .RE
@@ -1202,7 +1202,7 @@ For example:
.nf .nf
.sp .sp
.RS 4n .RS 4n
Plugin python_approval python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_approval @python_plugin@ ModulePath=<path> ClassName=<class>
.RE .RE
.fi .fi
.PP .PP
@@ -1332,7 +1332,7 @@ To try it, register it by adding the following lines to
.nf .nf
.sp .sp
.RS 4n .RS 4n
Plugin python_approval python_plugin.so \e Plugin python_approval @python_plugin@ \e
ModulePath=@EXAMPLES@/example_approval_plugin.py \e ModulePath=@EXAMPLES@/example_approval_plugin.py \e
ClassName=BusinessHoursApprovalPlugin ClassName=BusinessHoursApprovalPlugin
.RE .RE
@@ -1348,7 +1348,7 @@ For example:
.nf .nf
.sp .sp
.RS 4n .RS 4n
Defaults group_plugin="python_plugin.so ModulePath=<path> ClassName=<class>" Defaults group_plugin="@python_plugin@ ModulePath=<path> ClassName=<class>"
.RE .RE
.fi .fi
.PP .PP
@@ -1429,7 +1429,7 @@ file by adding the following lines:
.nf .nf
.sp .sp
.RS 4n .RS 4n
Defaults group_plugin="python_plugin.so \e Defaults group_plugin="@python_plugin@ \e
ModulePath=@EXAMPLES@/example_group_plugin.py \e ModulePath=@EXAMPLES@/example_group_plugin.py \e
ClassName=SudoGroupPlugin" ClassName=SudoGroupPlugin"
.RE .RE
@@ -1590,7 +1590,7 @@ To try it, register it by adding the following lines to
.nf .nf
.sp .sp
.RS 4n .RS 4n
Plugin python_io python_plugin.so \e Plugin python_io @python_plugin@ \e
ModulePath=@EXAMPLES@/example_conversation.py \e ModulePath=@EXAMPLES@/example_conversation.py \e
ClassName=ReasonLoggerIOPlugin ClassName=ReasonLoggerIOPlugin
.RE .RE
@@ -1644,14 +1644,14 @@ To enable debug messages, add a
line to line to
sudo.conf(@mansectform@) sudo.conf(@mansectform@)
with the program set to with the program set to
\fIpython_plugin.so\fR. \fI@python_plugin@\fR.
For example, to store debug output in For example, to store debug output in
\fI@log_dir@/sudo_python_debug\fR, \fI@log_dir@/sudo_python_debug\fR,
use a line like the following: use a line like the following:
.nf .nf
.sp .sp
.RS 4n .RS 4n
Debug python_plugin.so @log_dir@/sudo_python_debug \e Debug @python_plugin@ @log_dir@/sudo_python_debug \e
plugin@trace,c_calls@trace plugin@trace,c_calls@trace
.RE .RE
.fi .fi
@@ -1666,7 +1666,7 @@ calls, use:
.nf .nf
.sp .sp
.RS 4n .RS 4n
Debug python_plugin.so @log_dir@/sudo_python_debug plugin@trace Debug @python_plugin@ @log_dir@/sudo_python_debug plugin@trace
.RE .RE
.fi .fi
.PP .PP
@@ -1769,11 +1769,11 @@ To try it, register it by adding the following lines to
.nf .nf
.sp .sp
.RS 4n .RS 4n
Plugin python_io python_plugin.so \e Plugin python_io @python_plugin@ \e
ModulePath=@EXAMPLES@/example_debugging.py \e ModulePath=@EXAMPLES@/example_debugging.py \e
ClassName=DebugDemoPlugin ClassName=DebugDemoPlugin
Debug python_plugin.so \e Debug @python_plugin@ \e
@log_dir@/sudo_python_debug plugin@trace,c_calls@trace @log_dir@/sudo_python_debug plugin@trace,c_calls@trace
.RE .RE
.fi .fi
@@ -1872,7 +1872,7 @@ If you believe you have found a bug in
you can submit a bug report at https://bugzilla.sudo.ws/ you can submit a bug report at https://bugzilla.sudo.ws/
.SH "SECURITY CONSIDERATIONS" .SH "SECURITY CONSIDERATIONS"
All Python plugin handling is implemented inside the All Python plugin handling is implemented inside the
\fIpython_plugin.so\fR \fI@python_plugin@\fR
dynamic plugin. dynamic plugin.
Therefore, if no Python plugin is registered in Therefore, if no Python plugin is registered in
sudo.conf(@mansectform@) sudo.conf(@mansectform@)

View File

@@ -128,7 +128,7 @@ Running the Python interpreter and bridging between C and Python is
handled by the handled by the
.Nm sudo .Nm sudo
plugin plugin
.Pa python_plugin.so . .Pa @python_plugin@ .
This shared object can be loaded like any other dynamic This shared object can be loaded like any other dynamic
.Nm sudo .Nm sudo
plugin and should receive the path and the class name of the Python plugin and should receive the path and the class name of the Python
@@ -137,17 +137,17 @@ plugin it is loading as arguments.
Example usage in Example usage in
.Xr sudo.conf @mansectform@ : .Xr sudo.conf @mansectform@ :
.Bd -literal -offset 4n .Bd -literal -offset 4n
Plugin python_policy python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_policy @python_plugin@ ModulePath=<path> ClassName=<class>
Plugin python_io python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_io @python_plugin@ ModulePath=<path> ClassName=<class>
Plugin python_audit python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_audit @python_plugin@ ModulePath=<path> ClassName=<class>
Plugin python_approval python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_approval @python_plugin@ ModulePath=<path> ClassName=<class>
.Ed .Ed
.Pp .Pp
Example group provider plugin usage in the Example group provider plugin usage in the
.Em sudoers .Em sudoers
file: file:
.Bd -literal -offset 4n .Bd -literal -offset 4n
Defaults group_plugin="python_plugin.so ModulePath=<path> ClassName=<class>" Defaults group_plugin="@python_plugin@ ModulePath=<path> ClassName=<class>"
.Ed .Ed
.Pp .Pp
The plugin arguments are as follows: The plugin arguments are as follows:
@@ -179,7 +179,7 @@ Policy plugins must be registered in
.Xr sudo.conf @mansectform@ . .Xr sudo.conf @mansectform@ .
For example: For example:
.Bd -literal -offset 4n .Bd -literal -offset 4n
Plugin python_policy python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_policy @python_plugin@ ModulePath=<path> ClassName=<class>
.Ed .Ed
.Pp .Pp
Currently, only a single policy plugin may be specified in Currently, only a single policy plugin may be specified in
@@ -464,7 +464,7 @@ Sudo ships with an example Python policy plugin.
To try it, register it by adding the following lines to To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf : .Pa @sysconfdir@/sudo.conf :
.Bd -literal .Bd -literal
Plugin python_policy python_plugin.so \e Plugin python_policy @python_plugin@ \e
ModulePath=@EXAMPLES@/example_policy_plugin.py \e ModulePath=@EXAMPLES@/example_policy_plugin.py \e
ClassName=SudoPolicyPlugin ClassName=SudoPolicyPlugin
.Ed .Ed
@@ -479,7 +479,7 @@ I/O plugins must be registered in
.Xr sudo.conf @mansectform@ . .Xr sudo.conf @mansectform@ .
For example: For example:
.Bd -literal -offset 4n .Bd -literal -offset 4n
Plugin python_io python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_io @python_plugin@ ModulePath=<path> ClassName=<class>
.Ed .Ed
.Pp .Pp
Sudo supports loading multiple I/O plugins. Sudo supports loading multiple I/O plugins.
@@ -706,7 +706,7 @@ Sudo ships with a Python I/O plugin example.
To try it, register it by adding the following lines to To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf : .Pa @sysconfdir@/sudo.conf :
.Bd -literal -offset 4n .Bd -literal -offset 4n
Plugin python_io python_plugin.so \e Plugin python_io @python_plugin@ \e
ModulePath=@EXAMPLES@/example_io_plugin.py \e ModulePath=@EXAMPLES@/example_io_plugin.py \e
ClassName=SudoIOPlugin ClassName=SudoIOPlugin
.Ed .Ed
@@ -715,7 +715,7 @@ Audit plugins must be registered in
.Xr sudo.conf @mansectform@ . .Xr sudo.conf @mansectform@ .
For example: For example:
.Bd -literal -offset 4n .Bd -literal -offset 4n
Plugin python_audit python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_audit @python_plugin@ ModulePath=<path> ClassName=<class>
.Ed .Ed
.Pp .Pp
Sudo supports loading multiple audit plugins. Sudo supports loading multiple audit plugins.
@@ -955,7 +955,7 @@ Sudo ships with a Python Audit plugin example.
To try it, register it by adding the following lines to To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf : .Pa @sysconfdir@/sudo.conf :
.Bd -literal -offset 4n .Bd -literal -offset 4n
Plugin python_audit python_plugin.so \e Plugin python_audit @python_plugin@ \e
ModulePath=@EXAMPLES@/example_audit_plugin.py \e ModulePath=@EXAMPLES@/example_audit_plugin.py \e
ClassName=SudoAuditPlugin ClassName=SudoAuditPlugin
.Ed .Ed
@@ -966,7 +966,7 @@ Approval plugins must be registered in
.Xr sudo.conf @mansectform@ . .Xr sudo.conf @mansectform@ .
For example: For example:
.Bd -literal -offset 4n .Bd -literal -offset 4n
Plugin python_approval python_plugin.so ModulePath=<path> ClassName=<class> Plugin python_approval @python_plugin@ ModulePath=<path> ClassName=<class>
.Ed .Ed
.Pp .Pp
Sudo supports loading multiple approval plugins. Sudo supports loading multiple approval plugins.
@@ -1064,7 +1064,7 @@ Sudo ships with a Python Approval plugin example.
To try it, register it by adding the following lines to To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf : .Pa @sysconfdir@/sudo.conf :
.Bd -literal -offset 4n .Bd -literal -offset 4n
Plugin python_approval python_plugin.so \e Plugin python_approval @python_plugin@ \e
ModulePath=@EXAMPLES@/example_approval_plugin.py \e ModulePath=@EXAMPLES@/example_approval_plugin.py \e
ClassName=BusinessHoursApprovalPlugin ClassName=BusinessHoursApprovalPlugin
.Ed .Ed
@@ -1077,7 +1077,7 @@ A group provider plugin is registered in the
file. file.
For example: For example:
.Bd -literal -offset 4n .Bd -literal -offset 4n
Defaults group_plugin="python_plugin.so ModulePath=<path> ClassName=<class>" Defaults group_plugin="@python_plugin@ ModulePath=<path> ClassName=<class>"
.Ed .Ed
.Pp .Pp
Currently, only a single group plugin can be registered in Currently, only a single group plugin can be registered in
@@ -1141,7 +1141,7 @@ To try it, register it in the
.Em sudoers .Em sudoers
file by adding the following lines: file by adding the following lines:
.Bd -literal -offset 4n .Bd -literal -offset 4n
Defaults group_plugin="python_plugin.so \e Defaults group_plugin="@python_plugin@ \e
ModulePath=@EXAMPLES@/example_group_plugin.py \e ModulePath=@EXAMPLES@/example_group_plugin.py \e
ClassName=SudoGroupPlugin" ClassName=SudoGroupPlugin"
.Ed .Ed
@@ -1279,7 +1279,7 @@ Sudo ships with an example plugin demonstrating the Python conversation API.
To try it, register it by adding the following lines to To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf : .Pa @sysconfdir@/sudo.conf :
.Bd -literal -offset 4n .Bd -literal -offset 4n
Plugin python_io python_plugin.so \e Plugin python_io @python_plugin@ \e
ModulePath=@EXAMPLES@/example_conversation.py \e ModulePath=@EXAMPLES@/example_conversation.py \e
ClassName=ReasonLoggerIOPlugin ClassName=ReasonLoggerIOPlugin
.Ed .Ed
@@ -1329,12 +1329,12 @@ To enable debug messages, add a
line to line to
.Xr sudo.conf @mansectform@ .Xr sudo.conf @mansectform@
with the program set to with the program set to
.Pa python_plugin.so . .Pa @python_plugin@ .
For example, to store debug output in For example, to store debug output in
.Pa @log_dir@/sudo_python_debug , .Pa @log_dir@/sudo_python_debug ,
use a line like the following: use a line like the following:
.Bd -literal -offset 4n .Bd -literal -offset 4n
Debug python_plugin.so @log_dir@/sudo_python_debug \e Debug @python_plugin@ @log_dir@/sudo_python_debug \e
plugin@trace,c_calls@trace plugin@trace,c_calls@trace
.Ed .Ed
.Pp .Pp
@@ -1346,7 +1346,7 @@ For example to just see the debug output of
.Fn sudo.debug .Fn sudo.debug
calls, use: calls, use:
.Bd -literal -offset 4n .Bd -literal -offset 4n
Debug python_plugin.so @log_dir@/sudo_python_debug plugin@trace Debug @python_plugin@ @log_dir@/sudo_python_debug plugin@trace
.Ed .Ed
.Pp .Pp
See See
@@ -1428,11 +1428,11 @@ Sudo ships with an example debug plugin.
To try it, register it by adding the following lines to To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf : .Pa @sysconfdir@/sudo.conf :
.Bd -literal -offset 4n .Bd -literal -offset 4n
Plugin python_io python_plugin.so \e Plugin python_io @python_plugin@ \e
ModulePath=@EXAMPLES@/example_debugging.py \e ModulePath=@EXAMPLES@/example_debugging.py \e
ClassName=DebugDemoPlugin ClassName=DebugDemoPlugin
Debug python_plugin.so \e Debug @python_plugin@ \e
@log_dir@/sudo_python_debug plugin@trace,c_calls@trace @log_dir@/sudo_python_debug plugin@trace,c_calls@trace
.Ed .Ed
.Ss Option conversion API .Ss Option conversion API
@@ -1523,7 +1523,7 @@ If you believe you have found a bug in
you can submit a bug report at https://bugzilla.sudo.ws/ you can submit a bug report at https://bugzilla.sudo.ws/
.Sh SECURITY CONSIDERATIONS .Sh SECURITY CONSIDERATIONS
All Python plugin handling is implemented inside the All Python plugin handling is implemented inside the
.Pa python_plugin.so .Pa @python_plugin@
dynamic plugin. dynamic plugin.
Therefore, if no Python plugin is registered in Therefore, if no Python plugin is registered in
.Xr sudo.conf @mansectform@ .Xr sudo.conf @mansectform@

View File

@@ -5147,23 +5147,23 @@ On Solaris, if the plugin is stored in a directory ending in
will create a fallback path by appending will create a fallback path by appending
\(lq/64\(rq \(lq/64\(rq
to the directory name; to the directory name;
\fI/usr/lib/sudo_plugin.so\fR \fI@prefix@/lib/group_plugin.so\fR
becomes becomes
\fI/usr/lib/64/sudo_plugin.so\fR. \fI@prefix@/lib/64/group_plugin.so\fR.
On Linux, a directory ending in On Linux, a directory ending in
\(lqlib\(rq \(lqlib\(rq
will be transformed to will be transformed to
\(lqlib64\(rq \(lqlib64\(rq
as the fallback path; as the fallback path;
\fI/usr/lib/sudo_plugin.so\fR \fI@prefix@/lib/group_plugin.so\fR
becomes becomes
\fI/usr/lib64/sudo_plugin.so\fR. \fI@prefix@/lib64/group_plugin.so\fR.
On all other systems, the fallback path is generated by adding a On all other systems, the fallback path is generated by adding a
\(lq64\(rq \(lq64\(rq
before the file extension; before the file extension;
\fIsudo_plugin.so\fR \fIgroup_plugin.so\fR
becomes becomes
\fIsudo_plugin64.so\fR. \fIgroup_plugin64.so\fR.
.sp .sp
For more information see For more information see
\fIGROUP PROVIDER PLUGINS\fR. \fIGROUP PROVIDER PLUGINS\fR.

View File

@@ -4845,23 +4845,23 @@ On Solaris, if the plugin is stored in a directory ending in
will create a fallback path by appending will create a fallback path by appending
.Dq /64 .Dq /64
to the directory name; to the directory name;
.Pa /usr/lib/sudo_plugin.so .Pa @prefix@/lib/group_plugin.so
becomes becomes
.Pa /usr/lib/64/sudo_plugin.so . .Pa @prefix@/lib/64/group_plugin.so .
On Linux, a directory ending in On Linux, a directory ending in
.Dq lib .Dq lib
will be transformed to will be transformed to
.Dq lib64 .Dq lib64
as the fallback path; as the fallback path;
.Pa /usr/lib/sudo_plugin.so .Pa @prefix@/lib/group_plugin.so
becomes becomes
.Pa /usr/lib64/sudo_plugin.so . .Pa @prefix@/lib64/group_plugin.so .
On all other systems, the fallback path is generated by adding a On all other systems, the fallback path is generated by adding a
.Dq 64 .Dq 64
before the file extension; before the file extension;
.Pa sudo_plugin.so .Pa group_plugin.so
becomes becomes
.Pa sudo_plugin64.so . .Pa group_plugin64.so .
.Pp .Pp
For more information see For more information see
.Sx "GROUP PROVIDER PLUGINS" . .Sx "GROUP PROVIDER PLUGINS" .