Split exec.c into exec.c and exec_pty.c

This commit is contained in:
Todd C. Miller
2010-06-07 18:06:22 -04:00
parent d417d4e4e8
commit 6717c59d77
5 changed files with 1694 additions and 1108 deletions

View File

@@ -182,6 +182,7 @@ src/aix.c
src/conversation.c src/conversation.c
src/error.c src/error.c
src/exec.c src/exec.c
src/exec_pty.c
src/get_pty.c src/get_pty.c
src/load_plugins.c src/load_plugins.c
src/parse_args.c src/parse_args.c

View File

@@ -72,8 +72,8 @@ SHELL = @SHELL@
PROGS = @PROGS@ PROGS = @PROGS@
OBJS = conversation.o error.o exec.o get_pty.o load_plugins.o parse_args.o \ OBJS = conversation.o error.o exec.o exec_pty.o get_pty.o load_plugins.o \
sudo.o sudo_edit.o tgetpass.o ttysize.o @SUDO_OBJS@ parse_args.o sudo.o sudo_edit.o tgetpass.o ttysize.o @SUDO_OBJS@
LIBOBJDIR = $(top_builddir)/@ac_config_libobj_dir@/ LIBOBJDIR = $(top_builddir)/@ac_config_libobj_dir@/
@@ -109,6 +109,7 @@ aix.o: $(srcdir)/aix.c $(top_builddir)/config.h $(incdir)/compat.h
conversation.o: $(srcdir)/conversation.c $(SUDODEP) conversation.o: $(srcdir)/conversation.c $(SUDODEP)
error.o: $(srcdir)/error.c $(incdir)/compat.h $(incdir)/error.h $(top_builddir)/config.h error.o: $(srcdir)/error.c $(incdir)/compat.h $(incdir)/error.h $(top_builddir)/config.h
exec.o: $(srcdir)/exec.c $(SUDODEP) exec.o: $(srcdir)/exec.c $(SUDODEP)
exec_pty.o: $(srcdir)/exec_pty.c $(SUDODEP)
get_pty.o: $(srcdir)/get_pty.c $(SUDODEP) get_pty.o: $(srcdir)/get_pty.c $(SUDODEP)
load_plugins.o: $(srcdir)/load_plugins.c $(SUDODEP) load_plugins.o: $(srcdir)/load_plugins.c $(SUDODEP)
parse_args.o: $(srcdir)/parse_args.c sudo_usage.h $(SUDODEP) parse_args.o: $(srcdir)/parse_args.c sudo_usage.h $(SUDODEP)

1176
src/exec.c

File diff suppressed because it is too large Load Diff

1607
src/exec_pty.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -160,6 +160,17 @@ void zero_bytes(volatile void *, size_t);
/* exec.c */ /* exec.c */
int sudo_execve(struct command_details *details, char *argv[], char *envp[], int sudo_execve(struct command_details *details, char *argv[], char *envp[],
struct command_status *cstat); struct command_status *cstat);
int my_execve(const char *path, char *const argv[], char *const envp[]);
/* exec_pty.c */
int fork_pty(struct command_details *details, char *argv[], char *envp[],
int sv[], int rbac_enabled, int *maxfd);
int perform_io(fd_set *fdsr, fd_set *fdsw, struct command_status *cstat);
int suspend_parent(int signo);
void fd_set_iobs(fd_set *fdsr, fd_set *fdsw);
void pty_close(struct command_status *cstat);
void pty_setup(uid_t uid);
void terminate_child(pid_t pid, int use_pgrp);
/* term.c */ /* term.c */
int term_cbreak(int); int term_cbreak(int);
@@ -178,7 +189,7 @@ int atobool(const char *str);
int parse_args(int argc, char **argv, int *nargc, char ***nargv, int parse_args(int argc, char **argv, int *nargc, char ***nargv,
char ***settingsp, char ***env_addp); char ***settingsp, char ***env_addp);
/* pty.c */ /* get_pty.c */
int get_pty(int *master, int *slave, char *name, size_t namesz, uid_t uid); int get_pty(int *master, int *slave, char *name, size_t namesz, uid_t uid);
/* ttysize.c */ /* ttysize.c */