Pass plugin path in the settings array.
This commit is contained in:
@@ -178,6 +178,11 @@ DDEESSCCRRIIPPTTIIOONN
|
|||||||
plugin was loaded from. It may be used by a plugin to
|
plugin was loaded from. It may be used by a plugin to
|
||||||
locate support files.
|
locate support files.
|
||||||
|
|
||||||
|
plugin_path=string
|
||||||
|
The path name of plugin loaded by the ssuuddoo front end.
|
||||||
|
The path name will be a fully-qualified unless the
|
||||||
|
plugin was statically compiled into ssuuddoo.
|
||||||
|
|
||||||
preserve_environment=bool
|
preserve_environment=bool
|
||||||
Set to true if the user specified the --EE flag,
|
Set to true if the user specified the --EE flag,
|
||||||
indicating that the user wishes to preserve the
|
indicating that the user wishes to preserve the
|
||||||
@@ -1462,6 +1467,9 @@ PPLLUUGGIINN AAPPII CCHHAANNGGEELLOOGG
|
|||||||
Previously, output from the command would be displayed to the
|
Previously, output from the command would be displayed to the
|
||||||
terminal even if an output logging function returned 0.
|
terminal even if an output logging function returned 0.
|
||||||
|
|
||||||
|
Version 1.7 (sudo 1.8.12)
|
||||||
|
The _p_l_u_g_i_n___p_a_t_h entry was added to the settings list.
|
||||||
|
|
||||||
SSEEEE AALLSSOO
|
SSEEEE AALLSSOO
|
||||||
sudo.conf(4), sudoers(4), sudo(1m)
|
sudo.conf(4), sudoers(4), sudo(1m)
|
||||||
|
|
||||||
|
@@ -304,6 +304,14 @@ This is the default directory set at compile time and may not
|
|||||||
correspond to the directory the running plugin was loaded from.
|
correspond to the directory the running plugin was loaded from.
|
||||||
It may be used by a plugin to locate support files.
|
It may be used by a plugin to locate support files.
|
||||||
.TP 6n
|
.TP 6n
|
||||||
|
plugin_path=string
|
||||||
|
The path name of plugin loaded by the
|
||||||
|
\fBsudo\fR
|
||||||
|
front end.
|
||||||
|
The path name will be a fully-qualified unless the plugin was
|
||||||
|
statically compiled into
|
||||||
|
\fBsudo\fR.
|
||||||
|
.TP 6n
|
||||||
preserve_environment=bool
|
preserve_environment=bool
|
||||||
Set to true if the user specified the
|
Set to true if the user specified the
|
||||||
\fB\-E\fR
|
\fB\-E\fR
|
||||||
@@ -2608,6 +2616,13 @@ function returned an error.
|
|||||||
The behavior when an I/O logging plugin returns 0 has changed.
|
The behavior when an I/O logging plugin returns 0 has changed.
|
||||||
Previously, output from the command would be displayed to the
|
Previously, output from the command would be displayed to the
|
||||||
terminal even if an output logging function returned 0.
|
terminal even if an output logging function returned 0.
|
||||||
|
.TP 6n
|
||||||
|
Version 1.7 (sudo 1.8.12)
|
||||||
|
The
|
||||||
|
\fIplugin_path\fR
|
||||||
|
entry was added to the
|
||||||
|
\fRsettings\fR
|
||||||
|
list.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
sudo.conf(@mansectform@),
|
sudo.conf(@mansectform@),
|
||||||
sudoers(@mansectform@),
|
sudoers(@mansectform@),
|
||||||
|
@@ -275,6 +275,13 @@ front end.
|
|||||||
This is the default directory set at compile time and may not
|
This is the default directory set at compile time and may not
|
||||||
correspond to the directory the running plugin was loaded from.
|
correspond to the directory the running plugin was loaded from.
|
||||||
It may be used by a plugin to locate support files.
|
It may be used by a plugin to locate support files.
|
||||||
|
.It plugin_path=string
|
||||||
|
The path name of plugin loaded by the
|
||||||
|
.Nm sudo
|
||||||
|
front end.
|
||||||
|
The path name will be a fully-qualified unless the plugin was
|
||||||
|
statically compiled into
|
||||||
|
.Nm sudo .
|
||||||
.It preserve_environment=bool
|
.It preserve_environment=bool
|
||||||
Set to true if the user specified the
|
Set to true if the user specified the
|
||||||
.Fl E
|
.Fl E
|
||||||
@@ -2279,6 +2286,12 @@ function returned an error.
|
|||||||
The behavior when an I/O logging plugin returns 0 has changed.
|
The behavior when an I/O logging plugin returns 0 has changed.
|
||||||
Previously, output from the command would be displayed to the
|
Previously, output from the command would be displayed to the
|
||||||
terminal even if an output logging function returned 0.
|
terminal even if an output logging function returned 0.
|
||||||
|
.It Version 1.7 (sudo 1.8.12)
|
||||||
|
The
|
||||||
|
.Em plugin_path
|
||||||
|
entry was added to the
|
||||||
|
.Li settings
|
||||||
|
list.
|
||||||
.El
|
.El
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr sudo.conf @mansectform@ ,
|
.Xr sudo.conf @mansectform@ ,
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2013 Todd C. Miller <Todd.Miller@courtesan.com>
|
* Copyright (c) 2009-2014 Todd C. Miller <Todd.Miller@courtesan.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and distribute this software for any
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
/* API version major/minor */
|
/* API version major/minor */
|
||||||
#define SUDO_API_VERSION_MAJOR 1
|
#define SUDO_API_VERSION_MAJOR 1
|
||||||
#define SUDO_API_VERSION_MINOR 6
|
#define SUDO_API_VERSION_MINOR 7
|
||||||
#define SUDO_API_MKVERSION(x, y) ((x << 16) | y)
|
#define SUDO_API_MKVERSION(x, y) ((x << 16) | y)
|
||||||
#define SUDO_API_VERSION SUDO_API_MKVERSION(SUDO_API_VERSION_MAJOR, SUDO_API_VERSION_MINOR)
|
#define SUDO_API_VERSION SUDO_API_MKVERSION(SUDO_API_VERSION_MAJOR, SUDO_API_VERSION_MINOR)
|
||||||
|
|
||||||
|
@@ -237,6 +237,7 @@ sudo_load_plugin(struct plugin_container *policy_plugin,
|
|||||||
}
|
}
|
||||||
if (handle != NULL) {
|
if (handle != NULL) {
|
||||||
policy_plugin->handle = handle;
|
policy_plugin->handle = handle;
|
||||||
|
policy_plugin->path = sudo_estrdup(path);
|
||||||
policy_plugin->name = info->symbol_name;
|
policy_plugin->name = info->symbol_name;
|
||||||
policy_plugin->options = info->options;
|
policy_plugin->options = info->options;
|
||||||
policy_plugin->u.generic = plugin;
|
policy_plugin->u.generic = plugin;
|
||||||
@@ -255,6 +256,7 @@ sudo_load_plugin(struct plugin_container *policy_plugin,
|
|||||||
if (handle != NULL) {
|
if (handle != NULL) {
|
||||||
container = sudo_ecalloc(1, sizeof(*container));
|
container = sudo_ecalloc(1, sizeof(*container));
|
||||||
container->handle = handle;
|
container->handle = handle;
|
||||||
|
container->path = sudo_estrdup(path);
|
||||||
container->name = info->symbol_name;
|
container->name = info->symbol_name;
|
||||||
container->options = info->options;
|
container->options = info->options;
|
||||||
container->u.generic = plugin;
|
container->u.generic = plugin;
|
||||||
|
@@ -1091,6 +1091,8 @@ format_plugin_settings(struct plugin_container *plugin,
|
|||||||
debug_decl(format_plugin_settings, SUDO_DEBUG_PCOMM)
|
debug_decl(format_plugin_settings, SUDO_DEBUG_PCOMM)
|
||||||
|
|
||||||
plugin_settings = sudo_emallocarray(plugin_settings_size, sizeof(char *));
|
plugin_settings = sudo_emallocarray(plugin_settings_size, sizeof(char *));
|
||||||
|
plugin_settings[num_plugin_settings++] =
|
||||||
|
sudo_new_key_val("plugin_path", plugin->path);
|
||||||
while (settings->name != NULL) {
|
while (settings->name != NULL) {
|
||||||
if (settings->value != NULL) {
|
if (settings->value != NULL) {
|
||||||
sudo_debug_printf(SUDO_DEBUG_INFO, "settings: %s=%s",
|
sudo_debug_printf(SUDO_DEBUG_INFO, "settings: %s=%s",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2010-2013 Todd C. Miller <Todd.Miller@courtesan.com>
|
* Copyright (c) 2010-2014 Todd C. Miller <Todd.Miller@courtesan.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and distribute this software for any
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
@@ -83,6 +83,7 @@ struct io_plugin_1_1 {
|
|||||||
struct plugin_container {
|
struct plugin_container {
|
||||||
TAILQ_ENTRY(plugin_container) entries;
|
TAILQ_ENTRY(plugin_container) entries;
|
||||||
const char *name;
|
const char *name;
|
||||||
|
const char *path;
|
||||||
char * const *options;
|
char * const *options;
|
||||||
void *handle;
|
void *handle;
|
||||||
union {
|
union {
|
||||||
|
Reference in New Issue
Block a user