Binary files /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-1.2.8.tar.bz2 and ./bartlby-1.2.8.tar.bz2 differ diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-agent/postinstall-pak.in ./bartlby-agent/postinstall-pak.in --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-agent/postinstall-pak.in 2006-08-10 21:40:55.000000000 +0200 +++ ./bartlby-agent/postinstall-pak.in 2007-09-04 14:36:11.000000000 +0200 @@ -33,7 +33,14 @@ then echo "bartlbya stream tcp nowait.500 bartlby ${BARTLBY_HOME}/bartlby_agent ${BARTLBY_HOME}/bartlby.cfg" >> /etc/inetd.conf echo "DONE ... restarting inetd"; - /etc/init.d/inetd restart + if [ -f /etc/init.d/openbsd-inetd ]; + then + echo "detected openbsd-inetd (debian 4.0?)"; + echo "....restarting openbsd-inetd" + /etc/init.d/openbsd-inetd restart + else + /etc/init.d/inetd restart + fi; else echo "Already existing"; fi; diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/include/bartlby.h ./bartlby-core/include/bartlby.h --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/include/bartlby.h 2007-02-15 21:46:37.000000000 +0100 +++ ./bartlby-core/include/bartlby.h 2008-01-03 18:50:30.000000000 +0100 @@ -1,8 +1,8 @@ #define PROGNAME "bartlby" -#define REL_NAME "neuron" -#define VERSION "1.2.8" -#define EXPECTCORE 1102051 //Module V Check's +#define REL_NAME "zero-eight" +#define VERSION "1.3.0" +#define EXPECTCORE 1103051 //Module V Check's #define MAX_CCACHE 1024 @@ -101,10 +101,10 @@ struct shm_counter { - int worker; - int services; - int downtimes; - int servers; + long worker; + long services; + long downtimes; + long servers; }; struct perf_statistic { @@ -117,9 +117,9 @@ char community[512]; int version; char objid[1024]; - int warn; - int crit; - int type; + long warn; + long crit; + long type; }; struct sprocess { int start_time; @@ -137,17 +137,17 @@ struct shm_header { - int size_of_structs; - int thrdcount; - int svccount; - int wrkcount; - int srvcount; - int current_running; + long size_of_structs; + long thrdcount; + long svccount; + long wrkcount; + long srvcount; + long current_running; char version[50]; int do_reload; int last_replication; int startup_time; - int dtcount; + long dtcount; int sirene_mode; struct perf_statistic pstat; int cur_event_index; @@ -156,7 +156,7 @@ }; struct server { - int server_id; + long server_id; char client_ip[2048]; char server_name[2048]; char server_icon[1024]; @@ -164,7 +164,7 @@ int client_port; int server_dead; int server_notify; - int server_flap_seconds; + long server_flap_seconds; int flap_count; int last_notify_send; struct service * dead_marker; @@ -174,8 +174,8 @@ struct service { - int service_id; - int server_id; + long service_id; + long server_id; int last_state; int current_state; @@ -184,8 +184,8 @@ char plugin[2048]; char plugin_arguments[2048]; - int check_interval; - int check_interval_original; + long check_interval; + long check_interval_original; int last_check; struct timeval lcheck; @@ -196,24 +196,24 @@ /*Notify things*/ int notify_enabled; int last_notify_send; - int flap_count; + long flap_count; int service_active; char service_var[2048]; int service_type; - int service_passive_timeout; + long service_passive_timeout; int notify_last_state; int notify_last_time; - int service_check_timeout; + long service_check_timeout; int service_ack; - int service_retain; - int service_retain_current; + long service_retain; + long service_retain_current; @@ -228,10 +228,10 @@ struct sprocess process; - int flap_seconds; + long flap_seconds; struct server * srv; - int srv_place; + long srv_place; int is_server_dead; @@ -248,7 +248,7 @@ char icq[2048]; char services[2048]; - int worker_id; + long worker_id; int active; char notify_plan[2048]; char password[2048]; @@ -258,14 +258,14 @@ char notify_levels[20]; char enabled_triggers[2048]; char t[500]; - int escalation_limit; - int escalation_minutes; + long escalation_limit; + long escalation_minutes; }sa; struct downtime { - int downtime_id; + long downtime_id; int downtime_type; int downtime_from; int downtime_to; @@ -275,7 +275,7 @@ }sb; struct btl_event { - int evnt_id; + long evnt_id; char evnt_message[1024]; int evnt_time; @@ -362,11 +362,12 @@ void bartlby_perf_track(struct service * svc,char * return_buffer, int return_bytes, char * cfgfile); int bartlby_core_perf_track(struct shm_header * hdr, struct service * svc, int type, int time); -int bartlby_milli_timediff(struct timeval end, struct timeval start); +long bartlby_milli_timediff(struct timeval end, struct timeval start); void bartlby_trigger(struct service * svc, char * cfgfile, void * shm_addr, int do_check); //Global :-) int _log(char * str, ...); + void bartlby_decode(char * msg, int length); void bartlby_encode(char * msg, int length); char * bartlby_beauty_state(int status); diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/bartlby.c ./bartlby-core/src/bartlby.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/bartlby.c 2007-02-15 21:46:38.000000000 +0100 +++ ./bartlby-core/src/bartlby.c 2007-07-28 00:54:04.000000000 +0200 @@ -1,4 +1,4 @@ -/* $Id: bartlby.c,v 1.42 2007/02/15 20:46:38 hjanuschka Exp $ */ +/* $Id: bartlby.c,v 1.43 2007/07/27 22:54:04 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,14 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.42 $ +$Revision: 1.43 $ $Source: /cvsroot/bartlby/bartlby-core/src/bartlby.c,v $ $Log: bartlby.c,v $ +Revision 1.43 2007/07/27 22:54:04 hjanuschka +int to long changing + Revision 1.42 2007/02/15 20:46:38 hjanuschka auto commit @@ -239,6 +242,8 @@ void dispHelp(void) { + + printf("\n"); printf(" Bartlby\n"); printf(" %s Version %s (%s) started. compiled %s/%s\n", PROGNAME, VERSION,REL_NAME, __DATE__, __TIME__); @@ -335,7 +340,7 @@ gGetNameStr=gGetName(); if(gExpectVersion() > EXPECTCORE || EXPECTCORE < gExpectVersion() || EXPECTCORE != gExpectVersion()) { - _log("*****Version check failed Module is compiled for version '%d' of %s", gExpectVersion(), PROGNAME); + _log("*****Version check failed Module is compiled for version '%ld' of %s", gExpectVersion(), PROGNAME); _log("*****The Module is compiled under '%d' Version of %s", EXPECTCORE, PROGNAME); exit(1); } @@ -431,7 +436,7 @@ exit(1); } _log("SHM requires: %d KB ", suggested_minimum/1024); - _log("Size: S=%d, W=%d, D=%d, H=%d, E=%d", sizeof(struct service), sizeof(struct worker), sizeof(struct downtime), sizeof(struct shm_header), sizeof(struct btl_event)); + _log("Size: S=%ld, W=%ld, D=%ld, H=%ld, E=%ld", sizeof(struct service), sizeof(struct worker), sizeof(struct downtime), sizeof(struct shm_header), sizeof(struct btl_event)); free(shmc); @@ -479,9 +484,9 @@ bartlby_ext_init(gBartlby_address, gSOHandle, cfgfile); - _log("Workers: %d", gshm_hdr->wrkcount); - _log("Downtimes: %d", gshm_hdr->dtcount); - _log("Servers: %d", gshm_hdr->srvcount); + _log("Workers: %ld", gshm_hdr->wrkcount); + _log("Downtimes: %ld", gshm_hdr->dtcount); + _log("Servers: %ld", gshm_hdr->srvcount); gshm_hdr->current_running=0; sprintf(gshm_hdr->version, "%s-%s (%s)", PROGNAME, VERSION, REL_NAME); @@ -502,7 +507,7 @@ if(gshm_hdr->wrkcount <= 0) { - _log("Found workers are below zero (%d) maybe your datalib config isnt OK or you havent completed the setup", gshm_hdr->wrkcount); + _log("Found workers are below zero (%ld) maybe your datalib config isnt OK or you havent completed the setup", gshm_hdr->wrkcount); shmdt(gBartlby_address); gshm_id = shmget(ftok(gShmtok, 32), 0, 0600); shmctl(gshm_id, IPC_RMID, &gshm_desc); diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/check.c ./bartlby-core/src/check.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/check.c 2007-02-15 17:25:32.000000000 +0100 +++ ./bartlby-core/src/check.c 2007-07-28 00:54:04.000000000 +0200 @@ -1,4 +1,4 @@ -/* $Id: check.c,v 1.68 2007/02/15 16:25:32 hjanuschka Exp $ */ +/* $Id: check.c,v 1.69 2007/07/27 22:54:04 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,14 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.68 $ +$Revision: 1.69 $ $Source: /cvsroot/bartlby/bartlby-core/src/check.c,v $ $Log: check.c,v $ +Revision 1.69 2007/07/27 22:54:04 hjanuschka +int to long changing + Revision 1.68 2007/02/15 16:25:32 hjanuschka auto commit @@ -348,7 +351,7 @@ svc->service_retain_current=0; svc->last_state=svc->current_state; - _log("@LOG@%d|%d|%s:%d/%s|%s", svc->service_id, svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name, svc->new_server_text); + _log("@LOG@%ld|%d|%s:%d/%s|%s", svc->service_id, svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name, svc->new_server_text); bartlby_push_event(EVENT_STATUS_CHANGED, "Service-Changed;%d;%s:%d/%s;%d;%s", svc->service_id, svc->srv->server_name, svc->srv->client_port, svc->service_name, svc->current_state, svc->new_server_text); bartlby_callback(EXTENSION_CALLBACK_STATE_CHANGED, svc); } diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/check_group.c ./bartlby-core/src/check_group.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/check_group.c 2007-02-15 17:25:32.000000000 +0100 +++ ./bartlby-core/src/check_group.c 2008-01-24 15:10:16.000000000 +0100 @@ -1,4 +1,4 @@ -/* $Id: check_group.c,v 1.2 2007/02/15 16:25:32 hjanuschka Exp $ */ +/* $Id: check_group.c,v 1.3 2008/01/24 14:10:16 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,14 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.2 $ +$Revision: 1.3 $ $Source: /cvsroot/bartlby/bartlby-core/src/check_group.c,v $ $Log: check_group.c,v $ +Revision 1.3 2008/01/24 14:10:16 hjanuschka +auto commit + Revision 1.2 2007/02/15 16:25:32 hjanuschka auto commit @@ -89,7 +92,7 @@ return; } - if(svg->current_state == state) { + if(bartlby_is_in_downtime(shm_addr, svg) > 0 && svg->current_state == state) { //_log("Service: is not %d\n", svg->current_state ); sprintf(svc->new_server_text, "%s %s:%d/%s - %d", GROUP_CRITICAL, svg->srv->server_name, svg->srv->client_port, svg->service_name, state); svc->current_state=STATE_CRITICAL; diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/global.c ./bartlby-core/src/global.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/global.c 2007-02-22 13:51:06.000000000 +0100 +++ ./bartlby-core/src/global.c 2007-04-01 18:06:32.000000000 +0200 @@ -1,4 +1,4 @@ -/* $Id: global.c,v 1.26 2007/02/22 12:51:06 hjanuschka Exp $ */ +/* $Id: global.c,v 1.28 2007/04/01 16:06:32 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,17 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.26 $ +$Revision: 1.28 $ $Source: /cvsroot/bartlby/bartlby-core/src/global.c,v $ $Log: global.c,v $ +Revision 1.28 2007/04/01 16:06:32 hjanuschka +auto commit + +Revision 1.27 2007/03/23 10:22:13 hjanuschka +auto commit + Revision 1.26 2007/02/22 12:51:06 hjanuschka *** empty log message *** @@ -150,6 +156,7 @@ struct tm *tmnow; struct tm fromcheck, tocheck; int fromts, tots; + char in_or_out; int min,hour, min1,hour1; int cur_ts; @@ -161,6 +168,8 @@ return 1; //if no plan?! always check ;) } + + cur_ts = time(&tnow); tmnow = localtime(&tnow); @@ -169,6 +178,14 @@ while(token != NULL) { sprintf(idx, "%c", *token); if(atoi(idx) == tmnow->tm_wday) { + ttok = token+1; + in_or_out = *ttok; + if(in_or_out == '!') { + rt=1; + } else { + rt=-1; + } + ttok = token+2; //now check threw the timeranges tmp1 = strdup(ttok); @@ -196,9 +213,16 @@ if(cur_ts >= fromts && cur_ts <= tots) { - rt = 1; - break; + if(in_or_out == '=') { + rt = 1; + } else { + + rt = -1; + } + } + + @@ -213,10 +237,12 @@ } + /* if(rt > 0) { //Someone found;) break; } + */ token = strtok(NULL, "|"); @@ -225,7 +251,6 @@ free(tmp); - return rt; } @@ -373,6 +398,7 @@ void bartlby_replace_svc_in_str(char * str, struct service * svc, int max) { char * human_state, * human_state_last; + char * srv; human_state=bartlby_beauty_state(svc->current_state); @@ -393,6 +419,12 @@ str_replace(str,"$SERVICE", svc->service_name, max); setenv("MESSAGE", svc->new_server_text, 1); str_replace(str,"$MESSAGE", svc->new_server_text, max); + + srv=getenv("BARTLBY_CURR_HOST"); + if(srv != NULL) { + setenv("SERVER", srv, 1); + str_replace(str,"$SERVER", srv, max); + } diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/libs/mysql.c ./bartlby-core/src/libs/mysql.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/libs/mysql.c 2007-02-15 21:46:38.000000000 +0100 +++ ./bartlby-core/src/libs/mysql.c 2007-07-28 00:54:04.000000000 +0200 @@ -1,4 +1,4 @@ -/* $Id: mysql.c,v 1.61 2007/02/15 20:46:38 hjanuschka Exp $ */ +/* $Id: mysql.c,v 1.62 2007/07/27 22:54:04 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,14 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.61 $ +$Revision: 1.62 $ $Source: /cvsroot/bartlby/bartlby-core/src/libs/mysql.c,v $ $Log: mysql.c,v $ +Revision 1.62 2007/07/27 22:54:04 hjanuschka +int to long changing + Revision 1.61 2007/02/15 20:46:38 hjanuschka auto commit @@ -283,39 +286,39 @@ #define SELECTOR "select svc.service_id, svc.service_name, svc.service_state, srv.server_name, srv.server_id, srv.server_port, srv.server_ip, svc.service_plugin, svc.service_args, UNIX_TIMESTAMP(svc.service_last_check), svc.service_interval, svc.service_text, 'a', 'a', 'a','a', svc.service_notify, svc.service_type, svc.service_var, svc.service_passive_timeout,service_active, svc.service_check_timeout, srv.server_ico, svc.service_ack, svc.service_retain, svc.service_snmp_community, svc.service_snmp_objid, svc.service_snmp_version, svc.service_snmp_warning, svc.service_snmp_critical, svc.service_snmp_type, svc.flap_seconds, svc.service_exec_plan from services svc, servers srv where svc.server_id=srv.server_id ORDER BY RAND()" #define WORKER_SELECTOR "select worker_mail, worker_icq, 'removed' ,notify_levels, worker_active, worker_name, worker_id, password, enabled_triggers, escalation_limit, escalation_minutes, notify_plan from workers" -#define SERVICE_UPDATE_TEXT "update services set service_last_check=FROM_UNIXTIME(%d), service_text='%s', service_state=%d where service_id=%d" +#define SERVICE_UPDATE_TEXT "update services set service_last_check=FROM_UNIXTIME(%d), service_text='%s', service_state=%d where service_id=%ld" -#define ADD_SERVER "insert into servers (server_name,server_ip,server_port, server_ico, server_enabled, server_notify, server_flap_seconds, server_dead) VALUES('%s','%s', '%d', '%s', '%d', '%d', '%d', '%d')" +#define ADD_SERVER "insert into servers (server_name,server_ip,server_port, server_ico, server_enabled, server_notify, server_flap_seconds, server_dead) VALUES('%s','%s', '%d', '%s', '%d', '%d', '%ld', '%d')" #define DELETE_SERVER "delete from servers where server_id=%d" -#define UPDATE_SERVER "update servers set server_name='%s',server_ip='%s',server_port=%d, server_ico='%s', server_enabled='%d', server_notify='%d', server_flap_seconds='%d', server_dead='%d' where server_id=%d" +#define UPDATE_SERVER "update servers set server_name='%s',server_ip='%s',server_port=%d, server_ico='%s', server_enabled='%d', server_notify='%d', server_flap_seconds='%ld', server_dead='%d' where server_id=%ld" #define SERVER_SELECTOR "select server_name, server_ip, server_port, server_ico, server_enabled, server_notify, server_flap_seconds, server_dead from servers where server_id=%d" #define SERVER_CHANGE_ID "update servers set server_id=%d where server_id=%d" #define SERVER_CHANGE_SERVICES "update services set server_id=%d where server_id=%d" -#define SERVER_UPDATE_TEXT "update servers set server_enabled='%d', server_notify='%d' where server_id=%d" +#define SERVER_UPDATE_TEXT "update servers set server_enabled='%d', server_notify='%d' where server_id=%ld" #define DELETE_SERVICE_BY_SERVER "delete from services where server_id=%d" -#define ADD_SERVICE "insert into services(server_id, service_plugin, service_name, service_state,service_text, service_args,service_notify, service_active, service_interval, service_type,service_var,service_passive_timeout,service_check_timeout, service_ack, service_retain, service_snmp_community, service_snmp_objid, service_snmp_version, service_snmp_warning, service_snmp_critical, service_snmp_type, flap_seconds, service_exec_plan) values(%d,'%s','%s',4, 'Newly created', '%s',%d,%d,%d,%d,'%s',%d, %d, %d, %d, '%s', '%s', %d, %d, %d, %d, %d, '%s')" +#define ADD_SERVICE "insert into services(server_id, service_plugin, service_name, service_state,service_text, service_args,service_notify, service_active, service_interval, service_type,service_var,service_passive_timeout,service_check_timeout, service_ack, service_retain, service_snmp_community, service_snmp_objid, service_snmp_version, service_snmp_warning, service_snmp_critical, service_snmp_type, flap_seconds, service_exec_plan) values(%ld,'%s','%s',4, 'Newly created', '%s',%d,%d,%ld,%d,'%s',%ld, %ld, %d, %ld, '%s', '%s', %d, %ld, %ld, %ld, %ld, '%s')" #define DELETE_SERVICE "delete from services where service_id=%d" #define SERVICE_CHANGE_ID "update services set service_id=%d where service_id=%d" -#define UPDATE_SERVICE "update services set service_type=%d,service_name='%s',server_id=%d,service_interval = %d, service_plugin='%s',service_args='%s',service_passive_timeout=%d, service_var='%s',service_check_timeout=%d, service_ack='%d', service_retain='%d', service_snmp_community='%s', service_snmp_objid='%s', service_snmp_version='%d', service_snmp_warning='%d', service_snmp_critical='%d', service_snmp_type='%d', service_notify='%d', service_active='%d', flap_seconds='%d', service_exec_plan='%s' where service_id=%d" +#define UPDATE_SERVICE "update services set service_type=%d,service_name='%s',server_id=%ld,service_interval = %ld, service_plugin='%s',service_args='%s',service_passive_timeout=%ld, service_var='%s',service_check_timeout=%ld, service_ack='%d', service_retain='%ld', service_snmp_community='%s', service_snmp_objid='%s', service_snmp_version='%d', service_snmp_warning='%ld', service_snmp_critical='%ld', service_snmp_type='%ld', service_notify='%d', service_active='%d', flap_seconds='%ld', service_exec_plan='%s' where service_id=%ld" #define SERVICE_SELECTOR "select svc.service_id, svc.service_name, svc.service_state, srv.server_name, srv.server_id, srv.server_port, srv.server_ip, svc.service_plugin, svc.service_args, UNIX_TIMESTAMP(svc.service_last_check), svc.service_interval, svc.service_text, 'a', 'a','a', 'a', svc.service_notify, svc.service_type, svc.service_var, svc.service_passive_timeout, svc.service_active,svc.service_check_timeout, svc.service_ack, svc.service_retain, svc.service_snmp_community, svc.service_snmp_objid, svc.service_snmp_version, svc.service_snmp_warning, svc.service_snmp_critical, svc.service_snmp_type, srv.server_ico, svc.flap_seconds, svc.service_exec_plan from services svc, servers srv where svc.server_id=srv.server_id and svc.service_id=%d" -#define ADD_WORKER "INSERT INTO workers(worker_mail, worker_icq, notify_levels, worker_active, worker_name, password,enabled_triggers, escalation_limit, escalation_minutes, notify_plan) VALUES('%s', '%s', '%s', %d, '%s', '%s', '%s', '%d', '%d', '%s')" +#define ADD_WORKER "INSERT INTO workers(worker_mail, worker_icq, notify_levels, worker_active, worker_name, password,enabled_triggers, escalation_limit, escalation_minutes, notify_plan) VALUES('%s', '%s', '%s', %d, '%s', '%s', '%s', '%ld', '%ld', '%s')" #define DELETE_WORKER "delete from workers where worker_id=%d" -#define UPDATE_WORKER "update workers set worker_mail='%s', worker_icq='%s', notify_levels='%s', worker_active=%d, worker_name='%s', password='%s', enabled_triggers='%s', escalation_limit='%d', escalation_minutes='%d', notify_plan='%s' WHERE worker_id=%d" +#define UPDATE_WORKER "update workers set worker_mail='%s', worker_icq='%s', notify_levels='%s', worker_active=%d, worker_name='%s', password='%s', enabled_triggers='%s', escalation_limit='%ld', escalation_minutes='%ld', notify_plan='%s' WHERE worker_id=%ld" #define WORKER_SEL "select worker_mail, worker_icq, enabled_services,notify_levels, worker_active, worker_name, worker_id, password, enabled_triggers, escalation_limit, escalation_minutes, notify_plan from workers where worker_id=%d" #define WORKER_CHANGE_ID "update workers set worker_id=%d where worker_id=%d" -#define UPDATE_DOWNTIME "update downtime set downtime_notice='%s', downtime_from=%d,downtime_to=%d, service_id=%d, downtime_type=%d where downtime_id=%d" +#define UPDATE_DOWNTIME "update downtime set downtime_notice='%s', downtime_from=%d,downtime_to=%d, service_id=%d, downtime_type=%d where downtime_id=%ld" #define DEL_DOWNTIME "delete from downtime where downtime_id=%d" #define ADD_DOWNTIME "INSERT INTO downtime(downtime_type, downtime_from,downtime_to,service_id, downtime_notice) VALUES(%d,%d,%d,%d, '%s')" #define DOWNTIME_SEL "select downtime_id, downtime_type, downtime_from, downtime_to, downtime_notice, service_id from downtime" @@ -966,7 +969,7 @@ sprintf(svc->notify_plan, " "); } tmprc=0; - printf("limit: %d, minutes: %d", svc->escalation_limit, svc->escalation_minutes); + printf("limit: %ld, minutes: %ld", svc->escalation_limit, svc->escalation_minutes); } else { tmprc=-1; } @@ -1244,9 +1247,9 @@ svc->lcheck.tv_sec=atoi(row[9]); svc->last_check=atoi(row[9]); - svc->check_interval=atoi(row[10]); + svc->check_interval=atol(row[10]); - svc->check_interval_original=atoi(row[10])*1000; + svc->check_interval_original=atol(row[10])*1000; //svc->hour_from=atoi(row[12]); @@ -2124,8 +2127,8 @@ svcs[i].lcheck.tv_sec=atoi(row[9]); svcs[i].last_check=atoi(row[9]); - svcs[i].check_interval=atoi(row[10]); - svcs[i].check_interval_original=atoi(row[10])*1000; + svcs[i].check_interval=atol(row[10]); + svcs[i].check_interval_original=atol(row[10])*1000; /*if(i > POS2_QUEUER_THREADS*POS2_QUEUER_THREADS*POS2_QUEUER_THREADS) { ht += 10; diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/perf.c ./bartlby-core/src/perf.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/perf.c 2006-12-05 04:47:12.000000000 +0100 +++ ./bartlby-core/src/perf.c 2007-07-28 00:54:04.000000000 +0200 @@ -1,4 +1,4 @@ -/* $Id: perf.c,v 1.10 2006/12/05 03:47:12 hjanuschka Exp $ */ +/* $Id: perf.c,v 1.11 2007/07/27 22:54:04 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,14 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.10 $ +$Revision: 1.11 $ $Source: /cvsroot/bartlby/bartlby-core/src/perf.c,v $ $Log: perf.c,v $ +Revision 1.11 2007/07/27 22:54:04 hjanuschka +int to long changing + Revision 1.10 2006/12/05 03:47:12 hjanuschka auto commit @@ -82,8 +85,12 @@ #include -int bartlby_milli_timediff(struct timeval end, struct timeval start) { - return ((end.tv_sec - start.tv_sec) * 1000) + (((1000000 + end.tv_usec - start.tv_usec) / 1000) - 1000); +long bartlby_milli_timediff(struct timeval end, struct timeval start) { + long r; + + r=((end.tv_sec - start.tv_sec) * 1000) + (((1000000 + end.tv_usec - start.tv_usec) / 1000) - 1000); + + return r; } int bartlby_core_perf_track(struct shm_header * hdr, struct service * svc, int type, int time) { @@ -127,7 +134,7 @@ //signal(SIGCHLD, SIG_IGN); - sprintf(my_own_handler, "perfhandler_enabled_%d", svc->service_id); + sprintf(my_own_handler, "perfhandler_enabled_%ld", svc->service_id); perf_enabled=getConfigValue("perfhandler_enabled", cfgfile); @@ -159,7 +166,7 @@ _log("Performance Trigger: %s not found", perf_trigger); } else { - sprintf(perf_trigger, "%s/%s %d %s 2>&1 > /dev/null", cfg_perf_dir, svc->plugin, svc->service_id, return_buffer); + sprintf(perf_trigger, "%s/%s %ld %s 2>&1 > /dev/null", cfg_perf_dir, svc->plugin, svc->service_id, return_buffer); signal(SIGPIPE,SIG_DFL); signal(SIGCHLD,SIG_DFL); gettimeofday(&stat_start,NULL); diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/sched.c ./bartlby-core/src/sched.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/sched.c 2007-02-16 22:50:00.000000000 +0100 +++ ./bartlby-core/src/sched.c 2007-07-28 00:54:04.000000000 +0200 @@ -1,4 +1,4 @@ -/* $Id: sched.c,v 1.78 2007/02/16 21:50:00 hjanuschka Exp $ */ +/* $Id: sched.c,v 1.79 2007/07/27 22:54:04 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,14 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.78 $ +$Revision: 1.79 $ $Source: /cvsroot/bartlby/bartlby-core/src/sched.c,v $ $Log: sched.c,v $ +Revision 1.79 2007/07/27 22:54:04 hjanuschka +int to long changing + Revision 1.78 2007/02/16 21:50:00 hjanuschka auto commit @@ -303,7 +306,7 @@ int g_micros_before_after_check=700; -int shortest_intervall; +long shortest_intervall; @@ -426,7 +429,7 @@ } else { //_log("@KILL@Killing runaaway process: %s:%d/%s %d (done)",svc->process.pid); - _log("@KILL@%d|%d|%s:%d/%s|Killing process with pid: %d", svc->service_id, svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name, svc->process.pid); + _log("@KILL@%ld|%d|%s:%d/%s|Killing process with pid: %d", svc->service_id, svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name, svc->process.pid); } sprintf(svc->new_server_text, "%s", "in-core time out"); @@ -491,7 +494,7 @@ int sched_check_waiting(void * shm_addr, struct service * svc, char * cfg, void * SOHandle, int sched_pause) { int cur_time; - int my_diff; + long my_diff; int kill_diff; struct timeval cur_tv; @@ -519,7 +522,7 @@ if(svc->do_force == 1) { svc->do_force=0; //dont force again //_log("Force: %s:%d/%s", svc->srv->server_name, svc->srv->client_port, svc->service_name); - _log("@FORCE@%d|%d|%d|||%s:%d/%s|Force check", svc->service_id, svc->last_state ,svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name); + _log("@FORCE@%ld|%d|%d|||%s:%d/%s|Force check", svc->service_id, svc->last_state ,svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name); return 1; } } @@ -779,7 +782,7 @@ ssort = malloc(sizeof(struct service_sort)*gshm_hdr->svccount); - _log("Scheduler working on %d Services", gshm_hdr->svccount); + _log("Scheduler working on %ld Services", gshm_hdr->svccount); cfg_mps=getConfigValue("max_concurent_checks", cfgfile); if(cfg_mps == NULL) { @@ -933,7 +936,7 @@ if(time(NULL)-round_start > sched_pause*3 && sched_pause > 0) { - _log("Done %d Services in %d Seconds", round_visitors, time(NULL)-round_start); + _log("Done %d Services in %ld Seconds", round_visitors, time(NULL)-round_start); } //Log Round End diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/shm.c ./bartlby-core/src/shm.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/shm.c 2007-02-15 21:46:38.000000000 +0100 +++ ./bartlby-core/src/shm.c 2007-07-28 00:54:04.000000000 +0200 @@ -1,4 +1,4 @@ -/* $Id: shm.c,v 1.10 2007/02/15 20:46:38 hjanuschka Exp $ */ +/* $Id: shm.c,v 1.11 2007/07/27 22:54:04 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,14 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.10 $ +$Revision: 1.11 $ $Source: /cvsroot/bartlby/bartlby-core/src/shm.c,v $ $Log: shm.c,v $ +Revision 1.11 2007/07/27 22:54:04 hjanuschka +int to long changing + Revision 1.10 2007/02/15 20:46:38 hjanuschka auto commit @@ -47,7 +50,7 @@ #include #include - +#include #include diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/tools/portier.c ./bartlby-core/src/tools/portier.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/tools/portier.c 2007-02-16 21:40:26.000000000 +0100 +++ ./bartlby-core/src/tools/portier.c 2007-07-28 00:54:04.000000000 +0200 @@ -1,4 +1,4 @@ -/* $Id: portier.c,v 1.13 2007/02/16 20:40:26 hjanuschka Exp $ */ +/* $Id: portier.c,v 1.16 2007/07/27 22:54:04 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,20 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.13 $ +$Revision: 1.16 $ $Source: /cvsroot/bartlby/bartlby-core/src/tools/portier.c,v $ $Log: portier.c,v $ +Revision 1.16 2007/07/27 22:54:04 hjanuschka +int to long changing + +Revision 1.15 2007/03/23 17:26:43 hjanuschka +*** empty log message *** + +Revision 1.14 2007/03/22 01:09:21 hjanuschka +auto commit + Revision 1.13 2007/02/16 20:40:26 hjanuschka auto commit @@ -252,7 +261,7 @@ svcmap=bartlby_SHM_ServiceMap(bartlby_address); srvmap=bartlby_SHM_ServerMap(bartlby_address); - printf("+SVCC: %d WRKC: %d V: %s\n", shm_hdr->svccount, shm_hdr->wrkcount, shm_hdr->version); + printf("+SVCC: %ld WRKC: %ld V: %s\n", shm_hdr->svccount, shm_hdr->wrkcount, shm_hdr->version); fflush(stdout); } else { @@ -432,7 +441,7 @@ passive_beauty=bartlby_beauty_state(svcmap[x].current_state); - sprintf(svc_out, "+PASSIVOK (%d) %d : %s (%s)\n", x, svcmap[x].service_id, passive_beauty, svcmap[x].new_server_text); + sprintf(svc_out, "+PASSIVOK (%d) %ld : %s (%s)\n", x, svcmap[x].service_id, passive_beauty, svcmap[x].new_server_text); free(passive_beauty); } else { sprintf(svc_out, "-3 Service is not of type 'PASSIVE'"); @@ -458,7 +467,7 @@ for(x=0; xsvccount; x++) { if(strcmp(srvmap[svcmap[x].srv_place].server_name, in_server_name) == 0) { - printf("%d", svcmap[x].server_id); + printf("%ld", svcmap[x].server_id); } } @@ -474,9 +483,9 @@ passive_serverid=atoi(token); sprintf(svc_out, " "); for(x=0; xsvccount; x++) { - if(svcmap[x].server_id == passive_serverid && svcmap[x].service_type == SVC_TYPE_PASSIVE) { + if(svcmap[x].server_id == passive_serverid && svcmap[x].service_type == SVC_TYPE_PASSIVE && svcmap[x].service_passive_timeout > 0) { if(service_is_in_time(svcmap[x].service_exec_plan)) { - printf("%d", svcmap[x].service_id); + printf("%ld", svcmap[x].service_id); printf(" "); } } @@ -492,7 +501,7 @@ exit(1); } - printf(svc_out); + printf("%s", svc_out); } shmdt(bartlby_address); diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/tools/shmt.c ./bartlby-core/src/tools/shmt.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/tools/shmt.c 2006-02-19 16:04:13.000000000 +0100 +++ ./bartlby-core/src/tools/shmt.c 2008-03-03 13:01:27.000000000 +0100 @@ -1,4 +1,4 @@ -/* $Id: shmt.c,v 1.5 2006/02/19 15:04:13 hjanuschka Exp $ */ +/* $Id: shmt.c,v 1.7 2008/03/03 12:01:27 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,17 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.5 $ +$Revision: 1.7 $ $Source: /cvsroot/bartlby/bartlby-core/src/tools/shmt.c,v $ $Log: shmt.c,v $ +Revision 1.7 2008/03/03 12:01:27 hjanuschka +list all services + +Revision 1.6 2007/07/27 22:54:04 hjanuschka +int to long changing + Revision 1.5 2006/02/19 15:04:13 hjanuschka *** empty log message *** @@ -54,7 +60,9 @@ //int * shm_elements; void * bartlby_address; struct shm_header * shm_hdr; - + struct service * svcmap; + struct server * srvmap; + int x; @@ -94,12 +102,22 @@ bartlby_address=shmat(shm_id,NULL,0); shm_hdr=bartlby_SHM_GetHDR(bartlby_address); - printf("%d\t%d\t%d\t%d\t%d\n", shm_id, shm_hdr->svccount, shm_hdr->wrkcount, shm_hdr->dtcount, shm_hdr->current_running); + printf("%d\t%ld\t%ld\t%ld\t%ld\n", shm_id, shm_hdr->svccount, shm_hdr->wrkcount, shm_hdr->dtcount, shm_hdr->current_running); shmdt(bartlby_address); exit(1); + } else if ( strcmp(argv[2], "list") == 0 ) { + bartlby_address=shmat(shm_id,NULL,0); + svcmap=bartlby_SHM_ServiceMap(bartlby_address); + shm_hdr=bartlby_SHM_GetHDR(bartlby_address); + srvmap=bartlby_SHM_ServerMap(bartlby_address); + + for(x=0; xsvccount; x++) { + printf("%ld;%s;%d;%s;%d;\n", svcmap[x].service_id, srvmap[svcmap[x].srv_place].server_name, srvmap[svcmap[x].srv_place].client_port, svcmap[x].service_name, svcmap[x].current_state); + } + exit(1); } - printf("Unknown option: status|remove"); + printf("Unknown option: status|remove|list"); } else { diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/trigger.c ./bartlby-core/src/trigger.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/src/trigger.c 2007-02-15 17:25:32.000000000 +0100 +++ ./bartlby-core/src/trigger.c 2007-07-28 00:54:04.000000000 +0200 @@ -1,4 +1,4 @@ -/* $Id: trigger.c,v 1.29 2007/02/15 16:25:32 hjanuschka Exp $ */ +/* $Id: trigger.c,v 1.30 2007/07/27 22:54:04 hjanuschka Exp $ */ /* ----------------------------------------------------------------------- * * * Copyright 2005 Helmut Januschka - All Rights Reserved @@ -11,11 +11,14 @@ * * ----------------------------------------------------------------------- */ /* -$Revision: 1.29 $ +$Revision: 1.30 $ $Source: /cvsroot/bartlby/bartlby-core/src/trigger.c,v $ $Log: trigger.c,v $ +Revision 1.30 2007/07/27 22:54:04 hjanuschka +int to long changing + Revision 1.29 2007/02/15 16:25:32 hjanuschka auto commit @@ -212,7 +215,7 @@ return TR; } else { if(w->escalation_count > w->escalation_limit) { - _log("@NOT-EXT@%d|%d|%d|%s||%s:%d/%s|'(escalation %d/%d)'", svc->service_id, svc->last_state ,svc->current_state,w->name, svc->srv->server_name, svc->srv->client_port, svc->service_name,w->escalation_count, w->escalation_limit); + _log("@NOT-EXT@%ld|%d|%d|%s||%s:%d/%s|'(escalation %d/%ld)'", svc->service_id, svc->last_state ,svc->current_state,w->name, svc->srv->server_name, svc->srv->client_port, svc->service_name,w->escalation_count, w->escalation_limit); return FL; } else { w->escalation_count++; @@ -224,19 +227,19 @@ int bartlby_trigger_chk(struct service *svc) { if(svc->srv->server_notify == 0) { - _log("@NOT-EXT@%d|%d|%d|||%s:%d/%s|'(Notifications disabled on this server)'", svc->service_id, svc->last_state ,svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name); + _log("@NOT-EXT@%ld|%d|%d|||%s:%d/%s|'(Notifications disabled on this server)'", svc->service_id, svc->last_state ,svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name); return FL; } if(svc->notify_enabled == 0) { //_log("Suppressed notify: Notifications disabled %s:%d/%s",svc->client_ip, svc->srv->client_port, svc->service_name); - _log("@NOT-EXT@%d|%d|%d|||%s:%d/%s|'(Notifications disabled)'", svc->service_id, svc->last_state ,svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name); + _log("@NOT-EXT@%ld|%d|%d|||%s:%d/%s|'(Notifications disabled)'", svc->service_id, svc->last_state ,svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name); return FL; } else { if((time(NULL) - svc->srv->last_notify_send) > svc->srv->server_flap_seconds) { svc->srv->flap_count=0; } else { if(svc->srv->flap_count > 2) { - _log("@NOT-EXT@%d|%d|%d|||%s:%d/%s|'(Server lazy %d)'", svc->service_id, svc->last_state ,svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name, svc->flap_count); + _log("@NOT-EXT@%ld|%d|%d|||%s:%d/%s|'(Server lazy %ld)'", svc->service_id, svc->last_state ,svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name, svc->flap_count); return FL; } else { svc->srv->flap_count++; @@ -249,7 +252,7 @@ } else { if(svc->flap_count > 2) { - _log("@NOT-EXT@%d|%d|%d|||%s:%d/%s|'(Service flapping %d)'", svc->service_id, svc->last_state ,svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name, svc->flap_count); + _log("@NOT-EXT@%ld|%d|%d|||%s:%d/%s|'(Service flapping %ld)'", svc->service_id, svc->last_state ,svc->current_state, svc->srv->server_name, svc->srv->client_port, svc->service_name, svc->flap_count); return FL; } else { //Log("trigger", "Service %s:%d/%s Sent", svc->client_ip, svc->srv->client_port, svc->service_name); @@ -290,7 +293,7 @@ } user_dat = malloc(sizeof(char) * (strlen(uir) + 20 + strlen(".dat") + 2)); - sprintf(user_dat, "%s/%d.dat", uir, w->worker_id); + sprintf(user_dat, "%s/%ld.dat", uir, w->worker_id); free(uir); //_log("user_right_file: %s", user_dat); @@ -321,8 +324,8 @@ find_server=malloc(sizeof(char)*20); find_service=malloc(sizeof(char)*20); - sprintf(find_server, ",%d,", svc->server_id); - sprintf(find_service, ",%d,", svc->service_id); + sprintf(find_server, ",%ld,", svc->server_id); + sprintf(find_service, ",%ld,", svc->service_id); @@ -450,7 +453,7 @@ find_str=malloc(10+2); find_trigger=malloc(100+200); - sprintf(find_str, "|%d|", svc->service_id); + sprintf(find_str, "|%ld|", svc->service_id); cfg_trigger_msg=getConfigValue("trigger_msg", cfgfile); if(cfg_trigger_msg == NULL) { cfg_trigger_msg=strdup(DEFAULT_NOTIFY_MSG); @@ -505,7 +508,7 @@ bartlby_callback(EXTENSION_CALLBACK_TRIGGER_FIRED, &en); //_log("EXEC trigger: %s", full_path); - _log("@NOT@%d|%d|%d|%s|%s|%s:%d/%s", svc->service_id, svc->last_state ,svc->current_state,entry->d_name,wrkmap[x].name, svc->srv->server_name, svc->srv->client_port, svc->service_name); + _log("@NOT@%ld|%d|%d|%s|%s|%s:%d/%s", svc->service_id, svc->last_state ,svc->current_state,entry->d_name,wrkmap[x].name, svc->srv->server_name, svc->srv->client_port, svc->service_name); svc->last_notify_send=time(NULL); svc->srv->last_notify_send=time(NULL); @@ -518,14 +521,14 @@ alarm(CONN_TIMEOUT); if(fgets(trigger_return, 1024, ptrigger) != NULL) { trigger_return[strlen(trigger_return)-1]='\0'; - _log("@NOT-EXT@%d|%d|%d|%s|%s|%s:%d/%s|'%s'", svc->service_id, svc->last_state ,svc->current_state,entry->d_name,wrkmap[x].name, svc->srv->server_name, svc->srv->client_port, svc->service_name, trigger_return); + _log("@NOT-EXT@%ld|%d|%d|%s|%s|%s:%d/%s|'%s'", svc->service_id, svc->last_state ,svc->current_state,entry->d_name,wrkmap[x].name, svc->srv->server_name, svc->srv->client_port, svc->service_name, trigger_return); } else { - _log("@NOT-EXT@%d|%d|%d|%s|%s|%s:%d/%s|'(empty output)'", svc->service_id, svc->last_state ,svc->current_state,entry->d_name,wrkmap[x].name, svc->srv->server_name, svc->srv->client_port, svc->service_name); + _log("@NOT-EXT@%ld|%d|%d|%s|%s|%s:%d/%s|'(empty output)'", svc->service_id, svc->last_state ,svc->current_state,entry->d_name,wrkmap[x].name, svc->srv->server_name, svc->srv->client_port, svc->service_name); } if(connection_timed_out == 1) { - _log("@NOT-EXT@%d|%d|%d|%s|%s|%s:%d/%s|'(timed out)'", svc->service_id, svc->last_state ,svc->current_state,entry->d_name,wrkmap[x].name, svc->srv->server_name, svc->srv->client_port, svc->service_name); + _log("@NOT-EXT@%ld|%d|%d|%s|%s|%s:%d/%s|'(timed out)'", svc->service_id, svc->last_state ,svc->current_state,entry->d_name,wrkmap[x].name, svc->srv->server_name, svc->srv->client_port, svc->service_name); } connection_timed_out=0; alarm(0); @@ -533,7 +536,7 @@ pclose(ptrigger); } } else { - _log("@NOT-EXT@%d|%d|%d|%s|%s|%s:%d/%s|'(failed %s)'", svc->service_id, svc->last_state ,svc->current_state,entry->d_name,wrkmap[x].name, svc->srv->server_name, svc->srv->client_port, svc->service_name, full_path); + _log("@NOT-EXT@%ld|%d|%d|%s|%s|%s:%d/%s|'(failed %s)'", svc->service_id, svc->last_state ,svc->current_state,entry->d_name,wrkmap[x].name, svc->srv->server_name, svc->srv->client_port, svc->service_name, full_path); } free(exec_str); } else { diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/trigger/mail.sh ./bartlby-core/trigger/mail.sh --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-core/trigger/mail.sh 2006-11-07 15:46:59.000000000 +0100 +++ ./bartlby-core/trigger/mail.sh 2007-03-22 02:09:22.000000000 +0100 @@ -28,5 +28,5 @@ SUBJ="bartlby notify: ${BARTLBY_CURR_HOST} / ${BARTLBY_CURR_SERVICE} : ${READABLE_STATE} "; MSG=$(echo -e $4); -echo -e $MSG|mail -s "$SUBJ" $1 +echo -e ${BARTLBY_CURR_HOST} $MSG|mail -s "$SUBJ" $1 echo "Mail sent to $1"; diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-extensions/distributive.c ./bartlby-extensions/distributive.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-extensions/distributive.c 2007-02-16 17:53:45.000000000 +0100 +++ ./bartlby-extensions/distributive.c 2007-03-22 02:10:39.000000000 +0100 @@ -33,9 +33,9 @@ if(distr_command != 0) { - dcmd = malloc(sizeof(char) * (strlen(distr_command)+5200)); + dcmd = malloc(sizeof(char) * (strlen(distr_command)+5300)); - snprintf(dcmd, 5199, "%s '%s' '%s' %d '%s'", distr_command, svc->srv->server_name, svc->service_name, svc->current_state, svc->new_server_text); + snprintf(dcmd, 5299, "%s %d %d '%s' '%s' %d '%s'", distr_command, svc->server_id, svc->service_id, svc->srv->server_name, svc->service_name, svc->current_state, svc->new_server_text); fp = popen(dcmd, "r"); if(fp) { diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-php/php_bartlby.h ./bartlby-php/php_bartlby.h --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-php/php_bartlby.h 2007-02-15 21:46:57.000000000 +0100 +++ ./bartlby-php/php_bartlby.h 2007-07-28 00:54:42.000000000 +0200 @@ -15,7 +15,7 @@ | Author: | +----------------------------------------------------------------------+ - $Id: php_bartlby.h,v 1.44 2007/02/15 20:46:57 hjanuschka Exp $ + $Id: php_bartlby.h,v 1.45 2007/07/27 22:54:42 hjanuschka Exp $ */ #define BARTLBY_VERSION "1.2.8" @@ -157,10 +157,10 @@ */ struct shm_counter { - int worker; - int services; - int downtimes; - int servers; + long worker; + long services; + long downtimes; + long servers; }; struct perf_statistic { @@ -173,9 +173,9 @@ char community[512]; int version; char objid[1024]; - int warn; - int crit; - int type; + long warn; + long crit; + long type; }; struct sprocess { int start_time; @@ -193,17 +193,17 @@ struct shm_header { - int size_of_structs; - int thrdcount; - int svccount; - int wrkcount; - int srvcount; - int current_running; + long size_of_structs; + long thrdcount; + long svccount; + long wrkcount; + long srvcount; + long current_running; char version[50]; int do_reload; int last_replication; int startup_time; - int dtcount; + long dtcount; int sirene_mode; struct perf_statistic pstat; int cur_event_index; @@ -212,7 +212,7 @@ }; struct server { - int server_id; + long server_id; char client_ip[2048]; char server_name[2048]; char server_icon[1024]; @@ -220,7 +220,7 @@ int client_port; int server_dead; int server_notify; - int server_flap_seconds; + long server_flap_seconds; int flap_count; int last_notify_send; struct service * dead_marker; @@ -230,8 +230,8 @@ struct service { - int service_id; - int server_id; + long service_id; + long server_id; int last_state; int current_state; @@ -240,8 +240,8 @@ char plugin[2048]; char plugin_arguments[2048]; - int check_interval; - int check_interval_original; + long check_interval; + long check_interval_original; int last_check; struct timeval lcheck; @@ -252,24 +252,24 @@ /*Notify things*/ int notify_enabled; int last_notify_send; - int flap_count; + long flap_count; int service_active; char service_var[2048]; int service_type; - int service_passive_timeout; + long service_passive_timeout; int notify_last_state; int notify_last_time; - int service_check_timeout; + long service_check_timeout; int service_ack; - int service_retain; - int service_retain_current; + long service_retain; + long service_retain_current; @@ -284,10 +284,10 @@ struct sprocess process; - int flap_seconds; + long flap_seconds; struct server * srv; - int srv_place; + long srv_place; int is_server_dead; @@ -304,7 +304,7 @@ char icq[2048]; char services[2048]; - int worker_id; + long worker_id; int active; char notify_plan[2048]; char password[2048]; @@ -314,14 +314,14 @@ char notify_levels[20]; char enabled_triggers[2048]; char t[500]; - int escalation_limit; - int escalation_minutes; + long escalation_limit; + long escalation_minutes; }sa; struct downtime { - int downtime_id; + long downtime_id; int downtime_type; int downtime_from; int downtime_to; @@ -331,7 +331,7 @@ }sb; struct btl_event { - int evnt_id; + long evnt_id; char evnt_message[1024]; int evnt_time; @@ -371,3 +371,4 @@ } portier_packet; + diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-plugins/bartlby_check_http.c ./bartlby-plugins/bartlby_check_http.c --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-plugins/bartlby_check_http.c 2007-01-05 02:49:10.000000000 +0100 +++ ./bartlby-plugins/bartlby_check_http.c 2007-03-27 17:42:06.000000000 +0200 @@ -200,6 +200,7 @@ char * client_request; char server_return[1024]; + char fin_server_return[1024000]; struct sockaddr_in remote; struct sigaction act1, oact1; @@ -297,13 +298,10 @@ alarm(timeout); while ((b_rtc = read(c_sock, server_return, 1024))) { //printf("%d: %s\n", b_rtc, server_return); - server_return[b_rtc-1]='\0'; - if(do_regex) { - if(my_regMatch(server_return, regex) == 0) reg_matched++; - } - - sscanf(server_return, "HTTP/1.1 %d\r\n", &HTTP_code); + server_return[b_rtc]='\0'; + strcat(fin_server_return, server_return); + if(b_rtc == -1) break; //printf("%d, %s", get_request, server_return); recieved_bytes += b_rtc; @@ -321,7 +319,10 @@ close(c_sock); - + if(do_regex) { + if(my_regMatch(fin_server_return, regex) == 0) reg_matched++; + } + gettimeofday(&tv_end, NULL); diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/bartlby_action.php ./bartlby-ui/bartlby_action.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/bartlby_action.php 2007-01-29 05:04:12.000000000 +0100 +++ ./bartlby-ui/bartlby_action.php 2007-04-01 18:06:46.000000000 +0200 @@ -335,7 +335,7 @@ break; case 'modify_worker': $layout->set_menu("worker"); - if($_GET[worker_id] >= 0 && $_GET[worker_name] && $_GET[worker_password]) { + if($_GET[worker_id] >= 0 && $_GET[worker_name]) { if(!$btl->isSuperUser() && $btl->user_id != $_GET[worker_id]) { $btl->hasRight("modify_all_workers"); @@ -393,8 +393,15 @@ if($df == false) { $exec_plan=""; } + $end_pw= md5($_GET[worker_password]); - $add=bartlby_modify_worker($btl->CFG,$_GET[worker_id], $_GET[worker_mail], $_GET[worker_icq], $svcstr, $notifystr, $_GET[worker_active], $_GET[worker_name], md5($_GET[worker_password]), $triggerstr, $_GET[escalation_limit], $_GET[escalation_minutes], $exec_plan); + if(!$_GET[worker_password]) { + $wrk1 = bartlby_get_worker_by_id($btl->CFG, $_GET[worker_id]); + $end_pw=$wrk1[password]; + } + + + $add=bartlby_modify_worker($btl->CFG,$_GET[worker_id], $_GET[worker_mail], $_GET[worker_icq], $svcstr, $notifystr, $_GET[worker_active], $_GET[worker_name],$end_pw, $triggerstr, $_GET[escalation_limit], $_GET[escalation_minutes], $exec_plan); $btl->setUIRight("selected_servers", $selected_servers, $_GET[worker_name]); $btl->setUIRight("selected_services", $selected_services, $_GET[worker_name]); $layout->OUT .= ""; @@ -477,7 +484,7 @@ set_magic_quotes_runtime(0); $layout->set_menu("services"); - if($_GET[service_id] != "" && $_GET[service_id] && $_GET[service_server] && $_GET[service_type] && $_GET[service_name] && $_GET[service_interval]) { + if($_GET[service_id] != "" && $_GET[service_id] && $_GET[service_server] && $_GET[service_type] && $_GET[service_name] && $_GET[service_interval] != "") { $btl->hasServerorServiceRight($_GET[service_id]); $df=false; $exec_plan = ""; @@ -485,7 +492,12 @@ if($v != "") { $df = true; } - $exec_plan .= $k . "=" . $v . "|"; + if($_GET[wdays_inv][$k]) { + $sepa = "!"; + } else { + $sepa = "="; + } + $exec_plan .= $k . $sepa . $v . "|"; } @@ -526,14 +538,17 @@ if($v != "") { $df = true; } - $exec_plan .= $k . "=" . $v . "|"; + if($_GET[wdays_inv][$k]) { + $sepa = "!"; + } else { + $sepa = "="; + } + $exec_plan .= $k . $sepa . $v . "|"; } if($df == false) { $exec_plan=""; } - - $ads=bartlby_add_service($btl->CFG, $_GET[service_server], $_GET[service_plugin],$_GET[service_name],$_GET[service_args],$_GET[notify_enabled], $exec_plan,$_GET[service_interval],$_GET[service_type],$_GET[service_var], $_GET[service_passive_timeout], $_GET[service_check_timeout], $_GET[service_ack], $_GET[service_retain], $_GET[service_snmp_community], $_GET[service_snmp_objid], $_GET[service_snmp_version], $_GET[service_snmp_warning], $_GET[service_snmp_critical], $_GET[service_snmp_type],$_GET[service_active], $_GET[flap_seconds]); $global_msg=bartlby_get_server_by_id($btl->CFG, $_GET[service_server]); $global_msg[exec_plan]=$btl->resolveServicePlan($exec_plan); @@ -667,4 +682,4 @@ $layout->TableEnd(); -$layout->display(); \ No newline at end of file +$layout->display(); diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/bartlby-ui.class.php ./bartlby-ui/bartlby-ui.class.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/bartlby-ui.class.php 2007-01-29 17:07:07.000000000 +0100 +++ ./bartlby-ui/bartlby-ui.class.php 2008-01-24 15:10:33.000000000 +0100 @@ -1,4 +1,6 @@ CFG, $service_id); + $rap = "Report for: " . $defaults[server_name] . "/" . $defaults[service_name] . "\n"; + $btl_subj = "Bartlby Custom report"; + + $rap .= "DAILY REPORT:\n\n"; + $rep = $this->do_report($from, $to, 0, $service_id); + + $rap .= "FROM: " . $from . " TO: " . $to . "\n"; + $file = $this->format_report($rep, "html", $rap); + + + + + + + $tmpfname = tempnam ("/tmp", "ArS"); + + $fp = fopen($tmpfname, "w"); + fwrite($fp, $file); + fclose($fp); + + copy($tmpfname, $tmpfname . ".html"); + unlink($tmpfname); + + $mime = new Mail_Mime(); + $mime->setTxtBody("see the attachment for details"); + + $mime->addAttachment($tmpfname . ".html", "text/html", "report.html"); + + + //update perf handler ;) + $this->updatePerfHandler($defaults[server_id], $defaults[service_id]); + $path=bartlby_config($this->CFG, "performance_rrd_htdocs"); + foreach(glob($path . "/" . $service_id . "_*.png") as $fn) { + //$mime->addAttachment($fn, "image/png", basename($fn), true, 'base64', 'inline'); + $mime->addHTMLImage($fn, "image/png", basename($fn), true); + $file .= "
"; + } + $mime->setHTMLBody($file); + $body=$mime->get(); + + + + + + + $dd = explode(";", $emails); + for($x=0; $x $storage->load_key("ars_smtp_from") , 'To' => $dd[$x], + 'Subject' => $btl_subj); + + $smtp = Mail::factory('smtp', + array ('host' => $storage->load_key("ars_smtp_host"), + 'auth' => false, + 'timeout' => 10, + 'debug' => false + )); + + $hdrs=$mime->headers($headers); + + + $mail = $smtp->send($dd[$x], $hdrs, $body); + $r .= "Sent to: " . $dd[$x] . "
"; + } + + return $r; + + + } + function doReload() { bartlby_reload($this->CFG); while(1) { @@ -110,7 +189,176 @@ $r = "" . $mydiv; return $r; } + function format_report($rep, $type='html', $hdr, $do_perf=false) { + global $btl; + + + + $svc=$rep[svc]; + $svc_id=$rep[service_id]; + $srv_id=$rep[server_id]; + $state_array=$rep[state_array]; + $notify=$rep[notify]; + $files_scanned=$rep[files_scanned]; + + $hun=$svc[0]+$svc[1]+$svc[2]; + + + + + switch($type) { + case 'html': + $rap =""; + $rap .= ""; + break; + } + switch($type) { + case 'html': + $rap .= ""; + break; + } + + switch($type) { + case 'html': + $rap .= ""; + break; + } + + while(list($state, $time) = @each($svc)) { + + + $perc = (($hun-$time) * 100 / $hun); + $perc =100-$perc; + + + switch($type) { + case 'html': + $rap .= ""; + $rap .= ""; + $rap .= ""; + $rap .= ""; + $rap .= ""; + break; + } + + + + + } + + if($do_perf == true) { + $this->updatePerfHandler($srv_id, $svc_id); + $path=bartlby_config($this->CFG, "performance_rrd_htdocs"); + + foreach(glob($path . "/" . $svc_id . "_*.png") as $fn) { + //$mime->addAttachment($fn, "image/png", basename($fn), true, 'base64', 'inline'); + + $rap .= ""; + } + } + + switch($type) { + case 'html': + $rap .= ""; + break; + } + while(list($worker, $dd) = @each($notify)) { + + switch($type) { + case 'html': + $rap .= ""; + break; + } + + } + switch($type) { + case 'html': + $rap .= ""; + break; + } + $c1="#cccccc"; + $c2="#eeeeee"; + $cl = $c1; + $z=0; + for($xy=count($state_array)-1; $xy>=0;$xy=$xy-2) { + + switch($type) { + case 'html': + $stay_time=""; + $stay_sec=$state_array[$xy][end]-$state_array[$xy][start]; + + if($state_array[$xy][state] != 0) { + + + //if it was not ok we display the stay in time ;) + $stay_time="(" . $this->intervall($stay_sec) . ")"; + } + if(!$_GET[sec_filter] || $stay_sec > $_GET[sec_filter]) { + + $o1 .= ""; + $o1 .= ""; + $o1 .= ""; + $o1 .= ""; + $o1 .= ""; + + $o1 .= ""; + $o1 .= ""; + $o1 .= ""; + $o1 .= ""; + $o1 .= ""; + + + $z++; + $z++; + if($z == 2) { + if($cl == $c1 ){ + $cl = $c2; + } else { + $cl = $c1; + } + $z=0; + } + } + break; + } + + } + + $rap .= $o1; + + switch($type) { + case 'html': + $rap .= "
" . $hdr . "
Service Availability
"; + $rap .= "" . $btl->getState($state) . ""; + $rap .= ""; + $rap .= $btl->intervall($time); + $rap .= ""; + $rap .= round($perc,2); + $rap .= "%
Notifications
" . $worker . ""; + break; + } + + + while(list($trigger, $dd1) = @each($dd)) { + $rap .= "\t" . $trigger . "
"; + while(list($k, $ts) = @each($dd1)) { + + switch($type) { + case 'html': + $rap .= "
  • " . date("d.m.Y H:i:s", $ts[0]) . " (" . $btl->getState($ts[1]) . ")
    "; + break; + } + } + } + switch($type) { + case 'html': + $rap .= "
  • Output
    " . date("d.m.Y H:i:s", $state_array[$xy][end]) . "" . $btl->getState($state_array[$xy][lstate]) . " " . $state_array[$xy][msg] . "
    " . date("d.m.Y H:i:s", $state_array[$xy-1][end]) . "" . $btl->getState($state_array[$xy-1][lstate]) . " $stay_time " . $state_array[$xy-1][msg] . "
    "; + break; + } + + return $rap; + } function resolveServicePlan($str) { global $wdays; @@ -127,42 +375,63 @@ for($x=0; $x= $t1 && $cur_ts <= $t2 && $cur_wday == $x) { - $filled[$x] .= "" . $xx[$y] . ","; - $range_found = true; + + if($inv == 0) { + $cl = 'blue'; + $range_found = true; + } else { + $cl = 'grey'; + $range_found = false; + + + } + + $filled[$x][value] .= "" . $xx[$y] . ","; + } else { - $filled[$x] .= $xx[$y] . ","; + $filled[$x][value] .= $xx[$y] . ","; } } - $filled[$x]{strlen($filled[$x])-1} = " "; + $filled[$x]{strlen($filled[$x][value])-1} = " "; } $plan_box = ""; for($x=0; $x<=6; $x++) { $chk=""; $vv = "NO"; - if($filled[$x]) { + if($filled[$x][value]) { $chk="checked"; - $vv = $filled[$x]; + $vv = $filled[$x][value]; } $cl = ""; if($cur_wday == $x) { $cl = "color=blue"; } - $plan_box .= ""; + if($filled[$x][disabled] == 1) { + $invinfo="(inverted)"; + } else { + $invinfo=""; + } + $plan_box .= ""; } $plan_box .= "
    " . $wdays[$x] . "" . $vv . "
    " . $wdays[$x] . $invinfo . "" . $vv . "
    "; - if($range_found == true) { - $plan_box .= "currently in range"; - } else { - $plan_box .= "currently not in range"; - } + return $plan_box; } @@ -269,6 +538,7 @@ } $r[svc]=$svc; + $r[service_id]=$in_service; $r[state_array]=$state_array; $r[notify]=$notify; $r[files_scanned]=$files_scanned; @@ -325,8 +595,14 @@ for($aax=0; $aaxCFG, $aa[$aax]); - $r .= "Service: $svc[server_name]:$svc[client_port]/$svc[service_name] is not allowed to be in " . $this->getState($bb[1]) . " (Current: " . $this->getState($svc[current_state]) . ")
    "; + $idx=$this->findSHMPlace($aa[$aax]); + $svc=bartlby_get_service($this->CFG, $idx); + $dtemp=""; + if($svc[is_downtime] == 1) { + $dtemp="DOWNTIME"; + } + + $r .= "Service: $svc[server_name]:$svc[client_port]/$svc[service_name] is not allowed to be in " . $this->getState($bb[1]) . " (Current: " . $this->getState($svc[current_state]) . ") $dtemp
    "; } } return $r; @@ -1616,4 +1892,4 @@ return $r; } } -?> \ No newline at end of file +?> diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/cli.php ./bartlby-ui/cli.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/cli.php 2007-01-05 02:49:48.000000000 +0100 +++ ./bartlby-ui/cli.php 2007-03-27 17:42:20.000000000 +0200 @@ -1,7 +1,7 @@ Tr( + $layout->Td( + Array( + 0=>"Email RCPT:", + 1=>$layout->Field("report_rcpt", "text", "") + ) + ) + +); $layout->Tr( $layout->Td( diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/Basket/Basket.class.php ./bartlby-ui/extensions/Basket/Basket.class.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/Basket/Basket.class.php 2006-12-02 22:35:07.000000000 +0100 +++ ./bartlby-ui/extensions/Basket/Basket.class.php 2007-04-01 18:06:47.000000000 +0200 @@ -116,6 +116,9 @@ } + function _logView() { + return $this->_overview(); + } function _services() { return $this->_overview(); } diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/add.php ./bartlby-ui/extensions/OcL/add.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/add.php 1970-01-01 01:00:00.000000000 +0100 +++ ./bartlby-ui/extensions/OcL/add.php 2008-02-28 13:13:22.000000000 +0100 @@ -0,0 +1,151 @@ +hasRight("ocl_add"); + $sg = new OcL(); + + + $layout= new Layout(); + $layout->setTitle("OcL: Add Entry"); + + $layout->OUT .= ""; + $layout->set_menu("OcL"); + $layout->Form("fm1", "extensions_wrap.php"); + $layout->Table("100%"); + + + + $typos[0][s]=0; + $typos[0][k]="phone"; + $typos[0][v]="phone"; + + $typos[1][s]=0; + $typos[1][k]="sms"; + $typos[1][v]="sms"; + + + $typos[2][s]=0; + $typos[2][k]="email"; + $typos[2][v]="email"; + + $typos[2][s]=0; + $typos[2][k]="various"; + $typos[2][v]="various"; + + +$layout->Tr( + $layout->Td( + Array( + array("colspan" => 2, "show" => "Add OnCall-Log-Entry") + ) + ) + +); + + +$layout->Tr( + $layout->Td( + Array( + 0=>"Date:", + 1=>$layout->Field("ocl_date", "textbox", date("d.m.Y H:i")) + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Subject:", + 1=>$layout->Field("ocl_subject", "textbox", "") + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Duration:", + 1=>$layout->Field("ocl_duration", "textbox", "") + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Type-of-Activation:", + 1=>$layout->DropDown("ocl_type", $typos) + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Caller:", + 1=>$layout->Field("ocl_caller", "textbox", "") + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Worker:", + $btl->user + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Detailed description:", + $layout->TextArea("ocl_error_long", "",10,70) . $layout->Field("script", "hidden", "OcL/save.php") + ) + ) + +); + +$layout->Tr( + $layout->Td( + array( + 0=>"Group definition", + + 1=>$layout->Field("service_var", "hidden", "") . "Open Service selector" + + ) + ) +); + + + + + +$layout->Tr( + $layout->Td( + Array( + 0=>Array( + 'colspan'=> 2, + "align"=>"right", + 'show'=>$layout->Field("Subm", "button", "next->", "" ," onClick='xajax_ExtensionAjax(\"OcL\", \"xajax_ocl_add_form\", xajax.getFormValues(\"fm1\"))'") + ) + ) + ) + +); + $layout->FormEnd(); + + $layout->TableEnd(); + $layout->display(); \ No newline at end of file diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/csv.php ./bartlby-ui/extensions/OcL/csv.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/csv.php 1970-01-01 01:00:00.000000000 +0100 +++ ./bartlby-ui/extensions/OcL/csv.php 2008-02-28 13:13:22.000000000 +0100 @@ -0,0 +1,47 @@ + array(element_info) + 2 => array(element_info) + + +*/ + + include "config.php"; + include "layout.class.php"; + include "bartlby-ui.class.php"; + + include "extensions/OcL/OcL.class.php"; + + $btl=new BartlbyUi($Bartlby_CONF); + $btl->hasRight("ocl_csv"); + $ocl = new OcL(); + Header("Content-Type: text/plain"); + + + + + $edate=time(); + if($_GET[edate]) $edate=$_GET[edate]; + + + $nday=$edate+(86400*30); + $pday=$edate-(86400*30); + + + + //get all entrys via identifier + $identifier = date("m.Y",$edate); + $v=unserialize($ocl->storage->load_key($identifier)); + $v=@array_reverse($v); + for($x=0; $x \ No newline at end of file diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/index.php ./bartlby-ui/extensions/OcL/index.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/index.php 1970-01-01 01:00:00.000000000 +0100 +++ ./bartlby-ui/extensions/OcL/index.php 2008-02-29 15:41:42.000000000 +0100 @@ -0,0 +1,123 @@ + array(element_info) + 2 => array(element_info) + + +*/ + + include "config.php"; + include "layout.class.php"; + include "bartlby-ui.class.php"; + + include "extensions/OcL/OcL.class.php"; + + $btl=new BartlbyUi($Bartlby_CONF); + $btl->hasRight("ocl_view"); + $ocl = new OcL(); + + + + $layout= new Layout(); + $layout->setTitle("OcL: Logbook"); + + $layout->set_menu("OcL"); + + $layout->Table("100%"); + + $edate=time(); + if($_GET[edate]) $edate=$_GET[edate]; + + + $nday=$edate+(86400*30); + $pday=$edate-(86400*30); + + + $nlink="" . date("m.Y", $nday) . ""; + $plink="" . date("m.Y", $pday) . ""; + $csv="CSV"; + + + + $layout->Tr( + $layout->Td( + Array( + array("colspan" => 2, "show" => "Entrys for: " . $plink . " <<" . date("m.Y", $edate) . ">>" . $nlink . " $csv ") + ) + ) + + ); + + + //get all entrys via identifier + $identifier = date("m.Y",$edate); + $v=unserialize($ocl->storage->load_key($identifier)); + $v=@array_reverse($v); + for($x=0; $xTr( + $layout->Td( + Array( + 0=>Array( + "width" => "900", + 'colspan'=> 3, + "align"=>"left", + "show"=> nl2br($v[$x][ocl_error_long]) + ) + ) + ) + + ,true); + //images/diabled.gif + $del_icon="delete this entry"; + $mod_icon="modify this entry"; + $grp_str=$ocl->resolveGroupString($v[$x][ocl_service_var]); + + $cur_box_content .=$layout->Tr( + $layout->Td( + Array( + 0=>Array( + + 'colspan'=> 3, + "align"=>"left", + "show"=> "
    " + ) + ) + ) + + ,true); + + $cur_box_content .=$layout->Tr( + $layout->Td( + Array( + 0=>Array( + 'colspan'=> 1, + "align"=>"right", + "show"=> "Type:" . $v[$x][ocl_type] . " Took: " . $v[$x][ocl_duration]. " mins. Activated by: " . $v[$x][ocl_caller] . "" + ) + , + 1=> $grp_str, + 2=> $del_icon . " " . $mod_icon + + ) + ) + + ,true); + $cur_box_content .= ""; + + $layout->push_outside($layout->create_box($v[$x][ocl_subject] . " by " . $v[$x][ocl_poster] . " posted on " . $v[$x][ocl_date] . "", $cur_box_content)); + + + + } + + $layout->TableEnd(); + $layout->display(); + + + +?> \ No newline at end of file diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/modify.php ./bartlby-ui/extensions/OcL/modify.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/modify.php 1970-01-01 01:00:00.000000000 +0100 +++ ./bartlby-ui/extensions/OcL/modify.php 2008-02-28 13:13:22.000000000 +0100 @@ -0,0 +1,167 @@ +hasRight("ocl_edit"); + $sg = new OcL(); + + + $layout= new Layout(); + $layout->setTitle("OcL: Add Entry"); + + $layout->OUT .= ""; + $layout->set_menu("OcL"); + $layout->Form("fm1", "extensions_wrap.php"); + $layout->Table("100%"); + + + + + //load defaults + $v=unserialize($sg->storage->load_key($_GET[identifier])); + + + $new_x=0; + for($x=0; $xTr( + $layout->Td( + Array( + array("colspan" => 2, "show" => "Modify OnCall-Log-Entry") + ) + ) + +); + + +$layout->Tr( + $layout->Td( + Array( + 0=>"Date:", + 1=>$layout->Field("ocl_date", "textbox", $default[ocl_date]) + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Subject:", + 1=>$layout->Field("ocl_subject", "textbox", $default[ocl_subject]) + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Duration:", + 1=>$layout->Field("ocl_duration", "textbox", $default[ocl_duration]) + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Type-of-Activation:", + 1=>$layout->DropDown("ocl_type", $typos) + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Caller:", + 1=>$layout->Field("ocl_caller", "textbox", $default[ocl_caller]) + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Worker:", + $default[ocl_user] + ) + ) + +); +$layout->Tr( + $layout->Td( + Array( + 0=>"Detailed description:", + $layout->TextArea("ocl_error_long", $default[ocl_error_long] ,10,70) . $layout->Field("script", "hidden", "OcL/save.php") . $layout->Field("identifier", "hidden", $_GET[identifier]) . $layout->Field("ocl_id", "hidden", $_GET[ocl_id]) + ) + ) + +); + +$layout->Tr( + $layout->Td( + array( + 0=>"Group definition", + + 1=>$layout->Field("service_var", "hidden", "") . "Open Service selector" + + ) + ) +); + + + + + +$layout->Tr( + $layout->Td( + Array( + 0=>Array( + 'colspan'=> 2, + "align"=>"right", + 'show'=>$layout->Field("Subm", "button", "next->", "" ," onClick='xajax_ExtensionAjax(\"OcL\", \"xajax_ocl_add_form\", xajax.getFormValues(\"fm1\"))'") + ) + ) + ) + +); + $layout->FormEnd(); + + $layout->TableEnd(); + $layout->display(); \ No newline at end of file diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/OcL.class.php ./bartlby-ui/extensions/OcL/OcL.class.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/OcL.class.php 1970-01-01 01:00:00.000000000 +0100 +++ ./bartlby-ui/extensions/OcL/OcL.class.php 2008-02-29 15:41:42.000000000 +0100 @@ -0,0 +1,176 @@ +layout = new Layout(); + $this->storage = new BartlbyStorage("OcL"); + + } + + function resolveGroupString($str) { + global $btl; + $aa=explode("|", $str); + for($aax=0; $aaxCFG, $aa[$aax]); + $idx=$btl->findSHMPlace($aa[$aax]); + $svc=bartlby_get_service($btl->CFG, $idx); + $dtemp=""; + if($svc[is_downtime] == 1) { + $dtemp="DOWNTIME"; + } + $r .= "Service: $svc[server_name]:$svc[client_port]/$svc[service_name] (Current: " . $btl->getState($svc[current_state]) . ") $dtemp
    "; + } + } + return $r; + } + function _About() { + $snotice="enables you to 'blog' about system events"; + return $snotice; + + } + + function _Menu() { + $r = $this->layout->beginMenu(); + $r .= $this->layout->addRoot("OcL"); + $r .= $this->layout->addSub("OcL", "Logs","extensions_wrap.php?script=OcL/index.php"); + $r .= $this->layout->addSub("OcL", "Add","extensions_wrap.php?script=OcL/add.php"); + + $r .= $this->layout->endMenu(); + return $r; + } + + + function xajax_ocl_del_entry() { + global $xajax, $btl; + $res = new xajaxResponse(); + $btl->hasRight("ocl_delete"); + $identifier=$_GET[xajaxargs][2]; + $ocl_id=$_GET[xajaxargs][3]; + + $v=unserialize($this->storage->load_key($identifier)); + + + $new_x=0;; + for($x=0; $xstorage->save_key($identifier,serialize($n)); + $res->AddScript("document.location.reload()"); + + return $res; + } + function xajax_ocl_add_form() { + global $xajax; + $res = new xajaxResponse(); + $values = $xajax->_xmlToArray("xjxquery", $_GET[xajaxargs][2]); + $e=0; + $res->addAssign("error_ocl_date", "innerHTML", ""); + $res->addAssign("error_ocl_subject", "innerHTML", ""); + $res->addAssign("error_ocl_duration", "innerHTML", ""); + $res->addAssign("error_ocl_caller", "innerHTML", ""); + $res->addAssign("error_ocl_error_long", "innerHTML", ""); + + if($values[ocl_date] == "") { + $res->addAssign("error_ocl_date", "innerHTML", "required field"); + $e++; + } + if($values[ocl_subject] == "") { + $res->addAssign("error_ocl_subject", "innerHTML", "required field"); + $e++; + } + + if($values[ocl_duration] == "") { + $res->addAssign("error_ocl_duration", "innerHTML", "required field"); + $e++; + } + if($values[ocl_caller] == "") { + $res->addAssign("error_ocl_caller", "innerHTML", "required field"); + $e++; + } + if($values[ocl_error_long] == "") { + $res->addAssign("error_ocl_error_long", "innerHTML", "required field"); + $e++; + } + if($e == 0) { + $res->AddScript("document.fm1.submit()"); + } + return $res; + } + + function _permissions() { + global $worker_rights; + + $ky["ocl_add"]="allowed to add ocl-entrys"; + $ky["ocl_csv"]="can view csv reports"; + $ky["ocl_view"]="can view logbook"; + $ky["ocl_edit"]="can edit entrys"; + $ky["ocl_delete"]="can delete"; + + while(list($k, $v) = each($ky)) { + $kc=""; + if($worker_rights[$k][0] && $worker_rights[$k][0] != "false") { + $kc="checked"; + } + $r .= " " . $ky[$k] . "
    "; + + } + return $r; + } + + + + function _overview() { + $identifier = date("m.Y",time()); + $v=unserialize($this->storage->load_key($identifier)); + $v=@array_reverse($v); + + if(count($v)==0) { + return "no entrys found"; + } + $lm = "Latest 3 OcL entry's:"; + + for($x=0; $x<=3; $x++) { + if($v[$x][ocl_subject]) { + $lm .= "
  • " . $v[$x][ocl_subject] . " by " . $v[$x][ocl_poster] . " on " . $v[$x][ocl_date]; + } + } + + return $lm; + } + /* + function _services() { + return "_services"; + } + function _processInfo() { + return "_processInfo"; + } + */ + /* + function _serverDetail() { + + } + */ + /* + function _serviceDetail() { + global $defaults; + + + return "Modify/View Inventory Details"; + } + */ + + + + +} + +?> diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/ocl_shell.sh ./bartlby-ui/extensions/OcL/ocl_shell.sh --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/ocl_shell.sh 1970-01-01 01:00:00.000000000 +0100 +++ ./bartlby-ui/extensions/OcL/ocl_shell.sh 2008-02-28 13:13:22.000000000 +0100 @@ -0,0 +1,43 @@ +#!/bin/sh +BARTLBY_HTDOCS="/var/www/htdocs/bartlby.krone.at/"; + + +cd $BARTLBY_HTDOCS/extensions/ + + +echo -ne "Username:" +read I_USER; +echo -ne "Password:" +read I_PW; +echo -ne "Date (default: $(date +"%d.%m.%Y %H:%M")):" +read I_DATE; +if [ "x$I_DATE" = "x" ]; +then + I_DATE=$(date +"%d.%m.%Y %H:%M"); +fi; + +echo -ne "Subject:" +read I_SUBJ; + +echo -ne "Duration (in minutes):" +read I_DURA; +echo -ne "Caller:" +read I_CALLER; + + + +echo -ne "Type (sms, phone, default:sms):" +read I_TYPE; +if [ "x$I_TYPE" = "x" ]; +then + I_TYPE="sms"; +fi; + +echo -e "Error Message (CTRL+D when finished)" +I_ERROR_LONG="$(&1>/dev/null; \ No newline at end of file diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/save.php ./bartlby-ui/extensions/OcL/save.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/extensions/OcL/save.php 1970-01-01 01:00:00.000000000 +0100 +++ ./bartlby-ui/extensions/OcL/save.php 2008-02-28 13:13:22.000000000 +0100 @@ -0,0 +1,107 @@ + array(element_info) + 2 => array(element_info) + + +*/ + + include "config.php"; + include "layout.class.php"; + include "bartlby-ui.class.php"; + + include "extensions/OcL/OcL.class.php"; + + $btl=new BartlbyUi($Bartlby_CONF); + $btl->hasRight("ocl_add"); + $ocl = new OcL(); + + +if (!$_GET[ocl_id]) { + //add new + $t_a=explode(".", $_GET[ocl_date]); + $t_b=explode(" ", $t_a[2]); + + + $identifier=$t_a[1] . "." . $t_b[0]; + + + + $cur_entry[ocl_date] = $_GET[ocl_date]; + $cur_entry[ocl_subject] = $_GET[ocl_subject]; + $cur_entry[ocl_duration] = $_GET[ocl_duration]; + $cur_entry[ocl_type] = $_GET[ocl_type]; + $cur_entry[ocl_caller] = $_GET[ocl_caller]; + $cur_entry[ocl_error_long] = $_GET[ocl_error_long]; + $cur_entry[ocl_poster] = $btl->user; + $cur_entry[ocl_service_var] = $_GET[service_var]; + $cur_entry[ocl_id] = uniqid(rand(), true); + + + $value=$ocl->storage->load_key($identifier); + $save_array=unserialize($value); + if($save_array==false || !is_array($save_array)) { + //complete new month + $save_array[0]=$cur_entry; + $ocl->storage->save_key($identifier, serialize($save_array)); + + } else { + //push at the end + + @array_push($save_array, $cur_entry); + $ocl->storage->save_key($identifier, serialize($save_array)); + + } + + + + $layout= new Layout(); + $layout->setTitle("OcL: Add entry"); +} else { + $layout= new Layout(); + $layout->setTitle("OcL: Edit entry"); + + $v=unserialize($ocl->storage->load_key($_GET[identifier])); + + + $new_x=0; + for($x=0; $xuser; + $v[$x][ocl_service_var] = $_GET[service_var]; + $v[$x][ocl_id] = $v[$x][ocl_id]; + break; + + } + } + $ocl->storage->save_key($_GET[identifier], serialize($v)); +} + $layout->set_menu("OcL"); + + $layout->Table("100%"); + + + $layout->Tr( + $layout->Td( + Array( + array("colspan" => 2, "show" => "Done!") + ) + ) + + ); + + $layout->TableEnd(); + $layout->display(); + + + +?> \ No newline at end of file diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/fin/delete_service ./bartlby-ui/fin/delete_service --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/fin/delete_service 2006-01-22 02:32:47.000000000 +0100 +++ ./bartlby-ui/fin/delete_service 2007-03-22 02:10:18.000000000 +0100 @@ -1,4 +1,5 @@ - Delete Service
    You have successfully deleted service '$global_msg[server_name]:$global_msg[client_port]/$global_msg[service_name]'

    Next Steps

    - \ No newline at end of file +Delete Service
    You have successfully deleted service '$global_msg[server_name]:$global_msg[client_port]/$global_msg[service_name]'

    Next Steps

    +
    \ No newline at end of file Binary files /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/images/agent_syncer.gif and ./bartlby-ui/images/agent_syncer.gif differ diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/layout.class.php ./bartlby-ui/layout.class.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/layout.class.php 2006-11-30 22:51:08.000000000 +0100 +++ ./bartlby-ui/layout.class.php 2007-04-01 18:06:46.000000000 +0200 @@ -51,7 +51,13 @@ $this->OUT .= ""; } function MetaRefresh($time=20) { - $this->OUT .= ""; + $this->OUT .= ""; } function TableEnd() { $this->OUT .= "
    "; diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/logview.php ./bartlby-ui/logview.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/logview.php 2006-09-28 19:22:50.000000000 +0200 +++ ./bartlby-ui/logview.php 2007-04-01 18:06:46.000000000 +0200 @@ -245,6 +245,7 @@ } $layout->TableEnd(); $layout->FormEnd(); + $r=$btl->getExtensionsReturn("_logView", $layout); $layout->display("no"); diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/modify_service.php ./bartlby-ui/modify_service.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/modify_service.php 2007-01-27 00:20:34.000000000 +0100 +++ ./bartlby-ui/modify_service.php 2007-04-01 18:06:46.000000000 +0200 @@ -336,18 +336,34 @@ $o = explode("|", $defaults[exec_plan]); + for($x=0; $x"; + $plan_box .= "" . $wdays[$x] . " invert"; + } $plan_box .= "Time ranges are seperated with ',' e.g.: 14:30-15:20,01:20-02:30 make 24h a day"; $plan_box .= ""; diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/modify_worker.php ./bartlby-ui/modify_worker.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/modify_worker.php 2007-01-27 20:52:21.000000000 +0100 +++ ./bartlby-ui/modify_worker.php 2007-03-22 02:10:18.000000000 +0100 @@ -222,7 +222,7 @@ $ov .= $layout->Tr( $layout->Td( array( - 0=>"Active?:", + 0=>"Notifications:", 1=>$layout->DropDown("worker_active", $act) ) ) @@ -342,4 +342,4 @@ $layout->TableEnd(); $layout->FormEnd(); -$layout->display(); \ No newline at end of file +$layout->display(); diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/print_report.php ./bartlby-ui/print_report.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/print_report.php 1970-01-01 01:00:00.000000000 +0100 +++ ./bartlby-ui/print_report.php 2007-04-24 21:25:50.000000000 +0200 @@ -0,0 +1,93 @@ +hasright("log.report"); +$btl->hasServerorServiceRight($_GET[report_service]); + + +echo "
    "; + +while(list($k, $v) = @each($_GET)) { + if($k != "sec_filter") { + echo ""; + } +} +echo ""; +echo ""; + + + + +echo "
    "; + +$defaults=bartlby_get_service_by_id($btl->CFG, $_GET[report_service]); +$rap = "Second filter: " . $_GET[sec_filter] . "
    Print it
    Report for: " . $defaults[server_name] . "/" . $defaults[service_name] . "\n"; + +$rep=$btl->do_report($_GET[report_start], $_GET[report_end], $_GET[report_init], $_GET[report_service]); +$rap .= "FROM: " . $_GET[report_start] . " TO: " . $_GET[report_end] . "\n"; + +$file .= $out; + + + + +$file .= $btl->format_report($rep, "html", $rap, true); + +$svc=$rep[svc]; +$state_array=$rep[state_array]; +$notify=$rep[notify]; +$files_scanned=$rep[files_scanned]; +$hun=$svc[0]+$svc[1]+$svc[2]; +$flash[0]="0"; +$flash[1]="0"; +$flash[2]="0"; + +//$img_file=$btl->create_report_img($state_array, $time_start, $time_end); + + + + + +while(list($state, $time) = @each($svc)) { + + + $perc = (($hun-$time) * 100 / $hun); + $perc =100-$perc; + + + $flash[$state]=$perc; + + +} + +for($x=0; $x<3; $x++) { + $nstate= $x+1; + $rstr .= "&text_" . $nstate . "=" . $btl->getState($x) . "&value_" . $nstate . "=" . $flash[$x]; +} + +$out .= ' + + + + + + + + +
    +'; + + + + +echo $file; + \ No newline at end of file diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/report.php ./bartlby-ui/report.php --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/report.php 2007-02-02 21:56:17.000000000 +0100 +++ ./bartlby-ui/report.php 2007-04-24 21:25:50.000000000 +0200 @@ -36,7 +36,12 @@ if(!$_GET[report_service] || !$log_mask) { $out ="You v choosen a server? or log file is not set"; } else { - $out = "creating report for service: $_GET[report_service] From: $_GET[report_start] To: $_GET[report_end]
    "; + + if($_POST[report_rcpt]) { + + $out .= $btl->send_custom_report($_POST[report_rcpt], $_GET[report_service], $_GET[report_start], $_GET[report_end]); + } + $out .= "creating report for service: $_GET[report_service] From: $_GET[report_start] To: $_GET[report_end]
    "; $ra=$btl->do_report($_GET[report_start], $_GET[report_end], $_GET[report_init], $_GET[report_service]); $svc=$ra[svc]; @@ -82,7 +87,7 @@ $rstr .= "&text_" . $nstate . "=" . $btl->getState($x) . "&value_" . $nstate . "=" . $flash[$x]; } $idx=$btl->findSHMPlace($defaults[service_id]); - $svc_option_line="" . $defaults[server_name] . ":" . $defaults[client_port] . "/" . $defaults[service_name] . "" . $btl->getServiceOptions($defaults, $layout); + $svc_option_line="" . $defaults[server_name] . ":" . $defaults[client_port] . "/" . $defaults[service_name] . "" . $btl->getServiceOptions($defaults, $layout) . "Print"; $out .= ""; diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/rights/admin.dat ./bartlby-ui/rights/admin.dat --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/rights/admin.dat 2007-01-05 02:49:49.000000000 +0100 +++ ./bartlby-ui/rights/admin.dat 2007-04-01 18:06:47.000000000 +0200 @@ -1,5 +1,5 @@ -selected_servers= -selected_services= +selected_servers=, +selected_services=, view_service_output=true super_user=true action.reload=true @@ -45,3 +45,11 @@ action.delete_worker=true action.modify_worker=true action.copy_worker=true + + + + + + + + Binary files /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/server_icons/vista.gif and ./bartlby-ui/server_icons/vista.gif differ diff -Nur /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/template.html ./bartlby-ui/template.html --- /var/www/htdocs/bartlby.januschka.com/cvs/last_full/bartlby-ui/template.html 2006-12-10 16:56:51.000000000 +0100 +++ ./bartlby-ui/template.html 2007-04-24 21:25:50.000000000 +0200 @@ -9,6 +9,14 @@