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.
|
||||
|
||||
* 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
|
||||
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.
|
||||
|
||||
* 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
|
||||
|
||||
* 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
|
||||
shared. The handling of negated commands in SSS and LDAP is
|
||||
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,
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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.
|
||||
If sudoers_locale is set in sudoers, it is applied before
|
||||
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.
|
||||
|
||||
* 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
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
@@ -2099,7 +2099,7 @@ What's new in Sudo 1.8.5?
|
||||
when PAM is used. Sudo now merges the PAM environment into the
|
||||
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
|
||||
"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:
|
||||
pete ALL=PASSWD [A-z]*,!PASSWD root
|
||||
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
|
||||
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://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
|
||||
line and that have a constant record length (sparse files) for
|
||||
easy seeking.
|
||||
|
@@ -1035,7 +1035,7 @@
|
||||
/* Define to 1 if you don't want to use sudo's PAM session support. */
|
||||
#undef NO_PAM_SESSION
|
||||
|
||||
/* Define to avoid runing the mailer as root. */
|
||||
/* Define to avoid running the mailer as root. */
|
||||
#undef NO_ROOT_MAILER
|
||||
|
||||
/* 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_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_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(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.])
|
||||
|
@@ -1474,7 +1474,7 @@ sudo.conv(message(s), on_suspend=suspend_function,
|
||||
.PP
|
||||
The function arguments are as follows:
|
||||
.TP 6n
|
||||
\fImesssage(s)\fR
|
||||
\fImessage(s)\fR
|
||||
One of more messages (of type
|
||||
\fBsudo.ConvMessage\fR),
|
||||
each describing a conversation.
|
||||
@@ -1643,7 +1643,7 @@ The function arguments are as follows:
|
||||
.br
|
||||
an integer, use one of the log level constants below
|
||||
.TP 6n
|
||||
\fImesssage(s)\fR
|
||||
\fImessage(s)\fR
|
||||
one or more messages to log
|
||||
.PP
|
||||
\fIAvailable log levels:\fR
|
||||
@@ -1652,7 +1652,7 @@ l l l.
|
||||
.PP
|
||||
\fBsudo.conf name\fR \fBPython constant\fR \fBdescription\fR
|
||||
.PP
|
||||
crit sudo.DEBUG.CRIT only cricital messages
|
||||
crit sudo.DEBUG.CRIT only critical messages
|
||||
.PP
|
||||
err sudo.DEBUG.ERROR
|
||||
.PP
|
||||
|
@@ -1169,7 +1169,7 @@ sudo.conv(message(s), on_suspend=suspend_function,
|
||||
.Pp
|
||||
The function arguments are as follows:
|
||||
.Bl -tag -width 4n
|
||||
.It Fa messsage(s)
|
||||
.It Fa message(s)
|
||||
One of more messages (of type
|
||||
.Sy sudo.ConvMessage ) ,
|
||||
each describing a conversation.
|
||||
@@ -1316,14 +1316,14 @@ The function arguments are as follows:
|
||||
.Bl -tag -width 4n
|
||||
.It Fa level
|
||||
an integer, use one of the log level constants below
|
||||
.It Fa messsage(s)
|
||||
.It Fa message(s)
|
||||
one or more messages to log
|
||||
.El
|
||||
.Pp
|
||||
.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 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 warn Ta sudo.DEBUG.WARN 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
|
||||
|
||||
%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}"
|
||||
if test -z "%{flavor}"; then
|
||||
echo "Conflicts: sudo-ldap" >> %{pp_wrkdir}/%{name}/DEBIAN/control
|
||||
|
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* This is an implementation of the getaddrinfo family of functions for
|
||||
* 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.
|
||||
*
|
||||
* 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_caught; /* at least one signal caught */
|
||||
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)
|
||||
struct pollfd *pfds; /* array of struct pollfd */
|
||||
int pfd_max; /* size of the pfds array */
|
||||
|
@@ -161,7 +161,7 @@
|
||||
#define sudo_isclr(_a, _i) (((_a)[(_i) / NBBY] & (1<<((_i) % NBBY))) == 0)
|
||||
|
||||
/* 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 */
|
||||
|
||||
/*
|
||||
|
@@ -310,7 +310,7 @@ int sudo_fnmatch(const char *pattern, const char *string, int flags)
|
||||
const char *dummyptr;
|
||||
const char *matchptr;
|
||||
int wild;
|
||||
/* For '*' wild processing only; surpress 'used before initialization'
|
||||
/* For '*' wild processing only; suppress 'used before initialization'
|
||||
* warnings with dummy initialization values;
|
||||
*/
|
||||
const char *strstartseg = NULL;
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* Replacement for a missing getaddrinfo.
|
||||
*
|
||||
* 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:
|
||||
*
|
||||
* - IPv4 support only. IPv6 is not supported.
|
||||
|
@@ -100,7 +100,7 @@ main(int argc, char *argv[])
|
||||
len = snprintf(buf1, sizeof(buf1),
|
||||
"unable to open %s: %s", "/var/log/sudo-io/seq", strerror(ENOENT));
|
||||
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;
|
||||
errno = ENOENT;
|
||||
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';
|
||||
len = snprintf(buf2, sizeof(buf2), "%s: %s", buf1, strerror(EINVAL));
|
||||
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;
|
||||
errno = EINVAL;
|
||||
test_vsyslog(0, "%s: %m", buf1);
|
||||
@@ -126,7 +126,7 @@ main(int argc, char *argv[])
|
||||
buf1[8184] = '\0';
|
||||
len = snprintf(buf2, sizeof(buf2), "%.*s", 2047, buf1);
|
||||
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;
|
||||
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
|
||||
daemonize(bool nofork)
|
||||
|
@@ -162,7 +162,7 @@ audit_json_open(unsigned int version, sudo_conv_t conversation,
|
||||
}
|
||||
|
||||
/* open log file */
|
||||
/* TODO: suport pipe */
|
||||
/* TODO: support pipe */
|
||||
oldmask = umask(S_IRWXG|S_IRWXO);
|
||||
fd = open(state.logfile, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
|
||||
(void)umask(oldmask);
|
||||
|
@@ -36,7 +36,7 @@ class DebugDemoPlugin(sudo.Plugin):
|
||||
load logs python plugin loading / unloading
|
||||
|
||||
Log levels
|
||||
crit sudo.DEBUG.CRIT --> only cricital messages
|
||||
crit sudo.DEBUG.CRIT --> only critical messages
|
||||
err sudo.DEBUG.ERROR
|
||||
warn sudo.DEBUG.WARN
|
||||
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
|
||||
|
||||
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:");
|
||||
*strstr(data.stdout_str, "Python interpreter version:") = '\0';
|
||||
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
|
||||
|
||||
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:");
|
||||
*strstr(data.stdout_str, "Python interpreter version:") = '\0';
|
||||
VERIFY_STDOUT(expected_path("check_example_policy_plugin_version_display_full.stdout"));
|
||||
|
@@ -31,7 +31,7 @@ struct TestData data;
|
||||
static void
|
||||
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);
|
||||
|
||||
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 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 bool add_defaults(int, struct member *, struct defaults *);
|
||||
|
@@ -640,7 +640,7 @@ sudoers_io_open_remote(struct timespec *now)
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* Read ServerHello syncronously or fail. */
|
||||
/* Read ServerHello synchronously or fail. */
|
||||
if (read_server_hello(client_closure))
|
||||
ret = 1;
|
||||
|
||||
|
@@ -528,7 +528,7 @@ connect_server(const char *host, const char *port, bool tls,
|
||||
/*
|
||||
* Connect to the first server in the list.
|
||||
* 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
|
||||
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.
|
||||
* 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.
|
||||
*/
|
||||
bool
|
||||
@@ -1168,7 +1168,7 @@ read_server_hello(struct client_closure *closure)
|
||||
bool ret = false;
|
||||
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();
|
||||
if (evbase == NULL) {
|
||||
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
|
||||
* 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.
|
||||
* 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
|
||||
* 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
|
||||
@@ -200,7 +200,7 @@ struct sudo_command {
|
||||
|
||||
/*
|
||||
* 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 {
|
||||
TAILQ_ENTRY(cmndspec) entries;
|
||||
|
@@ -45,7 +45,7 @@ struct cache_item {
|
||||
|
||||
/*
|
||||
* 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 cache;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#!/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
|
||||
#
|
||||
|
||||
|
@@ -171,8 +171,8 @@ sub mkdep {
|
||||
# We have both .lo and .o files, only the .lo should be used
|
||||
warn "$file: $obj should be $1.lo\n";
|
||||
} else {
|
||||
# Use old depenencies when mapping objects to their source.
|
||||
# If no old depenency, use the MANIFEST file to find the source.
|
||||
# Use old dependencies when mapping objects to their source.
|
||||
# If no old dependency, use the MANIFEST file to find the source.
|
||||
my $src = $1 . '.c';
|
||||
my $ext = $2;
|
||||
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.
|
||||
* 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.
|
||||
|
@@ -144,7 +144,7 @@ handle_winch(struct monitor_closure *mc, unsigned int wsize_packed)
|
||||
struct winsize wsize, owsize;
|
||||
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_col = (wsize_packed >> 16) & 0xffff;
|
||||
|
||||
|
@@ -650,7 +650,7 @@ read_callback(int fd, int what, void *v)
|
||||
switch (n) {
|
||||
case -1:
|
||||
if (got_sigttin) {
|
||||
/* Schedule SIGTTIN to be forwared to the command. */
|
||||
/* Schedule SIGTTIN to be forwarded to the command. */
|
||||
schedule_signal(iob->ec, SIGTTIN);
|
||||
}
|
||||
if (errno == EAGAIN || errno == EINTR)
|
||||
@@ -755,7 +755,7 @@ write_callback(int fd, int what, void *v)
|
||||
break;
|
||||
case EINTR:
|
||||
if (got_sigttou) {
|
||||
/* Schedule SIGTTOU to be forwared to the command. */
|
||||
/* Schedule SIGTTOU to be forwarded to the command. */
|
||||
schedule_signal(iob->ec, SIGTTOU);
|
||||
}
|
||||
/* FALLTHROUGH */
|
||||
@@ -1108,7 +1108,7 @@ signal_cb_pty(int signo, int what, void *v)
|
||||
debug_return;
|
||||
}
|
||||
}
|
||||
/* Schedule signal to be forwared to the command. */
|
||||
/* Schedule signal to be forwarded to the command. */
|
||||
schedule_signal(ec, signo);
|
||||
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.
|
||||
* 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.
|
||||
|
@@ -164,7 +164,7 @@ sesh_sudoedit(int argc, char *argv[])
|
||||
else /* invalid value */
|
||||
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;
|
||||
argc -= 3;
|
||||
|
||||
|
Reference in New Issue
Block a user