diff options
author | Monitoring Plugins Development Team <devel@monitoring-plugins.org> | 2014-01-18 03:40:24 -0500 |
---|---|---|
committer | Thomas Guyot-Sionnest <dermoth@aei.ca> | 2014-01-19 14:18:47 -0500 |
commit | 63734f52ab1b4b2c17545b26fc41016d6bbd80bd (patch) | |
tree | dcd7aa3fd9a2a6a69a47d3a7e6a18d034426087a /lib/utils_base.c | |
parent | 9db763963f3993f923619a2147e4313b09f12134 (diff) | |
download | monitoring-plugins-63734f52ab1b4b2c17545b26fc41016d6bbd80bd.tar.gz |
Project rename initial commit.
This is an initial take at renaming the project to Monitoring Plugins.
It's not expected to be fully complete, and it is expected to break
things (The perl module for instance). More testing will be required
before this goes mainline.
Diffstat (limited to 'lib/utils_base.c')
-rw-r--r-- | lib/utils_base.c | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/lib/utils_base.c b/lib/utils_base.c index 54463e92..57d01e27 100644 --- a/lib/utils_base.c +++ b/lib/utils_base.c | |||
@@ -3,7 +3,7 @@ | |||
3 | * utils_base.c | 3 | * utils_base.c |
4 | * | 4 | * |
5 | * License: GPL | 5 | * License: GPL |
6 | * Copyright (c) 2006 Nagios Plugins Development Team | 6 | * Copyright (c) 2006 Monitoring Plugins Development Team |
7 | * | 7 | * |
8 | * Library of useful functions for plugins | 8 | * Library of useful functions for plugins |
9 | * | 9 | * |
@@ -33,53 +33,53 @@ | |||
33 | 33 | ||
34 | #define np_free(ptr) { if(ptr) { free(ptr); ptr = NULL; } } | 34 | #define np_free(ptr) { if(ptr) { free(ptr); ptr = NULL; } } |
35 | 35 | ||
36 | nagios_plugin *this_nagios_plugin=NULL; | 36 | monitoring_plugin *this_monitoring_plugin=NULL; |
37 | 37 | ||
38 | int _np_state_read_file(FILE *); | 38 | int _np_state_read_file(FILE *); |
39 | 39 | ||
40 | void np_init( char *plugin_name, int argc, char **argv ) { | 40 | void np_init( char *plugin_name, int argc, char **argv ) { |
41 | if (this_nagios_plugin==NULL) { | 41 | if (this_monitoring_plugin==NULL) { |
42 | this_nagios_plugin = calloc(1, sizeof(nagios_plugin)); | 42 | this_monitoring_plugin = calloc(1, sizeof(monitoring_plugin)); |
43 | if (this_nagios_plugin==NULL) { | 43 | if (this_monitoring_plugin==NULL) { |
44 | die(STATE_UNKNOWN, _("Cannot allocate memory: %s"), | 44 | die(STATE_UNKNOWN, _("Cannot allocate memory: %s"), |
45 | strerror(errno)); | 45 | strerror(errno)); |
46 | } | 46 | } |
47 | this_nagios_plugin->plugin_name = strdup(plugin_name); | 47 | this_monitoring_plugin->plugin_name = strdup(plugin_name); |
48 | if (this_nagios_plugin->plugin_name==NULL) | 48 | if (this_monitoring_plugin->plugin_name==NULL) |
49 | die(STATE_UNKNOWN, _("Cannot execute strdup: %s"), strerror(errno)); | 49 | die(STATE_UNKNOWN, _("Cannot execute strdup: %s"), strerror(errno)); |
50 | this_nagios_plugin->argc = argc; | 50 | this_monitoring_plugin->argc = argc; |
51 | this_nagios_plugin->argv = argv; | 51 | this_monitoring_plugin->argv = argv; |
52 | } | 52 | } |
53 | } | 53 | } |
54 | 54 | ||
55 | void np_set_args( int argc, char **argv ) { | 55 | void np_set_args( int argc, char **argv ) { |
56 | if (this_nagios_plugin==NULL) | 56 | if (this_monitoring_plugin==NULL) |
57 | die(STATE_UNKNOWN, _("This requires np_init to be called")); | 57 | die(STATE_UNKNOWN, _("This requires np_init to be called")); |
58 | 58 | ||
59 | this_nagios_plugin->argc = argc; | 59 | this_monitoring_plugin->argc = argc; |
60 | this_nagios_plugin->argv = argv; | 60 | this_monitoring_plugin->argv = argv; |
61 | } | 61 | } |
62 | 62 | ||
63 | 63 | ||
64 | void np_cleanup() { | 64 | void np_cleanup() { |
65 | if (this_nagios_plugin!=NULL) { | 65 | if (this_monitoring_plugin!=NULL) { |
66 | if(this_nagios_plugin->state!=NULL) { | 66 | if(this_monitoring_plugin->state!=NULL) { |
67 | if(this_nagios_plugin->state->state_data) { | 67 | if(this_monitoring_plugin->state->state_data) { |
68 | np_free(this_nagios_plugin->state->state_data->data); | 68 | np_free(this_monitoring_plugin->state->state_data->data); |
69 | np_free(this_nagios_plugin->state->state_data); | 69 | np_free(this_monitoring_plugin->state->state_data); |
70 | } | 70 | } |
71 | np_free(this_nagios_plugin->state->name); | 71 | np_free(this_monitoring_plugin->state->name); |
72 | np_free(this_nagios_plugin->state); | 72 | np_free(this_monitoring_plugin->state); |
73 | } | 73 | } |
74 | np_free(this_nagios_plugin->plugin_name); | 74 | np_free(this_monitoring_plugin->plugin_name); |
75 | np_free(this_nagios_plugin); | 75 | np_free(this_monitoring_plugin); |
76 | } | 76 | } |
77 | this_nagios_plugin=NULL; | 77 | this_monitoring_plugin=NULL; |
78 | } | 78 | } |
79 | 79 | ||
80 | /* Hidden function to get a pointer to this_nagios_plugin for testing */ | 80 | /* Hidden function to get a pointer to this_monitoring_plugin for testing */ |
81 | void _get_nagios_plugin( nagios_plugin **pointer ){ | 81 | void _get_monitoring_plugin( monitoring_plugin **pointer ){ |
82 | *pointer = this_nagios_plugin; | 82 | *pointer = this_monitoring_plugin; |
83 | } | 83 | } |
84 | 84 | ||
85 | void | 85 | void |
@@ -89,7 +89,7 @@ die (int result, const char *fmt, ...) | |||
89 | va_start (ap, fmt); | 89 | va_start (ap, fmt); |
90 | vprintf (fmt, ap); | 90 | vprintf (fmt, ap); |
91 | va_end (ap); | 91 | va_end (ap); |
92 | if(this_nagios_plugin!=NULL) { | 92 | if(this_monitoring_plugin!=NULL) { |
93 | np_cleanup(); | 93 | np_cleanup(); |
94 | } | 94 | } |
95 | exit (result); | 95 | exit (result); |
@@ -375,14 +375,14 @@ char *np_extract_value(const char *varlist, const char *name, char sep) { | |||
375 | char *_np_state_generate_key() { | 375 | char *_np_state_generate_key() { |
376 | struct sha1_ctx ctx; | 376 | struct sha1_ctx ctx; |
377 | int i; | 377 | int i; |
378 | char **argv = this_nagios_plugin->argv; | 378 | char **argv = this_monitoring_plugin->argv; |
379 | unsigned char result[20]; | 379 | unsigned char result[20]; |
380 | char keyname[41]; | 380 | char keyname[41]; |
381 | char *p=NULL; | 381 | char *p=NULL; |
382 | 382 | ||
383 | sha1_init_ctx(&ctx); | 383 | sha1_init_ctx(&ctx); |
384 | 384 | ||
385 | for(i=0; i<this_nagios_plugin->argc; i++) { | 385 | for(i=0; i<this_monitoring_plugin->argc; i++) { |
386 | sha1_process_bytes(argv[i], strlen(argv[i]), &ctx); | 386 | sha1_process_bytes(argv[i], strlen(argv[i]), &ctx); |
387 | } | 387 | } |
388 | 388 | ||
@@ -401,9 +401,9 @@ char *_np_state_generate_key() { | |||
401 | } | 401 | } |
402 | 402 | ||
403 | void _cleanup_state_data() { | 403 | void _cleanup_state_data() { |
404 | if (this_nagios_plugin->state->state_data!=NULL) { | 404 | if (this_monitoring_plugin->state->state_data!=NULL) { |
405 | np_free(this_nagios_plugin->state->state_data->data); | 405 | np_free(this_monitoring_plugin->state->state_data->data); |
406 | np_free(this_nagios_plugin->state->state_data); | 406 | np_free(this_monitoring_plugin->state->state_data); |
407 | } | 407 | } |
408 | } | 408 | } |
409 | 409 | ||
@@ -432,7 +432,7 @@ void np_enable_state(char *keyname, int expected_data_version) { | |||
432 | char *temp_keyname = NULL; | 432 | char *temp_keyname = NULL; |
433 | char *p=NULL; | 433 | char *p=NULL; |
434 | 434 | ||
435 | if(this_nagios_plugin==NULL) | 435 | if(this_monitoring_plugin==NULL) |
436 | die(STATE_UNKNOWN, _("This requires np_init to be called")); | 436 | die(STATE_UNKNOWN, _("This requires np_init to be called")); |
437 | 437 | ||
438 | this_state = (state_key *) calloc(1, sizeof(state_key)); | 438 | this_state = (state_key *) calloc(1, sizeof(state_key)); |
@@ -456,15 +456,15 @@ void np_enable_state(char *keyname, int expected_data_version) { | |||
456 | p++; | 456 | p++; |
457 | } | 457 | } |
458 | this_state->name=temp_keyname; | 458 | this_state->name=temp_keyname; |
459 | this_state->plugin_name=this_nagios_plugin->plugin_name; | 459 | this_state->plugin_name=this_monitoring_plugin->plugin_name; |
460 | this_state->data_version=expected_data_version; | 460 | this_state->data_version=expected_data_version; |
461 | this_state->state_data=NULL; | 461 | this_state->state_data=NULL; |
462 | 462 | ||
463 | /* Calculate filename */ | 463 | /* Calculate filename */ |
464 | asprintf(&temp_filename, "%s/%s/%s", _np_state_calculate_location_prefix(), this_nagios_plugin->plugin_name, this_state->name); | 464 | asprintf(&temp_filename, "%s/%s/%s", _np_state_calculate_location_prefix(), this_monitoring_plugin->plugin_name, this_state->name); |
465 | this_state->_filename=temp_filename; | 465 | this_state->_filename=temp_filename; |
466 | 466 | ||
467 | this_nagios_plugin->state = this_state; | 467 | this_monitoring_plugin->state = this_state; |
468 | } | 468 | } |
469 | 469 | ||
470 | /* | 470 | /* |
@@ -479,11 +479,11 @@ state_data *np_state_read() { | |||
479 | FILE *statefile; | 479 | FILE *statefile; |
480 | int rc = FALSE; | 480 | int rc = FALSE; |
481 | 481 | ||
482 | if(this_nagios_plugin==NULL) | 482 | if(this_monitoring_plugin==NULL) |
483 | die(STATE_UNKNOWN, _("This requires np_init to be called")); | 483 | die(STATE_UNKNOWN, _("This requires np_init to be called")); |
484 | 484 | ||
485 | /* Open file. If this fails, no previous state found */ | 485 | /* Open file. If this fails, no previous state found */ |
486 | statefile = fopen( this_nagios_plugin->state->_filename, "r" ); | 486 | statefile = fopen( this_monitoring_plugin->state->_filename, "r" ); |
487 | if(statefile!=NULL) { | 487 | if(statefile!=NULL) { |
488 | 488 | ||
489 | this_state_data = (state_data *) calloc(1, sizeof(state_data)); | 489 | this_state_data = (state_data *) calloc(1, sizeof(state_data)); |
@@ -492,7 +492,7 @@ state_data *np_state_read() { | |||
492 | strerror(errno)); | 492 | strerror(errno)); |
493 | 493 | ||
494 | this_state_data->data=NULL; | 494 | this_state_data->data=NULL; |
495 | this_nagios_plugin->state->state_data = this_state_data; | 495 | this_monitoring_plugin->state->state_data = this_state_data; |
496 | 496 | ||
497 | rc = _np_state_read_file(statefile); | 497 | rc = _np_state_read_file(statefile); |
498 | 498 | ||
@@ -503,10 +503,10 @@ state_data *np_state_read() { | |||
503 | _cleanup_state_data(); | 503 | _cleanup_state_data(); |
504 | } | 504 | } |
505 | 505 | ||
506 | return this_nagios_plugin->state->state_data; | 506 | return this_monitoring_plugin->state->state_data; |
507 | } | 507 | } |
508 | 508 | ||
509 | /* | 509 | /* |
510 | * Read the state file | 510 | * Read the state file |
511 | */ | 511 | */ |
512 | int _np_state_read_file(FILE *f) { | 512 | int _np_state_read_file(FILE *f) { |
@@ -544,7 +544,7 @@ int _np_state_read_file(FILE *f) { | |||
544 | break; | 544 | break; |
545 | case STATE_DATA_VERSION: | 545 | case STATE_DATA_VERSION: |
546 | i=atoi(line); | 546 | i=atoi(line); |
547 | if(i != this_nagios_plugin->state->data_version) | 547 | if(i != this_monitoring_plugin->state->data_version) |
548 | failure++; | 548 | failure++; |
549 | else | 549 | else |
550 | expected=STATE_DATA_TIME; | 550 | expected=STATE_DATA_TIME; |
@@ -555,13 +555,13 @@ int _np_state_read_file(FILE *f) { | |||
555 | if(data_time > current_time) | 555 | if(data_time > current_time) |
556 | failure++; | 556 | failure++; |
557 | else { | 557 | else { |
558 | this_nagios_plugin->state->state_data->time = data_time; | 558 | this_monitoring_plugin->state->state_data->time = data_time; |
559 | expected=STATE_DATA_TEXT; | 559 | expected=STATE_DATA_TEXT; |
560 | } | 560 | } |
561 | break; | 561 | break; |
562 | case STATE_DATA_TEXT: | 562 | case STATE_DATA_TEXT: |
563 | this_nagios_plugin->state->state_data->data = strdup(line); | 563 | this_monitoring_plugin->state->state_data->data = strdup(line); |
564 | if(this_nagios_plugin->state->state_data->data==NULL) | 564 | if(this_monitoring_plugin->state->state_data->data==NULL) |
565 | die(STATE_UNKNOWN, _("Cannot execute strdup: %s"), strerror(errno)); | 565 | die(STATE_UNKNOWN, _("Cannot execute strdup: %s"), strerror(errno)); |
566 | expected=STATE_DATA_END; | 566 | expected=STATE_DATA_END; |
567 | status=TRUE; | 567 | status=TRUE; |
@@ -596,8 +596,8 @@ void np_state_write_string(time_t data_time, char *data_string) { | |||
596 | current_time=data_time; | 596 | current_time=data_time; |
597 | 597 | ||
598 | /* If file doesn't currently exist, create directories */ | 598 | /* If file doesn't currently exist, create directories */ |
599 | if(access(this_nagios_plugin->state->_filename,F_OK)!=0) { | 599 | if(access(this_monitoring_plugin->state->_filename,F_OK)!=0) { |
600 | asprintf(&directories, "%s", this_nagios_plugin->state->_filename); | 600 | asprintf(&directories, "%s", this_monitoring_plugin->state->_filename); |
601 | if(directories==NULL) | 601 | if(directories==NULL) |
602 | die(STATE_UNKNOWN, _("Cannot allocate memory: %s"), | 602 | die(STATE_UNKNOWN, _("Cannot allocate memory: %s"), |
603 | strerror(errno)); | 603 | strerror(errno)); |
@@ -607,7 +607,7 @@ void np_state_write_string(time_t data_time, char *data_string) { | |||
607 | *p='\0'; | 607 | *p='\0'; |
608 | if((access(directories,F_OK)!=0) && (mkdir(directories, S_IRWXU)!=0)) { | 608 | if((access(directories,F_OK)!=0) && (mkdir(directories, S_IRWXU)!=0)) { |
609 | /* Can't free this! Otherwise error message is wrong! */ | 609 | /* Can't free this! Otherwise error message is wrong! */ |
610 | /* np_free(directories); */ | 610 | /* np_free(directories); */ |
611 | die(STATE_UNKNOWN, _("Cannot create directory: %s"), directories); | 611 | die(STATE_UNKNOWN, _("Cannot create directory: %s"), directories); |
612 | } | 612 | } |
613 | *p='/'; | 613 | *p='/'; |
@@ -616,7 +616,7 @@ void np_state_write_string(time_t data_time, char *data_string) { | |||
616 | np_free(directories); | 616 | np_free(directories); |
617 | } | 617 | } |
618 | 618 | ||
619 | asprintf(&temp_file,"%s.XXXXXX",this_nagios_plugin->state->_filename); | 619 | asprintf(&temp_file,"%s.XXXXXX",this_monitoring_plugin->state->_filename); |
620 | if(temp_file==NULL) | 620 | if(temp_file==NULL) |
621 | die(STATE_UNKNOWN, _("Cannot allocate memory: %s"), | 621 | die(STATE_UNKNOWN, _("Cannot allocate memory: %s"), |
622 | strerror(errno)); | 622 | strerror(errno)); |
@@ -636,7 +636,7 @@ void np_state_write_string(time_t data_time, char *data_string) { | |||
636 | 636 | ||
637 | fprintf(fp,"# NP State file\n"); | 637 | fprintf(fp,"# NP State file\n"); |
638 | fprintf(fp,"%d\n",NP_STATE_FORMAT_VERSION); | 638 | fprintf(fp,"%d\n",NP_STATE_FORMAT_VERSION); |
639 | fprintf(fp,"%d\n",this_nagios_plugin->state->data_version); | 639 | fprintf(fp,"%d\n",this_monitoring_plugin->state->data_version); |
640 | fprintf(fp,"%lu\n",current_time); | 640 | fprintf(fp,"%lu\n",current_time); |
641 | fprintf(fp,"%s\n",data_string); | 641 | fprintf(fp,"%s\n",data_string); |
642 | 642 | ||
@@ -654,7 +654,7 @@ void np_state_write_string(time_t data_time, char *data_string) { | |||
654 | die(STATE_UNKNOWN, _("Error writing temp file")); | 654 | die(STATE_UNKNOWN, _("Error writing temp file")); |
655 | } | 655 | } |
656 | 656 | ||
657 | if(rename(temp_file, this_nagios_plugin->state->_filename)!=0) { | 657 | if(rename(temp_file, this_monitoring_plugin->state->_filename)!=0) { |
658 | unlink(temp_file); | 658 | unlink(temp_file); |
659 | np_free(temp_file); | 659 | np_free(temp_file); |
660 | die(STATE_UNKNOWN, _("Cannot rename state temp file")); | 660 | die(STATE_UNKNOWN, _("Cannot rename state temp file")); |