011-no-ssl-protocol.t 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;
  4. BEGIN {
  5. use File::Basename;
  6. use lib (dirname(__FILE__));
  7. }
  8. use Test::More;
  9. use nrpe;
  10. my @response;
  11. #if (!supports_ssl()) {
  12. # plan skip_all => 'SSL/TLS support unavailable.';
  13. #}
  14. plan tests => 9;
  15. ensure_daemon_running();
  16. switch_config_file("configs/nossl.cfg");
  17. restart_daemon();
  18. # v4
  19. @response = send_request('port' => 40321, 'ssl' => 0);
  20. is_response(\@response, 'v4 version check');
  21. @response = send_request('port' => 40321, 'ssl' => 0, 'length' => +10);
  22. is_response(\@response, 'v4 version check - large');
  23. @response = send_request('port' => 40321, 'ssl' => 0, 'length' => -10);
  24. isnt_response(\@response, "v4 version check - short"); # Expected failure - server read timeout
  25. @response = send_request('port' => 40321, 'ssl' => 0, 'crc' => 0);
  26. isnt_response(\@response, "v4 version check - invalid crc"); # Expected failure - crc
  27. @response = send_request('port' => 40321, 'ssl' => 0, 'type' => 20);
  28. isnt_response(\@response, "v4 version check - invalid type"); # Expected failure - invalid type
  29. # v3
  30. @response = send_request('port' => 40321, 'version' => 3, 'ssl' => 0);
  31. isnt_response(\@response, "v3 version check"); # Expected failure
  32. # v2
  33. @response = send_request('port' => 40321, 'version' => 2, 'ssl' => 0);
  34. is_response(\@response, 'v2 version check', 'version' => 2);
  35. @response = send_request('port' => 40321, 'version' => 2, 'ssl' => 0, 'length' => +10);
  36. is_response(\@response, 'v2 version check - large', 'version' => 2);
  37. @response = send_request('port' => 40321, 'version' => 2, 'ssl' => 0, 'length' => -10);
  38. isnt_response(\@response, "v2 version check - short"); # Expected failure
  39. done_testing();