2009-09-03 CVS: new release * Release: 2.2.54 2009-09-03 Stephen Quinney * mkxprof.cin (LastFileAndTime): This method only sorted dependencies based on their timestamp. When there are several candidates for the most recent (last-modified) file it did not predictably choose a filename. This change ensures that the filenames are sorted when the timestamps are identical. This fixes https://bugs.lcfg.org/show_bug.cgi?id=178 2009-08-14 CVS: new release * Release: 2.2.53 2009-08-14 Stephen Quinney * mkxprof.cin (Assign): Ensure that the tag list records which come from a spanning map are sorted. With this change XML profiles generated from different LCFG servers will be the same. In terms of processing time this is not the most efficient way to solve the problem but given the complexity of the code and that we are planning to rewrite it all anyway a minimal change for the short-term seemed appropriate. 2009-06-10 CVS: new release * Release: 2.2.52 2009-06-10 Stephen Quinney * mutate.h: Further work on mADD so that it checks for definedness * test025: Modified expected results to match new version of mADD * LCFG/Server/Profiles/XML.pm: Use the same version for the profile namespace in both xmlns declarations 2009-04-08 CVS: new release * Release: 2.2.51 2009-04-08 Stephen Quinney * mutate.h: mREPLACE() modified to work on whitespace instead of word boundaries * test025: Modified expected results to match new version of mREPLACE 2009-04-08 Stephen Quinney * mutate.h: mREMOVE() modified to work on whitespace instead of word boundaries * test025: Modified expected results to match new version of mREMOVE 2009-04-08 Stephen Quinney * mutate.h: mADD() modified to work on whitespace instead of word boundaries * test025: Modified expected results to match new version of mADD 2009-04-08 Stephen Quinney * Updated test053 with new IP addresses 2008-10-02 CVS: new release * Release: 2.2.50 2008-10-02 Stephen Quinney * mutate.h: Fixed a long-standing bug with how mEXTRA() and mPREPEND() check whether a resource already had a value * LCFG/Server/Status.pm, LCFG/Server/HTML.pm: Modified to use sysinfo resources rather than inv when generating the status pages. 2007-10-29 CVS: new release * Release: 2.2.49 2007-10-29 Stephen Quinney * setup.cin, mkxprof.cin: Updated the apache authentication section to create valid apache2 config snippets. * test048, test052: updated expected output 2007-10-26 CVS: new release * Release: 2.2.48 2007-10-26 Stephen Quinney * Rewrote '%h' support * Made all the tests pass again 2007-10-22 CVS: new release * Release: 2.2.47 2007-10-22 Paul Anderson * Removed the @host stuff again because it doesn't do the right thing when the cpp is in traditional mode!. Added substitution of %h in include paths with the hostname. This allows us to do the same thing in a different way. 2007-10-08 CVS: new release * Release: 2.2.46 2007-10-08 Paul Anderson * Added code to support inclusion of @host.h files (if they exist) 2007-07-26 CVS: new release * Release: 2.2.45 2007-07-26 Stephen Quinney * mkxprof.cin: Fixed the substitution of resource names in EvalMeta which broke due to a change in the order parameters where passed into EvalMeta in the recursive calls in the previous release. * Various tests: Fixed errors due to addition of new test schema * test053: Fixed test as www.lcfg.org as changed IP address 2007-07-26 CVS: new release * Release: 2.2.44 2007-07-26 Stephen Quinney * mkxprof.cin: Fixed calls to the EvalMeta method which had the $tag and @values parameters the wrong way round. This made it impossible to use tag lists of depth greater than 2. * Also updated test075 which checks that this code works. 2007-07-24 Stephen Quinney * Added test075 to check deeply nested lists 2006-11-15 CVS: new release * Release: 2.2.43 2006-11-15 Paul Anderson * Added information to changelog (no functional change). 2006-11-13 CVS: new release * Release: 2.2.42 2006-11-13 Paul Anderson * Bugzilla #2497. Kenny's patch to add count to status page. 2006-11-13 CVS: new release * Release: 2.2.41 2006-11-13 Paul Anderson * Added yet more missing test files. * Bugzilla #2506. Kenny's patch to add $OS variable to filter variables. 2006-10-27 CVS: new release * Release: 2.2.40 2006-10-27 Paul Anderson * Included some test files in CVS that were missing from the last release * Implemented the 'ERROR' spanning map. This contains an entry called 'count' with the error count for every node which has errors. 2006-10-26 CVS: new release * Release: 2.2.39 2006-10-26 Paul Anderson * Fixed test062 so that it creates a pipe in /tmp which now works even if the curretn directory is on AFS. * Added option -k and 'keepmaps' resource to preserve spanning map entries for publishers with spanning map errors. 2006-07-20 CVS: new release * Release: 2.2.38 2006-07-20 Stephen Quinney * LCFG/Server/Sources.pm.cin: Fixed small mistake which meant that the server did not notice when files had changed. 2006-07-20 CVS: new release * Release: 2.2.37 2006-07-19 CVS: new release * Fixed test070 which was looking in the live install drectories rather than the local test one. This broke the tests when (eg.) new icons were added. * Fixed test058 under FC5 which was complaining because the cpp error messages had changed. 2006-07-19 Paul Anderson * Added missing test file for test011 2006-07-19 CVS: new release * Release: 2.2.35 2006-07-19 Stephen Quinney * LCFG/Server/Sources.pm.cin: Fixed Locate so it does not alter the original copy of the path list. 2006-07-18 CVS: new release * Release: 2.2.34 2006-07-18 Paul Anderson * Incorporated Kenny's patches to fix problems below. Checkbox still needs testing on live server. 2006-07-17 CVS: new release * Release: 2.2.33 2006-07-17 Paul Anderson * Interim release. Attempting to make folding status display optional. (1) The first group does not expand/contract (2) The "Fold" checkbox is not tested (3) Tests which generate HTML not currently passing (test011 is crux) 2006-07-06 CVS: new release * Release: 2.2.32 2006-07-06 Paul Anderson * Added "-" and "=" shortcut keys to show and hide the status display details. Kenny MacDonald. 2006-07-06 CVS: new release * Release: 2.2.31 2006-07-06 Paul Anderson * Fixed bug which omitted the first host in the status display if that host matched a specified query. Reported by Kenny MacDonald. 2006-07-04 CVS: new release * Release: 2.2.30 2006-07-03 CVS: new release * Release: 2.2.29 2006-07-03 Paul Anderson * "Folding" sections in status display contributed by Kenny MacDonald 2006-05-29 CVS: new release * Release: 2.2.28 2006-05-29 Paul Anderson * Fixed test 70 2006-04-27 CVS: new release * Release: 2.2.27 2006-04-27 Paul Anderson * Fixed problem with attempt to delete non-existent directory when changing profile domain. Bugzilla #1899. 2006-04-27 CVS: new release * Release: 2.2.26 2006-04-27 Paul Anderson * Added icon for hold flag. * Fixed minor bug where the previous new test was version-dependent. 2006-04-27 CVS: new release * Release: 2.2.25 2006-04-26 Paul Anderson * Fixed errors generated in daemon mode when using %r for releases in pathname. Bugzilla #2027. 2006-02-21 CVS: new release * Release: 2.2.24 2006-02-21 Paul Anderson * Changed test directory names to fix regression tests for new version of buildtools (2.1.13) 2005-11-11 CVS: new release * Release: 2.2.23 2005-11-11 Paul Anderson * Added support for "stub" in profile.format 2005-11-10 CVS: new release * Release: 2.2.22 2005-11-10 Paul Anderson * Fixed bug where %r was not recognised in the top level of the RPM path. Bugzilla #1452. 2005-10-18 CVS: new release * Release: 2.2.21 2005-10-18 Paul Anderson * Convert Unicode input so that things like the continuation character work. Bugzilla #1850. 2005-10-17 CVS: new release * Release: 2.2.20 2005-10-17 Paul Anderson * Fixed bug which put the temporary debugging info in the same directory as the debug scripts. 2005-09-07 CVS: new release * Release: 2.2.19 2005-09-07 Paul Anderson * Added "?" operator to RPM specifications 2005-02-25 CVS: new release * Release: 2.2.18 2005-02-25 Paul Anderson * Fixed tests 2005-02-24 CVS: new release * Release: 2.2.17 2005-02-24 Paul Anderson * Added component stop/start to lcfg-helper 2005-02-14 CVS: new release * Release: 2.2.16 2005-02-14 Paul Anderson * Added lcfg-helper.cin 2005-02-14 CVS: new release * Release: 2.2.15 2005-02-14 Paul Anderson * Added prefetch and postfetch commands 2005-02-10 CVS: new release * Release: 2.2.14 2005-02-10 Paul Anderson * Added application/lcfg anchors on status icons. 2005-02-09 CVS: new release * Release: 2.2.13 2005-02-09 CVS: new release * Fixed broken tests * Fixed broken HTML in error page 2005-02-09 CVS: new release * Release: 2.2.8 2005-02-09 Paul Anderson * Using CINFILES in Makefile * Some associated tidying of tests * Added test for basic component methods * Fixed documentation of lockfiles resource 2005-02-04 CVS: new release * Release: 2.2.7 2005-02-04 CVS: new release * Release: 2.2.6 2005-02-04 Paul Anderson * Fixed bug which was causing list elements with the name "0" to be lost. Bugzilla #1073. 2005-02-02 CVS: new release * Release: 2.2.5 2005-02-01 Paul Anderson * Removed some of the regression test functions into the common "testlibs" file in buildtools. 2005-01-31 CVS: new release * Release: 2.2.4 2005-01-31 Paul Anderson * Passed all tests on rh9 & fc3 * Added profile.pkgcppopts (Bugzilla #596) * Added reboot and power cycle queries (Bugzilla #944) * Fixed issues with server locking (Bugzilla #947) * Fixed status page ordering (Bugzilla #98) * Fixed test058 again (*really* this time) 2005-01-31 CVS: new release * Release: 2.2.3 2005-01-31 Paul Anderson * Fixed test058 on FC3 2005-01-31 CVS: new release * Release: 2.2.1 2005-01-31 Paul Anderson * Added version dependency on lcfg-utils 2005-01-28 CVS: new release * Release: 2.2.0 2005-01-27 CVS: new release * Release: 2.1.71 2005-01-27 Paul Anderson * Removed bogus delimiter characters from the screendumps that get used for the documentation. 2005-01-27 CVS: new release * Release: 2.1.70 2005-01-27 Paul Anderson * Removed some common testing code from Makefile -> buildtools 2005-01-27 CVS: new release * Release: 2.1.69 2005-01-25 Paul Anderson * Fixes to mkxprof for the FC3 version of cpp - Extra whitespace now gets stripped in macro definitions with comments or continuation lines - Some strange #file directives appear for things like and * Reworking of the test framework: - The server code itself is now aware of testing and it adds special markup to the output when it is run in testing mode. This allows the comparison program lcfgdiff to know exactly which strings are insignificant, without having to guess. - The server uses a fixed, dummy domain name in testing mode, so that tests should work whatever domain they are run in! - We also fixed the pathnames so that it works from any directory - Simplified and fixed problems with the test run script. - Removed "lcfgdiff" (was "profcomp") to lcfg-utils where it can be used by other things. This involved adding a plugin module framework. - We now sort some things (only) when testing so that the comparison tests work but we don't do the extra computation in production mode. 2005-01-21 CVS: new release * Release: 2.1.67 2005-01-21 Paul Anderson * profcomp can now compare the text files as well, so we use this for all the comparisons in the regression tests. 2005-01-21 CVS: new release * Release: 2.1.66 2005-01-21 Paul Anderson * HTML status documents are now XHTML compliant * Fixed illegal HTML in help pages * profcomp can now compare XHTML status pages a well as XML profiles, so we use it for the status regression tests as well 2005-01-20 CVS: new release * Release: 2.1.65 2005-01-20 Paul Anderson * There are no code changes to the server in this release * The release includes a new special-purpose profile comparison program "profcomp". This is now used by the regression testing and should make life a lot easier when OS upgrades introduce small changes in the order or spacing of the output. * There is still some work needed on this. In particular, it does not handle "simple" profile formats, or the status/result comparison. We have also removed the os-specific test results with the intention of handling the os differences automatically inside profcomp. 2004-12-15 CVS: new release * Release: 2.1.64 2004-12-15 Paul Anderson * Changed locking messages so that they don't repeat while locked. 2004-12-15 CVS: new release * Release: 2.1.63 2004-12-15 Paul Anderson * Fixed bug with lock_list 2004-12-14 CVS: new release * Release: 2.1.62 2004-12-14 Paul Anderson * Moved lock testing to after the rsync. 2004-12-14 CVS: new release * Release: 2.1.61 2004-12-14 Paul Anderson * Added lockfiles resource (-L) 2004-11-04 CVS: new release * Release: 2.1.60 2004-11-03 Paul Anderson * Fixed some Perl warnings 2004-07-07 CVS: new release * Release: 2.1.59 2004-07-07 Paul Anderson * Ignore files in source directory with extension of .export. These files are intended to contain lists of files to be exported automatically to lcfg.org by the orgbuilder component. 2004-06-15 CVS: new release * Release: 2.1.58 2004-06-15 Paul Anderson * Documented profile.maxupdate. 2004-06-10 CVS: new release * Release: 2.1.57 2004-06-10 Paul Anderson * Added profile.authorize 2004-06-09 CVS: new release * Release: 2.1.56 2004-06-09 Paul Anderson * Added profile.maxupdate and code to check the time of the last updaterpms. 2004-06-07 CVS: new release * Release: 2.1.55 2004-06-07 Paul Anderson * Fixed bug where some fields on the index page (eg. inventory fields) were not being HTML encoded. 2004-06-04 CVS: new release * Release: 2.1.54 2004-06-04 Paul Anderson * Minor fixes to HTMP help pages. * Implemented profile.release and support for multiple releases. ** NOTE ** the previous profile.release resource is now called profile.softrelease. 2004-05-19 CVS: new release * Release: 2.1.53 2004-05-19 Paul Anderson * Client out-of-date warning should take precedence over software out-of-date. * Passed tests under RH9 2004-05-14 CVS: new release * Release: 2.1.52 2004-05-14 Paul Anderson * Added support for software release testing: profile.release * Added extra icon column to status display 2004-05-14 CVS: new release * Release: 2.1.51 2004-05-14 Paul Anderson * Only the log files (not the resources etc) should have been crossed out on the status page when the log server access is denied. * RH7 regression tests passed again. 2004-05-12 CVS: new release * Release: 2.1.50 2004-05-12 Paul Anderson * Added the ability to specifc "nocomp" for ng_statusdisplay. This allows "pseudo components (like profile and inv) to appear on the status display without showing ???. This fixes bugzilla #195. * Display logserver links as crossed out if they are denied access by the logserver resources. * Fixed slight bug which permitted some invalid values for boolean variables. 2004-05-12 CVS: new release * Release: 2.1.49 2004-05-12 Paul Anderson * Display IP address as well as host name on status display. Bugzilla #357 2004-05-12 CVS: new release * Release: 2.1.48 2004-05-12 Paul Anderson * Hmmm. Fixed bug which was causing tests 030 and 031 to fail. This was a bit nasty. It seems like the behaviour of "each" has changed between the versions of Perl used on RH7 and RH9. Under RH9, it doesn't do the right thing if the hash is modified during the loop - you need to use "foreach ... (keys..)" instead! Anyway ... I changed all the "eachs"s and this now passes all the tests under RH9. 2004-05-11 CVS: new release * Release: 2.1.47 2004-05-11 Paul Anderson * Passed all regression tests under RH7, but there seems to be a problem with 030 and 031 under RH9. * Production use has now moved to RH9, so it is likely that RH7 support will be less guaranteed from now on. * Note: there is an extreme performance hit udner RH9 - test500 takes 44 secs under RH7 and 1m28 under RH9! 2004-05-10 CVS: new release * Release: 2.1.43 2004-05-10 Paul Anderson * Added support for #pragmas * Allow #pragma LCFG debug "stuff" * Ignore others 2004-04-07 CVS: new release * Release: 2.1.41 2004-04-07 Paul Anderson * Added debugging script to dump spanning map cache. * Added config variables to debugging scripts so they work on the live system. Package them with distribution too. 2004-04-02 Paul Anderson * Fix for Bugzilla #429. I don't know why we are getting this error message, but at least we should get a sensible message and recovery now. Bug still open until we see what happens. 2004-03-24 CVS: new release * Release: 2.1.39 2004-03-24 Paul Anderson * Added TAGS 2004-02-18 CVS: new release * Release: 2.1.38 2004-02-18 Paul Anderson * Fixed tests 2004-02-18 CVS: new release * Release: 2.1.37 2004-02-18 Paul Anderson * *** LEGACY COMPONENTS (pre-ng) NO LONGER SUPPORTED ** * Removed synthesis of cfdepend/reconfig since this is now * handled by the client component 2004-01-28 CVS: new release * Release: 2.1.36 2004-01-28 Paul Anderson * Significant change to spanning map keys. This is complicated: Spanning map keys were previously based on the profile.node name. This caused two problems: (a) Node names with characters such as "-" would turn up in resource names and create illegal shell variable names in shell components. (b) Nodes with the same name, but different domains would conflict. We now form the spanning map key by taking the LCFG source file name and escaping all non-alphanumeric characters as "_XX_" where "XX" is the hex code for the character. This avoids the above problems. However, some components make the assumption that spanning map key == nodename. This has never been the case, but it did work as long as the nodename was the same as the filename. Now it doesn't and these components must be fixed to include the nodename in the spanning map if they need it. 2004-01-28 CVS: new release * Release: 2.1.35 2004-01-28 Paul Anderson * Added script to automatically maintain man page entries for debugging flags. And run it to bring them up to date! 2004-01-27 CVS: new release * Release: 2.1.34 2004-01-27 Paul Anderson * Fixed bug in %debug directive which left the directive effective for any following nodes in the pass. * Fixed regression tests under RH7 2004-01-26 CVS: new release * Release: 2.1.33 2004-01-26 Paul Anderson * Added profile.runuser & profile.rungroup 2004-01-23 CVS: new release * Release: 2.1.32 2004-01-23 Paul Anderson * Disabled CGI check for running server during testing, so the regression tests work when the server is not running! 2004-01-23 CVS: new release * Release: 2.1.31 2004-01-23 Paul Anderson * Changed icon in "unavailable" display 2004-01-23 CVS: new release * Release: 2.1.30 2004-01-23 Paul Anderson * If we are creating status files, then the %debug directive now redirects debug messages to a file which is displayed on the status page. 2004-01-23 CVS: new release * Release: 2.1.29 2004-01-23 Paul Anderson * Improved debugging statements for packages 2004-01-23 CVS: new release * Release: 2.1.28 2004-01-23 Paul Anderson * Added %debug directive to enable debugging on a per-host basis * Added debugging statements for 'packages' - previously there didn't seem to be any! 2004-01-12 CVS: new release * Release: 2.1.27 2004-01-12 Paul Anderson * Added -N option * Added reconfigure on RPM update * Disable status pages if server not running (they may be wrong) 2004-01-08 CVS: new release * Release: 2.1.26 2004-01-08 Paul Anderson * Exporting HTML style parameters from HTML module so that they can be referenced by other packages to match the style. 2004-01-07 Paul Anderson * Minor change to test017 to use absolute pathnames. This allows the results of the test (details file etc) to be used for testing the lcfg-editor CGIs which live in a different module. 2004-01-07 CVS: new release * Release: 2.1.25 2004-01-07 Paul Anderson * Now storing all inventory information in the "details" file. This fixes Bugzilla #159. It also makes the the inventory information available to other CGIs, as needed, for example, by the planned "editor". Note that search queries will break until the details files are rebuilt by a new compilation. 2003-12-05 CVS: new release * Release: 2.1.24 2003-12-05 Paul Anderson * We now generate an error if a hostname with a "-" attempts to participate in a spanning map because this generates an invalid resource name. test063 and Bugzilla #138. There is still some debate about whether the spanning map key should be formed from the nodename (as now) or from the source filename. 2003-12-05 CVS: new release * Release: 2.1.23 2003-12-05 Paul Anderson * Fixed bug in display of ack latency on status page (Bugzilla #15) (The mins and secs were swapped) 2003-11-28 CVS: new release * Release: 2.1.22 2003-11-28 Paul Anderson * Oops. We accidentally shipped index.cgi in place of xmlstatus.cgi. 2003-11-28 CVS: new release * Release: 2.1.21 2003-11-27 Paul Anderson * Added xmlstatus cgi to provide access to the status information in a form suitable for processing by other programs. 2003-11-26 CVS: new release * Release: 2.1.20 2003-11-26 Paul Anderson * Added profile.comment resource for Bugzilla #128. * Removed legacy support for old-style record separators in status database. Very old databases will need rebuilding. 2003-11-07 CVS: new release * Release: 2.1.19 2003-11-07 Paul Anderson * Modified test059 to test resources starting with a digit as well, to test Bugzilla #94. 2003-11-07 CVS: new release * Release: 2.1.18 2003-11-07 Paul Anderson * Removed "author" resources from component. 2003-11-06 CVS: new release * Release: 2.1.17 2003-11-06 Paul Anderson * Fixed regression tests for RH9 & Solaris 9. 2003-11-06 CVS: new release * Release: 2.1.16 2003-11-06 Paul Anderson * Removed profiling from test500 because it was segment faulting! 2003-11-05 CVS: new release * Release: 2.1.15 2003-11-05 Paul Anderson * Changed HTML ALT & TITLE tags to fix Bugzilla report #22 * Mixing contexts and list order is not going to work - the context semantics are just too broken. This now generates an error. 2003-11-05 CVS: new release * Release: 2.1.14 2003-11-05 Paul Anderson * List ordering now works for multi-level lists. We use the same substitution semantics for the tags that we use when constructing lists. 2003-11-05 CVS: new release * Release: 2.1.13 2003-11-05 Paul Anderson * Added regression test for interrupted child process * Minor tweaking of some tests to clean up afterwards so that they don't leave things around to confuse tests which follow. 2003-11-02 Paul Anderson * Completed the work on generic list ordering. This now supports synthesizing of resources containing the dependenices. 2003-11-01 CVS: new release * Release: 2.1.12 2003-11-01 Paul Anderson * Added __LCFG_SERVER_VERSION symbol to cpp so that .def files can decide whether or not to use the new ordering syntax. 2003-10-28 Paul Anderson * Fixed bug with WIFSIGNALED 2003-10-26 Paul Anderson * Removed all experimental support for authorship tracking. This did work, but the necessary tainting when using the cpp made it virtually useless. Removed to clarify and speed up the code. * We are now attempting to support lists with elements that have no fields. 2003-10-26 CVS: new release * Release: 2.1.11 2003-10-26 Paul Anderson * Fixed bug which failed to error for certain illegal list tag names * Lists with elements that have no fields are now explicitly illegal - they were previously accepted, but the HTML doesn't contain the tags, because they are encoded in the fields. * We now order client.components according to ng_cforder instead of profile.components. This needs a corresponding change to client.def. 2003-10-26 CVS: new release * Release: 2.1.10 2003-10-26 Paul Anderson * Added generic list ordering (still considered experimental) * Fixed small bug in error message (derivation) 2003-10-10 CVS: new release * Release: 2.1.9 2003-10-10 Paul Anderson * We now accept package lists with an extension of .pkgs as well as .rpms. * Updated regression tests to match schema change. 2003-10-03 CVS: new release * Release: 2.1.8 2003-10-03 Paul Anderson * Gratuitious bumping of the schema version so that we can simultaneously support both old and new naming schemes on the same server. 2003-10-03 CVS: new release * Release: 2.1.7 2003-10-03 Paul Anderson * Updated regression tests to match nwe default profile version 2003-10-03 CVS: new release * Release: 2.1.6 2003-10-03 Paul Anderson * Change default to new profile version. This requires at least client 2.1.6. Finally fuixes the broken XML profile reported in bugzilla #9. 2003-10-03 CVS: new release * Release: 2.1.5 2003-10-03 Paul Anderson * Fixed bug with repeated compilation of some source files (bugzilla #8) * Removed some unused code * Added README.INTERNALS 2003-09-24 CVS: new release * Release: 2.1.4 2003-09-24 Paul Anderson * Fixed some regression tests which had changde because of the last update. 2003-09-12 CVS: new release * Release: 2.1.3 2003-09-12 Paul Anderson * Added support for a "?" postfix on rpmcfg filenames. If this is specified, then no error is generated if the file is not found. This allows a header file to specify something generic like "profile.packages ... @HOSTNAME-private.rpms?". 2003-09-12 CVS: new release * Release: 2.1.2 2003-09-12 Paul Anderson * Implemented support for the 1.1 profile format which (correctly) XML encodes all attribute values. This is tested by *not yet enabled by default*. Set the variable in conf.mk to turn it on. * Fixed bug in error message for invalid context strings 2003-08-08 CVS: new release * Release: 2.1.1 2003-08-08 Paul Anderson * Minor doc fix. 2003-08-08 CVS: new release * Release: 2.1.0 2003-08-08 Paul Anderson * Now passing all tests under rh7, rh9 and solaris9 2003-08-07 Paul Anderson * Fixed some regression tests under Solaris. (lots of regression tests assumed "hostname" returns a FQDN) * Added platform section to docs 2003-08-07 CVS: new release * Release: 2.0.129 2003-08-07 Paul Anderson * First release to pass all regression tests on RH9. * Added correct encoding incantations for Perl 5.8 so that it correctly reads the special symbols for continuations and meta-quotes as before. 2003-08-07 CVS: new release * Release: 2.0.128 2003-08-07 Paul Anderson * Fixed CGI scripts to handle the new Perl CGI module under RH9 which doesn't seem to take parameters from stdin by default. * More regression tests (41,42) passed on RH9. These were just problems in output order differences, rather than bugs. 2003-08-06 CVS: new release * Release: 2.0.127 2003-08-06 Paul Anderson * Fixing some (not all) regression tests under RH9 * Added support to the regression tests for os-specific output files. Unfortunately, different OSes (ie versions of Perl) process things like hash keys in a different order and I don't want to add the overhead of sorting things like error message orders just to make this deterministic. 2003-08-06 CVS: new release * Release: 2.0.126 2003-08-06 Paul Anderson * Sorting derivation file and line numbers to produce a deterministic order with different Perl compilers. * Added @VDIFF@ variable to support different visual diff commands for regression tests on different platforms. 2003-08-06 CVS: new release * Release: 2.0.125 2003-08-03 Paul Anderson * New test environment 2003-08-01 CVS: new release * Release: 2.0.124 2003-08-01 Paul Anderson * Modified to use LCFG:PkgUtils so we no longer depend on the presence of rpmlib. * Fixed so that we now accept "hostname" returning the short hostname. 2003-05-28 CVS: new release * Release: 2.0.123 2003-05-28 Paul Anderson * Spelling mistakes :-) 2003-05-28 CVS: new release * Release: 2.0.122 2003-05-28 Paul Anderson * Added regression test (055) for leading and trailing white space, in response to EDG bug 1011. (In fact the bug report is a consequence of the CPP and not somehting we can do anything about) http://marianne.in2p3.fr/datagrid/bugzilla/show_bug.cgi?id=1101 2003-05-28 CVS: new release * Release: 2.0.121 2003-05-28 Paul Anderson * Fixed bug which allowed bogus characters in list tags (and put them verbatim into the XML!) EDG Bug report 1093 - http://marianne.in2p3.fr/datagrid/bugzilla/show_bug.cgi?id=1093 Regression test 054 * Fixed regression test 049 which didn't work if it was run fast enough to touch the source files inside the 1sec resolution of the mtime! 2003-03-07 CVS: new release * Release: 2.0.120 2003-03-07 Paul Anderson * Extras tests for hostnames and IP addresses * Stripping special control chars from test results so that mgdiff works even for displaying mutation errors. 2003-03-06 CVS: new release * Release: 2.0.119 2003-03-06 Paul Anderson * Slight fix to test comparison * Added vHOSTLIST validation * Added vIPADDRLIST validation * Added mHOSTIP mutation 2003-02-28 CVS: new release * Release: 2.0.118 2003-02-28 Paul Anderson * Fixed bug in status page queries which sometimes matched wrong records. 2003-02-28 CVS: new release * Release: 2.0.117 2003-02-28 CVS: new release * Release: 2.0.116 2003-02-28 Paul Anderson * Hardwired paper size on conversion of screendumps to PDF for documentation. 2003-02-27 CVS: new release * Release: 2.0.115 2003-02-27 Paul Anderson * More changes to order of htaccess file directives. 2003-02-26 CVS: new release * Release: 2.0.114 2003-02-26 Paul Anderson * Slight changes to generated htaccess file directives * Documentation fixes. 2003-02-26 CVS: new release * Release: 2.0.113 2003-02-26 Paul Anderson * Fixed bug in password access to web files. 2003-02-26 CVS: new release * Release: 2.0.112 2003-02-26 Paul Anderson * Now supporting multiple "htaccess" files so that we can have different access controls for SSL and plain HTTP access. * Added test for access file creation by "setup" 2003-02-21 CVS: new release * Release: 2.0.111 2003-02-21 Paul Anderson * Slight tinkering with help files. * Updated TODO. 2003-02-21 CVS: new release * Release: 2.0.110 2003-02-20 Paul Anderson * Fixed bug in derivation reporting on an error message (test050) * More work on help files, including HTML validation test. * Tidied HTML status formats. * Fixed some problems with regression tests 2003-02-20 CVS: new release * Release: 2.0.109 2003-02-20 Paul Anderson * Added help files * Added timestamps to setup log messages * Changed authname in htaccess files * Changed access resource for setup from pwfile to userid. We now always use the password file generated by the server, but we allow an arbitrary username to be supplied. 2003-02-20 CVS: new release * Release: 2.0.108 2003-02-20 Paul Anderson * Fixed bug in specfile. 2003-02-19 CVS: new release * Release: 2.0.107 2003-02-19 Paul Anderson * Implemented separate setup program which configures the web directories, rather than having this as part of mkxprof. The setup program can create arbitrary other directories based on resources, and create htaccess files. 2003-02-19 CVS: new release * Release: 2.0.106 2003-02-19 Paul Anderson * Red icon on the acknowledgement if we get a failed or missing signature. * Yellow icon on the acknowledgement if the client is out of date. * Only reporting filenames and hostnames in the log instead of full pathnames. This is much easier to read. * Fixed bug in profile.notify resource which only accepted "true" (and not "yes") as a true value. 2003-02-19 CVS: new release * Release: 2.0.105 2003-02-18 Paul Anderson * Added support for MD5-signed acknowledgements * Fixed small problem in test run script 2003-02-14 CVS: new release * Release: 2.0.104 2003-02-14 CVS: new release * Added creation of password file for htaccess. * Added "utest" targets to automatically update stored test results. 2003-02-13 CVS: new release * Added support for htaccess files. * Added interactive options for running regression tests. * Fixed bug which put wrong URL in status pages. 2003-02-13 Paul Anderson * ** INCOMPATIBLE CHANGE ** Changed the structure of the web profile directory to give each node it's own subdirectory. This is necessary if we want to give each node its own htaccess file for protecting its profiles. This also makes it much easier to keep track of which files belong to which node, especially when there are multiple profile formats involved. Unfortunately, this changes the URLs used to access the profile :-( * Moved location of "details" cache directory so it is outside the area published on the web! * Changed the temporary file extension used by the regression test matching routines so that it isn't confused with the temporary fiel extension usde by mkxprof. 2003-02-12 CVS: new release * Release: 2.0.101 2003-02-12 Paul Anderson * Added progres indicators to Stop() in vebose mode. This allows us to see progress when waiting for server to terminate. 2003-02-10 CVS: new release * Release: 2.0.100 2003-02-10 Paul Anderson * Fixed bug in Stop() method which didn't wait for server termination. This often led to two simultaneous server processes after a Restart() for example. (bad news) 2003-02-07 CVS: new release * Release: 2.0.99 2003-02-07 Paul Anderson * Queries now working. 2003-02-07 CVS: new release * Release: 2.0.98 2003-02-07 Paul Anderson * First attempt at queries on status. (not yet for public consumption!) 2003-02-07 CVS: new release * Release: 2.0.97 2003-02-06 Paul Anderson * Tidied up all the code for icons and flags. * Added support for power cycle flag. 2003-02-03 CVS: new release * Release: 2.0.96 2003-02-03 Paul Anderson * Fixed obscure bug in file times and dependencies when using spanning maps. 2003-02-03 CVS: new release * Release: 2.0.95 2003-02-03 Paul Anderson * Now evaluating all mutations and validations in Safe compartments to protect the compiler again accidental or malicious damage from mutation and validation macros. This is a prerequisite for ACL suppotr (but a good idea anyway). Of course, it's still possible to do nasty DOS attacks by doing thinks like looping or using lots of memory .... 2003-01-29 CVS: new release * Release: 2.0.94 2003-01-29 CVS: new release * Release: 2.0.94 2003-01-29 Paul Anderson * Do not generate static html pages when getting acks from clients, unless "statichtml" specified. 2003-01-29 CVS: new release * Release: 2.0.93 2003-01-29 Paul Anderson * More helpful error messages when you forget to include "mutate.h". 2003-01-28 CVS: new release * Release: 2.0.92 2003-01-28 Paul Anderson * Quoting arguments to mkxprof. 2003-01-28 CVS: new release * Release: 2.0.91 2003-01-28 Paul Anderson * When parsing .def files, the "defpath" should be added to the inclues, so that we can include oterh .def files in different directories - eg. om.def. 2003-01-27 CVS: new release * Release: 2.0.90 2003-01-27 Paul Anderson * Implemented "authors" and "defauthors" resources in component. 2003-01-24 CVS: new release * Release: 2.0.89 2003-01-24 Paul Anderson * Added "deferred publication". Any node which subscribes to a spanning map has the profile publication deferred until the end of the compilation phase. This should fix the long-standing "flapping map" problem whereby transient maps would be published for a short time and then corrected. * Small manpage fixes. * Added cpp to requires. * Corrupt index errors now don't stop the compilation. 2003-01-22 CVS: new release * Release: 2.0.88 2003-01-22 Paul Anderson * Completed authorship tracking code. But it probably needs a good review and some testing befroe I'd use it for access control. 2003-01-22 CVS: new release * Release: 2.0.87 2003-01-22 Paul Anderson * Fixed bug in CGI script for status pages which didn't work if the URLs had ".html" at the end. * Removed support for legacy mutation syntax. * Enabled "deprecated" warnings by default. * Preliminary code to track "authorship" of resources. (a pre-requisite for per-resource access control) 2003-01-17 CVS: new release * Release: 2.0.86 2003-01-17 Paul Anderson * Reworked derivation recording. Multiple lines of the same file in a derivation are now collated and shown as comma- separated numbers after the single appearance of the filename. * Fixed bug in regression testing which seemed to have stopped recording the runtimes. 2003-01-10 CVS: new release * Release: 2.0.85 2003-01-10 Paul Anderson * Fixed bugs in references to context-specific resources * (a) The [] got interpreted as meta characters * (b) Some resources got the [] extracted before referencing * Implemented "early" references. 2003-01-06 Paul Anderson * Added mPRECONCAT macro 2002-12-13 CVS: new release * Release: 2.0.84 2002-12-13 CVS: new release * Release: 2.0.83 2002-12-13 Paul Anderson * Taint checking the CGIs 2002-12-13 CVS: new release * Release: 2.0.82 2002-12-12 Paul Anderson * Now ignoring temporary files very early on. This prevents them showing up in the statistics as changed files. * Rearranged options, resources and code for handling HTML status files, so that the option "s" now behaves in a compatible way by generating static pages, and option h generates stuff for the CGIs only. Option h is now the default. 2002-12-09 CVS: new release * Release: 2.0.81 2002-12-09 Paul Anderson * Added code to interpret server.stats resource * Fixed bug which crashed server when status information not available. * Fixed bug which was not creating status detail files unless HTML also being generated. * Regression test (039) for CGI status pages 2002-12-02 CVS: new release * Release: 2.0.80 2002-12-02 Paul Anderson * CGI status and index pages now work (including ?refresh=X option for auto-refresh) * Don't attempt to get a writable file handle on the DBM file for locking in the CGI scripts. * Fixed bug which failed when attempting to link cgi scripts in some cases. 2002-12-02 CVS: new release * Release: 2.0.79 2002-11-29 Paul Anderson * CGI scripts open DBM file readonly so they don't have to run as root. * Fixed bug in CGI scripts which didn't include the HTML header on the error page if they failed early on. * Fixed bug in rsync fetching (test038) * Removed default -e ssh from rsync * Fixed extensions on CGI scripts (.cgi instead of .pm) * Added resource to .def file to enable stats (but this is not yet used by the component script) 2002-11-27 CVS: new release * Release: 2.0.78 2002-11-27 Paul Anderson * Found & fixed bug in component script which had error in command line arguments. 2002-11-27 CVS: new release * Release: 2.0.76 2002-11-27 Paul Anderson * More lock debugging * Server logs options on startup 2002-11-26 CVS: new release * Release: 2.0.74 2002-11-26 Paul Anderson * Fixed bug in debugging of locking * Added "sources" debugging 2002-11-22 CVS: new release * Release: 2.0.73 2002-11-22 Paul Anderson * Reporting an error when a value is specified for a context-dependent resource and no value is given for the context-free version. Yes - this should be possible - it should take the default value, but it would involve bigger changes than we want to make right now ... 2002-11-22 CVS: new release * Release: 2.0.72 2002-11-22 Paul Anderson * Fixed bug in ordering of client.components * Fixed bug involving resource names with underscores (these are definitely not recommended though) * Fixed regression tests to work under DICE/7.x There might still be problems at the next upgrade because some things (eg. order of printing some error messages) just depends on the order that they get returned from the Perl hash keys & this might change if the Perl changes. There also seems to have been some changes in the way that cpp handles white space. * Fixed regression tests to work from inf.ed.ac.uk instead of dcs.ed.ac.uk. There might still be problems from some other domains because, for example, the status display sections are sorted in domain name order, so this may change. * Sorting context-dependent resources in profile to give deterministic order 2002-11-22 CVS: new release * Release: 2.0.71 2002-11-22 Paul Anderson * Sorting packages by name in profile to ensure deterministic order * Document semantics of profile.packages & contexts * Report errors for contexts attached to profile resources * Regression tests for packages (35,36) * Minor documentation changes 2002-11-08 CVS: new release * Release: 2.0.68 2002-11-08 Paul Anderson * Fixed "undesirable feature" of interpreting regexp metacharacters in mutation macros (reported by neilb). (test034) 2002-10-03 CVS: new release * Release: 2.0.67 2002-10-03 Paul Anderson * Added test033 for shared fields (gdmr) 2002-10-02 CVS: new release * Release: 2.0.66 2002-10-02 Paul Anderson * Fixed bugs in regression tests so they can now be run (hopefully) outside of dcs.ed.ac.uk! 2002-09-23 CVS: new release * Release: 2.0.65 2002-09-23 Paul Anderson * Linking CGIs into live web directory on startup * Error handling in CGI scripts 2002-09-23 CVS: new release * Release: 2.0.64 2002-09-23 Paul Anderson * Fixed bug in specfile for CGI scripts 2002-09-23 CVS: new release * Release: 2.0.63 2002-09-23 Paul Anderson * Added locking code to status DBM file accesses so that we can support simultaneous reads from the CGI scripts. * Fixed bug in regression test framework which was still embedding the name of the test machine in the expected results. 2002-09-20 CVS: new release * Release: 2.0.61 2002-09-20 Paul Anderson * Refactored HTML handling into a separate module. The eventual aim to to generate all the HTML with CGI scripts, rather than pregenerating all the pages. * Removed option for auto refresh Javascript. * Changed format of status records, but still reading of old format for now. * Added some experimental (but not yet functional) CGI scripts to do the full and individual status pages. 2002-09-19 CVS: new release * Release: 2.0.59 2002-09-19 Paul Anderson * Another attack on the alleged spanning map dependency bug. test032 now uses the ipfilter schema. Tests the same node/component publishing/subscribing, and tests deletion of a published resource. Still seems OK. 2002-09-19 CVS: new release * Release: 2.0.58 2002-09-19 Paul Anderson * Added stats collection 2002-09-19 CVS: new release * Release: 2.0.57 2002-09-19 Paul Anderson * Added aggressive test for spanning map dependency bugs when things get deleted because gdmr though there might be a bug here. All looks OK to me. 2002-08-09 CVS: new release * Release: 2.0.56 2002-08-09 Paul Anderson * Documentation fixes only 2002-08-06 CVS: new release * Release: 2.0.55 2002-08-06 Paul Anderson * Including PDF copies of the status screens with the documentation 2002-08-05 CVS: new release * Release: 2.0.53 2002-08-05 Paul Anderson * Fixed slight bug in POD file 2002-08-02 CVS: new release * Release: 2.0.52 2002-08-02 Paul Anderson * Added icons for reboot flag and unexpected component states. 2002-07-31 CVS: new release * Release: 2.0.51 2002-07-31 Paul Anderson * Changed status display so that all groups are in one table. (This makes the alignment better) 2002-07-31 CVS: new release * Release: 2.0.50 2002-07-31 Paul Anderson * Fixed bug in acknowledgement latency * Moved "last known address off the main status page onto the individual host page. I'm going to save the space on the main status page and see what information people would find most useful ... * Fixed bug which was truncating UDP ack packets at 256. * Removed "rawxml" from the documentation (it disappeared from the code ages ago). * Some fiddling with the test framework so that it isn't sensitive compile-time host-specific pathnames. 2002-07-29 CVS: new release * Release: 2.0.49 2002-07-29 Paul Anderson * Fixed bug which didn't record the last modified file and directory properly if a host was modified due to a change in a spanning map. This has also producde better derivations for resources which depend on a spanning map. (test008) * Added ordering to the status display groups. 2002-07-26 CVS: new release * Release: 2.0.48 2002-07-26 Paul Anderson * Replaced relative pathnames in dice-test.mk 2002-07-23 CVS: new release * Release: 2.0.47 2002-07-23 Paul Anderson * Checking some common mutation errors (test018) * Don't show a "Components" section in the status file if there are no components (test011) 2002-07-22 CVS: new release * Release: 2.0.45 2002-07-22 Paul Anderson * Better diagnostisc if child process fails 2002-07-19 CVS: new release * Release: 2.0.44 2002-07-18 Paul Anderson * Added support for ng_cfdepend resource 2002-07-18 CVS: new release * Release: 2.0.43 2002-07-18 Paul Anderson * Synthesize resources for client 2002-07-15 CVS: new release * Release: 2.0.41 2002-07-15 Paul Anderson * Fixed (well worked-around) bug where the C preprocessor substitutes the symbol "i386". I think this is a bug in gcc. I don't think it should do that if I specify -undef. Anyway, I'v explicitly undefed it. It might appear again on some other architecture though ... (test029) * Fixed bug which caused files with unknown extensions to get stuck in the cache and reported even after they were deleted! (test028) * Fixed bug with rebuild if no status directory exists * Fixed some broken error calls 2002-07-12 CVS: new release * Release: 2.0.40 2002-07-12 Paul Anderson * Stripping leading and trailing white space from lines of validation files. 2002-07-12 CVS: new release * Release: 2.0.39 2002-07-12 Paul Anderson * Fixed bug in component which prevented valpath resource from working. 2002-07-10 CVS: new release * Release: 2.0.38 2002-07-10 Paul Anderson * Closing stdin/stdout when starting daemon 2002-07-08 CVS: new release * Release: 2.0.37 2002-07-08 Paul Anderson * Fixed bug so that only components with ng_statusdisplay true (or missing) are displayed. 2002-07-08 CVS: new release * Release: 2.0.36 2002-07-08 Paul Anderson * Fixed bug in rebuild routine which was not deleting profiles in domain subdirectories * Don't display components in status if ng_statusdisplay is false * Added ng_statusdisplay to profile.def so it appears in the status display and we can look at the resources. 2002-07-08 CVS: new release * Release: 2.0.35 2002-07-08 Paul Anderson * Fixed bug which attempted to create some status files with silly names of the profile.def file was missing. * Added support for LCFG::Utils to send error messages to LCFG logging system. * Added support for boot time and client version in status packet. * Added finer-grain icon status to acknowledgement reporting 2002-07-05 CVS: new release * Release: 2.0.34 2002-07-05 Paul Anderson * Fixed bug in server loop which was blocking on the child process when it shouldn't have been. 2002-06-28 CVS: new release * Release: 2.0.33 2002-06-27 Paul Anderson * Changed some URLs to match current version of logserver 2002-06-24 CVS: new release * Release: 2.0.32 2002-06-24 Paul Anderson * Don't display doc links etc for non-ng components because it might not exist .... 2002-06-24 CVS: new release * Release: 2.0.31 2002-06-24 Paul Anderson * Changed code for determining ports, so that defaults are used if there is no lcfg service in /etc/services * Add HTML links to the logserver pages for the components 2002-06-20 CVS: new release * Release: 2.0.30 2002-06-20 Paul Anderson * Removed some redundant variables 2002-06-19 CVS: new release * Release: 2.0.29 2002-06-19 Paul Anderson * Server now ignores files of type tmp when compiling a directory, and complains about files with unknown extensions. (test027) * Fixed bug with test suite which failed if run on a different host. * Created mADD macro which appends item to list only if it doesn't already exist (test025) 2002-06-17 CVS: new release * Release: 2.0.28 2002-06-17 Paul Anderson * Added NTIME and ATIME to individual status pages 2002-06-17 CVS: new release * Release: 2.0.27 2002-06-17 Paul Anderson * Added missing debug 'notify' flag. 2002-06-17 CVS: new release * Release: 2.0.26 2002-06-17 Paul Anderson * Fixed minor icon alignment problem 2002-06-17 CVS: new release * Release: 2.0.25 2002-06-17 Paul Anderson * Fixed displayed time of last ack in index (was displaying time of last profile by mistake) * Added "profile.group" resource * Added all three status icons to individual page headers * Changed syntax of ack packet to support more flags 2002-06-14 CVS: new release * Release: 2.0.24 2002-06-14 Paul Anderson * HTML tidied and tested on KDE, Netscape & Mozilla * Fixed problem with refresh script which wasn't getting generated if the poll interval was of the form "0?+N?". * Added option to enable the refresh stuff. This is currently disabeld by default because Netscape doesn't handle it very well ... 2002-06-14 CVS: new release * Release: 2.0.23 2002-06-14 Paul Anderson * Fixed bug in handling of inventory info for status page * (this caused a Perl error in some cases) 2002-06-14 CVS: new release * Release: 2.0.22 2002-06-14 Paul Anderson * Implemented component status icons * Now updating status pages on receipt of Acks 2002-06-13 CVS: new release * Release: 2.0.21 2002-06-13 Paul Anderson * Fixed bug with deprecate warning flag * Added valpath to defaults 2002-06-13 CVS: new release * Release: 2.0.20 2002-06-13 Paul Anderson * Displaying acknowledgement addresses as names * Displaying ack date on one line 2002-06-13 CVS: new release * Release: 2.0.19 2002-06-13 Paul Anderson * Disable deprecated warnings by default * Change ACK data format to support component list * Added component list to status file (but no mechanism yet to update component status) 2002-06-12 CVS: new release * Release: 2.0.18 2002-06-12 Paul Anderson * The server now handles ack packets which contain client * error information, rather than context information. This * is more useful than context information but the client * doesn't yet supply this. 2002-06-12 CVS: new release * Release: 2.0.17 2002-06-12 Paul Anderson * Work on the validation code: * Framework to allow calls to valdation functions in the server * File membership function * (motivated by need to replace old inventory model validation) * Hostname validation * (for validating URLS of critical servers!) * Soem other validation functions 2002-06-12 CVS: new release * Release: 2.0.16 2002-06-12 Paul Anderson * Provided header files for mutations and validations * Converted all tests to use the new mutation syntax * Provided script to convert sources to new syntax * Warnings for deprecated mutation constructs * FYI's here's a new example: * mCONCAT(:/foo/bar/blob) * Which replaces ... * !/(.*):(.)(.*)/$1:$2$3:${2}foo${2}bar${2}blob * Fixed a problem with the tests which were failing * if they were run on a different machine 2002-06-11 CVS: new release * Release: 2.0.15 2002-06-11 Paul Anderson * Major overhaul of HTML status displays: * Used icons to make meanings clearer * Javascript for auto-update of pages at poll interval * HTML standard conformance & validation in regression tests * Simplified display on main page * Include links to profile data 2002-06-07 CVS: new release * Release: 2.0.14 2002-06-07 Paul Anderson * Fixed some problems with the test suite where several tests were creating the same index file. Running all the tests would leave only one index file at the end, because they had been overwritten. * Support for multi-line macros * Executing validation expressions in a separate namespace. * Support explicit %list: type 2002-06-07 CVS: new release * Release: 2.0.13 2002-06-07 Paul Anderson * Implemented experimental new-style mutation to avoid problems of quoting. 2002-06-07 CVS: new release * Release: 2.0.12 2002-06-07 Paul Anderson * Assorted fixes to real bugs and things that escaped validation . Now covered by tests 021-024. The ambiguous resources are particularly nasty :-) 2002-06-05 CVS: new release * Release: 2.0.10 2002-06-05 Paul Anderson * Use explicit bash2 2002-05-22 CVS: new release * Release: 2.0.9 2002-05-22 Paul Anderson * Fixed manpage problem (Julian) 2002-05-10 CVS: new release * Release: 2.0.8 2002-05-10 Paul Anderson * Fixed bug with wrong HTML links in status page. 2002-05-09 CVS: new release * Release: 2.0.7 2002-05-08 Paul Anderson * Fixed broken XML in package list generation * Removed redundant $port from mkxprof. 2002-05-06 CVS: new release * Release: 2.0.5 2002-05-06 Paul Anderson * Changed 'server' to 'daemon' in debugging. 2002-05-06 CVS: new release * Release: 2.0.4 2002-05-06 Paul Anderson * Changed "rpms" to "packages" in resource names and lots of other places. In theory, the package names don't have to be RPMs - they could easily be .debs or even Windows things! if the right code exists at the client end ... 2002-05-01 CVS: new release * Release: 2.0.3 2002-05-01 Paul Anderson * Oh, that's nice. The regression tests found a problem! Ignoring SIGCHLD is obviously a bad idea - `cmd` fails on close (sometimes?). Reset SIGCHLD to default action. * Removed profile.reconfg_foo resources. These are used by the client, not the server. 2002-05-01 CVS: new release * Release: 2.0.2 2002-05-01 Paul Anderson * Ignore some signals in child process. The signals would previously have called the handlers declared in the parent process. This would not have caused any harm because the child would have a different memory space, but it's just possible that the signals would have caused an EINTR on some system call which would have gone undetected. 2002-04-26 CVS: new release * Release: 2.0.1 2002-04-26 Paul Anderson * Added support for 'null' profiles (which don't generate any code) Yes, this is usefule :-) Soemtimes you want to compile an entity just for its spanning maps. * Some heavyweight debugging and defensive coding on the serverloop which is still causing intermittent problems. * Fixed regresion tests which were broken by previous RPM changes. 2002-04-24 CVS: new release * Release: 2.0.0 2002-04-24 Paul Anderson * Fixed bug which didn't pass paths from server resources to sxprof in the component. * Fixed component bug where build-time substitution not made. * Fixed bug in run method for rebuilding 2002-04-24 CVS: new release * Release: 1.99.34 2002-04-23 Paul Anderson * Removed profile.rpmcppdefs and the -Dhostname. This allows the possibility of caching the rpmcfgs later on, and they aren't being used. * Always put RPM version and release in the profile, even if they are wildcarded. * Flush the .def file cache before each compile cycle. Otherwise changes to .def files won't get processed! * Include om resources in .def file * Component no longer needs explicit redirects to LOGFILE with latest ngeneric 2002-04-23 CVS: new release * Release: 1.99.33 2002-04-23 Paul Anderson * Now including ngeneric.def file in server.def * Removed profile.inv_ resources and now use direct references to the "inv" resources if they are present. Use inv.display to determine which fields to show. * Build-time configurable cpp command 2002-04-22 CVS: new release * Release: 1.99.32 2002-04-22 Paul Anderson * Changed inventory defaults in tests to match real inventory information 2002-04-22 CVS: new release * Release: 1.99.31 2002-04-22 Paul Anderson * Default boolean values now 'true' and 'false', rather than 'yes' and 'no'. * Removed the global '-n' option and replaced this with a per-node resource 'notify'. * Fixed bug in simple type checking which meant that list elements which had default values would not be typechecked. * Added support for string type validation with arbitrary Perl code. 2002-04-19 CVS: new release * Release: 1.99.30 2002-04-19 Paul Anderson * No longer allowing '*' and ':' in resource names. The '*' was a relic of the old oshdr files, but I've no idea why ':' was being permitted. Nothing seems to be using it anyway & it might cause problems if stored in some of the cache files which use ':' as a field separator. * The parser also seemed to allow multiple '+' for resource overrides. Thi has been removed too. * Prohibiting funny chanracters in host and domain names. Things like ':' and '.' here would definitely cause trouble ... 2002-04-19 CVS: new release * Release: 1.99.29 2002-04-19 Paul Anderson * Re-instated caching for .def files. On a typical run of 50 hosts which share a lot of .def files this seems to have improved performance by about 50%! Expect between 25-50% improvement, so we'll leave the caching enabled. 2002-04-19 CVS: new release * Release: 1.99.28 2002-04-19 Paul Anderson * Overhauled networking code for notifications and acknowledgements I *think* this will fix the longstanding bug in the server which caused it to miss a SIGCHLD and therefore stop processing. * Fixed bug with rebuild option which caused server to rebuild everything every time around the loop. 2002-04-19 CVS: new release * Release: 1.99.27 2002-04-19 Paul Anderson * Fixed documentation of debug and warning flags. Added script to generate these automatically. * Fixed bug which prevented errors getting reported to status file if something very bad happened during cpp. * Added support for running mkxprof as a non-root user * Added -c option to set the cache directory * Only delete an old profile after installing the replacement * Correct usage message 2002-04-18 CVS: new release * Release: 1.99.26 2002-04-18 Paul Anderson * Added support for multiple domains and explcit node names. 2002-04-17 CVS: new release * Release: 1.99.25 2002-04-17 Paul Anderson * This completes the file deletion code * Added code to allow the format modules to cleanup when rebuilding. 2002-04-17 CVS: new release * Release: 1.99.24 2002-04-17 Paul Anderson * Added support for file deletion detection * Quite a lot of hairy debugging of dependency problems test012 gives this a good workout * Fixed bug which was missing a dependency for spanning maps * Create dumpdeps to dump dependency info for testing * Changed terminology used for dependents 2002-04-15 CVS: new release * Release: 1.99.22 2002-04-15 Paul Anderson * Fixed bug in status comparisons 2002-04-15 CVS: new release * Release: 1.99.21 2002-04-15 Paul Anderson * Started work on deleted file detection ... 2002-04-15 CVS: new release * Release: 1.99.19 2002-04-15 Paul Anderson * Scalability test added * Rearranged code to compute last modified file & time * Added "Simple" profile format as an example 2002-04-15 CVS: new release * Release: 1.99.18 2002-04-15 Paul Anderson * Factored XML profile generation into separate module * Added support for pluaggble profiel generators * Factored status handling into separate module * Changed namespaces to lcfg.org * Fixed some problems in error recording for the test framework * Added a test for merging components into one spanning map 2002-04-12 CVS: new release * Release: 1.99.17 2002-04-12 Paul Anderson * Removed the -A option. We don't need this now that we can keep source files in separate directories. * Added code to keep track of file times, so we can process just the changed files. (no doing checksums (yet?)) * Re-arranged some more code. I *hink* it is starting to look a bit cleaner. 2002-04-12 CVS: new release * Release: 1.99.16 2002-04-12 Paul Anderson * Recompiling hosts changed by spanning maps Testing it. But no loop checking in place yet! * Script to print out new test files that need adding to cvs * Tests for basic dependencies * Recording process times and cache sizes from tests * Clearing all caches before each test * Preserve the test log in the CVS 2002-04-11 CVS: new release * Release: 1.99.15 2002-04-11 Paul Anderson * Changed terminology import/export => subscribe/publish * Added support for subscribing to multiple maps * Added support for publishing to multiple maps * More work on test framework * Bug fixes and matching tests 2002-04-11 CVS: new release * Release: 1.99.14 2002-04-11 Paul Anderson * Added regression test framework. 2002-04-10 CVS: new release * Release: 1.99.13 2002-04-10 Paul Anderson * First alpha version of complete spanning map code * Changed LCFGDEF => LCFGSERVERDEF 2002-04-06 CVS: new release * Release: 1.99.12 2002-04-06 Paul Anderson * Added experimental type syntax to specify "spanning maps" These currently just print the spanning map to STDOUT for debugging. * Added support for mutation in .def files. This allows component .def files to include other .def files for thinsg like ngeneric resources and om resources. The mutationis necessary so that invividual components can change the default values for some of the included resources. Type mutation is also supported (!) This allows individual components to add extra fields to a defined record type (for instance). This could be useful in in conjunction with the new spanning map support. 2002-04-05 CVS: new release * Release: 1.99.11 2002-04-05 Paul Anderson * Dependencies are now tested and working again * Rsync of multiple directory hierarchies is tested * Documentation changed * Component script updated for new resources * Defaults updated for new resources 2002-04-05 CVS: new release * Release: 1.99.10 2002-04-05 Paul Anderson * This release is still not complete, but it has a major reworking to support multiple source directories ... * Separate paths for headers, sources, rpms and def files * Support for subdirectories in all of these * Full pathnames in derivations * Rework of the dependency system * Removed support for old-style context syntax * Removed support for raw XML 2002-04-04 CVS: new release * Release: 1.99.9 2002-04-04 Paul Anderson * Started re-arrangement to support multiple source directories. None-functional version. 2002-04-03 CVS: new release * Release: 1.99.8 2002-04-03 Paul Anderson * Removed RPM repository and wildcard handling * Fixed bug in hostfile procesing 2002-04-02 CVS: new release * Release: 1.99.7 2002-04-02 Paul Anderson * Added client and server defs 2002-03-26 CVS: new release * Release: 1.99.5 2002-03-26 Paul Anderson * Changed some defaults 2002-03-22 CVS: new release * Release: 1.99.4 2002-03-22 Paul Anderson * Separated "profile" resources from server" resources. 2002-03-22 CVS: new release * Release: 1.99.3 2002-03-11 Paul Anderson * Removed "issue" support * Removed class support * Removed os_hdr support 2002-03-08 CVS: new release * Release: 1.99.2 2002-03-08 Paul Anderson * Lots of bug fixes. Now seeems to run without crashing. Still needs more testing though. 2002-03-08 CVS: new release * Release: 1.99.1 2002-03-08 Paul Anderson * Sorted out resources. 2002-03-08 CVS: new release * Release: 1.4.8 2002-03-08 Paul Anderson * The original "profile" module has been separated at this point into "client" and "server". This module contains the files for the server end. No attempt has been made to make this work yet. 2002-03-06 CVS: new release * Release: 1.4.7 2002-03-06 Paul Anderson * Fixed documentation error about name of .def file. 2002-02-27 CVS: new release * Release: 1.4.6 2002-02-27 Paul Anderson * Added schema versions 2002-02-25 CVS: new release * Release: 1.4.5 2002-02-21 Paul Anderson * Now accepting the new #line directives generated by cpp under RH 7.1 2002-02-19 CVS: new release * Release: 1.4.3 2002-02-19 Paul Anderson * Tidied & fixed test directory creation * Removed explicit Perl library directory 2002-02-12 CVS: new release * Release: 1.4.2 2002-02-12 Paul Anderson * Including docs in main RPM 2002-01-30 CVS: new release * Release: 1.4.1 2002-01-29 Paul Anderson * Fixed bug in context method * Removed obsolete prefix option from setctx 2002-01-28 CVS: new release * Release: 1.4.0 2002-01-28 Paul Anderson * DICE production release * Converted component to use ngeneric * Lots of small things tidied up 2002-01-28 CVS: new release * Release: 1.3.52 2002-01-28 Paul Anderson * Removed DB file routine to lcfg-utils * Removed ldxprof to own RPM (going to be obsolete) 2002-01-21 CVS: new release * Release: 1.3.51 2002-01-21 Paul Anderson * Don't include the .libs file in thr tarball 2002-01-17 CVS: new release * Release: 1.3.50 2002-01-17 Paul Anderson * Minor fixes to bib file. 2002-01-07 CVS: new release * Release: 1.3.49 2002-01-07 Paul Anderson * Minor documentation changes 2002-01-03 CVS: new release * Release: 1.3.48 2001-12-06 Paul Anderson * Validated identical to 1.3.35 * Updated to use dice-buildtools 2001-11-02 CVS: new release * Release: 1.3.35 2001-11-02 Paul Anderson * Incorporated bug fixes from lcfg-adapt-1-4: * Fixed poll timer bug in mkxprof. * Silently ignore ACKs from unpublished clients. 2001-10-31 CVS: new release * Release: 1.3.34 2001-10-31 Paul Anderson * Removed doc method from .def file 2001-10-31 CVS: new release * Release: 1.3.33 2001-10-31 Paul Anderson * Changed RPM group 2001-10-26 CVS: new release * Release: 1.3.32 2001-10-26 Paul Anderson * Added changelog to RPM * Added header to .def file 2001-10-25 CVS: new release * Release: 1.3.31 2001-10-25 Paul Anderson * Removed qxprof from documentation. 2001-10-23 CVS: new release * Release: 1.3.30 2001-10-23 Paul Anderson * Removed unused configuration variable DBTYPE * Removed qxprof - now appears in lcfg-utils RPM 2001-10-19 CVS: new release * Release: 1.3.29 2001-10-19 Paul Anderson * Added BIB file * Not displaying release number in printed versions * Other small build fixes 2001-10-19 Paul Anderson * Conforming to guidelines 2001-10-17 CVS: new release * Release: 1.3.20 2001-10-17 Paul Anderson * Fixed bugs in building documentation. 2001-10-17 CVS: new release * Release: 1.3.7 2001-10-17 Paul Anderson * Minor fixes to man page & build process 2001-10-16 CVS: new release * Release: 1.3.6 2001-10-16 Paul Anderson * Created INSTALL file * Standardized man page name * A few minor fixes 2001-10-16 CVS: new release * Release: 1.3.5 2001-10-16 Paul Anderson * Generating separate RPM for resource defaults 2001-10-10 Paul Anderson * Minor fixes to displayed version numbers 2001-10-10 CVS: new release * Release: 1.3.4 2001-10-10 Paul Anderson * Included simple Windows client from development stream * Fixed another bug in spec file 2001-10-10 CVS: new release * Release: 1.3.3 2001-10-10 Paul Anderson * Added branch support to config.mk * Fixed bug in spec file 2001-10-10 CVS: new release * Release: 1.3.2 2001-10-10 Paul Anderson * Cosmetic changes to spec file - groups, descriptions, etc. * Distributed README files 2001-10-10 CVS: new release * Release: 1.3.1 2001-10-10 Paul Anderson * Completely rewritten build system and moved source code the CVS repository. Should be no change in the distributed code. 2001-09-26 Paul Anderson * Version 1-3 * Changed 'domainname' to 'dnsdomainname' in rdxprof, otherwise it doesn't work properly on machines without NIS (ajs). 2001-09-18 Paul Anderson * Version 1-2 2001-09-13 Paul Anderson * Version 1-2 * Added rawxml support which is necessary to generate arbitrary XML outside of the component for use by DataGRID CCM. 2001-08-13 Paul Anderson * Version 1-1 * Fixed nasty bug with PIDs which would crash the system when stopping the profile component, if both mkxprof and rdxprof were disabled, or failed to start. * Commented the example profile.def file and made sure that the default values are sensible for new installations. * Removed the need for a mandatory OS header resource. This is completely unnecessary and confusing for new installations (use a header file instead), and is now deprecated. * Earlier versions of bash fail with "==" as a test operator. Changed to "=". * Removed the obsolete "-u" information from the usage message in mkxprof (there is no -u option). * Determining current domainname by looking at the FQDN of the current host, if `domainname` returns null as it appears to on some systems (may those without NIS or something?). 2001-08-01 Paul Anderson * Version 1-0 * Releasing version1. This is intended to be stable for a while. * Removed half-baked code to generate DTDs. If this ever happens, it should be a separate package. 2001-07-31 Paul Anderson * Version 0-52 * Fixed bug which generated interestingly broken XML when the source file was missing a default for a list resource. * rdxprof no longer attempts to send an ACK if is it being reconfigured. This prevents spurious error messages when a "network down" context change occurs. * rdxprof now attempts to process any pending context changes before trying to fetch a new profile. This prevents spurious errors and long timeouts when "network down" context changes occur. * Changed "name" attributes to "cfg:name" to conform with XML spec. (this requires clients >= 0-47). * Some cosmetic message changes. 2001-07-30 Paul Anderson * Version 0-51 * Fixed bug in profile object which failed if a context method had more than one argument. * Changed the misleading "unauthorized" notification message to "unexpected". * Version 0-50 * Fixed bug with 7.1 sigh. Using the NBM compatibility mode of DB2 in ldxprof expects the filename to end in ".db". * Version 0-49 * Ported to Redhat 7.1. Mostly involved fiddling with versions of the DB libraries! Dropped explicit support for GDBM and tried to get the Makefile to guess what version of the DB libraries to use. * rdxprof now stores a list of resources for each component in the DBM file. This makes it much faster for qxprof and any future programs to locate all the resources belonging to a particular component. * rdxprof now stores the template for list type items in the DBM file. This is useful for debugging (qxprof) and it allows future programs to reconstruct the structure of the resources. 2001-07-27 Paul Anderson * Version 0-48 * This release follows a major review of the context stuff. I've been looking at the applications which would use contexts to try and work out which features are useful/ essential/not-needed and which of these are sensible to implement. In summary: - Context expressions look like they are very useful, if not essential. They are pretty easy to implement, so I've done it; we can now see how much they get used. I hope they don't get abused .. - The ability for a local context file to "delete" a resource from the default list is very useful. The alternative is to insist on the component providing a "disable" resource for every list element, which we could override. I don't see many problems with this, so I've implemented it. - The ability for a local context file to "add" items to a list also looks useful at first sight, but this looks like a really bad idea - the lcoal file would have to invent all the right components for all sub-elements of the list, since it wouldn't have access to the defaults. I don't think we should eprmit this. I haven't found a case where it is really necessary. - mkxprof and rdxprof use common code to validate and evaluate context expressions and server and client end. setctx can now evaluate arbitrary expressions for debugging. * Not printing timestamps on log messages except when running as a daemon. * rdxprof now accepts boolean values with any of the legal values defined in the spec and converts them into null/yes so they can be tested by the usual LCFG component shell commands. * Replaced the generic " element used to group LCFG resources with individual (more meaningful) tag names generated from the container tag. 2001-07-26 Paul Anderson * Version 0-47 * This release is mostly a review of the XML spec to make sure that we conform to it. * Corrected rdxprof to use "cfg:name" instead of just "name" as per the XML spec. At present, rdxprof still understands "name" as well, and mkxprof just generates "name". Once all live systems are using the new client end, the server can be changed to generate the new attribute. * Added basic support for type attributes as required by XML spec. * Added lcfg namespace declaration to XML as required by spec. * Fixed bug to make context-specific lists work. (Not that I'm sure it's a good idea to actually use this ...) 2001-07-25 Paul Anderson * Version 0-46 2001-07-24 Paul Anderson * Added error handler to report XML error messages using the standard error reporting. We wouldn't expect errors in the generated profiles, but you might see them in local context files. * Changed the handling of contexts so that the form var=val is mandatory. This allows context expressions with an empty RHS to test for default values. * Added the setctx program for setting contexts. This is necessary to avoid race contions that might occur in practice once several programs such as divine start setting contexts. * We now reconfigure components in the order specified in the profile.components resource. This allows us to make sure that things like ipchains get configured before things which might depend on them. * Some things in rdxprof which were classed as fatal errors are now classed as transient errors. For example, an unknown hostname might be due to an unconfigured DNS which might correct itself by the next time we poll. In fact, very little should be a fatal error - if the rdxprof stops polling its bad news. * Added log message when rpmcfg files are processed (even though we don't actually do anything with them except trigger dependents). * Some cosmetic changes to status page layout to cope with longer context information. * Fixed bug which prevented reconfigured components seeing changed resources bevause the DBM file wasn't flushed in time. 2001-07-23 Paul Anderson * Version 0-45 * Documented RPM wildcard handling. * Fixed bad performance problem with RPM wildcard caching. This is still slow, but just about acceptable now. Also using DB_File by default instead of GDBM because it seems to give much smaller file sizes. * Fixed bug which left object name set wrong in environment when calling component methods. * Made the choice of DBM technology much easier to configure. Added "format" extension to DBM filenames so you don't get in a mess when you change formats! * We now notify all components (except the profile) of reconfig events *before* calling update to update the RPMs. * Don't try to fetch a new profile immediately when the context changes - we might need to reconfigure the component first ... * Added HTTP timeout option. 2001-07-20 Paul Anderson * Version 0-44 * Started work on "mprofdtd" to generate DTDs from .def files. However .. it seems that there are some technical problems here. This is temporarily on hold. mprofdtd is half-baked and does not get installed. * Fixed bug in RPM parsing which left a "+" in front of some names. * Fixed bug in RPM config which missed out versions of "0". * Fixed bug in resources which should have accepted space-separated lists and transformed them into comma-separated arguments (but didn't). * Fixed bug - RPM context attributes not generated unless derivations enabled. * Fixed bug - mtime of published profile not reflecting changes to rpmcfg files. * Fixed bug - options not getting written to generated rpmcfg file by rdxprof. * Permitted "=" in context specifiers. * Added some informational elements to the profile. * Removed -t option from mkxprof, since generating profiles without this is useless. 2001-07-18 Paul Anderson * Added experimental code for server-end evaluation of wildcards in RPMS. The -c option tracks dependencies and the -C option substitutes versions in the profile. Note that the -c option already increases runtime by about 50% because of the large dependencies. The Deps.pm module should probably get a new algorithm if we want to use this in anger. * LCFG tag/resource names which start with a digit or underscore now have an extra underscore prepended in the XML to match the XML spec. The extra underscore is stripped by rdxprof. * Documented RPM handling. 2001-07-17 Paul Anderson * Version 0-43 * Changed the UDP reception so that packets are now accepted from any address and the contents of the packet are used to identify the host. The sending address of an ACK packet is stored by the server and used when sending the next notification. This means that notifications and acknowledgements work even for portables on foreign networks. Since only the short hostname is used, this works across domains, as long as the hostnames are unique. The actual address from which acknowledgements are received is shown in the status display which tells you where machine are. There is (currently) no authentication in the UDP packets, so it is theoretically possible to send spoof acknowledgements and notifications. If you think this is a problem, then block the lcfg ports at the firewall, or turn off the ack processing. * Display some information on the option settings when the server starts. * Added code to handle importing of rpmcfg files by rsync, and dependency processing (still no documentation). 2001-07-16 Paul Anderson * Version 0-42 * Fixed bug in inventory information display. * Changed permissions on DBM files to be world readable. * Fixed bug which was trashing the status cache file. This was a stupid bug in the end, but as part of the debugging, DB_File support was added (instead of GDBM). This is not being used now, but it is left in place (commented out) in case anyone wants to use it. * The update component now gets reconfigured if the RPM config file changes. * Added support for contexts to the RPM specifications. This allows different contexts such as "production" and "development" to have different RPM sets. * Oops. The statement about tested components in v0-38 is not quite right. All those components were generated, but only the following were actually compared with live data: alsasound amd apm auth autofs boot divine dns hardware inet init ipchains kdm kernel lpd mail omd ramdisk routing snmp ssh syslog update vmware xntpd yp 2001-07-13 Paul Anderson * Version 0-41 2001-07-12 Paul Anderson * First attempt at including the RPM config information in the profile. I wanted to do this to get a feel for the profile size. There is currently no dependency handling, no documentation, and no fetching of rpfcfg files from a master server. * Created separate inv_ resources for the inventory information. This makes use of the reference feature to provide the inventory information by default, but to allow it to be overriden where necessary. 2001-07-11 Paul Anderson * Version 0-40 * Fixed typo bug which used Record instead of Report. * Changed the status cache code again to see if it makes any difference to the intermittent bug which keeps corrupting the DBM file. * Added the xmldir resources and -x option to rdxprof. This allows a machine running a server to get it's own resources directly from the filesystem without using the web. * Version 0-38 * This is a significant release. It is the first release which has been tested to generate identical resource values for all the components running on a typical live machine. This includes: alsasound amanda amd apache apm auth autofs boot cron dhcp divine dns fax hardware inet info init inv ipchains irda kdm kernel lpd mail nfs nut omd pam postgres profile ramdisk rfe rmirror routing rsync snmp ssh syslog update vmware xdlic xdm xntpd yp * Added support for "enumerated tags" which was required by the ipchains component. * Added support for "references" which was required by the snmp component. * ACK packets now contain the context. This allows the server to display current contexts in the status display. The format of the UDP packets has also changed to include the hostname and an (unimplemented) authentication token. In the future we would like to be able to handle packets from portables on foreign networks where the source address cannot be used to determine the hostname, and we probably want some kind of authentication. 2001-07-10 Paul Anderson * Version 0-37 * Added namespace specifications to the XML. Also changed some attribute names to match the specification. (timc) 2001-07-09 Paul Anderson * Added support for contexts, including: * context method in profile object * support for local context "override" files * generation of context-specific resources from LCFG sources * Defining LCFGNG symbol in cpp so we can add resources which are ignored by the original LCFG. 2001-07-06 Paul Anderson * Version 0-36 2001-07-05 Paul Anderson * Documented the reconfiguration & acknowledgement features, and problems with defaults. * Changed the reconfig_ resource to allow arbitrary methods to be specified. * Fixed bug in status information caching (sxw). * Added -A option to mkxprof. Useful for testing to enable profiles to be generated for any machine. * Removed bogus -w flag from rdxprof usage. * Tested by comparing the output on a real machine with the output from the old-style LCFG. The remaining problem areas are listed in the TODO file. * Added the "release" target to the makefile to create new releases (needs some Emacs support to make the ChangeLog entry). THe ordinary "rpm" target now appends a "dev" to the release number - this helps to avoid accidentally checking in development versions with the label of a real release. 2001-07-03 Paul Anderson * Version 0-35 * Fixed small bug in debugging messages. * Version 0-34 * Major cleanup of domain handling. The adaptors now only work for clients and servers in the same domain. There was a big confusion before in handling multiple domains, because host source files are identified only by the (short) hostname. Now that the slave servers are working, there is probably no need to serve across domains. * The above cleanup has also fixed the bugs with the ACKs. * Now checking against the primary name of servers, so that aliases work in URLs. * Changed name of notification and acknowledge UDP ports * Added timestamps to debugging and error messages * Fixed a few small error message bugs & cosmetics. * Fixed bug in ldxprof (patch from sxw) * Added -o to allow rsunc options to be specified. 2001-07-02 Paul Anderson * Version 0-33 * This version still has bugs. Do not use. * Re-arranged code for generating status summaries. We now keep the summary information in a DBM cache. This is cleaner and faster, and it allows us to add other things to the summary more easily. * Also changed the conditions under which profiles are published. We now publish profiles only for those clients who include the current server in their profiles.url. Status files are still generated for all host files. * Re-arranged the code for accepting UDP notifications. We now defer the authorization until the main processing loop. This is much tidier and it allows us to do more complex things without holding up the event dispatcher. * Added code to support client achnowledgements. * Fixed bug with profile reconfig method which errored with "om" because it didn't print OK. 2001-06-29 Paul Anderson * Version 0-32 * qxprof can now show all resources for a component. * If the inv component is present in profile.components, we display some inventory information on the status page * Version 0-31 * Documentation! * Version 0-30 * Implementded a crude reconfig method for the profile component (restart it if anything changes) * We now require the resource "profile.reconfig_FOO" to be non-null before we send a reconfig to a changed component. This allows the reconfig method to be declared in the defaults so it can be called by "om" even if we dont want it executed automatically. * Only send reconfig to running components. * Send reconfig to the profile component itself *last*. * Now passing a list of changed resources to the reconfig method. * Hard coded the names of some special resources which were previously variables. This removed some unnecessary code and is easier to read. * Added a "client_debug" resource to separate the rdxprof debugging from the script debugging. 2001-06-28 Paul Anderson * Version 0-29 * Fixed bug which meant that dependencies didn't get recorded for files with no profile.components resource. This means that such files were not being updated if a profiles.components resource was later added. * Added support for versioning of component default files (for ajs). The profile.version_foo resource can be used to define a version of the def file. * Added "rebuild" method to profile component which causes slave to do a complete rebuild of all files. * Fixed bug which didn't create directories properly at install time. * Some cosmetic work 2001-06-27 Paul Anderson * Version 0-28 * Completed the work started in the previous version to tighten up the handling of timestamps and notifications. This now includes the ability to specify multiple URLs with randomization between them. * The server now only notifies client whose URLs reference the same server. * The client now only accepts notifications from servers listed in the URL path. The -s optiona and the corresponding resource have been removed. * Added qxprof utility to report values of resources from the local dbm file. Use -v to get the derivation and issue as well. * Some cosmetic work 2001-06-26 Paul Anderson * Version 0-27 * Documented some reasoning about the handling of timestamps and notifications in the file NOTES. This is intended to demonstrate that we never pick up old profiles, and we don't make unnecessary HTTP requests, even when multiple slave servers are involved. * Started to implement some of the extra code necessary to support the above. * Fixed a few small problems with error messages. 2001-06-25 Paul Anderson * Version 0-26 * Implemented component notification: if a component has a "reconfig" method, the method will be called by rdxprof anytime any of its resources has changed. * Added version to startup message in log file * Version 0-25 * Fixed bug in install method which still used old (-s) option instead of -u. * Fixed bug which caused continous polling if no poll option present. * Fixed bug in profile object which diabled all notification acceptance by default. * Fixed bug in profile object which didn't save accept resources in status. * Documented the various options for running a profile server. 2001-06-22 Paul Anderson * Version 0-24 * Some rather fundamental changes to the error handling in mkxprof. Previously, we didn't install *any* profiles if *any* profile contained an error. This is a bit strict, and it doesn't work with the server because fixing the broken file wouldn't initiate a regeneration of the others. We now install profiles for everything which compiles correctly. This has involved some rather hacky code changes. The code is going to need some refactoring if there are any more major changes to this. * Added an option to generate individual HTML files containing errors for each host, rather than dumping them all in the logfile. * Now deleting temporary errfile when we have finished with it. * Changed options again to unify the web options used by the client and the server. -u now specifies the URL, and -w the corresponding publishing directory, for both client and server. Profiles are stored in the profile subdirectory, so it is easy to add new things to the web without requiring further options. Corresponding changes to profile resources. * Removed the domain component from the URL. This can easily be re-instated if it really becomes necessary to support multiple domains from the same server. * Changed some pathnames. (Attempting to make all the compatibility-breaking changes in one go :-) * All working directories are now created at runtime, if required, rather than being included in the specfile. 2001-06-20 Paul Anderson * Version 0-23 * Added per-host access control to UDP notification port. (-a options and "accept" resource) * Added resource to support derivations and issues * Fixed rdxprof to recognise issue attributes and store them in the DBM file. * Version 0-22 * Documented & tested the daemon mode of mkxprof. * Major overhaul of error handling. When we are running as a daemon, it isn't always obvious whether particular errors should abort the whole daemon, or whether the daemon should keep going and try again at the next poll. It is now easy to specify either action for any particular error. * Added -w option to mkxprof/resources to set the web directory * Fixed slave_notify option in profile object 2001-06-19 Paul Anderson * Version 0-21 * Added daemon mode to mkxprof. WARNING: you need to have entries for "lcfgclnt" and "lcfgslav" UDP protocols in /etc/services: lcfgclnt 732/udp lcfg lcfgslav 733/udp * Added support for mkxprof daemon to profile object * Fixed bug in arguments to install method * Tidied some code in rdxprof * WARNING: changed some options to mkxprof to make them compatible with the daemon options on rdxprof. * Fixed missing "oshdr" warning flag in mkxprof * Daemons now wait for child processes to terminate before exiting if they receive a termination signal * Changed signals: HUP => reload, INT => terminate 2001-06-18 Paul Anderson * Version 0-20 * Fixed bug in rdxprof which didn't recognise -r * Fixed bug in profile object which didn't recognise install method * Fixed bug which created the depfile as a directory by mistake * rdxprof doesn't now report duplicate resources by default. These warnings get generated legitimately by certain configurations of nested resources (eg. pam.def) * Added SIGUSR1 to rdxprof to notify updates * Added a "run" method to the profile object which sends a SIGUSR1 to the rdxprof daemon to initiate an update * Added randomization option to update poll 2001-06-15 Paul Anderson * Version 0-19 * Added profile.def * Missing profile.components now generates warning rather than error. 2001-06-13 Paul Anderson * Version 0-18 * Now include all the data directories in the RPM rather than create/delete them in the post/pre. This gets rid of the post/pre scripts and it means that we don't delete any data in these directories when the RPM is uninstalled (pros & cons ..) * Added separate client and server packages * Added bug fix from sxw to prevent ldxprof crashing when there is no value in the DBM file for a given resource. * Documentation not now regenerated when simply rebuilding the RPM. 2001-06-05 Paul Anderson * Version 0-17 * Added "publish" target to publish docs on web 2001-06-01 Jan IVEN * fixed ldxprof for missing keys * fixed rdxprof for hostname 2001-05-17 Paul Anderson * Version 0-16 * Don't delete client DBM file when upgrade RPM! * Version 0-15 * Documented the need for an LCFG port in /etc/services * Version 0-14 * Fixed Makefile so that SRPM stores PDF & HTML documentation. This avoids having to have all the TeX stuff present just just to rebuild the RPM. 2001-05-15 Paul Anderson * Version 0-13 * Added some more "Requires" 2001-05-14 Paul Anderson * Version 0-12 * Added -r option to rdxprof * Added "Install" method to profile component * Added more resources to profile component * More work on documentation (diagram, references,...) 2001-05-11 Paul Anderson * Version 0-11 * We now don't attempt to install *any* of the new profiles if there are any errors. * Implemented profile.os & profile.components * Added -n option to mkxprof * Put -n option of ldxprof in Usage (not yet implemented) 2001-05-10 Paul Anderson * Version 0-10 * Added documentation 2001-05-02 Paul Anderson * Version 0-9 * Client notification now working * Version 0-8 * Tightened error handling & logging in server. * First draft of object 2001-05-01 Paul Anderson * Version 0-7 * Changed _LoadObjResources to ldxprof * More small things 2001-04-30 Paul Anderson * Version 0-6 * Added server code * Version 0-5 * Added fetching of profile via HTTP * Added installation of DBM file & change notification * Lots more small things 2001-04-29 Paul Anderson * Version 0-4 * A few bug fixes & changes * Version 0-3 * Changed package name back to lcfg-adapt * First draft of rdxprof 2001-04-27 Paul Anderson * Version 0-2 * Lots of work, particularly on list matching & analysis 2001-04-25 Paul Anderson * Version 0-1 * First version under RCS control