7  Module Descriptions
 
7.1 C MODULE DESCRIPTIONS
 
 
No. Name Description
7.1.1 ConClient.C This file is the new Manager Subordinate Configuration Protocol implementation for the Client Side.
7.1.1.1 SendToServer This function uses a socket connection to attach to the ConfigServer 
named in SubName, and send the command query
7.1.1.2 PushTrusts This function sends the non-inherited trusts to the ConfigServer 
named in SubName
7.1.1.3 PushFilters This function sends the non-inherited filters to the ConfigServer 
named in SubName
7.1.1.4 PushAccept This function sends the non-inherited trusts to the ConfigServer 
named in SubName
7.1.1.5 PushForward This function sends the non-inherited forward_list to the ConfigServer named in SubName
7.1.1.6 PushConfig This function sends the non-inherited Configuration to the ConfigServer for each Subordinate in the DB
7.1.2 ConfigClientMain.C This is the main file to the client half of the configuration propagation system. The client connects to the server at intervals specified in the "time.info" file. If the config files have changed the client downloads them.
7.1.2.1 Main This function creates the configuration client object and sets up signal handling
7.1.2.2 SignalHandler This function handles the signals sent to the client
7.1.3 ConfigLoad.C This file works with the MessageHandler.C file to configure the load.
7.1.3.1 LoadConfigFiles This function calls LoadMessageFilter and LoadTrust to load the config files into the handler. Returns 1 all the time now
7.1.3.2 GetManager This function returns the Manager of the hummer.  If there is no manager NULL is returned
7.1.3.3 GetSubord This function returns the Subordinates of the hummer.  The number of subordinates is returned and the parameter Subord is the list of hosts
7.1.3.4 GetNextToken This function gets the next part of a message or trust record from the file indicated. It uses strtok on the | delimeter to do this
7.1.3.5 LoadMessageFilter This function fills the message filter container with message filter object that are taken from the configuration file
7.1.3.6 LoadTrust This function loads the trust container similar to how the function above loads the message filter container
7.1.3.7 LoadMessageFilter_PG This function fills the message filter container with message filter object that are taken from the configuration DB
7.1.3.8 LoadLevel_PG This function loads the level container similar to how the function above loads the message filter container
7.1.3.9 LoadKills_PG This function loads the kill file container similar to how the function above loads the message filter container
7.1.4 ConfigServer.C This is the implementation of the configuration server.  The server waits for clients to connect and then sends them the updated config files if they need it.
7.1.4.1 ConfigServer Basic constructor
7.1.4.2 ConfigServer(NewPort) Constructor that takes a port to run on
7.1.4.3 ~ConfigServer Basic destructor
7.1.4.4 StartServer Main loop of the Server that forks off processes so that it can handle multiple connections at once
7.1.4.5 ProcessRequest This function is where a request from the client is processed
7.1.4.6 KillServer Sets ServerRun to zero so the server exits
7.1.4.7 ReConfigSubs This function resets the timestamp that tells the clients to get new files from this server
7.1.5 ConfigServerMain.C This is the main file for the server half of the configuration propagation system.  The server waits for a connection from the client and if the client needs to be updated the server sends the new config files to it.
7.1.5.1 Main This function creates a configuration server object and sets up the signals to be trapped
7.1.5.2 Signal_Handler This function handles signals sent to the config server
7.1.6 ConvertIP.C This files contains the ConvertIP function that makes an IP into a string so we can compare them with strcmp.
7.1.6.1 ConvertIP This function converts an IP address in the form XXX.XXX.XXX.XXX to the form XXXXXXXXXXXX so it can be compared using strcmp
7.1.7 Hummer_PG.C This file opens a connection to the database and queries it.
7.1.7.1 OpenDB Establish a connection to the PostgreSQL database backend returns a PgDatabase pointer, or NULL if error
7.1.7.2 QueryDB  This function queries the database
7.1.8 LevelCon.C This is the implementation of the level container object.  This object stores and organizes all the level objects after they are created from the contents of the configuration files
7.1.8.1 LevelCon Basic constructor
7.1.8.2 ~LevelCon Basic destructor
7.1.8.3 AddLevel This function adds a trust object to the container
7.1.8.4 SetDefaultTrust This function sets the defualt trust level
7.1.8.5 SetDefaultCoop This function sets the defualt cooperation level
7.1.8.6 SetDefaultInteg This function sets the defualt integrity level
7.1.8.7 GetTrust This function takes an IP address as a parameter and returns the trust associated with that address
7.1.8.8 GetCoop This function takes an IP address as a parameter and returns the cooperation associated with that address
7.1.8.9 GetInteg This function takes an IP address as a parameter and returns the integrity associated with that address
7.1.9 MessageFilterCon.C This file is the implementation of the message filter container object. This object is used to store and organize the message filters that the messages are compared against.
7.1.9.1 MessageFilterCon Basic constructor
7.1.9.2 ~MessageFilterCon Basic destructor
7.1.9.3 AddFilter This method adds a message filter object to the container
7.1.9.4 MatchExp This method returns a threaded list (through the NewNext pointers) of message filters that match the message description
7.1.9.5 Match This method calls the system's regular expression functions to match the message description to the message filter regular expression
7.1.10 MessageHandler.C The message handler is the bulk of the messaging server.  It matches a message to a number of filters and then uses these filters to process the message.
7.1.10.1 MessageHandler Basic constructor
7.1.10.2 ~MessageHandler Basic destructor
7.1.10.3 LoadMessageFilter This method fills the message filter container with message filter objects that are taken from the configuration file
7.1.10.4 LoadTrust This method loads the trust container
7.1.10.5 LoadMessageFilter_PG This method fills the message filter container with message filter objects that are taken from the configuration DB
7.1.10.6 LoadTrust_PG This method loads the trust container
7.1.10.7 HandleMessage This method is where all the message handling takes place
7.1.10.8 LoadConfigFiles This method calls LoadMessageFilter and LoadTrust to load the config files into the handler
7.1.10.9 GetNextToken This method gets the next part of a message or trust record from the file indicated
7.1.10.10 ReportError This method reports errors about the messaging server by feeding messages back into the hummer using the HandleMessage function
7.1.10.11 GetManager This method returns the Manager of the hummer
7.1.10.12 GetSubord This method returns the Subordinates of the hummer
7.1.11 PeerIMain.C This file contains the peer interface.
7.1.11.1 Main This is the main function of the peer interface
7.1.11.2 PrintInstruct This method prints the instructions on how to call PeerI to stdout
7.1.11.3 ParseParameters This method parses the command line parameters and places the the data in the
message object
7.1.11.4 ValidateParameters This method makes sure the command line arguments are within some requirements
7.1.11.5 CheckDateTime This method checks to make sure the date and time are valid
7.1.11.6 SubToMod This method opens a socket to the message server and sends the message over
7.1.11.7 UnSubToMod This method opens a socket to the message server and sends the message over
7.1.11.8 MessToMod This method opens a socket to the message server and sends the message over
7.1.12 PeerMod.C This is the main file for the peer/moderator configuration propagation
server
7.1.12.1 Main This is the main function of the configuration propagation server
7.1.12.2 Signal_Handler This function handles signals sent to the config server
7.1.13 PeerServer.C This is the implementation of the peer moderation server
7.1.13.1 PeerServer Basic constructor
7.1.13.2 PeerServer(NewPort) Constructor that takes a port to run on
7.1.13.3 ~PeerServer Basic destructor
7.1.13.4 StartServer This is where the main server loop is. This server forks off processes, so it can handle multiple connections at once
7.1.13.5 KillServer This function sets ServerRun to zero so the server exits
7.1.13.6 ProcRequest This function receives a connection from PeerI, a peer seeking to subscribe, and grants/denies a subscription based on table info in the "peers" table
7.1.14 PeerServerMain.C This is the main file for the peer configuration propagation server
7.1.14.1 Main This is the main function of the peer configuration propagation server
7.1.14.2 Signal_Handler This function handles signals sent to the config server
7.1.15 Print_Error.C This file displays error messages.
7.1.16 Server.C This file contains the implementation of the Server object
7.1.16.1 Server Basic constructor
7.1.16.2 Server(int NewPort) Constructor that accepts the port number
7.1.16.3 ~Server Basic destructor
7.1.16.4 StartServer This method sets up the server socket and contains the main loop of the server
7.1.16.5 ProcessRequest This method reads in the incoming message, parses it into a message object and sends it to the message handler
7.1.16.6 KillServer This method sets ServerRun to 0 so the loop will exit on the next message received
7.1.16.7 LoadHandler This method deletes the old message handler if it exists and creates a new one with the updated config files
7.1.16.8 SetReloadHandler This method sets the ReloadHandler flag, causing the message handler to be destroyed and recreated with the new changes in the configuration files
7.1.17 ServerMain.C This file contains the main function for the messaging server of the hummer. It also contains the signal trapping functions that the server uses.
7.1.17.1 Main This is the main function of the messaging server. It creates the Server object, sets up the signal handlers, writes the process pid to file and starts the server running
7.1.17.2 Signal_Handler This function handles signals when they are received by the server process
7.1.18 SockTestCli.C This file tests the Client socket
7.1.19 SockTestServ.C This file tests the Server socket
7.1.20 ToolIMain.C This file contains the tool interface. The tool interface is the program that the log tools, alert tools, and the hummer itself uses to pass messages into the hummingbird system.
7.1.20.1 Main This is the main function of the tool interface. It handles the input passed into it via command line parameters.
7.1.20.2 PrintInstruct This function prints the instructions on how to call ToolI to stdout
7.1.20.3 ParseParameters This function parses the command line parameters and places the the data in the message object
7.1.20.4 ValidateParameters This function makes sure the command line arguments are within requirements
7.1.20.5 CheckDateTime This function checks to make sure the date and time are valid
7.1.20.6 SendToHummer This function opens a socket to the message server and sends the message
7.1.21 datetime.C This file contains the basic functions that convert between the our two date and time formats
7.1.21.1 makedate This function takes a date string of the form YYYYMMDD and formats it as MM-DD-YYYY
7.1.21.2 maketime This function takes a time string of the form HHMMSS and formats it as HH:MM:SS
7.1.21.3 unmakedate This function takes a date string of the form MM-DD-YYYY and formats it as YYYYMMDD
7.1.21.4 unmaketime This function takes a time string of the form HH:MM:SS and formats it as HHMMSS