Annotation of embedaddon/sudo/common/regress/sudo_conf/conf_test.c, revision 1.1
1.1 ! misho 1: /*
! 2: * Copyright (c) 2013 Todd C. Miller <Todd.Miller@courtesan.com>
! 3: *
! 4: * Permission to use, copy, modify, and distribute this software for any
! 5: * purpose with or without fee is hereby granted, provided that the above
! 6: * copyright notice and this permission notice appear in all copies.
! 7: *
! 8: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
! 9: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
! 10: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
! 11: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
! 12: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
! 13: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
! 14: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
! 15: */
! 16:
! 17: #include <config.h>
! 18:
! 19: #include <sys/types.h>
! 20: #include <stdio.h>
! 21: #ifdef STDC_HEADERS
! 22: # include <stdlib.h>
! 23: # include <stddef.h>
! 24: #else
! 25: # ifdef HAVE_STDLIB_H
! 26: # include <stdlib.h>
! 27: # endif
! 28: #endif /* STDC_HEADERS */
! 29: #ifdef HAVE_STRING_H
! 30: # if defined(HAVE_MEMORY_H) && !defined(STDC_HEADERS)
! 31: # include <memory.h>
! 32: # endif
! 33: # include <string.h>
! 34: #endif /* HAVE_STRING_H */
! 35: #ifdef HAVE_STRINGS_H
! 36: # include <strings.h>
! 37: #endif /* HAVE_STRINGS_H */
! 38: #ifdef HAVE_STDBOOL_H
! 39: # include <stdbool.h>
! 40: #else
! 41: # include "compat/stdbool.h"
! 42: #endif
! 43:
! 44: #include "missing.h"
! 45: #include "sudo_conf.h"
! 46:
! 47: static void sudo_conf_dump(void);
! 48:
! 49: /*
! 50: * Simple test driver for sudo_conf().
! 51: * Parses the given configuration file and dumps the resulting
! 52: * sudo_conf_data struct to the standard output.
! 53: */
! 54: int
! 55: main(int argc, char *argv[])
! 56: {
! 57: if (argc != 2) {
! 58: fprintf(stderr, "usage: conf_test conf_file\n");
! 59: exit(1);
! 60: }
! 61: sudo_conf_read(argv[1]);
! 62: sudo_conf_dump();
! 63:
! 64: exit(0);
! 65: }
! 66:
! 67: static void
! 68: sudo_conf_dump(void)
! 69: {
! 70: struct plugin_info_list *plugins = sudo_conf_plugins();
! 71: struct plugin_info *info;
! 72:
! 73: printf("Set disable_coredump %s\n",
! 74: sudo_conf_disable_coredump() ? "true" : "false");
! 75: printf("Set group_source %s\n",
! 76: sudo_conf_group_source() == GROUP_SOURCE_ADAPTIVE ? "adaptive" :
! 77: sudo_conf_group_source() == GROUP_SOURCE_STATIC ? "static" : "dynamic");
! 78: printf("Set max_groups %d\n", sudo_conf_max_groups());
! 79: if (sudo_conf_debug_flags() != NULL)
! 80: printf("Debug %s %s\n", getprogname(), sudo_conf_debug_flags());
! 81: if (sudo_conf_askpass_path() != NULL)
! 82: printf("Path askpass %s\n", sudo_conf_askpass_path());
! 83: #ifdef _PATH_SUDO_NOEXEC
! 84: if (sudo_conf_noexec_path() != NULL)
! 85: printf("Path noexec %s\n", sudo_conf_noexec_path());
! 86: #endif
! 87: tq_foreach_fwd(plugins, info) {
! 88: printf("Plugin %s %s", info->symbol_name, info->path);
! 89: if (info->options) {
! 90: char * const * op;
! 91: for (op = info->options; *op != NULL; op++)
! 92: printf(" %s", *op);
! 93: }
! 94: putchar('\n');
! 95: }
! 96: }
! 97:
! 98: /* STUB */
! 99: void
! 100: warning_set_locale(void)
! 101: {
! 102: return;
! 103: }
! 104:
! 105: /* STUB */
! 106: void
! 107: warning_restore_locale(void)
! 108: {
! 109: return;
! 110: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>