Apply spelling fixes.
Fixes from PR #30 (ka7) and Bug #925 (fossies.org codespell)
This commit is contained in:
20
NEWS
20
NEWS
@@ -401,7 +401,7 @@ What's new in Sudo 1.8.25
|
|||||||
while the system is sleeping is used where available.
|
while the system is sleeping is used where available.
|
||||||
|
|
||||||
* Fixed a bug introduced in sudo 1.8.24 where sudoNotAfter in the LDAP
|
* Fixed a bug introduced in sudo 1.8.24 where sudoNotAfter in the LDAP
|
||||||
backend was not being properly parsed. Bug #845.
|
back-end was not being properly parsed. Bug #845.
|
||||||
|
|
||||||
* When sudo runs a command in a pseudo-tty, the slave device is
|
* When sudo runs a command in a pseudo-tty, the slave device is
|
||||||
now closed in the main process immediately after starting the
|
now closed in the main process immediately after starting the
|
||||||
@@ -423,12 +423,12 @@ What's new in Sudo 1.8.25
|
|||||||
LOGNAME on AIX systems. Bug #848.
|
LOGNAME on AIX systems. Bug #848.
|
||||||
|
|
||||||
* Fixed a regression introduced in sudo 1.8.24 where the LDAP and
|
* Fixed a regression introduced in sudo 1.8.24 where the LDAP and
|
||||||
SSSD backends evaluated the rules in reverse sudoOrder. Bug #849.
|
SSSD back-ends evaluated the rules in reverse sudoOrder. Bug #849.
|
||||||
|
|
||||||
What's new in Sudo 1.8.24
|
What's new in Sudo 1.8.24
|
||||||
|
|
||||||
* The LDAP and SSS back-ends now use the same rule evaluation code
|
* The LDAP and SSS back-ends now use the same rule evaluation code
|
||||||
as the sudoers file backend. This builds on the work in sudo
|
as the sudoers file back-end. This builds on the work in sudo
|
||||||
1.8.23 where the formatting functions for "sudo -l" output were
|
1.8.23 where the formatting functions for "sudo -l" output were
|
||||||
shared. The handling of negated commands in SSS and LDAP is
|
shared. The handling of negated commands in SSS and LDAP is
|
||||||
unchanged.
|
unchanged.
|
||||||
@@ -498,7 +498,7 @@ What's new in Sudo 1.8.23
|
|||||||
It is also possible to filter the generated output file by user,
|
It is also possible to filter the generated output file by user,
|
||||||
group or host name.
|
group or host name.
|
||||||
|
|
||||||
* The file, ldap and sss sudoers backends now share a common set
|
* The file, ldap and sss sudoers back-ends now share a common set
|
||||||
of formatting functions for "sudo -l" output, which is also used
|
of formatting functions for "sudo -l" output, which is also used
|
||||||
by the cvtsudoers utility.
|
by the cvtsudoers utility.
|
||||||
|
|
||||||
@@ -592,7 +592,7 @@ What's new in Sudo 1.8.22
|
|||||||
* A new "authfail_message" sudoers option that overrides the
|
* A new "authfail_message" sudoers option that overrides the
|
||||||
default "N incorrect password attempt(s)".
|
default "N incorrect password attempt(s)".
|
||||||
|
|
||||||
* An empty sudoRunAsUser attribute in the LDAP and SSSD backends
|
* An empty sudoRunAsUser attribute in the LDAP and SSSD back-ends
|
||||||
will now match the invoking user. This is more consistent with
|
will now match the invoking user. This is more consistent with
|
||||||
how an empty runas user in the sudoers file is treated.
|
how an empty runas user in the sudoers file is treated.
|
||||||
|
|
||||||
@@ -670,7 +670,7 @@ What's new in Sudo 1.8.21
|
|||||||
environment when the "env_reset" sudoers setting is disabled by
|
environment when the "env_reset" sudoers setting is disabled by
|
||||||
removing the "*=()*" pattern from the env_delete list.
|
removing the "*=()*" pattern from the env_delete list.
|
||||||
|
|
||||||
* A change made in sudo 1.8.15 inadvertantly caused sudoedit to
|
* A change made in sudo 1.8.15 inadvertently caused sudoedit to
|
||||||
send itself SIGHUP instead of exiting when the editor returns
|
send itself SIGHUP instead of exiting when the editor returns
|
||||||
an error or the file was not modified.
|
an error or the file was not modified.
|
||||||
|
|
||||||
@@ -921,7 +921,7 @@ What's new in Sudo 1.8.18
|
|||||||
* The sudoers locale is now set before parsing the sudoers file.
|
* The sudoers locale is now set before parsing the sudoers file.
|
||||||
If sudoers_locale is set in sudoers, it is applied before
|
If sudoers_locale is set in sudoers, it is applied before
|
||||||
evaluating other Defaults entries. Previously, sudoers_locale
|
evaluating other Defaults entries. Previously, sudoers_locale
|
||||||
was used when evaluating sudoers but not during the inital parse.
|
was used when evaluating sudoers but not during the initial parse.
|
||||||
Bug #748.
|
Bug #748.
|
||||||
|
|
||||||
* A missing or otherwise invalid #includedir is now ignored instead
|
* A missing or otherwise invalid #includedir is now ignored instead
|
||||||
@@ -1019,7 +1019,7 @@ What's new in Sudo 1.8.17
|
|||||||
file entries were missing the newline when loglinelen is set to
|
file entries were missing the newline when loglinelen is set to
|
||||||
a non-positive number. Bug #742.
|
a non-positive number. Bug #742.
|
||||||
|
|
||||||
* Unix groups are now set before the plugin session intialization
|
* Unix groups are now set before the plugin session initialization
|
||||||
code is run. This makes it possible to use dynamic groups with
|
code is run. This makes it possible to use dynamic groups with
|
||||||
the Linux-PAM pam_group module.
|
the Linux-PAM pam_group module.
|
||||||
|
|
||||||
@@ -1351,7 +1351,7 @@ What's new in Sudo 1.8.13
|
|||||||
|
|
||||||
* The editor invoked by sudoedit once again uses an unmodified
|
* The editor invoked by sudoedit once again uses an unmodified
|
||||||
copy of the user's environment as per the documentation. This
|
copy of the user's environment as per the documentation. This
|
||||||
was inadvertantly changed in sudo 1.8.0. Bug #688.
|
was inadvertently changed in sudo 1.8.0. Bug #688.
|
||||||
|
|
||||||
What's new in Sudo 1.8.12
|
What's new in Sudo 1.8.12
|
||||||
|
|
||||||
@@ -2099,7 +2099,7 @@ What's new in Sudo 1.8.5?
|
|||||||
when PAM is used. Sudo now merges the PAM environment into the
|
when PAM is used. Sudo now merges the PAM environment into the
|
||||||
user's environment which is typically set by the pam_env module.
|
user's environment which is typically set by the pam_env module.
|
||||||
|
|
||||||
* The initial evironment created when env_reset is in effect now
|
* The initial environment created when env_reset is in effect now
|
||||||
includes the contents of /etc/environment on AIX systems and the
|
includes the contents of /etc/environment on AIX systems and the
|
||||||
"setenv" and "path" entries from /etc/login.conf on BSD systems.
|
"setenv" and "path" entries from /etc/login.conf on BSD systems.
|
||||||
|
|
||||||
|
4
TODO
4
TODO
@@ -19,7 +19,7 @@ TODO list (most will be addressed in sudo 2.0)
|
|||||||
07) Should be able to mix Cmnd_Alias's and command args. Ie:
|
07) Should be able to mix Cmnd_Alias's and command args. Ie:
|
||||||
pete ALL=PASSWD [A-z]*,!PASSWD root
|
pete ALL=PASSWD [A-z]*,!PASSWD root
|
||||||
where PASSWD was defined to be /usr/bin/passwd.
|
where PASSWD was defined to be /usr/bin/passwd.
|
||||||
This requires the arg parsing to happen in the yacc grammer.
|
This requires the arg parsing to happen in the yacc grammar.
|
||||||
At the very least, commands and args have to become separate
|
At the very least, commands and args have to become separate
|
||||||
tokens in the lexer.
|
tokens in the lexer.
|
||||||
|
|
||||||
@@ -64,7 +64,7 @@ TODO list (most will be addressed in sudo 2.0)
|
|||||||
http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/basetrf2/setpenv.htm
|
http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/basetrf2/setpenv.htm
|
||||||
http://publib16.boulder.ibm.com/pseries/en_US/libs/basetrf2/setpcred.htm
|
http://publib16.boulder.ibm.com/pseries/en_US/libs/basetrf2/setpcred.htm
|
||||||
|
|
||||||
22) Add an insult_path variable that is intialized to "builtin" but that
|
22) Add an insult_path variable that is initialized to "builtin" but that
|
||||||
can point to other files containing an insult count as the first
|
can point to other files containing an insult count as the first
|
||||||
line and that have a constant record length (sparse files) for
|
line and that have a constant record length (sparse files) for
|
||||||
easy seeking.
|
easy seeking.
|
||||||
|
@@ -1035,7 +1035,7 @@
|
|||||||
/* Define to 1 if you don't want to use sudo's PAM session support. */
|
/* Define to 1 if you don't want to use sudo's PAM session support. */
|
||||||
#undef NO_PAM_SESSION
|
#undef NO_PAM_SESSION
|
||||||
|
|
||||||
/* Define to avoid runing the mailer as root. */
|
/* Define to avoid running the mailer as root. */
|
||||||
#undef NO_ROOT_MAILER
|
#undef NO_ROOT_MAILER
|
||||||
|
|
||||||
/* Define to 1 if root should not be allowed to use sudo. */
|
/* Define to 1 if root should not be allowed to use sudo. */
|
||||||
|
@@ -4763,7 +4763,7 @@ AH_TEMPLATE(NO_AUTHENTICATION, [Define to 1 if you don't want sudo to prompt for
|
|||||||
AH_TEMPLATE(NO_LEAKS, [Define to 1 if you want sudo to free up memory before exiting.])
|
AH_TEMPLATE(NO_LEAKS, [Define to 1 if you want sudo to free up memory before exiting.])
|
||||||
AH_TEMPLATE(NO_LECTURE, [Define to 1 if you don't want users to get the lecture the first they user sudo.])
|
AH_TEMPLATE(NO_LECTURE, [Define to 1 if you don't want users to get the lecture the first they user sudo.])
|
||||||
AH_TEMPLATE(NO_PAM_SESSION, [Define to 1 if you don't want to use sudo's PAM session support.])
|
AH_TEMPLATE(NO_PAM_SESSION, [Define to 1 if you don't want to use sudo's PAM session support.])
|
||||||
AH_TEMPLATE(NO_ROOT_MAILER, [Define to avoid runing the mailer as root.])
|
AH_TEMPLATE(NO_ROOT_MAILER, [Define to avoid running the mailer as root.])
|
||||||
AH_TEMPLATE(NO_ROOT_SUDO, [Define to 1 if root should not be allowed to use sudo.])
|
AH_TEMPLATE(NO_ROOT_SUDO, [Define to 1 if root should not be allowed to use sudo.])
|
||||||
AH_TEMPLATE(TIMESTAMP_TYPE, [Define to global, ppid or tty to set the default timestamp record type.])
|
AH_TEMPLATE(TIMESTAMP_TYPE, [Define to global, ppid or tty to set the default timestamp record type.])
|
||||||
AH_TEMPLATE(OFFENSIVE_INSULTS, [Define to 1 to include offensive insults from the classic version of sudo.])
|
AH_TEMPLATE(OFFENSIVE_INSULTS, [Define to 1 to include offensive insults from the classic version of sudo.])
|
||||||
|
@@ -1474,7 +1474,7 @@ sudo.conv(message(s), on_suspend=suspend_function,
|
|||||||
.PP
|
.PP
|
||||||
The function arguments are as follows:
|
The function arguments are as follows:
|
||||||
.TP 6n
|
.TP 6n
|
||||||
\fImesssage(s)\fR
|
\fImessage(s)\fR
|
||||||
One of more messages (of type
|
One of more messages (of type
|
||||||
\fBsudo.ConvMessage\fR),
|
\fBsudo.ConvMessage\fR),
|
||||||
each describing a conversation.
|
each describing a conversation.
|
||||||
@@ -1643,7 +1643,7 @@ The function arguments are as follows:
|
|||||||
.br
|
.br
|
||||||
an integer, use one of the log level constants below
|
an integer, use one of the log level constants below
|
||||||
.TP 6n
|
.TP 6n
|
||||||
\fImesssage(s)\fR
|
\fImessage(s)\fR
|
||||||
one or more messages to log
|
one or more messages to log
|
||||||
.PP
|
.PP
|
||||||
\fIAvailable log levels:\fR
|
\fIAvailable log levels:\fR
|
||||||
@@ -1652,7 +1652,7 @@ l l l.
|
|||||||
.PP
|
.PP
|
||||||
\fBsudo.conf name\fR \fBPython constant\fR \fBdescription\fR
|
\fBsudo.conf name\fR \fBPython constant\fR \fBdescription\fR
|
||||||
.PP
|
.PP
|
||||||
crit sudo.DEBUG.CRIT only cricital messages
|
crit sudo.DEBUG.CRIT only critical messages
|
||||||
.PP
|
.PP
|
||||||
err sudo.DEBUG.ERROR
|
err sudo.DEBUG.ERROR
|
||||||
.PP
|
.PP
|
||||||
|
@@ -1169,7 +1169,7 @@ sudo.conv(message(s), on_suspend=suspend_function,
|
|||||||
.Pp
|
.Pp
|
||||||
The function arguments are as follows:
|
The function arguments are as follows:
|
||||||
.Bl -tag -width 4n
|
.Bl -tag -width 4n
|
||||||
.It Fa messsage(s)
|
.It Fa message(s)
|
||||||
One of more messages (of type
|
One of more messages (of type
|
||||||
.Sy sudo.ConvMessage ) ,
|
.Sy sudo.ConvMessage ) ,
|
||||||
each describing a conversation.
|
each describing a conversation.
|
||||||
@@ -1316,14 +1316,14 @@ The function arguments are as follows:
|
|||||||
.Bl -tag -width 4n
|
.Bl -tag -width 4n
|
||||||
.It Fa level
|
.It Fa level
|
||||||
an integer, use one of the log level constants below
|
an integer, use one of the log level constants below
|
||||||
.It Fa messsage(s)
|
.It Fa message(s)
|
||||||
one or more messages to log
|
one or more messages to log
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
.Em Available log levels:
|
.Em Available log levels:
|
||||||
.Bl -column "name in sudo.conf" "Python constant" "only cricital messages"
|
.Bl -column "name in sudo.conf" "Python constant" "only critical messages"
|
||||||
.It Sy sudo.conf name Ta Sy Python constant Ta Sy description
|
.It Sy sudo.conf name Ta Sy Python constant Ta Sy description
|
||||||
.It crit Ta sudo.DEBUG.CRIT Ta only cricital messages
|
.It crit Ta sudo.DEBUG.CRIT Ta only critical messages
|
||||||
.It err Ta sudo.DEBUG.ERROR Ta
|
.It err Ta sudo.DEBUG.ERROR Ta
|
||||||
.It warn Ta sudo.DEBUG.WARN Ta
|
.It warn Ta sudo.DEBUG.WARN Ta
|
||||||
.It notice Ta sudo.DEBUG.NOTICE Ta
|
.It notice Ta sudo.DEBUG.NOTICE Ta
|
||||||
|
@@ -331,7 +331,7 @@ still allow people to get their work done."
|
|||||||
libc6, libpam0g, libpam-modules, zlib1g, libselinux1, libssl1.1
|
libc6, libpam0g, libpam-modules, zlib1g, libselinux1, libssl1.1
|
||||||
|
|
||||||
%fixup [deb]
|
%fixup [deb]
|
||||||
# Add Conflicts, Replaces headers and add libldap depedency as needed.
|
# Add Conflicts, Replaces headers and add libldap dependency as needed.
|
||||||
DEPENDS="%{linux_audit}"
|
DEPENDS="%{linux_audit}"
|
||||||
if test -z "%{flavor}"; then
|
if test -z "%{flavor}"; then
|
||||||
echo "Conflicts: sudo-ldap" >> %{pp_wrkdir}/%{name}/DEBIAN/control
|
echo "Conflicts: sudo-ldap" >> %{pp_wrkdir}/%{name}/DEBIAN/control
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* This is an implementation of the getaddrinfo family of functions for
|
* This is an implementation of the getaddrinfo family of functions for
|
||||||
* systems that lack it, so that code can use getaddrinfo always. It provides
|
* systems that lack it, so that code can use getaddrinfo always. It provides
|
||||||
* IPv4 support only; for IPv6 support, a native getaddrinfo implemenation is
|
* IPv4 support only; for IPv6 support, a native getaddrinfo implementation is
|
||||||
* required.
|
* required.
|
||||||
*
|
*
|
||||||
* The canonical version of this file is maintained in the rra-c-util package,
|
* The canonical version of this file is maintained in the rra-c-util package,
|
||||||
|
@@ -95,7 +95,7 @@ struct sudo_event_base {
|
|||||||
sig_atomic_t signal_pending[NSIG]; /* pending signals */
|
sig_atomic_t signal_pending[NSIG]; /* pending signals */
|
||||||
sig_atomic_t signal_caught; /* at least one signal caught */
|
sig_atomic_t signal_caught; /* at least one signal caught */
|
||||||
int num_handlers; /* number of installed handlers */
|
int num_handlers; /* number of installed handlers */
|
||||||
int signal_pipe[2]; /* so we can wake up on singal */
|
int signal_pipe[2]; /* so we can wake up on signal */
|
||||||
#if defined(HAVE_POLL) || defined(HAVE_PPOLL)
|
#if defined(HAVE_POLL) || defined(HAVE_PPOLL)
|
||||||
struct pollfd *pfds; /* array of struct pollfd */
|
struct pollfd *pfds; /* array of struct pollfd */
|
||||||
int pfd_max; /* size of the pfds array */
|
int pfd_max; /* size of the pfds array */
|
||||||
|
@@ -161,7 +161,7 @@
|
|||||||
#define sudo_isclr(_a, _i) (((_a)[(_i) / NBBY] & (1<<((_i) % NBBY))) == 0)
|
#define sudo_isclr(_a, _i) (((_a)[(_i) / NBBY] & (1<<((_i) % NBBY))) == 0)
|
||||||
|
|
||||||
/* sudo_parseln() flags */
|
/* sudo_parseln() flags */
|
||||||
#define PARSELN_COMM_BOL 0x01 /* comments only at begining of line */
|
#define PARSELN_COMM_BOL 0x01 /* comments only at beginning of line */
|
||||||
#define PARSELN_CONT_IGN 0x02 /* ignore line continuation char */
|
#define PARSELN_CONT_IGN 0x02 /* ignore line continuation char */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -310,7 +310,7 @@ int sudo_fnmatch(const char *pattern, const char *string, int flags)
|
|||||||
const char *dummyptr;
|
const char *dummyptr;
|
||||||
const char *matchptr;
|
const char *matchptr;
|
||||||
int wild;
|
int wild;
|
||||||
/* For '*' wild processing only; surpress 'used before initialization'
|
/* For '*' wild processing only; suppress 'used before initialization'
|
||||||
* warnings with dummy initialization values;
|
* warnings with dummy initialization values;
|
||||||
*/
|
*/
|
||||||
const char *strstartseg = NULL;
|
const char *strstartseg = NULL;
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
* Replacement for a missing getaddrinfo.
|
* Replacement for a missing getaddrinfo.
|
||||||
*
|
*
|
||||||
* This is an implementation of getaddrinfo for systems that don't have one so
|
* This is an implementation of getaddrinfo for systems that don't have one so
|
||||||
* that networking code can use a consistant interface without #ifdef. It is
|
* that networking code can use a consistent interface without #ifdef. It is
|
||||||
* a fairly minimal implementation, with the following limitations:
|
* a fairly minimal implementation, with the following limitations:
|
||||||
*
|
*
|
||||||
* - IPv4 support only. IPv6 is not supported.
|
* - IPv4 support only. IPv6 is not supported.
|
||||||
|
@@ -100,7 +100,7 @@ main(int argc, char *argv[])
|
|||||||
len = snprintf(buf1, sizeof(buf1),
|
len = snprintf(buf1, sizeof(buf1),
|
||||||
"unable to open %s: %s", "/var/log/sudo-io/seq", strerror(ENOENT));
|
"unable to open %s: %s", "/var/log/sudo-io/seq", strerror(ENOENT));
|
||||||
if (len < 0 || len >= ssizeof(buf1))
|
if (len < 0 || len >= ssizeof(buf1))
|
||||||
sudo_warnx_nodebug("buf1 trucated at %s:%d", __FILE__, __LINE__);
|
sudo_warnx_nodebug("buf1 truncated at %s:%d", __FILE__, __LINE__);
|
||||||
expected_result = buf1;
|
expected_result = buf1;
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
test_vsyslog(0, "unable to open %s: %m", "/var/log/sudo-io/seq");
|
test_vsyslog(0, "unable to open %s: %m", "/var/log/sudo-io/seq");
|
||||||
@@ -116,7 +116,7 @@ main(int argc, char *argv[])
|
|||||||
buf1[8184] = '\0';
|
buf1[8184] = '\0';
|
||||||
len = snprintf(buf2, sizeof(buf2), "%s: %s", buf1, strerror(EINVAL));
|
len = snprintf(buf2, sizeof(buf2), "%s: %s", buf1, strerror(EINVAL));
|
||||||
if (len < 0 || len >= ssizeof(buf2))
|
if (len < 0 || len >= ssizeof(buf2))
|
||||||
sudo_warnx_nodebug("buf2 trucated at %s:%d", __FILE__, __LINE__);
|
sudo_warnx_nodebug("buf2 truncated at %s:%d", __FILE__, __LINE__);
|
||||||
expected_result = buf2;
|
expected_result = buf2;
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
test_vsyslog(0, "%s: %m", buf1);
|
test_vsyslog(0, "%s: %m", buf1);
|
||||||
@@ -126,7 +126,7 @@ main(int argc, char *argv[])
|
|||||||
buf1[8184] = '\0';
|
buf1[8184] = '\0';
|
||||||
len = snprintf(buf2, sizeof(buf2), "%.*s", 2047, buf1);
|
len = snprintf(buf2, sizeof(buf2), "%.*s", 2047, buf1);
|
||||||
if (len < 0 || len >= ssizeof(buf2))
|
if (len < 0 || len >= ssizeof(buf2))
|
||||||
sudo_warnx_nodebug("buf2 trucated at %s:%d", __FILE__, __LINE__);
|
sudo_warnx_nodebug("buf2 truncated at %s:%d", __FILE__, __LINE__);
|
||||||
expected_result = buf2;
|
expected_result = buf2;
|
||||||
test_vsyslog(0, buf1);
|
test_vsyslog(0, buf1);
|
||||||
|
|
||||||
|
@@ -1749,7 +1749,7 @@ write_pidfile(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fork, detatch from the terminal and write pid file unless nofork set.
|
* Fork, detach from the terminal and write pid file unless nofork set.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
daemonize(bool nofork)
|
daemonize(bool nofork)
|
||||||
|
@@ -162,7 +162,7 @@ audit_json_open(unsigned int version, sudo_conv_t conversation,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* open log file */
|
/* open log file */
|
||||||
/* TODO: suport pipe */
|
/* TODO: support pipe */
|
||||||
oldmask = umask(S_IRWXG|S_IRWXO);
|
oldmask = umask(S_IRWXG|S_IRWXO);
|
||||||
fd = open(state.logfile, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
|
fd = open(state.logfile, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
|
||||||
(void)umask(oldmask);
|
(void)umask(oldmask);
|
||||||
|
@@ -36,7 +36,7 @@ class DebugDemoPlugin(sudo.Plugin):
|
|||||||
load logs python plugin loading / unloading
|
load logs python plugin loading / unloading
|
||||||
|
|
||||||
Log levels
|
Log levels
|
||||||
crit sudo.DEBUG.CRIT --> only cricital messages
|
crit sudo.DEBUG.CRIT --> only critical messages
|
||||||
err sudo.DEBUG.ERROR
|
err sudo.DEBUG.ERROR
|
||||||
warn sudo.DEBUG.WARN
|
warn sudo.DEBUG.WARN
|
||||||
notice sudo.DEBUG.NOTICE
|
notice sudo.DEBUG.NOTICE
|
||||||
|
@@ -173,7 +173,7 @@ check_example_io_plugin_version_display(int is_verbose)
|
|||||||
python_io->close(0, 0); // this should not call the python plugin close as there was no command run invocation
|
python_io->close(0, 0); // this should not call the python plugin close as there was no command run invocation
|
||||||
|
|
||||||
if (is_verbose) {
|
if (is_verbose) {
|
||||||
// Note: the exact python version is environment dependant
|
// Note: the exact python version is environment dependent
|
||||||
VERIFY_STR_CONTAINS(data.stdout_str, "Python interpreter version:");
|
VERIFY_STR_CONTAINS(data.stdout_str, "Python interpreter version:");
|
||||||
*strstr(data.stdout_str, "Python interpreter version:") = '\0';
|
*strstr(data.stdout_str, "Python interpreter version:") = '\0';
|
||||||
VERIFY_STDOUT(expected_path("check_example_io_plugin_version_display_full.stdout"));
|
VERIFY_STDOUT(expected_path("check_example_io_plugin_version_display_full.stdout"));
|
||||||
@@ -707,7 +707,7 @@ check_example_policy_plugin_version_display(int is_verbose)
|
|||||||
python_policy->close(0, 0); // this should not call the python plugin close as there was no command run invocation
|
python_policy->close(0, 0); // this should not call the python plugin close as there was no command run invocation
|
||||||
|
|
||||||
if (is_verbose) {
|
if (is_verbose) {
|
||||||
// Note: the exact python version is environment dependant
|
// Note: the exact python version is environment dependent
|
||||||
VERIFY_STR_CONTAINS(data.stdout_str, "Python interpreter version:");
|
VERIFY_STR_CONTAINS(data.stdout_str, "Python interpreter version:");
|
||||||
*strstr(data.stdout_str, "Python interpreter version:") = '\0';
|
*strstr(data.stdout_str, "Python interpreter version:") = '\0';
|
||||||
VERIFY_STDOUT(expected_path("check_example_policy_plugin_version_display_full.stdout"));
|
VERIFY_STDOUT(expected_path("check_example_policy_plugin_version_display_full.stdout"));
|
||||||
|
@@ -31,7 +31,7 @@ struct TestData data;
|
|||||||
static void
|
static void
|
||||||
clean_output(char *output)
|
clean_output(char *output)
|
||||||
{
|
{
|
||||||
// we replace some output which otherwise would be test run dependant
|
// we replace some output which otherwise would be test run dependent
|
||||||
str_replace_in_place(output, MAX_OUTPUT, data.tmp_dir, TEMP_PATH_TEMPLATE);
|
str_replace_in_place(output, MAX_OUTPUT, data.tmp_dir, TEMP_PATH_TEMPLATE);
|
||||||
|
|
||||||
if (data.tmp_dir2)
|
if (data.tmp_dir2)
|
||||||
|
@@ -113,7 +113,7 @@ struct sudoers_parse_tree parsed_policy = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local protoypes
|
* Local prototypes
|
||||||
*/
|
*/
|
||||||
static void init_options(struct command_options *opts);
|
static void init_options(struct command_options *opts);
|
||||||
static bool add_defaults(int, struct member *, struct defaults *);
|
static bool add_defaults(int, struct member *, struct defaults *);
|
||||||
|
@@ -70,7 +70,7 @@ struct sudoers_parse_tree parsed_policy = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local protoypes
|
* Local prototypes
|
||||||
*/
|
*/
|
||||||
static void init_options(struct command_options *opts);
|
static void init_options(struct command_options *opts);
|
||||||
static bool add_defaults(int, struct member *, struct defaults *);
|
static bool add_defaults(int, struct member *, struct defaults *);
|
||||||
|
@@ -640,7 +640,7 @@ sudoers_io_open_remote(struct timespec *now)
|
|||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read ServerHello syncronously or fail. */
|
/* Read ServerHello synchronously or fail. */
|
||||||
if (read_server_hello(client_closure))
|
if (read_server_hello(client_closure))
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
|
||||||
|
@@ -528,7 +528,7 @@ connect_server(const char *host, const char *port, bool tls,
|
|||||||
/*
|
/*
|
||||||
* Connect to the first server in the list.
|
* Connect to the first server in the list.
|
||||||
* Stores socket in closure with O_NONBLOCK and close-on-exec flags set.
|
* Stores socket in closure with O_NONBLOCK and close-on-exec flags set.
|
||||||
* Retuns true on success, else false.
|
* Returns true on success, else false.
|
||||||
*/
|
*/
|
||||||
bool
|
bool
|
||||||
log_server_connect(struct client_closure *closure)
|
log_server_connect(struct client_closure *closure)
|
||||||
@@ -1158,7 +1158,7 @@ client_message_completion(struct client_closure *closure)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Read the ServerHello message from the log server.
|
* Read the ServerHello message from the log server.
|
||||||
* We do this syncronously, since we don't want the command to run
|
* We do this synchronously, since we don't want the command to run
|
||||||
* before the log server connection is completely established.
|
* before the log server connection is completely established.
|
||||||
*/
|
*/
|
||||||
bool
|
bool
|
||||||
@@ -1168,7 +1168,7 @@ read_server_hello(struct client_closure *closure)
|
|||||||
bool ret = false;
|
bool ret = false;
|
||||||
debug_decl(read_server_hello, SUDOERS_DEBUG_UTIL);
|
debug_decl(read_server_hello, SUDOERS_DEBUG_UTIL);
|
||||||
|
|
||||||
/* Get new event base so we can read ServerHello syncronously. */
|
/* Get new event base so we can read ServerHello synchronously. */
|
||||||
evbase = sudo_ev_base_alloc();
|
evbase = sudo_ev_base_alloc();
|
||||||
if (evbase == NULL) {
|
if (evbase == NULL) {
|
||||||
sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
|
sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
|
||||||
|
@@ -147,7 +147,7 @@ struct command_options {
|
|||||||
* the data structure used is a doubly-linked tail queue. While sudoers
|
* the data structure used is a doubly-linked tail queue. While sudoers
|
||||||
* is being parsed, a headless tail queue is used where the first entry
|
* is being parsed, a headless tail queue is used where the first entry
|
||||||
* acts as the head and the prev pointer does double duty as the tail pointer.
|
* acts as the head and the prev pointer does double duty as the tail pointer.
|
||||||
* This makes it possible to trivally append sub-lists. In addition, the prev
|
* This makes it possible to trivially append sub-lists. In addition, the prev
|
||||||
* pointer is always valid (even if it points to itself). Unlike a circle
|
* pointer is always valid (even if it points to itself). Unlike a circle
|
||||||
* queue, the next pointer of the last entry is NULL and does not point back
|
* queue, the next pointer of the last entry is NULL and does not point back
|
||||||
* to the head. When the tail queue is finalized, it is converted to a
|
* to the head. When the tail queue is finalized, it is converted to a
|
||||||
@@ -200,7 +200,7 @@ struct sudo_command {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Structure describing a linked list of Cmnd_Specs.
|
* Structure describing a linked list of Cmnd_Specs.
|
||||||
* XXX - include struct command_options instad of its contents inline
|
* XXX - include struct command_options instead of its contents inline
|
||||||
*/
|
*/
|
||||||
struct cmndspec {
|
struct cmndspec {
|
||||||
TAILQ_ENTRY(cmndspec) entries;
|
TAILQ_ENTRY(cmndspec) entries;
|
||||||
|
@@ -45,7 +45,7 @@ struct cache_item {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Container structs to simpify size and offset calculations and guarantee
|
* Container structs to simpify size and offset calculations and guarantee
|
||||||
* proper aligment of struct passwd, group, gid_list and group_list.
|
* proper alignment of struct passwd, group, gid_list and group_list.
|
||||||
*/
|
*/
|
||||||
struct cache_item_pw {
|
struct cache_item_pw {
|
||||||
struct cache_item cache;
|
struct cache_item cache;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Test alias expasion when converting to JSON.
|
# Test alias expansion when converting to JSON.
|
||||||
# See https://bugzilla.sudo.ws/show_bug.cgi?id=853
|
# See https://bugzilla.sudo.ws/show_bug.cgi?id=853
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@@ -171,8 +171,8 @@ sub mkdep {
|
|||||||
# We have both .lo and .o files, only the .lo should be used
|
# We have both .lo and .o files, only the .lo should be used
|
||||||
warn "$file: $obj should be $1.lo\n";
|
warn "$file: $obj should be $1.lo\n";
|
||||||
} else {
|
} else {
|
||||||
# Use old depenencies when mapping objects to their source.
|
# Use old dependencies when mapping objects to their source.
|
||||||
# If no old depenency, use the MANIFEST file to find the source.
|
# If no old dependency, use the MANIFEST file to find the source.
|
||||||
my $src = $1 . '.c';
|
my $src = $1 . '.c';
|
||||||
my $ext = $2;
|
my $ext = $2;
|
||||||
if (exists $old_deps{$obj}) {
|
if (exists $old_deps{$obj}) {
|
||||||
|
@@ -341,7 +341,7 @@ sudo_needs_pty(struct command_details *details)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Execute a command, potentially in a pty with I/O loggging, and
|
* Execute a command, potentially in a pty with I/O logging, and
|
||||||
* wait for it to finish.
|
* wait for it to finish.
|
||||||
* This is a little bit tricky due to how POSIX job control works and
|
* This is a little bit tricky due to how POSIX job control works and
|
||||||
* we fact that we have two different controlling terminals to deal with.
|
* we fact that we have two different controlling terminals to deal with.
|
||||||
|
@@ -144,7 +144,7 @@ handle_winch(struct monitor_closure *mc, unsigned int wsize_packed)
|
|||||||
struct winsize wsize, owsize;
|
struct winsize wsize, owsize;
|
||||||
debug_decl(handle_winch, SUDO_DEBUG_EXEC);
|
debug_decl(handle_winch, SUDO_DEBUG_EXEC);
|
||||||
|
|
||||||
/* Rows and colums are stored as two shorts packed into a single int. */
|
/* Rows and columns are stored as two shorts packed into a single int. */
|
||||||
wsize.ws_row = wsize_packed & 0xffff;
|
wsize.ws_row = wsize_packed & 0xffff;
|
||||||
wsize.ws_col = (wsize_packed >> 16) & 0xffff;
|
wsize.ws_col = (wsize_packed >> 16) & 0xffff;
|
||||||
|
|
||||||
|
@@ -650,7 +650,7 @@ read_callback(int fd, int what, void *v)
|
|||||||
switch (n) {
|
switch (n) {
|
||||||
case -1:
|
case -1:
|
||||||
if (got_sigttin) {
|
if (got_sigttin) {
|
||||||
/* Schedule SIGTTIN to be forwared to the command. */
|
/* Schedule SIGTTIN to be forwarded to the command. */
|
||||||
schedule_signal(iob->ec, SIGTTIN);
|
schedule_signal(iob->ec, SIGTTIN);
|
||||||
}
|
}
|
||||||
if (errno == EAGAIN || errno == EINTR)
|
if (errno == EAGAIN || errno == EINTR)
|
||||||
@@ -755,7 +755,7 @@ write_callback(int fd, int what, void *v)
|
|||||||
break;
|
break;
|
||||||
case EINTR:
|
case EINTR:
|
||||||
if (got_sigttou) {
|
if (got_sigttou) {
|
||||||
/* Schedule SIGTTOU to be forwared to the command. */
|
/* Schedule SIGTTOU to be forwarded to the command. */
|
||||||
schedule_signal(iob->ec, SIGTTOU);
|
schedule_signal(iob->ec, SIGTTOU);
|
||||||
}
|
}
|
||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
@@ -1108,7 +1108,7 @@ signal_cb_pty(int signo, int what, void *v)
|
|||||||
debug_return;
|
debug_return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Schedule signal to be forwared to the command. */
|
/* Schedule signal to be forwarded to the command. */
|
||||||
schedule_signal(ec, signo);
|
schedule_signal(ec, signo);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1327,7 +1327,7 @@ free_exec_closure_pty(struct exec_closure_pty *ec)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Execute a command in a pty, potentially with I/O loggging, and
|
* Execute a command in a pty, potentially with I/O logging, and
|
||||||
* wait for it to finish.
|
* wait for it to finish.
|
||||||
* This is a little bit tricky due to how POSIX job control works and
|
* This is a little bit tricky due to how POSIX job control works and
|
||||||
* we fact that we have two different controlling terminals to deal with.
|
* we fact that we have two different controlling terminals to deal with.
|
||||||
|
@@ -164,7 +164,7 @@ sesh_sudoedit(int argc, char *argv[])
|
|||||||
else /* invalid value */
|
else /* invalid value */
|
||||||
debug_return_int(SESH_ERR_INVALID);
|
debug_return_int(SESH_ERR_INVALID);
|
||||||
|
|
||||||
/* Align argv & argc to the beggining of the file list. */
|
/* Align argv & argc to the begining of the file list. */
|
||||||
argv += 3;
|
argv += 3;
|
||||||
argc -= 3;
|
argc -= 3;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user