<% /*============================================================================= * * Copyright 2004 Jeremy Guthrie smt@dangermen.com * * This is free software; you can redistribute it and/or modify * it under the terms of version 2 only of the GNU General Public License as * published by the Free Software Foundation. * * It is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * =============================================================================*/ /********************************************************************/ /* */ /* File: pix.php */ /* Purpose: Provide the majority of functions used by the Syslog */ /* Management Tool */ /* */ /********************************************************************/ /********************************************************************/ require_once('pgsql.php'); /********************************************************************/ define("SMACDB", "TSyslog"); /* Username used to access the DB */ define("SMACPASS", "N88iqueU"); define("WARNINGADDRESS", "cscgiss1@maybank.com.sg"); /* Email address that SMT uses as the target to get warnings and misc. reports */ define("SMTVER","1.00"); /* The version of the software that the user sees */ define("LEFTWIDTH","150"); /* Control the width of the left panel called by index.php */ function dayofweekboxes($fieldname, $tabs=0, $cr=0, $br=0, $selected="") { echo tabs($tabs); if ( $selected >= 64 ) { $sunday=1; $selected=$selected - 64; } if ( $selected >= 32 ) { $monday=1; $selected=$selected - 32; } if ( $selected >= 16 ) { $tuesday=1; $selected=$selected - 16; } if ( $selected >= 8 ) { $wednesday=1; $selected=$selected - 8; } if ( $selected >= 4 ) { $thursday=1; $selected=$selected - 4; } if ( $selected >= 2 ) { $friday=1; $selected=$selected - 2; } if ( $selected >= 1 ) { $saturday=1; $selected=$selected - 1; } echo "Sunday "; echo "Monday "; echo "Tuesday "; echo "Wednesday "; echo "Thursday "; echo "Friday "; echo "Saturday "; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: supressruleresults */ /* Stability(1 low - 5 high): 5 */ /* Description: determine if a rule is between the date & time */ /* specified for the rule type */ /* */ /********************************************************************/ function supressruleresults($starttime,$endtime,$daysofweek,$timertype,$timestamp) { $Results=0; $sunday=0; /* 1 */ $monday=0; /* 2 */ $tuesday=0; /* 4 */ $wednesday=0; /* 8 */ $thursday=0; /* 16 */ $friday=0; /* 32 */ $saturday=0; /* 64 */ $day=date("D",$timestamp); if ( ( $timertype == 1 ) || ( $timertype == 2 ) ) { if ( ( $timestamp >= $starttime ) && ( $timestamp <= $endtime ) && ( $starttime < $endtime ) ) { $Results=1; } if ( ( ( $timestamp >= $starttime ) || ( $timestamp <= $endtime ) ) && ( $starttime > $endtime ) ) { $Results=1; } } if ( $timertype == 3 ) { if ( $daysofweek >= 64 ) { $sunday=1; $daysofweek=$daysofweek - 64; } if ( $daysofweek >= 32 ) { $monday=1; $daysofweek=$daysofweek - 32; } if ( $daysofweek >= 16 ) { $tuesday=1; $daysofweek=$daysofweek - 16; } if ( $daysofweek >= 8 ) { $wednesday=1; $daysofweek=$daysofweek - 8; } if ( $daysofweek >= 4 ) { $thursday=1; $daysofweek=$daysofweek - 4; } if ( $daysofweek >= 2 ) { $friday=1; $daysofweek=$daysofweek - 2; } if ( $daysofweek >= 1 ) { $saturday=1; $daysofweek=$daysofweek - 1; } /* convert from hh:mm mm/dd/yyyy to seconds since 1970 */ $starthour=date("G",$starttime); $startminute=date("i",$starttime); $stophour=date("G",$endtime); $stopminute=date("i",$endtime); $hour=date("G",$timestamp); $minute=date("i",$timestamp); /* convert time to sec since 1970 since it provides easy date/time conversion */ $starttime=mktime($starthour,$startminute,0,1,1,2003); $endtime=mktime($stophour,$stopminute,0,1,1,2003); $timestamp=mktime($hour,$minute,0,1,1,2003); if ( ( $sunday ) && ( $day == "Sun" ) ) { if ( ( $timestamp >= $starttime ) && ( $timestamp <= $endtime ) && ( $starttime < $endtime ) ) { $Results=1; } if ( ( ( $timestamp >= $starttime ) || ( $timestamp <= $endtime ) ) && ( $starttime > $endtime ) ) { $Results=1; } } if ( ( $monday ) && ( $day == "Mon" ) ) { if ( ( $timestamp >= $starttime ) && ( $timestamp <= $endtime ) && ( $starttime < $endtime ) ) { $Results=1; } if ( ( ( $timestamp >= $starttime ) || ( $timestamp <= $endtime ) ) && ( $starttime > $endtime ) ) { $Results=1; } } if ( ( $tuesday ) && ( $day == "Tue" ) ) { if ( ( $timestamp >= $starttime ) && ( $timestamp <= $endtime ) && ( $starttime < $endtime ) ) { $Results=1; } if ( ( ( $timestamp >= $starttime ) || ( $timestamp <= $endtime ) ) && ( $starttime > $endtime ) ) { $Results=1; } } if ( ( $wednesday ) && ( $day == "Wed" ) ) { if ( ( $timestamp >= $starttime ) && ( $timestamp <= $endtime ) && ( $starttime < $endtime ) ) { $Results=1; } if ( ( ( $timestamp >= $starttime ) || ( $timestamp <= $endtime ) ) && ( $starttime > $endtime ) ) { $Results=1; } } if ( ( $thursday ) && ( $day == "Thu" ) ) { if ( ( $timestamp >= $starttime ) && ( $timestamp <= $endtime ) && ( $starttime < $endtime ) ) { $Results=1; } if ( ( ( $timestamp >= $starttime ) || ( $timestamp <= $endtime ) ) && ( $starttime > $endtime ) ) { $Results=1; } } if ( ( $friday ) && ( $day == "Fri" ) ) { if ( ( $timestamp >= $starttime ) && ( $timestamp <= $endtime ) && ( $starttime < $endtime ) ) { $Results=1; } if ( ( ( $timestamp >= $starttime ) || ( $timestamp <= $endtime ) ) && ( $starttime > $endtime ) ) { $Results=1; } } if ( ( $saturday ) && ( $day == "Sat" ) ) { if ( ( $timestamp >= $starttime ) && ( $timestamp <= $endtime ) && ( $starttime < $endtime ) ) { $Results=1; } if ( ( ( $timestamp >= $starttime ) || ( $timestamp <= $endtime ) ) && ( $starttime > $endtime ) ) { $Results=1; } } } return($Results); } /********************************************************************/ /* */ /* Function: thresholddropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: HTML control to create a drop down box listing */ /* rule threshold values */ /* */ /********************************************************************/ function thresholddropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1,$selected="") { $values=array(0,1,2,3,4,5,10,15,20,25,30,35,40,45,50,60,70,80,90,100,200,300,400,500,600,700,800,900,1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,20000,30000,40000,50000); echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: clearlaunchqueue */ /* Stability(1 low - 5 high): 5 */ /* Description: Delete Syslog_TLaunchQueue records w/ appropriate */ /* ID for either stale connections or properly */ /* closing out a processor */ /* */ /********************************************************************/ function clearlaunchqueue($dbsocket,$mailid) { $SQLQuery="begin;delete from Syslog_TLaunchQueue where TMail_ID=$mailid;commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: updatelaunch */ /* Stability(1 low - 5 high): 5 */ /* Description: Update a launch entry in the Syslog_TLaunch table */ /* */ /********************************************************************/ function updatelaunch($dbsocket,$launchid,$shortdesc,$longdesc,$program) { $Results=0; $shortdesc=fixappostrophe(stripslashes(pgdatatrim($shortdesc))); $longdesc=fixappostrophe(stripslashes(pgdatatrim($longdesc))); $program=fixappostrophe(stripslashes(pgdatatrim($program))); $launchid=fixappostrophe(stripslashes(pgdatatrim($launchid))); if ( ( $shortdesc != "" ) && ( $program != "" ) ) { $SQLQuery = "begin;update syslog_tlaunch set tlaunch_shortdesc='$shortdesc',tlaunch_longdesc='$longdesc',tlaunch_program='$program' where tlaunch_id=$launchid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: addlaunchdataentry */ /* Stability(1 low - 5 high): 5 */ /* Description: Adds entries to Syslog_TLaunchQueue table for */ /* queuing up date for an external program */ /* */ /********************************************************************/ function addlaunchdataentry($dbsocket,$launchid,$id,$mailid,$desc) { $Results=0; $launchid=fixappostrophe(stripslashes(pgdatatrim($launchid))); $id=fixappostrophe(stripslashes(pgdatatrim($id))); $mailid=fixappostrophe(stripslashes(pgdatatrim($mailid))); $desc=fixappostrophe(stripslashes(pgdatatrim($desc))); if ( ( $launchid != "" ) && ( $id != "" ) ) { $SQLQuery = "begin;insert into Syslog_TLaunchQueue (TLaunchQueue_Desc,TLaunch_ID,TMail_ID,TSyslog_ID) values ('$desc',$launchid,$mailid,$id);commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: launchassociated */ /* Stability(1 low - 5 high): 5 */ /* Description: Return whether or not there is an association for */ /* a given external program. */ /* */ /********************************************************************/ function launchassociated($dbsocket,$launchid,$id,$mailid) { $Results=0; $launchid=fixappostrophe(stripslashes(pgdatatrim($launchid))); $id=fixappostrophe(stripslashes(pgdatatrim($id))); $mailid=fixappostrophe(stripslashes(pgdatatrim($mailid))); if ( ( $launchid != "" ) && ( $id != "" ) ) { $SQLQuery = "select * from Syslog_TLaunchQueue where tlaunch_id=$launchid and TSyslog_ID=$id and TMail_ID=$mailid"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results = pg_numrows($SQLQueryResults); } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: droplaunch */ /* Stability(1 low - 5 high): 5 */ /* Description: Drop a launchable program entry from Syslog_... */ /* Launch table for a given TLaunch_ID */ /* */ /********************************************************************/ function droplaunch($dbsocket,$launchid) { $Results=0; $launchid=fixappostrophe(stripslashes(pgdatatrim($launchid))); if ( $launchid != "" ) { $SQLQuery = "begin;delete from syslog_tlaunch where tlaunch_id=$launchid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: addlaunch */ /* Stability(1 low - 5 high): 5 */ /* Description: Add an launch program entry in the Syslog_.... */ /* TLaunch table */ /* */ /********************************************************************/ function addlaunch($dbsocket,$shortdesc, $longdesc, $program) { $Results=0; $shortdesc=fixappostrophe(stripslashes(pgdatatrim($shortdesc))); $longdesc=fixappostrophe(stripslashes(pgdatatrim($longdesc))); $program=fixappostrophe(stripslashes(pgdatatrim($program))); if ( ( $shortdesc != "" ) && ( $program != "" ) ) { $SQLQuery = "begin;insert into syslog_tlaunch (tlaunch_shortdesc, tlaunch_longdesc, tlaunch_program) values ('$shortdesc','$longdesc','$program');commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: launchdropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: An HTML control for providing a launch drop down */ /* box */ /* */ /********************************************************************/ function launchdropdown ($dbsocket, $fieldname, $tabs=0, $cr=0, $br=0, $lines=1, $selected="",$listnone=1) { $SQLQuery="select * from Syslog_TLaunch order by TLaunch_ShortDesc"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); echo tabs($tabs) . ""; crbr($cr,$br); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } /********************************************************************/ /* */ /* Function: reporttypename */ /* Stability(1 low - 5 high): 5 */ /* Description: Easily convert report types to report names */ /* */ /********************************************************************/ function reporttypename($value=0) { switch ($value) { case 1: $Results="Log Volume By Severity"; break; case 2: $Results="Log Volume By Facility"; break; case 3: $Results="Cisco Pix: Bandwidth Breakdown"; break; case 4: $Results="Cisco VPN Usage Report"; break; default: $Results="Log Volume By Severity"; } return($Results); } /********************************************************************/ /* */ /* Function: reporttypedropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: HTML control to create a report type drop down */ /* control */ /* */ /********************************************************************/ function reporttypedropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1,$selected="") { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: startbody */ /* Stability(1 low - 5 high): 5 */ /* Description: Provides an easy control to change the basic feel */ /* of SMT */ /* */ /********************************************************************/ function startbody($tabs=0) { echo tabs($tabs) . ""; } /********************************************************************/ /* */ /* Function: drophostrules */ /* Stability(1 low - 5 high): 5 */ /* Description: Delete syslog & deny rules for a given host_id */ /* */ /********************************************************************/ function drophostrules($dbsocket,$hostid) { $Results=0; if ( strval($hostid) > 0 ) { $SQLQuery="begin; delete from syslog_truledeny where ( syslog_trule.thost_id=$hostid and syslog_trule.trule_id=syslog_truledeny.trule_id) ; delete from syslog_trule where syslog_trule.thost_id=$hostid; commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: drophostsyslogs */ /* Stability(1 low - 5 high): 5 */ /* Description: Remove syslogs from the database for a given host */ /* */ /********************************************************************/ function drophostsyslogs($dbsocket,$hostid) { $Results=0; $host=gethost($dbsocket,$hostid); if ( strval($hostid) > 0 ) { $SQLQuery="begin;delete from TSyslog where host='$host';commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: drophostalerts */ /* Stability(1 low - 5 high): 5 */ /* Description: Remove alerts for a given host */ /* */ /********************************************************************/ function drophostalerts($dbsocket,$hostid) { $Results=0; if ( strval($hostid) > 0 ) { $SQLQuery="begin;delete from Syslog_TAlert where TSyslog.host=Syslog_THost.THost_Host and Syslog_THost.THost_ID=$hostid and Syslog_TAlert.TSyslog_id=TSyslog.TSyslog_id; delete from Syslog_TAlert where Syslog_TArchive.host=Syslog_THost.THost_Host and Syslog_THost.THost_ID=$hostid and Syslog_TAlert.TSyslog_id=Syslog_TArchive.TSyslog_id;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: drophostarchivesyslogs */ /* Stability(1 low - 5 high): 5 */ /* Description: Remove syslogs from the archive table for a given */ /* host */ /* */ /********************************************************************/ function drophostarchivesyslogs($dbsocket,$hostid) { $Results=0; $host=gethost($dbsocket,$hostid); if ( strval($hostid) > 0 ) { $SQLQuery="begin;delete from Syslog_TArchive where host='$host';commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: drophostcustprof */ /* Stability(1 low - 5 high): 5 */ /* Description: Remove a host from a customer profile */ /* */ /********************************************************************/ function drophostcustprof($dbsocket,$hostid) { $Results=0; if ( strval($hostid) > 0 ) { $SQLQuery="begin;delete from syslog_tcustomerprofile where thost_id=$hostid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: drophostprocprof */ /* Stability(1 low - 5 high): 5 */ /* Description: Remove a host from a processor profile */ /* */ /********************************************************************/ function drophostprocprof($dbsocket,$hostid) { $Results=0; if ( strval($hostid) > 0 ) { $SQLQuery="begin;delete from syslog_tprocessorprofile where thost_id=$hostid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: renamehosts */ /* Stability(1 low - 5 high): 5 */ /* Description: Provide a generic function to rename hosts in any */ /* given table */ /* */ /********************************************************************/ function renamehosts($dbsocket,$tablename,$expression,$fieldname,$hostname) { $SQLNumRows = 0; $tablename=stripslashes(pgdatatrim($tablename)); $expression=stripslashes(pgdatatrim($expression)); $fieldname=stripslashes(pgdatatrim($fieldname)); $hostname=stripslashes(pgdatatrim($hostname)); if ( $hostname != "" ) { $SQLQuery="begin;update $tablename set $fieldname='$hostname' where $expression;commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($SQLNumRows); } /********************************************************************/ /* */ /* Function: withinbounds */ /* Stability(1 low - 5 high): 5 */ /* Description: Determine if a given severity & facilty exists */ /* between the supplied ranges */ /* */ /********************************************************************/ function withinbounds($facility,$severity,$startfacility,$stopfacility,$startseverity,$stopseverity) { $Results = 0; if ( ( $facility >= $startfacility ) && ( $facility <= $stopfacility ) && ( $severity >= $startseverity ) && ( $severity <= $stopseverity ) ) { $Results=1; } return($Results); } /********************************************************************/ /* */ /* Function: facilitydropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides a drop down box of */ /* Syslog Facilities */ /* */ /********************************************************************/ function facilitydropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1,$selected="") { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: severitydropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides a drop down box of */ /* Syslog Severities */ /* */ /********************************************************************/ function severitydropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1,$selected="") { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: verbosefacility */ /* Stability(1 low - 5 high): 5 */ /* Description: Return the english desc for a given facility */ /* */ /********************************************************************/ function verbosefacility($facility) { $Results=""; if ( $facility == "" ) { $facility=24; } if ( $facility == "0" ) { $Results="kernel"; } if ( $facility == "1" ) { $Results="random"; } if ( $facility == "2" ) { $Results="mail"; } if ( $facility == "3" ) { $Results="daemon"; } if ( $facility == "4" ) { $Results="auth"; } if ( $facility == "5" ) { $Results="msyslog"; } if ( $facility == "6" ) { $Results="lpr"; } if ( $facility == "7" ) { $Results="news"; } if ( $facility == "8" ) { $Results="uucp"; } if ( $facility == "9" ) { $Results="cron"; } if ( $facility == "10" ) { $Results="authpriv"; } if ( $facility == "11" ) { $Results="ftp"; } if ( $facility == "16" ) { $Results="local0"; } if ( $facility == "17" ) { $Results="local1"; } if ( $facility == "18" ) { $Results="local2"; } if ( $facility == "19" ) { $Results="local3"; } if ( $facility == "20" ) { $Results="local4"; } if ( $facility == "21" ) { $Results="local5"; } if ( $facility == "22" ) { $Results="local6"; } if ( $facility == "23" ) { $Results="local7"; } return($Results); } /********************************************************************/ /* */ /* Function: verboseseverity */ /* Stability(1 low - 5 high): 5 */ /* Description: Return the english desc for a given severity */ /* */ /********************************************************************/ function verboseseverity($severity) { $Results=""; if ( $severity == "" ) { $severity=7; } if ( $severity == 0 ) { $Results="emergency"; } if ( $severity == 1 ) { $Results="alerts"; } if ( $severity == 2 ) { $Results="critical"; } if ( $severity == 3 ) { $Results="errors"; } if ( $severity == 4 ) { $Results="warnings"; } if ( $severity == 5 ) { $Results="notifications"; } if ( $severity == 6 ) { $Results="informational"; } if ( $severity == 7 ) { $Results="debug"; } return($Results); } /********************************************************************/ /* */ /* Function: cleanarchives */ /* Stability(1 low - 5 high): 5 */ /* Description: This function is used to help clean up after a */ /* stale processor. Since we cannot have duplicate */ /* log IDs, we must be sure to delete old logs that */ /* might be left over. We delete all log with a */ /* syslog_id > then the last time we processed */ /* */ /********************************************************************/ function cleanarchives($dbsocket,$cleanid,$cleanhost) { $Results=0; $SQLQuery="begin;delete from Syslog_TArchive where TSyslog_ID > $cleanid and host='$cleanhost';commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: cleanalerts */ /* Stability(1 low - 5 high): 5 */ /* Description: This function is used to help clean up after a */ /* stale processor. Since we cannot have duplicate */ /* alerts, we must be sure to delete old alerts that */ /* might be left over. We delete all alerts with a */ /* syslog_id > then the last time we processed */ /* */ /********************************************************************/ function cleanalerts($dbsocket,$cleanid,$cleanhost) { $Results=0; $SQLQuery="begin;delete from Syslog_TAlert where Syslog_TAlert.TSyslog_ID=TSyslog.TSyslog_ID and TSyslog.TSyslog_ID > $cleanid and TSyslog.host='$cleanhost';commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: dropfilterdata */ /* Stability(1 low - 5 high): 5 */ /* Description: Drop filter row that has the appropriate */ /* filterdata_id */ /* */ /********************************************************************/ function dropfilterdata($dbsocket,$filterdataid) { $Results=0; $SQLQuery="begin;delete from Syslog_TFilterData where TFilterData_ID=$filterdataid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: updatefilterdata */ /* Stability(1 low - 5 high): 5 */ /* Description: Update a given filterdata row */ /* */ /********************************************************************/ function updatefilterdata($dbsocket,$filterid,$filter,$include,$filterorlevel,$startfacility,$stopfacility,$startseverity,$stopseverity) { $userorglobal=strval($userorglobal); $SQLQuery="begin;update Syslog_TFilterData set TFilterData_Include=$include,TFilterData_Filter='$filter',TFilterData_FilterOrLevel=$filterorlevel,TFilterData_StartFacility=$startfacility,TFilterData_StopFacility=$stopfacility,TFilterData_StartSeverity=$startseverity,TFilterData_StopSeverity=$stopseverity where TFilterData_ID=$filterid;commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); $Results=$SQLNumRows; pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: updatefilter */ /* Stability(1 low - 5 high): 5 */ /* Description: Update a given filter row */ /* */ /********************************************************************/ function updatefilter($dbsocket,$filterid,$filterdesc,$userorglobal) { $filterdesc=pgdatatrim(fixappostrophe($filterdesc)); $userorglobal=strval($userorglobal); $SQLQuery="begin;update Syslog_TFilter set TFilter_UserOrGlobal=$userorglobal,TFilter_Desc='$filterdesc' where TFilter_ID=$filterid;commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); $Results=$SQLNumRows; pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: dropfilter */ /* Stability(1 low - 5 high): 5 */ /* Description: Delete a given filter row */ /* */ /********************************************************************/ function dropfilter($dbsocket,$filterid) { $Results=0; $SQLQuery="begin;delete from Syslog_TFilter where TFilter_ID=$filterid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: dropallfilterdata */ /* Stability(1 low - 5 high): 5 */ /* Description: Delete all assocated filterdata rows for a given */ /* filter_id */ /* */ /********************************************************************/ function dropallfilterdata($dbsocket,$filterid) { $Results=0; $SQLQuery="begin;delete from Syslog_TFilterData where TFilter_ID=$filterid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: dropprocessorhostfromprofile */ /* Stability(1 low - 5 high): 5 */ /* Description: Delete an associated processor-host profile entry */ /* */ /********************************************************************/ function dropprocessorhostfromprofile($dbsocket,$id) { $Results=0; $SQLQuery="begin;delete from Syslog_TProcessorProfile where THost_ID=$id;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: dropprocessorprofile */ /* Stability(1 low - 5 high): 5 */ /* Description: Delete an associated processor-host profile entry */ /* */ /********************************************************************/ function dropprocessorprofile($dbsocket,$id) { $Results=0; $SQLQuery="begin;delete from Syslog_TProcessorProfile where TProcessorProfile_ID=$id;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: addblankdenyrule */ /* Stability(1 low - 5 high): 5 */ /* Description: create an empty deny rule for editing */ /* */ /********************************************************************/ function addblankdenyrule($dbsocket,$id) { $SQLQuery="begin;insert into Syslog_TRuleDeny (TRule_ID,TRuleDeny_Expression,TRuleDeny_StartFacility,TRuleDeny_StopFacility,TRuleDeny_StartSeverity,TRuleDeny_StopSeverity) values ($id,'',0,23,0,7);commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: addblankdenyrulepremade */ /* Stability(1 low - 5 high): 5 */ /* Description: create an empty premade deny rule for editing */ /* */ /********************************************************************/ function addblankdenypremade($dbsocket,$id) { $SQLQuery="begin;insert into Syslog_TPremadeDeny (TPremade_ID,TPremadeDeny_Expression,TPremadeDeny_StartFacility,TPremadeDeny_StopFacility,TPremadeDeny_StartSeverity,TPremadeDeny_StopSeverity) values ($id,'',0,23,0,7);commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: addprocessorprofile */ /* Stability(1 low - 5 high): 5 */ /* Description: add a record to associate a host to a processor */ /* */ /********************************************************************/ function addprocessorprofile($dbsocket,$userid,$hostid) { $SQLQuery="begin;insert into Syslog_TProcessorProfile (THost_ID,TLogin_ID) values ($hostid,$userid);commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: assignedtoprocessor */ /* Stability(1 low - 5 high): 5 */ /* Description: check to see if a host is assigned to a processor */ /* */ /********************************************************************/ function assignedtoprocessor ($dbsocket,$hostid) { $SQLQuery="select thost_id from Syslog_TProcessorProfile where THost_ID=$hostid"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: assignedtouser */ /* Stability(1 low - 5 high): 5 */ /* Description: check to see if a user has assigned hosts */ /* */ /********************************************************************/ function assignedtouser ($dbsocket,$userid,$hostid) { $SQLQuery="select tcustomerprofile_id,TLogin_ID,THost_ID from Syslog_TCustomerProfile where THost_ID=$hostid and TLogin_ID=$userid"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: userhasruleaccess */ /* Stability(1 low - 5 high): 5 */ /* Description: check to see if a user has permission to edit any */ /* hosts rules or a specific host's rules */ /* */ /********************************************************************/ function userhasruleaccess ($dbsocket,$userid,$allhosts=1,$hostid=0) { $SQLQuery="select tcustomerprofile_id from Syslog_TCustomerProfile where TLogin_ID=$userid and TCustomerProfile_EditRules = 1"; if ( ( ! $allhosts ) && ( $hostid !=0 ) ) { $SQLQuery = $SQLQuery . " and THost_ID=$hostid"; } $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: idexist */ /* Stability(1 low - 5 high): 5 */ /* Description: Provide a table independent function to see if an */ /* ID exists for the supplied table */ /* */ /********************************************************************/ function idexist($dbsocket,$tablename,$idname,$id) { $SQLNumRows = 0; $tablename=stripslashes(pgdatatrim($tablename)); $idname=stripslashes(pgdatatrim($idname)); $id=stripslashes(pgdatatrim($id)); if ( ( is_string($idname) ) && ( is_string($tablename) ) && ( $id != "" ) ) { $SQLQuery="select $idname from $tablename where $idname=$id"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($SQLNumRows); } /********************************************************************/ /* */ /* Function: filterdropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: An HTML control to list the available filters. */ /* The filter will display private or global filters */ /* and global filters will say (Global Filter) next */ /* to the description */ /* */ /********************************************************************/ function filterdropdown ($dbsocket, $fieldname, $userid, $tabs=0, $cr=0, $br=0, $lines=1, $selected="", $owneronly=0) { /* Gather the list of relevant filters */ if ( ! $owneronly ) { $SQLQuery="select * from Syslog_TFilter where ( ( TFilter_UserOrGlobal = 1 ) and ( TLogin_ID = $userid ) ) or ( ( TFilter_UserOrGlobal = 2 ) ) order by TFilter_UserOrGlobal,TFilter_Desc"; } else { $SQLQuery="select * from Syslog_TFilter where TLogin_ID = $userid order by TFilter_UserOrGlobal,TFilter_Desc"; } $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); echo tabs($tabs) . ""; crbr($cr,$br); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } /********************************************************************/ /* */ /* Function: getnextid */ /* Stability(1 low - 5 high): 5 */ /* Description: Return the next value for a given PGSQL sequence */ /* number(PGSQL will then increment the sequence # */ /* */ /********************************************************************/ function getnextid ($dbsocket, $seqname) { $SQLQuery="select nextval('$seqname')"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); $Results="1"; if ( $SQLNumRows > 0 ) { $SQLQueryResultsObject = pg_fetch_object($SQLQueryResults,0) or die(pg_errormessage()."
\n"); $Results=stripslashes(pgdatatrim($SQLQueryResultsObject->nextval)); } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: premadetypedropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: An HTML control for providing type drop down boxes */ /* */ /********************************************************************/ function premadetypedropdown ($dbsocket, $fieldname, $tabs=0, $cr=0, $br=0, $lines=1, $selected="") { $SQLQuery="select * from Syslog_TPremadeType order by TPremadeType_Desc"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); echo tabs($tabs) . ""; crbr($cr,$br); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } /********************************************************************/ /* */ /* Function: savesdropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: An HTML control for providing a saved logs drop */ /* down boxes */ /* */ /********************************************************************/ function savesdropdown ($dbsocket, $fieldname, $userid, $tabs=0, $cr=0, $br=0, $lines=1, $selected="") { $SQLQuery="select * from Syslog_TSave where TLogin_ID=$userid order by TSave_Desc"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); echo tabs($tabs) . ""; crbr($cr,$br); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } /********************************************************************/ /* */ /* Function: userhavesaves */ /* Stability(1 low - 5 high): 5 */ /* Description: Returns the number of saved syslogs a user has in */ /* the database */ /* */ /********************************************************************/ function userhavesaves($dbsocket,$userid) { $SQLQuery="select * from Syslog_TSave where TLogin_ID=$userid"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: userhavesaves */ /* Stability(1 low - 5 high): 5 */ /* Description: Contains the saved syslog messages for a given */ /* TSave_ID */ /* */ /********************************************************************/ function savefilteredview($dbsocket,$saveid,$date,$time,$host,$facility,$severity,$message) { $host=fixappostrophe($host); $message=fixappostrophe($message); $SQLQuery="begin;insert into Syslog_TSaveData (TSaveData_Date,TSaveData_Time,TSaveData_Host,TSaveData_Facility,TSaveData_Severity,TSaveData_Message,TSave_ID) values ('$date','$time','$host',$facility,$severity,'$message',$saveid);commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: addfilter */ /* Stability(1 low - 5 high): 5 */ /* Description: Save filter data to the database for a supplied */ /* filter_id */ /* */ /********************************************************************/ function addfilter($dbsocket,$filter,$filterid,$filterinclude,$filterorlevel,$startfacility,$stopfacility,$startseverity,$stopseverity) { $filterinclude=strval(stripslashes(pgdatatrim($filterinclude))); $SQLQuery="begin;insert into Syslog_TFilterData (TFilterData_Filter,TFilterData_Include,TFilter_ID,TFilterData_FilterOrLevel,TFilterData_StartFacility,TFilterData_StopFacility,TFilterData_StartSeverity,TFilterData_StopSeverity) values ('$filter',$filterinclude,$filterid,$filterorlevel,$startfacility,$stopfacility,$startseverity,$stopseverity);commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: addfilterheader */ /* Stability(1 low - 5 high): 5 */ /* Description: add filter header associated by user */ /* */ /********************************************************************/ function addfilterheader($dbsocket,$userorglobal,$desc,$userid) { $desc=stripslashes(fixappostrophe($desc)); $SQLQuery="begin;insert into Syslog_TFilter (TFilter_UserOrGlobal,TFilter_Desc,TLogin_ID) values ($userorglobal,'$desc',$userid);commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); $SQLQuery="select TFilter_ID from Syslog_TFilter where TLogin_ID=$userid and TFilter_Desc='$desc'"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); if ( $SQLNumRows ) { $SQLQueryResultsObject = pg_fetch_object($SQLQueryResults,0) or die(pg_errormessage()."
\n"); $SQLNumRows=stripslashes(pgdatatrim($SQLQueryResultsObject->tfilter_id)); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($SQLNumRows); } /********************************************************************/ /* */ /* Function: addsaveheader */ /* Stability(1 low - 5 high): 3(need to retest) */ /* Description: Add a header to link savedata records */ /* */ /********************************************************************/ function addsaveheader($dbsocket,$expdate,$descr,$time,$date,$userid) { $descr=ereg_replace("'","''",$descr); $save_id=getnextid ($dbsocket, "Syslog_TSave_TSave_ID_Seq"); $SQLQuery="begin;insert into Syslog_TSave (TSave_ID,TSave_ExpireDate,TSave_Desc,TSave_Time,TSave_Date,TLogin_ID) values ($save_id,'$expdate','$descr','$time','$date',$userid);commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($save_id); } /********************************************************************/ /* */ /* Function: openmail */ /* Stability(1 low - 5 high): 3(need to retest) */ /* Description: The openmail function records when a process starts*/ /* */ /********************************************************************/ function openmail($dbsocket,$date,$time,$userid) { $tmail_id=getnextid ($dbsocket, "syslog_tmail_tmail_id_seq"); $SQLQuery="begin; insert into Syslog_TMail (TMail_ID,TMail_Open,TMail_Date,TMail_Time,TLogin_ID) values ($tmail_id,1,'$date','$time',$userid); commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($tmail_id); } /********************************************************************/ /* */ /* Function: numlaunchrecords */ /* Stability(1 low - 5 high): 5 */ /* Description: Given a mail_id, return how many records currently */ /* exist */ /* */ /********************************************************************/ function numlaunchrecords($dbsocket,$mailid) { $SQLQuery="select * from Syslog_TLaunchQueue where TMail_ID=$mailid"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: numemailrecords */ /* Stability(1 low - 5 high): 5 */ /* Description: Given a mail_id, return how many records currently */ /* exist */ /* */ /********************************************************************/ function numemailrecords($dbsocket,$mailid) { $SQLQuery="select * from Syslog_TEmail where TMail_ID=$mailid"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: numdenials */ /* Stability(1 low - 5 high): 5 */ /* Description: Return the number of denials that exit for either */ /* TRuleDeny or TPremadeDeny */ /* */ /********************************************************************/ function numdenials($dbsocket,$denytype,$id) { $SQLNumRows=0; if ( $id != "" ) { if ( $denytype == 1 ) { $tablename="Syslog_TRuleDeny"; $field="TRule_ID"; $grab="TRuleDeny_ID"; } else { $tablename="Syslog_TPremadeDeny"; $field="TPremade_ID"; $grab="TPremadeDeny_ID"; } $SQLQuery="select $grab from $tablename where $field=$id"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($SQLNumRows); } /********************************************************************/ /* */ /* Function: addmail */ /* Stability(1 low - 5 high): 5 */ /* Description: Save data for outgoing notification emails */ /* */ /********************************************************************/ function addmail($dbsocket,$email,$mailid,$tsyslogid,$desc="") { $desc=fixappostrophe($desc); $SQLQuery="begin;insert into Syslog_TEmail (TEmail_Email,TMail_ID,TSyslog_ID,TEmail_Desc) values ('$email',$mailid,$tsyslogid,'$desc');commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: cleanemail */ /* Stability(1 low - 5 high): 5 */ /* Description: Blow away any stale emails, primarily used for */ /* taking care of 'stale' processors */ /* */ /********************************************************************/ function cleanemail($dbsocket,$mailid) { $SQLQuery="begin;delete from Syslog_TEmail where TMail_ID=$mailid;commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: closeopenmail */ /* Stability(1 low - 5 high): 5 */ /* Description: Delete TMail record w/ appropriate ID for either */ /* stale connections or properly closing out a */ /* processor */ /* */ /********************************************************************/ function closeopenmail($dbsocket,$mailid) { $SQLQuery="begin; delete from Syslog_TMail where TMail_ID=$mailid ; commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: ismailopen */ /* Stability(1 low - 5 high): 5 */ /* Description: Determines if there is a mail record(ie processor) */ /* that is in the DB. If so, either a process is */ /* stale or processor is running behind */ /* */ /********************************************************************/ function ismailopen($dbsocket,$userid) { $Results=0; $SQLQuery="select * from Syslog_TMail where TMail_Open=1 and TLogin_ID=$userid"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); if ( $SQLNumRows > 0 ) { $SQLQueryResultsObject = pg_fetch_object($SQLQueryResults,0) or die(pg_errormessage()."
\n"); $Results=stripslashes(pgdatatrim($SQLQueryResultsObject->tmail_id)); } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: dropdenials */ /* Stability(1 low - 5 high): 5 */ /* Description: Dual purpose function to delete tpremadetypedenial */ /* and truledenial entries */ /* */ /********************************************************************/ function dropdenial($dbsocket,$denytype,$denyid) { if ( $denytype == 1 ) { $tablename="Syslog_TRuleDeny"; $field="TRuleDeny_ID"; } else { $tablename="Syslog_TPremadeDeny"; $field="TPremadeDeny_ID"; } $SQLQuery="begin;delete from $tablename where $field=$denyid;commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: updatedenial */ /* Stability(1 low - 5 high): 5 */ /* Description: Save changes to the appropriate denial rule */ /* whether it is TRuleDeny or TPremadeDeny */ /* */ /********************************************************************/ function updatedenial($dbsocket,$denytype,$id,$exp,$startfacility,$stopfacility,$startseverity,$stopseverity) { if ( $denytype == 1 ) { $tablename="Syslog_TRuleDeny"; $field="TRuleDeny_ID"; $fieldtoken="TRuleDeny_"; } else { $tablename="Syslog_TPremadeDeny"; $field="TPremadeDeny_ID"; $fieldtoken="TPremadeDeny_"; } $SQLQuery="begin;update $tablename set $fieldtoken"."Expression='$exp',$fieldtoken"."StartFacility=$startfacility,$fieldtoken"."StopFacility=$stopfacility,$fieldtoken"."StartSeverity=$startseverity,$fieldtoken"."StopSeverity=$stopseverity where $field=$id;commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: updateprocessid */ /* Stability(1 low - 5 high): 5 */ /* Description: Update the ID of the last processed syslog ID */ /* */ /********************************************************************/ function updateprocessid($dbsocket,$id,$hostid) { $SQLQuery="begin;update Syslog_TProcess set TProcess_ID=$id where THost_ID='$hostid';commit;"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); $Results=$SQLNumRows; pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: lastprocessedid */ /* Stability(1 low - 5 high): 5 */ /* Description: return the ID of the last processed syslog ID */ /* */ /********************************************************************/ function lastprocessedid($dbsocket,$hostid) { $SQLQuery="select TProcess_ID from Syslog_TProcess where THost_ID='$hostid'"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLQueryResultsObject = pg_fetch_object($SQLQueryResults,0) or die(pg_errormessage()."
\n"); $Results=stripslashes(pgdatatrim($SQLQueryResultsObject->tprocess_id)); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: logincanseehosts */ /* Stability(1 low - 5 high): 5 */ /* Description: See if the supplied userid has the passed hostid */ /* associated with the account */ /* */ /********************************************************************/ function logincanseehost($dbsocket,$userid,$hostid) { $SQLQuery="select * from Syslog_TCustomerProfile where TLogin_ID=$userid and THost_ID=$hostid"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); $Results=$SQLNumRows; pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($SQLNumRows); } /********************************************************************/ /* */ /* Function: pixruledropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: This really is a html control that provides a */ /* prmade rule drop down box */ /* */ /********************************************************************/ function pixruledropdown ($dbsocket, $fieldname, $tabs=0, $cr=0, $br=0, $lines=1, $multiple="",$selected ="") { $SQLQuery="select TPremade_Code,TPremade_ID,TPremadeType_Desc from Syslog_TPremade,Syslog_TPremadeType where Syslog_TPremadeType.TPremadeType_ID=Syslog_TPremade.TPremadeType_ID order by TPremadeType_Desc,TPremade_Code"; $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); echo tabs($tabs) . ""; crbr($cr,$br); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } /********************************************************************/ /* */ /* Function: hostdropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provide host drop down box */ /* that only shows hosts that are allowed to be viewed*/ /* by the user */ /* */ /********************************************************************/ function hostdropdown ($dbsocket, $sec_dbsocket, $fieldname, $userid=0, $group=0, $tabs=0, $cr=0, $br=0, $lines=1, $selected="", $unassigned=0) { if ( $unassigned == 0 ) { $SQLQuery="select DISTINCT THost_ID,THost_Host,TPremadeType_Desc from Syslog_THost,Syslog_TPremadeType where Syslog_THost.TPremadeType_ID=Syslog_TPremadeType.TPremadeType_ID order by TPremadeType_Desc,THost_Host"; } else { $SQLQuery="select DISTINCT THost_ID,THost_Host,TPremadeType_Desc from Syslog_THost,Syslog_TPremadeType where Syslog_THost.TPremadeType_ID=Syslog_TPremadeType.TPremadeType_ID except select DISTINCT Syslog_THost.THost_ID,Syslog_THost.THost_Host,TPremadeType_Desc from Syslog_THost,Syslog_TPremadeType,Syslog_TProcessorProfile where Syslog_THost.TPremadeType_ID=Syslog_TPremadeType.TPremadeType_ID and Syslog_TProcessorProfile.THost_ID=Syslog_THost.THost_ID order by TPremadeType_Desc,THost_Host"; } $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); echo tabs($tabs) . ""; crbr($cr,$br); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } /********************************************************************/ /* */ /* Function: hostdropdown1 */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provide host drop down box */ /* that only shows hosts that are allowed to be viewed*/ /* by the user */ /* */ /********************************************************************/ function hostdropdown1 ($dbsocket, $sec_dbsocket, $fieldname, $userid=0, $group=0, $tabs=0, $cr=0, $br=0, $lines=1, $selected="", $unassigned=0) { if ( $unassigned == 0 ) { $SQLQuery="select DISTINCT THost_ID,THost_Host,TPremadeType_Desc from Syslog_THost,Syslog_TPremadeType where Syslog_THost.TPremadeType_ID=Syslog_TPremadeType.TPremadeType_ID order by TPremadeType_Desc,THost_Host"; } else { $SQLQuery="select DISTINCT THost_ID,THost_Host,TPremadeType_Desc from Syslog_THost,Syslog_TPremadeType where Syslog_THost.TPremadeType_ID=Syslog_TPremadeType.TPremadeType_ID except select DISTINCT Syslog_THost.THost_ID,Syslog_THost.THost_Host,TPremadeType_Desc from Syslog_THost,Syslog_TPremadeType,Syslog_TProcessorProfile where Syslog_THost.TPremadeType_ID=Syslog_TPremadeType.TPremadeType_ID and Syslog_TProcessorProfile.THost_ID=Syslog_THost.THost_ID order by TPremadeType_Desc,THost_Host"; } $SQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); echo tabs($tabs) . ""; crbr($cr,$br); pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } /********************************************************************/ /* */ /* Function: monthdropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides a month drop down box */ /* */ /********************************************************************/ function monthdropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1, $selected="") { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: daydropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides a day drop down box */ /* */ /********************************************************************/ function daydropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1, $selected="") { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: yeardropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides a year drop down box */ /* */ /********************************************************************/ function yeardropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1, $selected="") { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: hourdropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides a hour drop down box */ /* */ /********************************************************************/ function hourdropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1, $selected="") { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: minutedropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides a minute drop down box*/ /* */ /********************************************************************/ function minutedropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1, $selected="") { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: logratesthreshold */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides an expiration timer */ /* drop down box */ /* */ /********************************************************************/ function logratesthreshold($fieldname, $tabs=0, $cr=0, $br=0, $lines=1, $selected="") { if ( $selected < 100 ) { $selected = 100; } echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: expireddropdown */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides an expiration timer */ /* drop down box */ /* */ /********************************************************************/ function expiredropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1, $selected="") { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: pagesize */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides a page size drop */ /* down box */ /* */ /********************************************************************/ function pagesize($fieldname, $tabs=0, $cr=0, $br=0, $lines=1) { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: pagesize */ /* Stability(1 low - 5 high): 5 */ /* Description: A html control that provides a drop down box with */ /* time durations */ /* */ /********************************************************************/ function durationdropdown($fieldname, $tabs=0, $cr=0, $br=0, $lines=1) { echo tabs($tabs) . ""; crbr($cr,$br); } /********************************************************************/ /* */ /* Function: addalert */ /* Stability(1 low - 5 high): 5 */ /* Description: creates alert entry in the Syslog_TAlert table */ /* */ /********************************************************************/ function addalert($dbsocket,$date,$time,$info,$syslogid) { $Results=0; $info = setupappostrophe($info); $SQLQuery="begin;insert into Syslog_TAlert (TAlert_Date,TAlert_Time,TAlert_Info,TSyslog_ID) values ('$date','$time','$info',$syslogid);commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results = 1 ; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: gethostid */ /* Stability(1 low - 5 high): 5 */ /* Description: Return the THost_ID for a given 'host' name */ /* */ /********************************************************************/ function gethostid($dbsocket,$host) { $Results=0; $SQLQuery="select THost_ID from Syslog_THost where THost_Host='$host'"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $SQLQueryResultsObject = pg_fetch_object($SQLQueryResults,0) or die(pg_errormessage()."
\n"); $Results=stripslashes(pgdatatrim($SQLQueryResultsObject->thost_id)); } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: gethost */ /* Stability(1 low - 5 high): 5 */ /* Description: Return the THost_Host for a given THost_ID */ /* */ /********************************************************************/ function gethost($dbsocket,$hostid) { $Results=0; $SQLQuery="select THost_Host from Syslog_THost where THost_ID=$hostid"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $SQLQueryResultsObject = pg_fetch_object($SQLQueryResults,0) or die(pg_errormessage()."
\n"); $Results=stripslashes(pgdatatrim($SQLQueryResultsObject->thost_host)); } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: updatehostprocess */ /* Stability(1 low - 5 high): 5 */ /* Description: Update the TProcess_ID for a given THost_ID */ /* */ /********************************************************************/ function updatehostprocess($dbsocket,$hostid,$processid) { $Results=0; $SQLQuery="begin;update Syslog_TProcess set TProcess_ID=$processid where THost_ID='$hostid';commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: drophostprocess */ /* Stability(1 low - 5 high): 5 */ /* Description: Update the TProcess_ID for a given THost_ID */ /* */ /********************************************************************/ function drophostprocess($dbsocket,$hostid) { $Results=0; $SQLQuery="begin;delete from Syslog_TProcess where THost_ID='$hostid';commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: addhostprocess */ /* Stability(1 low - 5 high): 5 */ /* Description: Add a record to the Syslog_TProcess table for a */ /* given THost_ID */ /* */ /********************************************************************/ function addhostprocess($dbsocket,$hostid) { $Results=0; $SQLQuery="begin;insert into Syslog_TProcess (TProcess_ID,THost_ID) values (0,'$hostid');commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: addhost */ /* Stability(1 low - 5 high): 5 */ /* Description: Add a record to the Syslog_TProcess table for a */ /* given THost_ID */ /* */ /********************************************************************/ function addhost($dbsocket,$host,$syslogexpire,$alertexpire,$typeid,$hostrate,$dologrep,$revreq) { $Results=0; $host=fixappostrophe(stripslashes(pgdatatrim($host))); $syslogexpire=fixappostrophe(stripslashes(pgdatatrim($syslogexpire))); $alertexpire=fixappostrophe(stripslashes(pgdatatrim($alertexpire))); $typeid=fixappostrophe(stripslashes(pgdatatrim($typeid))); if ($dologrep != 1) { $dologrep = 0; $revreq = 0; } if ( $hostrate < 100 ) { $hostrate = 100; } $SQLQuery="begin;insert into Syslog_THost (THost_Host,THost_AlertExpire,THost_LogExpire,TPremadeType_ID,THost_Rate, do_logreport, log_reviewers) values ('$host',$alertexpire,$syslogexpire,$typeid,$hostrate,$dologrep,$revreq);commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: updatehost */ /* Stability(1 low - 5 high): 5 */ /* Description: Update a record to the Syslog_TProcess table for a */ /* given THost_ID */ /* */ /********************************************************************/ function updatehost($dbsocket,$hostid,$host,$syslogexpire=0,$alertexpire=0,$typeid,$hostrate,$dologrep,$revreq) { $Results=0; $host=fixappostrophe(stripslashes(pgdatatrim($host))); $syslogexpire=fixappostrophe(stripslashes(pgdatatrim($syslogexpire))); $alertexpire=fixappostrophe(stripslashes(pgdatatrim($alertexpire))); $typeid=fixappostrophe(stripslashes(pgdatatrim($typeid))); if ( $dologrep != 1) { $dologrep = 0; $revreq = 0; } if ( $hostrate < 100 ) { $hostrate = 100; } $SQLQuery="begin;update Syslog_THost set THost_Host='$host',THost_AlertExpire=$alertexpire,THost_LogExpire=$syslogexpire,TPremadeType_ID=$typeid,THost_Rate=$hostrate,do_logreport=$dologrep,log_reviewers=$revreq where THost_ID=$hostid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: drophostid */ /* Stability(1 low - 5 high): 5 */ /* Description: Drop a record from the Syslog_THost table for a */ /* given THost_ID */ /* */ /********************************************************************/ function drophostid($dbsocket,$hostid) { $Results=0; $SQLQuery="begin;delete from Syslog_THost where THost_ID=$hostid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: droppremade */ /* Stability(1 low - 5 high): 5 */ /* Description: Drop a record from the Syslog_TPremade table for a */ /* given TPremade_ID */ /* */ /********************************************************************/ function droppremade($dbsocket,$id) { $Results=0; $SQLQuery="begin;delete from Syslog_TPremade where TPremade_ID=$id;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: updateequiptype */ /* Stability(1 low - 5 high): 5 */ /* Description: Update an equipment type entry in the Syslog_.. */ /* TPremadeType table */ /* */ /********************************************************************/ function updateequiptype($dbsocket,$typeid,$typedesc, $logwatch) { $Results=0; $typedesc=fixappostrophe(stripslashes(pgdatatrim($typedesc))); $typeid=fixappostrophe(stripslashes(pgdatatrim($typeid))); $logwatch=fixappostrophe(stripslashes(pgdatatrim($logwatch))); if ( $typedesc != "" ) { $SQLQuery = "begin;update syslog_tpremadetype set logwatch_cmd='$logwatch', tpremadetype_desc='$typedesc' where tpremadetype_id=$typeid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: dropequiptype */ /* Stability(1 low - 5 high): 5 */ /* Description: Drop an equipment type entry in the Syslog_.. */ /* TPremadeType table for a given TPremadetype_ID */ /* */ /********************************************************************/ function dropequiptype($dbsocket,$typeid) { $Results=0; $typedesc=fixappostrophe(stripslashes(pgdatatrim($typeid))); if ( $typeid != "" ) { $SQLQuery = "begin;delete from syslog_tpremadetype where tpremadetype_id=$typeid;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: addequiptype */ /* Stability(1 low - 5 high): 5 */ /* Description: Add an equipment type entry in the Syslog_.... */ /* TPremadeType table */ /* */ /********************************************************************/ function addequiptype($dbsocket,$typedesc, $logwatch) { $Results=0; $typedesc=fixappostrophe(stripslashes(pgdatatrim($typedesc))); $logwatch=fixappostrophe(stripslashes(pgdatatrim($logwatch))); if ( $typedesc != "" ) { $SQLQuery = "begin;insert into syslog_tpremadetype (tpremadetype_desc, logwatch_cmd) values ('$typedesc', '$logwatch');commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: addpremaderule */ /* Stability(1 low - 5 high): 5 */ /* Description: Add a premade rule entry in the Syslog_TPremadeRule*/ /* table */ /* */ /********************************************************************/ function addpremaderule($dbsocket,$code,$desc,$typeid,$startfacility,$stopfacility,$startseverity,$stopseverity,$levelorrule,$launchid,$threshold,$thresholdtype) { $code=pgdatatrim($code); $desc=pgdatatrim($desc); $typeid=fixappostrophe(stripslashes(pgdatatrim($typeid))); $launchid=fixappostrophe(stripslashes(pgdatatrim($launchid))); if ( strval($threshold) < 0 ) { $threshold=0; } if ( ( strval($thresholdtype) < 0 ) || ( strval($thresholdtype) > 2 ) ) { $thresholdtype=0; } if ( $startfacility > $stopfacility ) { $temp=$stopfacility; $stopfacility=$startfacility; $startfacility=$temp; } if ( $startseverity > $stopseverity ) { $temp=$stopseverity; $stopseverity=$startseverity; $startseverity=$temp; } if ( ( $levelorrule == "" ) || ( $levelorrule < 0 ) || ( $levelorrule > 3 ) ){ $levelorrule = 1; } $Results=0; $SQLQuery="begin;insert into Syslog_TPremade (TPremade_Code,TPremade_Desc,TPremadeType_ID,TPremade_StartFacility,TPremade_StopFacility,TPremade_StartSeverity,TPremade_StopSeverity,TPremade_PremadeOrLevel,TLaunch_ID,TPremade_Threshold,TPremade_ThresholdType) values ('$code','$desc',$typeid,$startfacility,$stopfacility,$startseverity,$stopseverity,$levelorrule,$launchid,$threshold,$thresholdtype);commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: updatepremaderule */ /* Stability(1 low - 5 high): 5 */ /* Description: Update a premade rule in the Syslog_TPremade table */ /* */ /********************************************************************/ function updatepremaderule($dbsocket,$id,$code,$desc,$typeid,$startfacility,$stopfacility,$startseverity,$stopseverity,$levelorrule,$launchid,$threshold,$thresholdtype) { $id=stripslashes(pgdatatrim($id)); $code=pgdatatrim($code); $desc=pgdatatrim($desc); $typeid=fixappostrophe(stripslashes(pgdatatrim($typeid))); if ( strval($threshold) < 0 ) { $threshold=0; } if ( ( strval($thresholdtype) < 0 ) || ( strval($thresholdtype) > 2 ) ) { $thresholdtype=0; } if ( $startfacility > $stopfacility ) { $temp=$stopfacility; $stopfacility=$startfacility; $startfacility=$temp; } if ( $startseverity > $stopseverity ) { $temp=$stopseverity; $stopseverity=$startseverity; $startseverity=$temp; } if ( ( $levelorrule == "" ) || ( $levelorrule < 0 ) || ( $levelorrule > 3 ) ){ $levelorrule = 1; } $Results=0; $SQLQuery="begin;update Syslog_TPremade set TPremade_Code='$code',TPremade_Desc='$desc',TPremadeType_ID=$typeid,TPremade_StartFacility=$startfacility,TPremade_StopFacility=$stopfacility,TPremade_StartSeverity=$startseverity,TPremade_StopSeverity=$stopseverity,TPremade_PremadeOrLevel=$levelorrule,TLaunch_ID=$launchid,TPremade_Threshold=$threshold,TPremade_ThresholdType=$thresholdtype where TPremade_ID=$id;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: clonedenials */ /* Stability(1 low - 5 high): 5 */ /* Description: Redundant code to add a rule to Syslog_TRuleDeny */ /* table while supplying the TRuleDeny_ID. This */ /* should not be necessary. 8( */ /* */ /********************************************************************/ function clonedenials($dbsocket,$id,$newid) { $SQLQuery="select * from Syslog_TRuleDeny where TRule_ID=$id order by TRuleDeny_ID"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); $SQLNumRows = pg_numrows($SQLQueryResults); if ( $SQLNumRows ) { for ( $loop = 0 ; $loop != $SQLNumRows ; $loop++ ) { $SQLQueryResultsObject = pg_fetch_object($SQLQueryResults,$loop) or die(pg_errormessage()."
\n"); $denyexp=stripslashes(pgdatatrim($SQLQueryResultsObject->truledeny_expression)); $denystartfacility=stripslashes(pgdatatrim($SQLQueryResultsObject->truledeny_startfacility)); $denystopfacility=stripslashes(pgdatatrim($SQLQueryResultsObject->truledeny_stopfacility)); $denystartseverity=stripslashes(pgdatatrim($SQLQueryResultsObject->truledeny_startseverity)); $denystopseverity=stripslashes(pgdatatrim($SQLQueryResultsObject->truledeny_stopseverity)); $SQLQuery="begin;insert into Syslog_TRuleDeny (TRule_ID,TRuleDeny_Expression,TRuleDeny_StartFacility,TRuleDeny_StopFacility,TRuleDeny_StartSeverity,TRuleDeny_StopSeverity) values ($newid,'$denyexp',$denystartfacility,$denystopfacility,$denystartseverity,$denystopseverity);commit;"; $DenySQLQueryResults = pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); pg_freeresult($DenySQLQueryResults) or die(pg_errormessage() . "
\n"); } } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } /********************************************************************/ /* */ /* Function: clonehostrule */ /* Stability(1 low - 5 high): 5 */ /* Description: Redundant code to add a rule to Syslog_TRule table */ /* while supplying the TRule_ID. This should not be */ /* necessary. 8( */ /* */ /********************************************************************/ function clonehostrule($dbsocket,$id,$hostid,$alert,$email,$expression,$desc,$startfacility,$stopfacility,$startseverity,$stopseverity,$levelorrule,$launchid,$threshold,$thresholdtype,$starttime,$endtime,$timertype,$daysofweek) { $hostid=fixappostrophe(stripslashes(pgdatatrim($hostid))); $alert=fixappostrophe(stripslashes(pgdatatrim($alert))); $email=fixappostrophe(stripslashes(pgdatatrim($email))); $desc=fixappostrophe(stripslashes(pgdatatrim($desc))); $expression=fixappostrophe(stripslashes(pgdatatrim($expression))); if ( strval($threshold) < 0 ) { $threshold=0; } if ( strval($timertype) > 3 ) { $timertype=3; } if ( strval($timertype) < 0 ) { $timertype=0; } if ( ( strval($daysofweek) >= 128 ) || ( strval($daysofweek) < 0 ) ) { $daysofweek=0; } if ( ( strval($thresholdtype) < 0 ) || ( strval($thresholdtype) > 2 ) ) { $thresholdtype=0; } if ( ( strval($timertype) < 0 ) || ( strval($timertype) > 3 ) ) { $timertype=0; } if ( $launchid == "" ) { $launchid = 0; } if ( $startfacility > $stopfacility ) { $temp=$stopfacility; $stopfacility=$startfacility; $startfacility=$temp; } if ( $startseverity > $stopseverity ) { $temp=$stopseverity; $stopseverity=$startseverity; $startseverity=$temp; } if ( strval($thresholdtype) < 1 ) { $thresholdtype = 0; } if ( strval($starttime) < 1 ) { $starttime = 0; } if ( strval($endtime) < 1 ) { $endtime = 0; } if ( strval($timertype) < 1 ) { $timertype = 0; } if ( strval($daysofweek) < 1 ) { $daysofweek = 0; } if ( ( $levelorrule == "" ) || ( $levelorrule < 0 ) || ( $levelorrule > 3 ) ){ $levelorrule = 1; } $Results=0; $SQLQuery="begin;insert into Syslog_TRule (TRule_ID, TRule_LogAlert, TRule_Email, TRule_Expression, TRule_Desc, THost_ID, TRule_StartFacility, TRule_StopFacility, TRule_StartSeverity, TRule_StopSeverity, TRule_RuleOrLevel, TLaunch_ID, TRule_Threshold, TRule_ThresholdType, TRule_StartTime, TRule_EndTime, TRule_TimerType, TRule_DaysofWeek) values ($id, $alert, '$email', '$expression', '$desc', $hostid, $startfacility, $stopfacility, $startseverity, $stopseverity, $levelorrule, $launchid, $threshold, $thresholdtype, $starttime, $endtime, $timertype, $daysofweek);commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: dropruleid */ /* Stability(1 low - 5 high): 5 */ /* Description: Drop a given rule_id from the Syslog_TRule table */ /* */ /********************************************************************/ function dropruleid($dbsocket,$id) { $Results=0; $SQLQuery="begin;delete from Syslog_TRule where TRule_ID=$id;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: addhostrule */ /* Stability(1 low - 5 high): 5 */ /* Description: Add a rule to the Syslog_TRule table for a given */ /* host */ /* */ /********************************************************************/ function addhostrule($dbsocket,$hostid,$alert,$email,$expression,$desc,$startfacility,$stopfacility,$startseverity,$stopseverity,$levelorrule,$launchid,$threshold,$thresholdtype,$starttime,$endtime,$timertype,$daysofweek) { $hostid=fixappostrophe(stripslashes(pgdatatrim($hostid))); $alert=fixappostrophe(stripslashes(pgdatatrim($alert))); $email=fixappostrophe(stripslashes(pgdatatrim($email))); $desc=fixappostrophe(stripslashes(pgdatatrim($desc))); $expression=pgdatatrim($expression); if ( ( strval($thresholdtype) < 0 ) || ( strval($thresholdtype) > 2 ) ) { $thresholdtype=0; } if ( ( strval($daysofweek) >= 128 ) || ( strval($daysofweek) < 0 ) ) { $daysofweek=0; } if ( ( strval($timertype) < 0 ) || ( strval($timertype) > 3 ) ) { $timertype=0; } if ( strval($threshold) < 0 ) { $threshold=0; } if ( $startfacility > $stopfacility ) { $temp=$stopfacility; $stopfacility=$startfacility; $startfacility=$temp; } if ( $startseverity > $stopseverity ) { $temp=$stopseverity; $stopseverity=$startseverity; $startseverity=$temp; } if ( ( $levelorrule == "" ) || ( $levelorrule < 0 ) || ( $levelorrule > 3 ) ){ $levelorrule = 1; } $Results=0; /* ,$starttime,$endtime,$timertype,$daysofweek */ $SQLQuery="begin;insert into Syslog_TRule (TRule_LogAlert, TRule_Email, TRule_Expression, TRule_Desc, THost_ID, TRule_StartFacility, TRule_StopFacility, TRule_StartSeverity, TRule_StopSeverity, TRule_RuleOrLevel, TLaunch_ID, TRule_Threshold, TRule_ThresholdType, TRule_StartTime, TRule_EndTime, TRule_TimerType, TRule_DaysofWeek) values ($alert, '$email', '$expression', '$desc', $hostid, $startfacility, $stopfacility, $startseverity, $stopseverity, $levelorrule, $launchid, $threshold, $thresholdtype, $starttime, $endtime, $timertype, $daysofweek);commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: updatehostrule */ /* Stability(1 low - 5 high): 5 */ /* Description: Update a given host rule. */ /* */ /********************************************************************/ function updatehostrule($dbsocket,$id,$hostid,$alert,$email,$expression,$desc,$startfacility,$stopfacility,$startseverity,$stopseverity,$levelorrule,$launchid,$threshold,$thresholdtype,$starttime,$endtime,$timertype,$daysofweek) { $id=fixappostrophe(stripslashes(pgdatatrim($id))); $launchid=fixappostrophe(stripslashes(pgdatatrim($launchid))); $hostid=fixappostrophe(stripslashes(pgdatatrim($hostid))); $alert=fixappostrophe(stripslashes(pgdatatrim($alert))); $email=fixappostrophe(stripslashes(pgdatatrim($email))); $expression=pgdatatrim($expression); $desc=fixappostrophe(stripslashes(pgdatatrim($desc))); if ( strval($threshold) < 0 ) { $threshold=0; } if ( ( strval($thresholdtype) < 0 ) || ( strval($thresholdtype) > 2 ) ) { $thresholdtype=0; } if ( ( strval($daysofweek) >= 128 ) || ( strval($daysofweek) < 0 ) ) { $daysofweek=0; } if ( ( strval($timertype) < 0 ) || ( strval($timertype) > 3 ) ) { $timertype=0; } if ( $startfacility > $stopfacility ) { $temp=$stopfacility; $stopfacility=$startfacility; $startfacility=$temp; } if ( $startseverity > $stopseverity ) { $temp=$stopseverity; $stopseverity=$startseverity; $startseverity=$temp; } if ( ( $levelorrule == "" ) || ( $levelorrule < 0 ) || ( $levelorrule > 3 ) ){ $levelorrule = 1; } $Results=0; $SQLQuery="begin;update Syslog_TRule set TRule_LogAlert=$alert, TRule_Email='$email', TRule_Expression='$expression', THost_ID=$hostid, TRule_Desc='$desc', TRule_StartFacility=$startfacility, TRule_StopFacility=$stopfacility, TRule_StartSeverity=$startseverity, TRule_StopSeverity=$stopseverity, TRule_RuleOrLevel=$levelorrule, TLaunch_ID=$launchid, TRule_Threshold=$threshold, TRule_ThresholdType=$thresholdtype, TRule_StartTime=$starttime, TRule_EndTime=$endtime, TRule_TimerType=$timertype, TRule_DaysofWeek=$daysofweek where TRule_ID=$id;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: dropcustomerhost */ /* Stability(1 low - 5 high): 5 */ /* Description: Disassociate a host with a given customer */ /* */ /********************************************************************/ function dropcustomerhost($dbsocket,$id) { $Results=0; $SQLQuery="begin;delete from Syslog_TCustomerProfile where TCustomerProfile_ID=$id;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: addcustomerhost */ /* Stability(1 low - 5 high): 5 */ /* Description: Associate a host with a given customer */ /* */ /********************************************************************/ function addcustomerhost($dbsocket,$hostid,$userid,$allowedit) { $hostid=fixappostrophe(stripslashes(pgdatatrim($hostid))); $userid=fixappostrophe(stripslashes(pgdatatrim($userid))); if ( $allowedit != 1 ) { $allowedit = 0; } $Results=0; $SQLQuery="begin;insert into Syslog_TCustomerProfile (THost_ID,TLogin_ID,TCustomerProfile_EditRules) values ($hostid,$userid,$allowedit);commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: numberofmonth */ /* Stability(1 low - 5 high): 5 */ /* Description: Given the short name for a month, ie. 'jan', */ /* return the decimal number for that month, ie. 1 */ /* */ /********************************************************************/ function numberofmonth($month) { $Results=0; for ( $loop = 1 ; $loop != 13 ; $loop++ ) { if ( $month == date("M",mktime(0,0,0,$loop,1,2001) ) ) { $Results = $loop; } } if ( strlen($Results) != 2 ) { $Results = "0" . $Results; } return($Results); } /********************************************************************/ /* */ /* Function: numberofrecords */ /* Stability(1 low - 5 high): 5 */ /* Description: A table inspecific function allowing generic */ /* queries. The function will return the number of */ /* records returned by the query. */ /* */ /********************************************************************/ function numberofrecords($dbsocket,$fieldname,$tablename) { $Results=0; $SQLQuery="select count($fieldname) from $tablename"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $SQLQueryResultsObject = pg_fetch_object($SQLQueryResults,$loop) or die(pg_errormessage()."
\n"); $Results=$SQLQueryResultsObject->count; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: numberofhostsusingtype */ /* Stability(1 low - 5 high): 5 */ /* Description: Report the number of hosts using a given equipment */ /* type of TPremadeType_ID */ /* */ /********************************************************************/ function numberofhostsusingtype($dbsocket,$typeid) { $Results=0; $SQLQuery="select count(tpremadetype_id) from Syslog_THost where TPremadeType_ID=$typeid"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $SQLQueryResultsObject = pg_fetch_object($SQLQueryResults,$loop) or die(pg_errormessage()."
\n"); $Results=$SQLQueryResultsObject->count; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); return($Results); } /********************************************************************/ /* */ /* Function: addsuspend */ /* Stability(1 low - 5 high): 5 */ /* Description: Add an entry to the syslog_tsuspend process table */ /* */ /********************************************************************/ function addsuspend($dbsocket,$id) { $Results=0; $id=fixappostrophe(stripslashes(pgdatatrim($id))); if ( $id > 0 ) { $SQLQuery = "begin;insert into syslog_tsuspend (TLogin_ID,TSuspend_Status) values ($id,1);commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } /********************************************************************/ /* */ /* Function: deletesuspend */ /* Stability(1 low - 5 high): 5 */ /* Description: Delete an entry to the syslog_tsuspend table */ /* */ /********************************************************************/ function deletesuspend($dbsocket,$id) { $Results=0; $id=fixappostrophe(stripslashes(pgdatatrim($id))); if ( $id > 0 ) { $SQLQuery = "begin;delete from syslog_tsuspend where tlogin_id=$id;commit;"; $SQLQueryResults=pg_exec($dbsocket,$SQLQuery) or die(pg_errormessage()."
\n"); if ( $SQLQueryResults ) { $Results=1; } pg_freeresult($SQLQueryResults) or die(pg_errormessage() . "
\n"); } return($Results); } %>