|
version 1.1.1.5, 2013/10/14 07:56:35
|
version 1.1.1.6, 2014/06/15 16:12:55
|
|
Line 30
|
Line 30
|
| # include "compat/stdbool.h" |
# include "compat/stdbool.h" |
| #endif /* HAVE_STDBOOL_H */ |
#endif /* HAVE_STDBOOL_H */ |
| |
|
| |
#include "gettext.h" /* must be included before missing.h */ |
| |
|
| #include "missing.h" |
#include "missing.h" |
| #include "alloc.h" |
#include "alloc.h" |
| #include "fatal.h" |
#include "fatal.h" |
| #include "fileops.h" |
#include "fileops.h" |
| #include "list.h" |
|
| #include "sudo_conf.h" |
#include "sudo_conf.h" |
| #include "sudo_debug.h" |
#include "sudo_debug.h" |
| #include "gettext.h" | #include "sudo_util.h" |
| |
|
| #ifdef HAVE_PRIV_SET |
#ifdef HAVE_PRIV_SET |
| # include <priv.h> |
# include <priv.h> |
|
Line 122 struct user_details {
|
Line 123 struct user_details {
|
| #define CD_SET_UTMP 0x2000 |
#define CD_SET_UTMP 0x2000 |
| #define CD_EXEC_BG 0x4000 |
#define CD_EXEC_BG 0x4000 |
| |
|
| |
struct preserved_fd { |
| |
TAILQ_ENTRY(preserved_fd) entries; |
| |
int lowfd; |
| |
int highfd; |
| |
int flags; |
| |
}; |
| |
TAILQ_HEAD(preserved_fd_list, preserved_fd); |
| |
|
| struct command_details { |
struct command_details { |
| uid_t uid; |
uid_t uid; |
| uid_t euid; |
uid_t euid; |
|
Line 133 struct command_details {
|
Line 142 struct command_details {
|
| int ngroups; |
int ngroups; |
| int closefrom; |
int closefrom; |
| int flags; |
int flags; |
| |
struct preserved_fd_list preserved_fds; |
| struct passwd *pw; |
struct passwd *pw; |
| GETGROUPS_T *groups; |
GETGROUPS_T *groups; |
| const char *command; |
const char *command; |
|
Line 174 int tty_present(void);
|
Line 184 int tty_present(void);
|
| int pipe_nonblock(int fds[2]); |
int pipe_nonblock(int fds[2]); |
| int sudo_execute(struct command_details *details, struct command_status *cstat); |
int sudo_execute(struct command_details *details, struct command_status *cstat); |
| |
|
| /* term.c */ |
|
| int term_cbreak(int); |
|
| int term_copy(int, int); |
|
| int term_noecho(int); |
|
| int term_raw(int, int); |
|
| int term_restore(int, int); |
|
| |
|
| /* fmt_string.h */ |
|
| char *fmt_string(const char *var, const char *value); |
|
| |
|
| /* atobool.c */ |
|
| bool atobool(const char *str); |
|
| |
|
| /* atoid.c */ |
|
| id_t atoid(const char *str, const char *sep, char **endp, const char **errstr); |
|
| |
|
| /* parse_args.c */ |
/* parse_args.c */ |
| 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); |
|
Line 198 extern int tgetpass_flags;
|
Line 192 extern int tgetpass_flags;
|
| /* get_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 */ |
|
| void get_ttysize(int *rowp, int *colp); |
|
| |
|
| /* sudo.c */ |
/* sudo.c */ |
| bool exec_setup(struct command_details *details, const char *ptyname, int ptyfd); |
bool exec_setup(struct command_details *details, const char *ptyname, int ptyfd); |
| int policy_init_session(struct command_details *details); |
int policy_init_session(struct command_details *details); |
|
Line 229 void selinux_execve(const char *path, char *const argv
|
Line 220 void selinux_execve(const char *path, char *const argv
|
| void set_project(struct passwd *); |
void set_project(struct passwd *); |
| int os_init_solaris(int argc, char *argv[], char *envp[]); |
int os_init_solaris(int argc, char *argv[], char *envp[]); |
| |
|
| /* aix.c */ |
|
| void aix_prep_user(char *user, const char *tty); |
|
| void aix_restoreauthdb(void); |
|
| void aix_setauthdb(char *user); |
|
| |
|
| /* hooks.c */ |
/* hooks.c */ |
| /* XXX - move to sudo_plugin_int.h? */ |
/* XXX - move to sudo_plugin_int.h? */ |
| struct sudo_hook; |
struct sudo_hook; |
|
Line 250 char *getenv_unhooked(const char *name);
|
Line 236 char *getenv_unhooked(const char *name);
|
| /* interfaces.c */ |
/* interfaces.c */ |
| int get_net_ifs(char **addrinfo); |
int get_net_ifs(char **addrinfo); |
| |
|
| /* setgroups.c */ |
|
| int sudo_setgroups(int ngids, const GETGROUPS_T *gids); |
|
| |
|
| /* ttyname.c */ |
/* ttyname.c */ |
| char *get_process_ttyname(void); |
char *get_process_ttyname(void); |
| |
|
|
Line 264 void init_signals(void);
|
Line 247 void init_signals(void);
|
| void restore_signals(void); |
void restore_signals(void); |
| void save_signals(void); |
void save_signals(void); |
| |
|
| /* gidlist.c */ | /* preload.c */ |
| int parse_gid_list(const char *gidstr, const gid_t *basegid, GETGROUPS_T **gidsp); | void preload_static_symbols(void); |
| | |
| | /* preserve_fds.c */ |
| | int add_preserved_fd(struct preserved_fd_list *pfds, int fd); |
| | void closefrom_except(int startfd, struct preserved_fd_list *pfds); |
| | void parse_preserved_fds(struct preserved_fd_list *pfds, const char *fdstr); |
| |
|
| #endif /* _SUDO_SUDO_H */ |
#endif /* _SUDO_SUDO_H */ |