diff options
Diffstat (limited to 'plugins/check_nwstat.c')
| -rw-r--r-- | plugins/check_nwstat.c | 94 |
1 files changed, 47 insertions, 47 deletions
diff --git a/plugins/check_nwstat.c b/plugins/check_nwstat.c index e1426702..f8fca736 100644 --- a/plugins/check_nwstat.c +++ b/plugins/check_nwstat.c | |||
| @@ -180,13 +180,13 @@ int main(int argc, char **argv){ | |||
| 180 | if(result!=STATE_OK) | 180 | if(result!=STATE_OK) |
| 181 | return result; | 181 | return result; |
| 182 | if(!strcmp(recv_buffer,"-1\n")) | 182 | if(!strcmp(recv_buffer,"-1\n")) |
| 183 | netware_version = ssprintf(netware_version,""); | 183 | asprintf(&netware_version,""); |
| 184 | else { | 184 | else { |
| 185 | recv_buffer[strlen(recv_buffer)-1]=0; | 185 | recv_buffer[strlen(recv_buffer)-1]=0; |
| 186 | netware_version = ssprintf(netware_version,"NetWare %s: ",recv_buffer); | 186 | asprintf(&netware_version,"NetWare %s: ",recv_buffer); |
| 187 | } | 187 | } |
| 188 | } else | 188 | } else |
| 189 | netware_version = ssprintf(netware_version,""); | 189 | asprintf(&netware_version,""); |
| 190 | 190 | ||
| 191 | 191 | ||
| 192 | /* check CPU load */ | 192 | /* check CPU load */ |
| @@ -204,7 +204,7 @@ int main(int argc, char **argv){ | |||
| 204 | break; | 204 | break; |
| 205 | } | 205 | } |
| 206 | 206 | ||
| 207 | send_buffer = ssprintf(send_buffer,"UTIL%s\r\n",temp_buffer); | 207 | asprintf(&send_buffer,"UTIL%s\r\n",temp_buffer); |
| 208 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 208 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 209 | if(result!=STATE_OK) | 209 | if(result!=STATE_OK) |
| 210 | return result; | 210 | return result; |
| @@ -221,7 +221,7 @@ int main(int argc, char **argv){ | |||
| 221 | else if(check_warning_value==TRUE && utilization >= warning_value) | 221 | else if(check_warning_value==TRUE && utilization >= warning_value) |
| 222 | result=STATE_WARNING; | 222 | result=STATE_WARNING; |
| 223 | 223 | ||
| 224 | output_message = ssprintf(output_message,"Load %s - %s %s-min load average = %lu%%",(result==STATE_OK)?"ok":"problem",uptime,temp_buffer,utilization); | 224 | asprintf(&output_message,"Load %s - %s %s-min load average = %lu%%",(result==STATE_OK)?"ok":"problem",uptime,temp_buffer,utilization); |
| 225 | 225 | ||
| 226 | /* check number of user connections */ | 226 | /* check number of user connections */ |
| 227 | } else if (vars_to_check==CHECK_CONNS) { | 227 | } else if (vars_to_check==CHECK_CONNS) { |
| @@ -236,7 +236,7 @@ int main(int argc, char **argv){ | |||
| 236 | result=STATE_CRITICAL; | 236 | result=STATE_CRITICAL; |
| 237 | else if(check_warning_value==TRUE && current_connections >= warning_value) | 237 | else if(check_warning_value==TRUE && current_connections >= warning_value) |
| 238 | result=STATE_WARNING; | 238 | result=STATE_WARNING; |
| 239 | output_message = ssprintf(output_message,"Conns %s - %lu current connections",(result==STATE_OK)?"ok":"problem",current_connections); | 239 | asprintf(&output_message,"Conns %s - %lu current connections",(result==STATE_OK)?"ok":"problem",current_connections); |
| 240 | 240 | ||
| 241 | /* check % long term cache hits */ | 241 | /* check % long term cache hits */ |
| 242 | } else if (vars_to_check==CHECK_LTCH) { | 242 | } else if (vars_to_check==CHECK_LTCH) { |
| @@ -251,7 +251,7 @@ int main(int argc, char **argv){ | |||
| 251 | result=STATE_CRITICAL; | 251 | result=STATE_CRITICAL; |
| 252 | else if(check_warning_value==TRUE && cache_hits <= warning_value) | 252 | else if(check_warning_value==TRUE && cache_hits <= warning_value) |
| 253 | result=STATE_WARNING; | 253 | result=STATE_WARNING; |
| 254 | output_message = ssprintf(output_message,"Long term cache hits = %d%%",cache_hits); | 254 | asprintf(&output_message,"Long term cache hits = %d%%",cache_hits); |
| 255 | 255 | ||
| 256 | /* check cache buffers */ | 256 | /* check cache buffers */ |
| 257 | } else if (vars_to_check==CHECK_CBUFF) { | 257 | } else if (vars_to_check==CHECK_CBUFF) { |
| @@ -266,7 +266,7 @@ int main(int argc, char **argv){ | |||
| 266 | result=STATE_CRITICAL; | 266 | result=STATE_CRITICAL; |
| 267 | else if(check_warning_value==TRUE && cache_buffers <= warning_value) | 267 | else if(check_warning_value==TRUE && cache_buffers <= warning_value) |
| 268 | result=STATE_WARNING; | 268 | result=STATE_WARNING; |
| 269 | output_message = ssprintf(output_message,"Total cache buffers = %lu",cache_buffers); | 269 | asprintf(&output_message,"Total cache buffers = %lu",cache_buffers); |
| 270 | 270 | ||
| 271 | /* check dirty cache buffers */ | 271 | /* check dirty cache buffers */ |
| 272 | } else if (vars_to_check==CHECK_CDBUFF) { | 272 | } else if (vars_to_check==CHECK_CDBUFF) { |
| @@ -281,7 +281,7 @@ int main(int argc, char **argv){ | |||
| 281 | result=STATE_CRITICAL; | 281 | result=STATE_CRITICAL; |
| 282 | else if(check_warning_value==TRUE && cache_buffers >= warning_value) | 282 | else if(check_warning_value==TRUE && cache_buffers >= warning_value) |
| 283 | result=STATE_WARNING; | 283 | result=STATE_WARNING; |
| 284 | output_message = ssprintf(output_message,"Dirty cache buffers = %lu",cache_buffers); | 284 | asprintf(&output_message,"Dirty cache buffers = %lu",cache_buffers); |
| 285 | 285 | ||
| 286 | /* check LRU sitting time in minutes */ | 286 | /* check LRU sitting time in minutes */ |
| 287 | } else if (vars_to_check==CHECK_LRUM) { | 287 | } else if (vars_to_check==CHECK_LRUM) { |
| @@ -296,19 +296,19 @@ int main(int argc, char **argv){ | |||
| 296 | result=STATE_CRITICAL; | 296 | result=STATE_CRITICAL; |
| 297 | else if(check_warning_value==TRUE && lru_time <= warning_value) | 297 | else if(check_warning_value==TRUE && lru_time <= warning_value) |
| 298 | result=STATE_WARNING; | 298 | result=STATE_WARNING; |
| 299 | output_message = ssprintf(output_message,"LRU sitting time = %lu minutes",lru_time); | 299 | sprintf(&output_message,"LRU sitting time = %lu minutes",lru_time); |
| 300 | 300 | ||
| 301 | 301 | ||
| 302 | /* check KB free space on volume */ | 302 | /* check KB free space on volume */ |
| 303 | } else if (vars_to_check==CHECK_VKF) { | 303 | } else if (vars_to_check==CHECK_VKF) { |
| 304 | 304 | ||
| 305 | send_buffer = ssprintf(send_buffer,"VKF%s\r\n",volume_name); | 305 | asprintf(&send_buffer,"VKF%s\r\n",volume_name); |
| 306 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 306 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 307 | if(result!=STATE_OK) | 307 | if(result!=STATE_OK) |
| 308 | return result; | 308 | return result; |
| 309 | 309 | ||
| 310 | if (!strcmp(recv_buffer,"-1\n")) { | 310 | if (!strcmp(recv_buffer,"-1\n")) { |
| 311 | output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name); | 311 | asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name); |
| 312 | result=STATE_CRITICAL; | 312 | result=STATE_CRITICAL; |
| 313 | } else { | 313 | } else { |
| 314 | free_disk_space=strtoul(recv_buffer,NULL,10); | 314 | free_disk_space=strtoul(recv_buffer,NULL,10); |
| @@ -316,27 +316,27 @@ int main(int argc, char **argv){ | |||
| 316 | result=STATE_CRITICAL; | 316 | result=STATE_CRITICAL; |
| 317 | else if(check_warning_value==TRUE && free_disk_space <= warning_value) | 317 | else if(check_warning_value==TRUE && free_disk_space <= warning_value) |
| 318 | result=STATE_WARNING; | 318 | result=STATE_WARNING; |
| 319 | output_message = ssprintf(output_message,"%s%lu KB free on volume %s",(result==STATE_OK)?"":"Only ",free_disk_space,volume_name); | 319 | asprintf(&output_message,"%s%lu KB free on volume %s",(result==STATE_OK)?"":"Only ",free_disk_space,volume_name); |
| 320 | } | 320 | } |
| 321 | 321 | ||
| 322 | /* check % free space on volume */ | 322 | /* check % free space on volume */ |
| 323 | } else if (vars_to_check==CHECK_VPF) { | 323 | } else if (vars_to_check==CHECK_VPF) { |
| 324 | 324 | ||
| 325 | send_buffer = ssprintf(send_buffer,"VKF%s\r\n",volume_name); | 325 | asprintf(&send_buffer,"VKF%s\r\n",volume_name); |
| 326 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 326 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 327 | if(result!=STATE_OK) | 327 | if(result!=STATE_OK) |
| 328 | return result; | 328 | return result; |
| 329 | 329 | ||
| 330 | if(!strcmp(recv_buffer,"-1\n")){ | 330 | if(!strcmp(recv_buffer,"-1\n")){ |
| 331 | 331 | ||
| 332 | output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name); | 332 | asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name); |
| 333 | result=STATE_CRITICAL; | 333 | result=STATE_CRITICAL; |
| 334 | 334 | ||
| 335 | } else { | 335 | } else { |
| 336 | 336 | ||
| 337 | free_disk_space=strtoul(recv_buffer,NULL,10); | 337 | free_disk_space=strtoul(recv_buffer,NULL,10); |
| 338 | 338 | ||
| 339 | send_buffer = ssprintf(send_buffer,"VKS%s\r\n",volume_name); | 339 | asprintf(&send_buffer,"VKS%s\r\n",volume_name); |
| 340 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 340 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 341 | if(result!=STATE_OK) | 341 | if(result!=STATE_OK) |
| 342 | return result; | 342 | return result; |
| @@ -349,7 +349,7 @@ int main(int argc, char **argv){ | |||
| 349 | else if(check_warning_value==TRUE && percent_free_space <= warning_value) | 349 | else if(check_warning_value==TRUE && percent_free_space <= warning_value) |
| 350 | result=STATE_WARNING; | 350 | result=STATE_WARNING; |
| 351 | free_disk_space/=1024; | 351 | free_disk_space/=1024; |
| 352 | output_message = ssprintf(output_message,"%lu MB (%d%%) free on volume %s",free_disk_space,percent_free_space,volume_name); | 352 | asprintf(&output_message,"%lu MB (%d%%) free on volume %s",free_disk_space,percent_free_space,volume_name); |
| 353 | } | 353 | } |
| 354 | 354 | ||
| 355 | /* check to see if DS Database is open or closed */ | 355 | /* check to see if DS Database is open or closed */ |
| @@ -368,7 +368,7 @@ int main(int argc, char **argv){ | |||
| 368 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 368 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 369 | temp_buffer=strtok(recv_buffer,"\r\n"); | 369 | temp_buffer=strtok(recv_buffer,"\r\n"); |
| 370 | 370 | ||
| 371 | output_message = ssprintf(output_message,"Directory Services Database is %s (DS version %s)",(result==STATE_OK)?"open":"closed",temp_buffer); | 371 | asprintf(&output_message,"Directory Services Database is %s (DS version %s)",(result==STATE_OK)?"open":"closed",temp_buffer); |
| 372 | 372 | ||
| 373 | /* check to see if logins are enabled */ | 373 | /* check to see if logins are enabled */ |
| 374 | } else if (vars_to_check==CHECK_LOGINS) { | 374 | } else if (vars_to_check==CHECK_LOGINS) { |
| @@ -382,19 +382,19 @@ int main(int argc, char **argv){ | |||
| 382 | else | 382 | else |
| 383 | result=STATE_WARNING; | 383 | result=STATE_WARNING; |
| 384 | 384 | ||
| 385 | output_message = ssprintf(output_message,"Logins are %s",(result==STATE_OK)?"enabled":"disabled"); | 385 | asprintf(&output_message,"Logins are %s",(result==STATE_OK)?"enabled":"disabled"); |
| 386 | 386 | ||
| 387 | /* check packet receive buffers */ | 387 | /* check packet receive buffers */ |
| 388 | } else if (vars_to_check==CHECK_UPRB || vars_to_check==CHECK_PUPRB) { | 388 | } else if (vars_to_check==CHECK_UPRB || vars_to_check==CHECK_PUPRB) { |
| 389 | 389 | ||
| 390 | send_buffer = ssprintf(send_buffer,"S15\r\n",volume_name); | 390 | asprintf(&send_buffer,"S15\r\n",volume_name); |
| 391 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 391 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 392 | if(result!=STATE_OK) | 392 | if(result!=STATE_OK) |
| 393 | return result; | 393 | return result; |
| 394 | 394 | ||
| 395 | used_packet_receive_buffers=atoi(recv_buffer); | 395 | used_packet_receive_buffers=atoi(recv_buffer); |
| 396 | 396 | ||
| 397 | send_buffer = ssprintf(send_buffer,"S16\r\n",volume_name); | 397 | asprintf(&send_buffer,"S16\r\n",volume_name); |
| 398 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 398 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 399 | if(result!=STATE_OK) | 399 | if(result!=STATE_OK) |
| 400 | return result; | 400 | return result; |
| @@ -415,15 +415,15 @@ int main(int argc, char **argv){ | |||
| 415 | result=STATE_WARNING; | 415 | result=STATE_WARNING; |
| 416 | } | 416 | } |
| 417 | 417 | ||
| 418 | output_message = ssprintf(output_message,"%d of %d (%lu%%) packet receive buffers used",used_packet_receive_buffers,max_packet_receive_buffers,percent_used_packet_receive_buffers); | 418 | asprintf(&output_message,"%d of %d (%lu%%) packet receive buffers used",used_packet_receive_buffers,max_packet_receive_buffers,percent_used_packet_receive_buffers); |
| 419 | 419 | ||
| 420 | /* check SAP table entries */ | 420 | /* check SAP table entries */ |
| 421 | } else if (vars_to_check==CHECK_SAPENTRIES) { | 421 | } else if (vars_to_check==CHECK_SAPENTRIES) { |
| 422 | 422 | ||
| 423 | if(sap_number==-1) | 423 | if(sap_number==-1) |
| 424 | send_buffer = ssprintf(send_buffer,"S9\r\n"); | 424 | asprintf(&send_buffer,"S9\r\n"); |
| 425 | else | 425 | else |
| 426 | send_buffer = ssprintf(send_buffer,"S9.%d\r\n",sap_number); | 426 | asprintf(&send_buffer,"S9.%d\r\n",sap_number); |
| 427 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 427 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 428 | if(result!=STATE_OK) | 428 | if(result!=STATE_OK) |
| 429 | return result; | 429 | return result; |
| @@ -436,20 +436,20 @@ int main(int argc, char **argv){ | |||
| 436 | result=STATE_WARNING; | 436 | result=STATE_WARNING; |
| 437 | 437 | ||
| 438 | if(sap_number==-1) | 438 | if(sap_number==-1) |
| 439 | output_message = ssprintf(output_message,"%d entries in SAP table",sap_entries); | 439 | asprintf(&output_message,"%d entries in SAP table",sap_entries); |
| 440 | else | 440 | else |
| 441 | output_message = ssprintf(output_message,"%d entries in SAP table for SAP type %d",sap_entries,sap_number); | 441 | asprintf(&output_message,"%d entries in SAP table for SAP type %d",sap_entries,sap_number); |
| 442 | 442 | ||
| 443 | /* check KB purgeable space on volume */ | 443 | /* check KB purgeable space on volume */ |
| 444 | } else if (vars_to_check==CHECK_VKP) { | 444 | } else if (vars_to_check==CHECK_VKP) { |
| 445 | 445 | ||
| 446 | send_buffer = ssprintf(send_buffer,"VKP%s\r\n",volume_name); | 446 | asprintf(&send_buffer,"VKP%s\r\n",volume_name); |
| 447 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 447 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 448 | if(result!=STATE_OK) | 448 | if(result!=STATE_OK) |
| 449 | return result; | 449 | return result; |
| 450 | 450 | ||
| 451 | if (!strcmp(recv_buffer,"-1\n")) { | 451 | if (!strcmp(recv_buffer,"-1\n")) { |
| 452 | output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name); | 452 | asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name); |
| 453 | result=STATE_CRITICAL; | 453 | result=STATE_CRITICAL; |
| 454 | } else { | 454 | } else { |
| 455 | purgeable_disk_space=strtoul(recv_buffer,NULL,10); | 455 | purgeable_disk_space=strtoul(recv_buffer,NULL,10); |
| @@ -457,27 +457,27 @@ int main(int argc, char **argv){ | |||
| 457 | result=STATE_CRITICAL; | 457 | result=STATE_CRITICAL; |
| 458 | else if(check_warning_value==TRUE && purgeable_disk_space >= warning_value) | 458 | else if(check_warning_value==TRUE && purgeable_disk_space >= warning_value) |
| 459 | result=STATE_WARNING; | 459 | result=STATE_WARNING; |
| 460 | output_message = ssprintf(output_message,"%s%lu KB purgeable on volume %s",(result==STATE_OK)?"":"Only ",purgeable_disk_space,volume_name); | 460 | asprintf(&output_message,"%s%lu KB purgeable on volume %s",(result==STATE_OK)?"":"Only ",purgeable_disk_space,volume_name); |
| 461 | } | 461 | } |
| 462 | 462 | ||
| 463 | /* check % purgeable space on volume */ | 463 | /* check % purgeable space on volume */ |
| 464 | } else if (vars_to_check==CHECK_VPP) { | 464 | } else if (vars_to_check==CHECK_VPP) { |
| 465 | 465 | ||
| 466 | send_buffer = ssprintf(send_buffer,"VKP%s\r\n",volume_name); | 466 | asprintf(&send_buffer,"VKP%s\r\n",volume_name); |
| 467 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 467 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 468 | if(result!=STATE_OK) | 468 | if(result!=STATE_OK) |
| 469 | return result; | 469 | return result; |
| 470 | 470 | ||
| 471 | if(!strcmp(recv_buffer,"-1\n")){ | 471 | if(!strcmp(recv_buffer,"-1\n")){ |
| 472 | 472 | ||
| 473 | output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name); | 473 | asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name); |
| 474 | result=STATE_CRITICAL; | 474 | result=STATE_CRITICAL; |
| 475 | 475 | ||
| 476 | } else { | 476 | } else { |
| 477 | 477 | ||
| 478 | purgeable_disk_space=strtoul(recv_buffer,NULL,10); | 478 | purgeable_disk_space=strtoul(recv_buffer,NULL,10); |
| 479 | 479 | ||
| 480 | send_buffer = ssprintf(send_buffer,"VKS%s\r\n",volume_name); | 480 | asprintf(&send_buffer,"VKS%s\r\n",volume_name); |
| 481 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 481 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 482 | if(result!=STATE_OK) | 482 | if(result!=STATE_OK) |
| 483 | return result; | 483 | return result; |
| @@ -490,19 +490,19 @@ int main(int argc, char **argv){ | |||
| 490 | else if(check_warning_value==TRUE && percent_purgeable_space >= warning_value) | 490 | else if(check_warning_value==TRUE && percent_purgeable_space >= warning_value) |
| 491 | result=STATE_WARNING; | 491 | result=STATE_WARNING; |
| 492 | purgeable_disk_space/=1024; | 492 | purgeable_disk_space/=1024; |
| 493 | output_message = ssprintf(output_message,"%lu MB (%d%%) purgeable on volume %s",purgeable_disk_space,percent_purgeable_space,volume_name); | 493 | asprintf(&output_message,"%lu MB (%d%%) purgeable on volume %s",purgeable_disk_space,percent_purgeable_space,volume_name); |
| 494 | } | 494 | } |
| 495 | 495 | ||
| 496 | /* check KB not yet purgeable space on volume */ | 496 | /* check KB not yet purgeable space on volume */ |
| 497 | } else if (vars_to_check==CHECK_VKNP) { | 497 | } else if (vars_to_check==CHECK_VKNP) { |
| 498 | 498 | ||
| 499 | send_buffer = ssprintf(send_buffer,"VKNP%s\r\n",volume_name); | 499 | asprintf(&send_buffer,"VKNP%s\r\n",volume_name); |
| 500 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 500 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 501 | if(result!=STATE_OK) | 501 | if(result!=STATE_OK) |
| 502 | return result; | 502 | return result; |
| 503 | 503 | ||
| 504 | if (!strcmp(recv_buffer,"-1\n")) { | 504 | if (!strcmp(recv_buffer,"-1\n")) { |
| 505 | output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name); | 505 | asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name); |
| 506 | result=STATE_CRITICAL; | 506 | result=STATE_CRITICAL; |
| 507 | } else { | 507 | } else { |
| 508 | non_purgeable_disk_space=strtoul(recv_buffer,NULL,10); | 508 | non_purgeable_disk_space=strtoul(recv_buffer,NULL,10); |
| @@ -510,27 +510,27 @@ int main(int argc, char **argv){ | |||
| 510 | result=STATE_CRITICAL; | 510 | result=STATE_CRITICAL; |
| 511 | else if(check_warning_value==TRUE && non_purgeable_disk_space >= warning_value) | 511 | else if(check_warning_value==TRUE && non_purgeable_disk_space >= warning_value) |
| 512 | result=STATE_WARNING; | 512 | result=STATE_WARNING; |
| 513 | output_message = ssprintf(output_message,"%s%lu KB not yet purgeable on volume %s",(result==STATE_OK)?"":"Only ",non_purgeable_disk_space,volume_name); | 513 | asprintf(&output_message,"%s%lu KB not yet purgeable on volume %s",(result==STATE_OK)?"":"Only ",non_purgeable_disk_space,volume_name); |
| 514 | } | 514 | } |
| 515 | 515 | ||
| 516 | /* check % not yet purgeable space on volume */ | 516 | /* check % not yet purgeable space on volume */ |
| 517 | } else if (vars_to_check==CHECK_VPNP) { | 517 | } else if (vars_to_check==CHECK_VPNP) { |
| 518 | 518 | ||
| 519 | send_buffer = ssprintf(send_buffer,"VKNP%s\r\n",volume_name); | 519 | asprintf(&send_buffer,"VKNP%s\r\n",volume_name); |
| 520 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 520 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 521 | if(result!=STATE_OK) | 521 | if(result!=STATE_OK) |
| 522 | return result; | 522 | return result; |
| 523 | 523 | ||
| 524 | if(!strcmp(recv_buffer,"-1\n")){ | 524 | if(!strcmp(recv_buffer,"-1\n")){ |
| 525 | 525 | ||
| 526 | output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name); | 526 | asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name); |
| 527 | result=STATE_CRITICAL; | 527 | result=STATE_CRITICAL; |
| 528 | 528 | ||
| 529 | } else { | 529 | } else { |
| 530 | 530 | ||
| 531 | non_purgeable_disk_space=strtoul(recv_buffer,NULL,10); | 531 | non_purgeable_disk_space=strtoul(recv_buffer,NULL,10); |
| 532 | 532 | ||
| 533 | send_buffer = ssprintf(send_buffer,"VKS%s\r\n",volume_name); | 533 | asprintf(&send_buffer,"VKS%s\r\n",volume_name); |
| 534 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 534 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 535 | if(result!=STATE_OK) | 535 | if(result!=STATE_OK) |
| 536 | return result; | 536 | return result; |
| @@ -543,13 +543,13 @@ int main(int argc, char **argv){ | |||
| 543 | else if(check_warning_value==TRUE && percent_non_purgeable_space >= warning_value) | 543 | else if(check_warning_value==TRUE && percent_non_purgeable_space >= warning_value) |
| 544 | result=STATE_WARNING; | 544 | result=STATE_WARNING; |
| 545 | purgeable_disk_space/=1024; | 545 | purgeable_disk_space/=1024; |
| 546 | output_message = ssprintf(output_message,"%lu MB (%d%%) not yet purgeable on volume %s",non_purgeable_disk_space,percent_non_purgeable_space,volume_name); | 546 | asprintf(&output_message,"%lu MB (%d%%) not yet purgeable on volume %s",non_purgeable_disk_space,percent_non_purgeable_space,volume_name); |
| 547 | } | 547 | } |
| 548 | 548 | ||
| 549 | /* check # of open files */ | 549 | /* check # of open files */ |
| 550 | } else if (vars_to_check==CHECK_OFILES) { | 550 | } else if (vars_to_check==CHECK_OFILES) { |
| 551 | 551 | ||
| 552 | send_buffer = ssprintf(send_buffer,"S18\r\n"); | 552 | asprintf(&send_buffer,"S18\r\n"); |
| 553 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 553 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 554 | if(result!=STATE_OK) | 554 | if(result!=STATE_OK) |
| 555 | return result; | 555 | return result; |
| @@ -561,12 +561,12 @@ int main(int argc, char **argv){ | |||
| 561 | else if(check_warning_value==TRUE && open_files >= warning_value) | 561 | else if(check_warning_value==TRUE && open_files >= warning_value) |
| 562 | result=STATE_WARNING; | 562 | result=STATE_WARNING; |
| 563 | 563 | ||
| 564 | output_message = ssprintf(output_message,"%d open files",open_files); | 564 | asprintf(&output_message,"%d open files",open_files); |
| 565 | 565 | ||
| 566 | /* check # of abended threads (Netware 5.x only) */ | 566 | /* check # of abended threads (Netware 5.x only) */ |
| 567 | } else if (vars_to_check==CHECK_ABENDS) { | 567 | } else if (vars_to_check==CHECK_ABENDS) { |
| 568 | 568 | ||
| 569 | send_buffer = ssprintf(send_buffer,"S17\r\n"); | 569 | asprintf(&send_buffer,"S17\r\n"); |
| 570 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 570 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 571 | if(result!=STATE_OK) | 571 | if(result!=STATE_OK) |
| 572 | return result; | 572 | return result; |
| @@ -578,19 +578,19 @@ int main(int argc, char **argv){ | |||
| 578 | else if(check_warning_value==TRUE && abended_threads >= warning_value) | 578 | else if(check_warning_value==TRUE && abended_threads >= warning_value) |
| 579 | result=STATE_WARNING; | 579 | result=STATE_WARNING; |
| 580 | 580 | ||
| 581 | output_message = ssprintf(output_message,"%d abended threads",abended_threads); | 581 | asprintf(&output_message,"%d abended threads",abended_threads); |
| 582 | 582 | ||
| 583 | /* check # of current service processes (Netware 5.x only) */ | 583 | /* check # of current service processes (Netware 5.x only) */ |
| 584 | } else if (vars_to_check==CHECK_CSPROCS) { | 584 | } else if (vars_to_check==CHECK_CSPROCS) { |
| 585 | 585 | ||
| 586 | send_buffer = ssprintf(send_buffer,"S20\r\n"); | 586 | asprintf(&send_buffer,"S20\r\n"); |
| 587 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 587 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 588 | if(result!=STATE_OK) | 588 | if(result!=STATE_OK) |
| 589 | return result; | 589 | return result; |
| 590 | 590 | ||
| 591 | max_service_processes=atoi(recv_buffer); | 591 | max_service_processes=atoi(recv_buffer); |
| 592 | 592 | ||
| 593 | send_buffer = ssprintf(send_buffer,"S21\r\n"); | 593 | sprintf(&send_buffer,"S21\r\n"); |
| 594 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); | 594 | result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer)); |
| 595 | if(result!=STATE_OK) | 595 | if(result!=STATE_OK) |
| 596 | return result; | 596 | return result; |
| @@ -602,7 +602,7 @@ int main(int argc, char **argv){ | |||
| 602 | else if(check_warning_value==TRUE && current_service_processes >= warning_value) | 602 | else if(check_warning_value==TRUE && current_service_processes >= warning_value) |
| 603 | result=STATE_WARNING; | 603 | result=STATE_WARNING; |
| 604 | 604 | ||
| 605 | output_message = ssprintf(output_message,"%d current service processes (%d max)",current_service_processes,max_service_processes); | 605 | asprintf(&output_message,"%d current service processes (%d max)",current_service_processes,max_service_processes); |
| 606 | 606 | ||
| 607 | } else { | 607 | } else { |
| 608 | 608 | ||
