Hello community, here is the log from the commit of package cacti-spine for openSUSE:Factory checked in at 2017-12-29 18:51:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cacti-spine (Old) and /work/SRC/openSUSE:Factory/.cacti-spine.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cacti-spine" Fri Dec 29 18:51:13 2017 rev:8 rq:560095 version:1.1.29 Changes: -------- --- /work/SRC/openSUSE:Factory/cacti-spine/cacti-spine.changes 2017-11-20 17:07:20.561555964 +0100 +++ /work/SRC/openSUSE:Factory/.cacti-spine.new/cacti-spine.changes 2017-12-29 18:51:22.976739094 +0100 @@ -1,0 +2,6 @@ +Wed Dec 27 11:33:03 UTC 2017 - lie...@rz.uni-mannheim.de + +- Update to version 1.1.29 + * issue#39: Have spine match cacti_log function + +------------------------------------------------------------------- Old: ---- 1.1.28.tar.gz New: ---- 1.1.29.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cacti-spine.spec ++++++ --- /var/tmp/diff_new_pack.ab9jyX/_old 2017-12-29 18:51:23.532579452 +0100 +++ /var/tmp/diff_new_pack.ab9jyX/_new 2017-12-29 18:51:23.532579452 +0100 @@ -17,7 +17,7 @@ Name: cacti-spine -Version: 1.1.28 +Version: 1.1.29 Release: 0 Url: https://github.com/Cacti/spine Source: https://github.com/Cacti/spine/archive/release/%{version}.tar.gz ++++++ 1.1.28.tar.gz -> 1.1.29.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spine-release-1.1.28/ChangeLog new/spine-release-1.1.29/ChangeLog --- old/spine-release-1.1.28/ChangeLog 2017-10-28 00:59:37.000000000 +0200 +++ new/spine-release-1.1.29/ChangeLog 2017-12-27 03:58:33.000000000 +0100 @@ -1,5 +1,8 @@ The Cacti Group | spine +1.1.29 +-issue#39: Have spine match cacti_log function + 1.1.28 -feature: release to match Cacti release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spine-release-1.1.28/configure.ac new/spine-release-1.1.29/configure.ac --- old/spine-release-1.1.28/configure.ac 2017-10-28 00:59:37.000000000 +0200 +++ new/spine-release-1.1.29/configure.ac 2017-12-27 03:58:33.000000000 +0100 @@ -1,5 +1,5 @@ AC_PREREQ(2.53) -AC_INIT(Spine Poller, 1.1.28, http://www.cacti.net/issues.php) +AC_INIT(Spine Poller, 1.1.29, http://www.cacti.net/issues.php) AC_CONFIG_AUX_DIR(config) AC_SUBST(ac_aux_dir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spine-release-1.1.28/spine.c new/spine-release-1.1.29/spine.c --- old/spine-release-1.1.28/spine.c 2017-10-28 00:59:37.000000000 +0200 +++ new/spine-release-1.1.29/spine.c 2017-12-27 03:58:33.000000000 +0100 @@ -257,6 +257,12 @@ /* set default verbosity */ set.log_level = POLLER_VERBOSITY_LOW; + /* set default log separator */ + set.log_datetime_separator = GDC_DEFAULT; + + /* set default log format */ + set.log_datetime_format = GD_DEFAULT; + /* set the default exit code */ set.exit_code = 0; @@ -340,11 +346,11 @@ if (STRIMATCH(getarg(opt, &argv), "online")) { set.mode = REMOTE_ONLINE; - } + } else if (STRIMATCH(getarg(opt, &argv), "offline")) { set.mode = REMOTE_OFFLINE; - } + } else if (STRIMATCH(getarg(opt, &argv), "recovery")) { set.mode = REMOTE_RECOVERY; @@ -583,7 +589,7 @@ if (set.device_threads_exists) { SPINE_LOG_MEDIUM(("NOTE: Spine will support multithread device polling.")); }else{ - SPINE_LOG_MEDIUM(("NOTE: Spine did not detect multithreaded device polling.")); + SPINE_LOG_MEDIUM(("NOTE: Spine did not detect multithreaded device polling.")); } /* obtain the list of hosts to poll */ @@ -935,4 +941,3 @@ die("ERROR: option %s requires a parameter", optname); } - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spine-release-1.1.28/spine.h new/spine-release-1.1.29/spine.h --- old/spine-release-1.1.28/spine.h 2017-10-28 00:59:37.000000000 +0200 +++ new/spine-release-1.1.29/spine.h 2017-12-27 03:58:33.000000000 +0100 @@ -217,6 +217,26 @@ #define POLLER_VERBOSITY_DEBUG 5 #define POLLER_VERBOSITY_DEVDBG 6 +/* logging separator constants */ +#define GDC_MIN 0 +#define GDC_HYPHEN 0 +#define GDC_SLASH 1 +#define GDC_DOT 2 +#define GDC_MAX 2 +#define GDC_DEFAULT 1 + +/* logging format constants */ +#define GD_FMT_SIZE 21 +#define GD_MIN 0 +#define GD_MO_D_Y 0 +#define GD_MN_D_Y 1 +#define GD_D_MO_Y 2 +#define GD_D_MN_Y 3 +#define GD_Y_MO_D 4 +#define GD_Y_MN_D 5 +#define GD_MAX 5 +#define GD_DEFAULT 5 + /* host availability statics */ #define AVAIL_NONE 0 #define AVAIL_SNMP_AND_PING 1 @@ -333,6 +353,8 @@ int log_pstats; char selective_device_debug[SMALL_BUFSIZE]; int spine_log_level; + int log_datetime_separator; + int log_datetime_format; /* ping settings */ int icmp_avail; int availability_method; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spine-release-1.1.28/util.c new/spine-release-1.1.29/util.c --- old/spine-release-1.1.28/util.c 2017-10-28 00:59:37.000000000 +0200 +++ new/spine-release-1.1.29/util.c 2017-12-27 03:58:33.000000000 +0100 @@ -102,7 +102,7 @@ if (result != 0) { if (mysql_num_rows(result) > 0) { mysql_row = mysql_fetch_row(result); - + if (mysql_row != NULL) { retval = strdup(mysql_row[0]); db_free_result(result); @@ -196,7 +196,7 @@ if (result != 0) { if (mysql_num_rows(result) > 0) { mysql_row = mysql_fetch_row(result); - + if (mysql_row != NULL) { retval = strdup(mysql_row[1]); db_free_result(result); @@ -286,6 +286,26 @@ snprintf(set.path_logfile, SMALL_BUFSIZE, "%s/log/cacti.log", web_root); } + /* get log separator */ + if ((res = getsetting(&mysql, "default_datechar")) != 0) { + set.log_datetime_separator = atoi(res); + free((char *)res); + + if (set.log_datetime_separator < GDC_MIN || set.log_datetime_separator > GDC_MAX) { + set.log_datetime_separator = GDC_DEFAULT; + } + } + + /* get log separator */ + if ((res = getsetting(&mysql, "default_datechar")) != 0) { + set.log_datetime_separator = atoi(res); + free((char *)res); + + if (set.log_datetime_separator < GDC_MIN || set.log_datetime_separator > GDC_MAX) { + set.log_datetime_separator = GDC_DEFAULT; + } + } + /* log the path_webroot variable */ SPINE_LOG_DEBUG(("DEBUG: The path_php_server variable is %s", set.path_php_server)); @@ -703,6 +723,56 @@ exit(set.exit_code); } +char * get_date_format() +{ + char *log_fmt; + if (!(log_fmt = (char *) malloc(GD_FMT_SIZE))) { + die("ERROR: Fatal malloc error: util.c get_date_format!"); + } + + char log_sep = '/'; + if (set.log_datetime_separator < GDC_MIN || set.log_datetime_separator > GDC_MAX) { + set.log_datetime_separator = GDC_DEFAULT; + } + + if (set.log_datetime_format < GD_MIN || set.log_datetime_format > GD_MAX) { + set.log_datetime_format = GD_DEFAULT; + } + + switch (set.log_datetime_separator) + { + case GDC_DOT: + log_sep = '.'; + break; + case GDC_HYPHEN: + log_sep = '-'; + break; + default: + log_sep = '/'; + break; + } + + switch (set.log_datetime_format) + { + case GD_MO_D_Y: + snprintf(log_fmt, GD_FMT_SIZE, "%%m%c%%d%c%%Y %%H:%%M:%%S - ", log_sep, log_sep); + case GD_MN_D_Y: + snprintf(log_fmt, GD_FMT_SIZE, "%%b%c%%d%c%%Y %%H:%%M:%%S - ", log_sep, log_sep); + case GD_D_MO_Y: + snprintf(log_fmt, GD_FMT_SIZE, "%%d%c%%m%c%%Y %%H:%%M:%%S - ", log_sep, log_sep); + case GD_D_MN_Y: + snprintf(log_fmt, GD_FMT_SIZE, "%%d%c%%b%c%%Y %%H:%%M:%%S - ", log_sep, log_sep); + case GD_Y_MO_D: + snprintf(log_fmt, GD_FMT_SIZE, "%%Y%c%%m%c%%d %%H:%%M:%%S - ", log_sep, log_sep); + case GD_Y_MN_D: + snprintf(log_fmt, GD_FMT_SIZE, "%%Y%c%%b%c%%d %%H:%%M:%%S - ", log_sep, log_sep); + default: + snprintf(log_fmt, GD_FMT_SIZE, "%%Y%c%%m%c%%d %%H:%%M:%%S - ", log_sep, log_sep); + } + + return (log_fmt); +} + /*! \fn void spine_log(const char *format, ...) * \brief output's log information to the desired cacti logfile. * \param *logmessage a pointer to the pre-formated log message. @@ -747,7 +817,24 @@ localtime_r(&nowbin,&now_time); now_ptr = &now_time; - if (strftime(flogmessage, 50, "%Y-%m-%d %H:%M:%S - ", now_ptr) == (size_t) 0) { + char * log_fmt = get_date_format(); + if (strlen(log_fmt) == 0) { + #ifdef DISABLE_STDERR + fp = stdout; + #else + fp = stderr; + #endif + + if ((set.stderr_notty) && (fp == stderr)) { + /* do nothing stderr does not exist */ + }else if ((set.stdout_notty) && (fp == stdout)) { + /* do nothing stdout does not exist */ + }else{ + fprintf(fp, "ERROR: Could not get format from get_date_format()\n"); + } + } + + if (strftime(flogmessage, 50, log_fmt, now_ptr) == (size_t) 0) { #ifdef DISABLE_STDERR fp = stdout; #else @@ -833,6 +920,8 @@ } } + free(log_fmt); + return TRUE; } @@ -1238,22 +1327,22 @@ unsigned long long hex2dec(char *str) { int i = 0; unsigned long long number = 0; - + if (!str) return 0; /* first revers the string */ reverse(str); - + while (*str) { switch (*str) { - case '0': + case '0': i++; break; - case '1': + case '1': number += pow(16, i) * 1; i++; break; - case '2': + case '2': number += pow(16, i) * 2; i++; break; @@ -1261,15 +1350,15 @@ number += pow(16, i) * 3; i++; break; - case '4': + case '4': number += pow(16, i) * 4; i++; break; - case '5': + case '5': number += pow(16, i) * 5; i++; break; - case '6': + case '6': number += pow(16, i) * 6; i++; break; @@ -1277,7 +1366,7 @@ number += pow(16, i) * 7; i++; break; - case '8': + case '8': number += pow(16, i) * 8; i++; break; @@ -1285,7 +1374,7 @@ number += pow(16, i) * 9; i++; break; - case 'a': case 'A': + case 'a': case 'A': number += pow(16, i) * 10; i++; break; @@ -1293,7 +1382,7 @@ number += pow(16, i) * 11; i++; break; - case 'c': case 'C': + case 'c': case 'C': number += pow(16, i) * 12; i++; break; @@ -1301,7 +1390,7 @@ number += pow(16, i) * 13; i++; break; - case 'e': case 'E': + case 'e': case 'E': number += pow(16, i) * 14; i++; break; @@ -1399,7 +1488,7 @@ #else if (hasCaps() != TRUE) { seteuid(0); - + if (geteuid() != 0) { SPINE_LOG_DEBUG(("WARNING: Spine NOT running asroot. This is required if using ICMP. Please run \"chown root:root spine;chmod +s spine\" to resolve.")); set.icmp_avail = FALSE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spine-release-1.1.28/util.h new/spine-release-1.1.29/util.h --- old/spine-release-1.1.28/util.h 2017-10-28 00:59:37.000000000 +0200 +++ new/spine-release-1.1.29/util.h 2017-12-27 03:58:33.000000000 +0100 @@ -85,3 +85,6 @@ /* see if we can do things as root */ extern void checkAsRoot(); + +/* log format */ +extern char *get_date_format();