X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_mysql.c;h=16a1f1335cf8f68f23575e21beebe5bbf679b357;hb=575e82a500d1b097b70883a8e50f4b92451d8270;hp=f806a2799dbfacf200843b4ca1643edd4ab3be07;hpb=041fdc1d08df3769f162473292ad96dd18aa88b2;p=nagiosplug.git diff --git a/plugins/check_mysql.c b/plugins/check_mysql.c index f806a27..16a1f13 100644 --- a/plugins/check_mysql.c +++ b/plugins/check_mysql.c @@ -15,15 +15,60 @@ ******************************************************************************/ const char *progname = "check_mysql"; -#define REVISION "$Revision$" -#define COPYRIGHT "1999-2002" +const char *revision = "$Revision$"; +const char *copyright = "1999-2002"; +const char *email = "nagiosplug-devel@lists.sourceforge.net"; #include "common.h" #include "utils.h" - +#include "netutils.h" #include #include +void +print_usage (void) +{ + printf (_("\ +Usage: %s [-d database] [-H host] [-P port] [-u user] [-p password]\n"), + progname); + printf (_(UT_HLP_VRS), progname, progname); +} + +void +print_help (void) +{ + char *myport; + asprintf (&myport, "%d", MYSQL_PORT); + + print_revision (progname, revision); + + printf (_(COPYRIGHT), copyright, email); + + printf (_("This program tests connections to a mysql server\n")); + + print_usage (); + + printf (_(UT_HELP_VRSN)); + + printf (_(UT_HOST_PORT), 'P', myport); + + printf (_("\ + -d, --database=STRING\n\ + Check database with indicated name\n\ + -u, --username=STRING\n\ + Connect using the indicated username\n\ + -p, --password=STRING\n\ + Use the indicated password to authenticate the connection\n\ + ==> IMPORTANT: THIS FORM OF AUTHENTICATION IS NOT SECURE!!! <==\n\ + Your clear-text password will be visible as a process table entry\n")); + + printf (_("\n\ +There are no required arguments. By default, the local database with\n\ +a server listening on MySQL standard port %d will be checked\n"), MYSQL_PORT); + + printf (_(UT_SUPPORT)); +} + char *db_user = ""; char *db_host = ""; char *db_pass = ""; @@ -32,8 +77,6 @@ unsigned int db_port = MYSQL_PORT; int process_arguments (int, char **); int validate_arguments (void); -void print_help (void); -void print_usage (void); int main (int argc, char **argv) @@ -43,7 +86,7 @@ main (int argc, char **argv) char result[1024]; if (process_arguments (argc, argv) != OK) - usage ("Invalid command arguments supplied\n"); + usage (_("Invalid command arguments supplied\n")); /* initialize mysql */ mysql_init (&mysql); @@ -126,7 +169,6 @@ process_arguments (int argc, char **argv) { int c; -#ifdef HAVE_GETOPT_H int option_index = 0; static struct option long_options[] = { {"hostname", required_argument, 0, 'H'}, @@ -139,18 +181,12 @@ process_arguments (int argc, char **argv) {"help", no_argument, 0, 'h'}, {0, 0, 0, 0} }; -#endif if (argc < 1) return ERROR; while (1) { -#ifdef HAVE_GETOPT_H - c = - getopt_long (argc, argv, "hVP:p:u:d:H:", long_options, &option_index); -#else - c = getopt (argc, argv, "hVP:p:u:d:H:"); -#endif + c = getopt_long (argc, argv, "hVP:p:u:d:H:", long_options, &option_index); if (c == -1 || c == EOF) break; @@ -161,7 +197,7 @@ process_arguments (int argc, char **argv) db_host = optarg; } else { - usage ("Invalid host name\n"); + usage (_("Invalid host name\n")); } break; case 'd': /* hostname */ @@ -177,37 +213,38 @@ process_arguments (int argc, char **argv) db_port = atoi (optarg); break; case 'V': /* version */ - print_revision (progname, REVISION); + print_revision (progname, revision); exit (STATE_OK); case 'h': /* help */ print_help (); exit (STATE_OK); case '?': /* help */ - usage ("Invalid argument\n"); + usage (_("Invalid argument\n")); } } c = optind; - if (strlen(db_host) == 0 && argc > c) - if (is_host (argv[c])) { - db_host = argv[c++]; - } - else { - usage ("Invalid host name"); - } - - if (strlen(db_user) == 0 && argc > c) - db_user = argv[c++]; - - if (strlen(db_pass) == 0 && argc > c) - db_pass = argv[c++]; + while ( argc > c ) { - if (strlen(db) == 0 && argc > c) - db = argv[c++]; - - if (is_intnonneg (argv[c]) && argc > c) - db_port = atoi (argv[c++]); + if (strlen(db_host) == 0) + if (is_host (argv[c])) { + db_host = argv[c++]; + } + else { + usage ("Invalid host name"); + } + else if (strlen(db_user) == 0) + db_user = argv[c++]; + else if (strlen(db_pass) == 0) + db_pass = argv[c++]; + else if (strlen(db) == 0) + db = argv[c++]; + else if (is_intnonneg (argv[c])) + db_port = atoi (argv[c++]); + else + break; + } return validate_arguments (); } @@ -221,50 +258,3 @@ validate_arguments (void) { return OK; } - - - - - -void -print_help (void) -{ - print_revision (progname, REVISION); - printf - ("Copyright (c) 2000 Didi Rieder/Karl DeBisschop\n\n" - "This plugin is for testing a mysql server.\n"); - print_usage (); - printf - ("\nThere are no required arguments. By default, the local database with\n" - "a server listening on MySQL standard port %d will be checked\n\n" - "Options:\n" - " -d, --database=STRING\n" - " Check database with indicated name\n" - " -H, --hostname=STRING or IPADDRESS\n" - " Check server on the indicated host\n" - " -P, --port=INTEGER\n" - " Make connection on the indicated port\n" - " -u, --username=STRING\n" - " Connect using the indicated username\n" - " -p, --password=STRING\n" - " Use the indicated password to authenticate the connection\n" - " ==> IMPORTANT: THIS FORM OF AUTHENTICATION IS NOT SECURE!!! <==\n" - " Your clear-text password will be visible as a process table entry\n" - " -h, --help\n" - " Print detailed help screen\n" - " -V, --version\n" " Print version information\n\n", MYSQL_PORT); - support (); -} - - - - - -void -print_usage (void) -{ - printf - ("Usage: %s [-d database] [-H host] [-P port] [-u user] [-p password]\n" - " %s --help\n" - " %s --version\n", progname, progname, progname); -}