Add argc and argv to I/O logger open function.

This commit is contained in:
Todd C. Miller
2010-05-17 10:38:56 -04:00
parent fa717176b2
commit 55ef027d88
8 changed files with 191 additions and 162 deletions

View File

@@ -652,7 +652,8 @@ See the sample plugin for an example of the conversation function usage.
unsigned int version; /* always SUDO_API_VERSION */
int (*open)(unsigned int version, sudo_conv_t conversation
sudo_printf_t plugin_printf, char * const settings[],
char * const user_info[], char * const user_env[]);
char * const user_info[], int argc, char * const argv[],
char * const user_env[]);
void (*close)(int exit_status, int error); /* wait status or error */
int (*show_version)(int verbose);
int (*log_ttyin)(const char *buf, unsigned int len);
@@ -700,7 +701,8 @@ built against.
int (*open)(unsigned int version, sudo_conv_t conversation
sudo_printf_t plugin_printf, char * const settings[],
char * const user_info[], char * const user_env[]);
char * const user_info[], int argc, char * const argv[],
char * const user_env[]);
The I<open> function is run before the I<log_input>, I<log_output>
or I<show_version> functions are called. It is only called if the
@@ -761,6 +763,17 @@ itself but the I<value> might.
See the L<Policy Plugin API> section for a list of all possible strings.
=item argc
The number of elements in I<argv>, not counting the final C<NULL>
pointer.
=item argv
If non-C<NULL>, an argument vector describing a command the user
wishes to run in the same form as what would be passed to the
execve() system call.
=item user_env
The user's environment in the form of a C<NULL>-terminated vector of