]> git.pld-linux.org Git - packages/cyrus-sasl.git/blob - cyrus-sasl-nagios-plugin.patch
- allow building without Nagios support
[packages/cyrus-sasl.git] / cyrus-sasl-nagios-plugin.patch
1 --- cyrus-sasl-2.1.28/saslauthd/Makefile.am.orig        2022-02-18 22:50:42.000000000 +0100
2 +++ cyrus-sasl-2.1.28/saslauthd/Makefile.am     2022-05-23 18:49:42.340529846 +0200
3 @@ -1,5 +1,7 @@
4  AUTOMAKE_OPTIONS = 1.7
5  sbin_PROGRAMS  = saslauthd testsaslauthd
6 +nagios_PROGRAMS        = check_saslauthd
7 +nagiosdir      = @libdir@/nagios/plugins
8  EXTRA_PROGRAMS  = saslcache
9  
10  LTLIBOBJS = @LTLIBOBJS@
11 @@ -30,6 +32,10 @@ saslauthd_LDADD      = @SASL_KRB_LIB@ \
12  testsaslauthd_SOURCES = testsaslauthd.c utils.c
13  testsaslauthd_LDADD = @LIB_SOCKET@
14  
15 +check_saslauthd_SOURCES = testsaslauthd.c utils.c
16 +check_saslauthd_LDADD = @LIB_SOCKET@
17 +check_saslauthd_CFLAGS = -DNAGIOS_PLUGIN
18 +
19  saslcache_SOURCES = saslcache.c
20  
21  EXTRA_DIST     = testsaslauthd.8 saslauthd.mdoc include \
22 diff -urNp -x '*.orig' cyrus-sasl-2.1.27.org/saslauthd/testsaslauthd.c cyrus-sasl-2.1.27/saslauthd/testsaslauthd.c
23 --- cyrus-sasl-2.1.27.org/saslauthd/testsaslauthd.c     2018-11-08 18:29:57.000000000 +0100
24 +++ cyrus-sasl-2.1.27/saslauthd/testsaslauthd.c 2021-09-28 23:58:31.072659837 +0200
25 @@ -58,6 +58,13 @@
26  #endif
27  #include <assert.h>
28  
29 +#ifdef NAGIOS_PLUGIN
30 +#define STATE_OK    0
31 +#define STATE_WARNING   1
32 +#define STATE_CRITICAL  2
33 +#define STATE_UNKNOWN   3
34 +#endif
35 +
36  #include "globals.h"
37  #include "utils.h"
38  
39 @@ -244,7 +251,11 @@ static int saslauthd_verify_password(con
40      }
41    
42      printf("NO \"authentication failed\"\n");
43 +#ifdef NAGIOS_PLUGIN
44 +    return 1;
45 +#else
46      return -1;
47 +#endif
48  }
49  
50  int
51 @@ -291,7 +302,11 @@ main(int argc, char *argv[])
52                   "              [-r realm] [-s servicename]\n"
53                   "              [-f socket path] [-R repeatnum]\n",
54                   argv[0], argv[0]);
55 +#ifdef NAGIOS_PLUGIN
56 +    exit(STATE_UNKNOWN);
57 +#else
58      exit(1);
59 +#endif
60    }
61  
62    if (!repeat) repeat = 1;
63 @@ -300,7 +315,23 @@ main(int argc, char *argv[])
64        printf("%d: ", c);
65        result = saslauthd_verify_password(path, user, password, service, realm);
66    }
67 +#ifdef NAGIOS_PLUGIN
68 +  switch (result) {
69 +  case -1:
70 +      return STATE_CRITICAL;
71 +
72 +  case 0: // auth ok
73 +      return STATE_OK;
74 +
75 +  case 1: // auth fail
76 +      return STATE_WARNING;
77 +
78 +  default:
79 +      return STATE_UNKNOWN;
80 +  }
81 +#else
82    return result;
83 +#endif
84  }
85  
86  
This page took 0.038515 seconds and 3 git commands to generate.