mirror of
https://git.freebsd.org/ports.git
synced 2025-07-08 04:49:17 -04:00
PR: ports/157488 Submitted by: Ryan Steinmetz <rpsfa@rit.edu> Approved by: maintainer timeout
59 lines
2 KiB
C++
59 lines
2 KiB
C++
--- anna.cpp.orig 2011-01-18 05:39:10.000000000 -0500
|
|
+++ anna.cpp 2011-05-31 22:45:11.000000000 -0400
|
|
@@ -23,6 +23,7 @@
|
|
#include "ssl.h"
|
|
#include "log.h"
|
|
}
|
|
+#include "anna.h"
|
|
|
|
#define S_DISCONNECTED 1
|
|
#define S_CONNECTED 2
|
|
@@ -43,6 +44,7 @@
|
|
int minimum_time_for_successfull_login = 25; // one needs to be on-channel for at least 5 seconds to be considered a successfull login
|
|
int join_timeout = 5; // it should take no longer then 5 seconds to join a channel, otherwhise: abort connection and retry
|
|
int max_n_join_tries = 2; // try 2 times to get on a channel
|
|
+int throttle_delay = 1; // don't send more than one message per 1 seconds
|
|
char *server = "localhost:6667"; /* default irc server */
|
|
char *channel = "#nagircbot"; /* default channel to connect to */
|
|
char *nick_prefix = ""; /* prefix text for all messages sent to channel */
|
|
@@ -53,7 +55,7 @@
|
|
int one_line = 1;
|
|
char *username = "Nagios IRC Bot " VERSION ", (C) www.vanheusden.com"; /* complete username */
|
|
int verbose = 255; /* default is log everything */
|
|
-char *statuslog = "/usr/local/nagios/var/status.log";
|
|
+char *statuslog = "/var/spool/nagios/status.dat";
|
|
int statuslog_version = 2;
|
|
int statuslog_location = L_FILE;
|
|
char use_colors = 0;
|
|
@@ -174,6 +176,13 @@
|
|
|
|
int irc_privmsg(server_t server_conn, char *channel, char *msg)
|
|
{
|
|
+ static time_t last_msg = time(NULL);
|
|
+ time_t diff = time(NULL) - last_msg;
|
|
+ if (diff < throttle_delay) {
|
|
+ sleep(throttle_delay - diff);
|
|
+ }
|
|
+ time(&last_msg);
|
|
+
|
|
return send_irc(server_conn, "PRIVMSG %s :%s", channel, msg);
|
|
}
|
|
|
|
@@ -192,7 +201,7 @@
|
|
|
|
/* open file or connection to nagios status socket */
|
|
if (is_file == 1) /* file */
|
|
- fd = open64(statuslog, O_RDONLY);
|
|
+ fd = open(statuslog, O_RDONLY);
|
|
else
|
|
fd = connect_to(statuslog);
|
|
if (fd == -1)
|
|
@@ -490,7 +499,7 @@
|
|
if (verbose > 1) dolog("reload_statuslog started");
|
|
|
|
if (statuslog_location == L_FILE) /* file */
|
|
- fd_sl = open64(statuslog, O_RDONLY);
|
|
+ fd_sl = open(statuslog, O_RDONLY);
|
|
else
|
|
fd_sl = connect_to(statuslog);
|
|
|