Fairly major commit. This will break the current version of ihost, but this had to be done really to give Pete something to test the new ihost against. The main change here is removal of the TCP Heartbeat functionality from the filter. This meant the following features stopped working :- - Heartbeat testing - Configuration checking - Service checks The heartbeat testing, specifically the monitor, now looks at the presence of UDP packets instead. Before it just looked for the presence of a TCP heartbeat packet, so the change their is fairly negligible. Of course this means heartbeat testing now relies on the UDP working... but I don't see this as a problem. Configuration checking has been repositioned in to the filtermanager. This is a backwards compatible change - the filtermanager should still perform as it should for older hosts. But now there's an extra command to check the configuration is up-to-date, with a similar format to the old TCP protocol in the filter. (although we may optimise this soon) The service checks are broken. This isn't a major issue for us as they were pretty useless in the first place. The concept is good, but the checks are just far too primitive. I expect at some point I'll work on a seperate component that just monitors services, which will replace this function. Further changes in the server include removal of the key checking code, as this relied on a bolt on to the TCP heartbeat protocol to ship the key. This got more akward than originally planned, so I'm happy to drop the idea. In the long term we hope to replace this with a public key systems for signing and even encryption. Finally, general tidy up to remove other bits of code that check for TCP heartbeat packets when they don't need to any more.
Split the CORBA side of the filter in two. The Filter interface still does the receiving of data, just like it used to. This can optionally be turned off in the configuration if required. The new interface, FilterInfo, is used to provide information (host and ports) to other parts of the server about the Filter - namely the FilterManager. This split has been done so that the data receiving part of the Filter can be turned off, without breaking the FilterManager.
Initial work on host authentication for the server. Until I can get ihost doing it's side of the host authentication I can't really test any further. It seems to work, as in it filters data which isn't authenticated when told to do so in the config :)
Major change in the java package naming. This has been held off for some time now, but it really needed doing. The future packaging of all i-scream products will be; uk.org.iscream.<product>.<subpart>.* In the case of the central monitoring system server this will be; uk.org.iscream.cms.server.* The whole server has been changed to follow this structure, and tested to a smallish extent. Further changes in other parts of the CMS will follow.
The whole server package structure has been changed. Old Package: uk.ac.ukc.iscream.* New Package: uk.org.iscream.*
Made an abstract skeleton class for the service checks. They all do very similar things, so it seemed worth putting all the behaviour in one place. This also has another advantage, namely that service checks are now much quicker to produce, and that in the future the checks could even be moved to a general checker that reads from the configuration.
now compiles the service check classes
MERGE: Merged the SERVER_PACKAGEBUILD branch back into the HEAD trunk.
Done some more tidying on all the Makefiles. This should have solve the current dependency problem that seemed to be occuring with the java source files. The only dependency that's now not quite in place is the IDL stuff. This should be easily fixable.
Attempted to improve the dependencies, and tidied up the code Makefiles a bit better. Getting there... slowly.
All Makefiles in the made code now make use of includes. This has dramatically reduced the size and complexity of each file. Future improvements centre around checking of dependencies better.
Changed the Makefile to place compiled class files in a seperate directory further down the directory structure. Also supplied the following switches to the javac compiler. -g:none -O The first make sure no debugging information is supplied, and the second makes the compiler optimise the code.
Added the new Plugin Manager bits.
Tried to standardise the format of the Makefiles.
Makefile for filter, modified with new package structure in mind.
Added all the new gubbins.
Changes to reflect goings on with files... :)
Added the new parts to the Filter.
Added FilterManagerServant to the compile list.
Made changes to reflect remain of Filter and FilterManager, and addition of the new files.
Added the Filter to the Makefile. Still todo, seperate the "make run" into two seperate sections so that the Filter or the FilterManager can be run.
Added CVS features to the Makefile.
Included compiling the IDL file in the Makefile.
Found a tidier way to build any .class from from it's corresponding .java file.
Initial Makefile for the Filter. Will obviously need to be expanded as the Filter section grows.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.