into sudo_exec.h.
src/sudo.c
src/sudo.h
src/sudo_edit.c
+src/sudo_exec.h
src/sudo_noexec.c
src/sudo_plugin_int.h
src/sudo_usage.h.in
aix.o: $(srcdir)/aix.c $(top_builddir)/config.h $(incdir)/compat.h
conversation.o: $(srcdir)/conversation.c $(SUDODEP)
error.o: $(srcdir)/error.c $(incdir)/compat.h $(incdir)/error.h $(top_builddir)/config.h
-exec.o: $(srcdir)/exec.c $(SUDODEP)
-exec_pty.o: $(srcdir)/exec_pty.c $(SUDODEP)
+exec.o: $(srcdir)/exec.c $(SUDODEP) $(srcdir)/sudo_exec.h
+exec_pty.o: $(srcdir)/exec_pty.c $(SUDODEP) $(srcdir)/sudo_exec.h
get_pty.o: $(srcdir)/get_pty.c $(SUDODEP)
load_plugins.o: $(srcdir)/load_plugins.c $(SUDODEP)
parse_args.o: $(srcdir)/parse_args.c sudo_usage.h $(SUDODEP)
#include <termios.h>
#include "sudo.h"
+#include "sudo_exec.h"
#include "sudo_plugin.h"
#include "sudo_plugin_int.h"
#include <termios.h>
#include "sudo.h"
+#include "sudo_exec.h"
#include "sudo_plugin.h"
#include "sudo_plugin_int.h"
char buf[16 * 1024];
};
-/* shared with pty.c */
-extern sig_atomic_t recvsig[NSIG];
-extern void handler(int s);
-
static char slavename[PATH_MAX];
static int foreground;
static int io_fds[6] = { -1, -1, -1, -1, -1, -1};
int val;
};
+struct timeval;
+
/* For error() and errorx() (XXX - needed?) */
void cleanup(int);
/* exec.c */
int sudo_execve(struct command_details *details, char *argv[], char *envp[],
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 *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 */
int term_cbreak(int);
--- /dev/null
+/*
+ * Copyright (c) 2010 Todd C. Miller <Todd.Miller@courtesan.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _SUDO_EXEC_H
+#define _SUDO_EXEC_H
+
+/*
+ * Symbols shared between exec.c and exec_pty.c
+ */
+
+/* exec.c */
+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 *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 handler(int s);
+void pty_close(struct command_status *cstat);
+void pty_setup(uid_t uid);
+void terminate_child(pid_t pid, int use_pgrp);
+extern sig_atomic_t recvsig[NSIG];
+
+#endif /* _SUDO_EXEC_H */