version 1.1.1.2, 2012/05/29 12:26:49
|
version 1.1.1.5, 2013/10/14 07:56:35
|
Line 1
|
Line 1
|
/* |
/* |
* Copyright (c) 2008, 2010 Todd C. Miller <Todd.Miller@courtesan.com> | * Copyright (c) 2008, 2010-2013 Todd C. Miller <Todd.Miller@courtesan.com> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
* purpose with or without fee is hereby granted, provided that the above |
* purpose with or without fee is hereby granted, provided that the above |
Line 23
|
Line 23
|
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
#include <string.h> |
#include <string.h> |
|
#include <signal.h> |
#include <unistd.h> |
#include <unistd.h> |
#ifdef HAVE_SETLOCALE |
|
# include <locale.h> |
|
#endif |
|
#ifdef HAVE_STDBOOL_H |
#ifdef HAVE_STDBOOL_H |
# include <stdbool.h> |
# include <stdbool.h> |
#else |
#else |
Line 35
|
Line 33
|
|
|
#include "missing.h" |
#include "missing.h" |
#include "alloc.h" |
#include "alloc.h" |
#include "error.h" | #include "fatal.h" |
#include "gettext.h" |
#include "gettext.h" |
#include "sudo_conf.h" |
#include "sudo_conf.h" |
#include "sudo_debug.h" |
#include "sudo_debug.h" |
#include "sudo_exec.h" |
#include "sudo_exec.h" |
#include "sudo_plugin.h" |
#include "sudo_plugin.h" |
|
|
sudo_conv_t sudo_conv; /* NULL in non-plugin */ | __dso_public int main(int argc, char *argv[], char *envp[]); |
|
|
/* |
|
* Cleanup hook for error()/errorx() |
|
*/ |
|
void |
|
cleanup(int gotsignal) |
|
{ |
|
return; |
|
} |
|
|
|
int |
int |
main(int argc, char *argv[], char *envp[]) |
main(int argc, char *argv[], char *envp[]) |
{ |
{ |
Line 60 main(int argc, char *argv[], char *envp[])
|
Line 49 main(int argc, char *argv[], char *envp[])
|
int noexec = 0; |
int noexec = 0; |
debug_decl(main, SUDO_DEBUG_MAIN) |
debug_decl(main, SUDO_DEBUG_MAIN) |
|
|
#ifdef HAVE_SETLOCALE |
|
setlocale(LC_ALL, ""); |
setlocale(LC_ALL, ""); |
#endif |
|
bindtextdomain(PACKAGE_NAME, LOCALEDIR); |
bindtextdomain(PACKAGE_NAME, LOCALEDIR); |
textdomain(PACKAGE_NAME); |
textdomain(PACKAGE_NAME); |
|
|
if (argc < 2) |
if (argc < 2) |
errorx(EXIT_FAILURE, _("requires at least one argument")); | fatalx(_("requires at least one argument")); |
|
|
/* Read sudo.conf. */ |
/* Read sudo.conf. */ |
sudo_conf_read(); | sudo_conf_read(NULL); |
|
|
/* If argv[0] ends in -noexec, pass the flag to sudo_execve() */ |
/* If argv[0] ends in -noexec, pass the flag to sudo_execve() */ |
if ((cp = strrchr(argv[0], '-')) != NULL && cp != argv[0]) |
if ((cp = strrchr(argv[0], '-')) != NULL && cp != argv[0]) |