1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786
|
<HTML>
<HEAD>
<TITLE>cfengine news</TITLE>
</HEAD>
<BODY>
<H1>cfengine changes and patches</H1>
<pre>
Numbers are [Major version].[Minor version].[Patch release]
***************** Minor Version 4 ********************
1.4.9
ReleaseCurrentLock exited if remove failed. This was wrong,
should only have returned and caused a truncation of the
action sequence.
ERESTARTSYS deadlock patch for POSIX.1/SVR4 while restarting
daemons. Processes would hang, never receiving end-of-file on
the pipe. A timeout has been added as a workaround.
Support for Access Control Lists in files and copy. Currently
implemented for solaris, and dfs only.
blocksize calculations rewritten to avoid division by zero error.
Error in installing required class info. Introduced in 1.4.8
define= directives added to process, editfiles, files, tidy, link and disable
DNS lookup case control to avoid unusual problems with case mismatch.
$(host) not expanded when domain not set: fixed.
Output rationalization in different modes, including possibility of logging.
Note that the status of some messages has changed. You might need
to set Inform = ( on ) in order to see the messages you want to see.
Messages may now be routed to syslog.
Bug in server= fixed for net copy. Previously a pointer error
New option to shellcomand: useshell=true/false. If false, cfengine
uses an internal popen replacement which does not use an intermediary
shell to start programs. This addresses several security issues in
starting programs with root privileges.
New option to copy: purge=true/false. If true, cfengine will remove
files in the destination dir which do not exist in the source dir
when recursively copying directories.
control options Verbose = ( on ), Inform = ( on ), Syslog = ( on )
which switches the output level from within the config file. Also:
Warnings = ( on ), DryRun = ( on ) to set other command line options.
Bug in relative linking fixed.
Bug in overlaying permissions mostly fixed in copy. Still some
residual weirdness when using complex masks.
Garbage appeared in copy define=classes.
AutoCreate would not work with BeginIfFileNewer
1.4.8
Cfengine now detects redhat linux and defines a class. Welcome redhat.
Variables can now be used in the control section itself, to define other
variables and so forth.
Drop setpgrp and use setsid instead, if it is found, to get around the
incompatible argument.
Non canonical $(arch) canonified so that it is not confused as a list variable.
OutputPrefix doesn't automatically append hostname now, since you can always
do this yourself with variables in the OutputPrefix string.
Bug in copy, permissions finally fixed? Pleeeaasse?
Output format changes.
New option to links, nofile=force allows you to create links to files
which do not presntly exist.
1.4.7
Copy : "return" instead of "continue" in GetLock. Meant that if one
lock failed, all copies were abandoned.
Setuid root files copied without setuid bit. Fixed.
Segmentation fault in "InsertFile" Fixed for empty files.
Scanf workaround for linux in remote copying, caused incorrect
values to be read and thereby incorrect file modes.
Problem in variable expansion fixed?
setpgrp() in cfd
Documentation updates.
Possible segmentation fault in inode caching fixed.
Minor suggestions to autoconf implemented.
1.4.6
CompressPath moved to filename.c to avoid linking problem in OSF.
More Too Many open files bloopers fixed.
cfd: transfer synchronization problem could break filenames in readdir() fixed.
Recursive tidy including directories fixed so that top directory is now
deleted.
cfwrap altered so that identical multiple messages are filtered, or shown only
once per day
1.4.5
Symbolic link inode number transferred incorrectly from cfd, leads to remaking
symbolic links during remote copies, owing to confusion of hard and soft links.
Some unclosed socket loopholes fixed. Too many open files error.
Variable syntax error, misdiagnozed if other braces used. Fixed.
1.4.4
Repository error, files not being properly backed up. Fixed.
Documentation config changes.
1.4.3
AIX4 -> AIX in df.c. Typo in freespace code.
Incorrect locking of editfiles fixed. Unique names previously omitted.
Editfilesize can be set to zero to be ignored.
Class defines in required: bugfix, items not installed.
BeginGroupIfFileExists checked the wrong file!!
cdrom filesystems do not generate warnings if not immediately mountable
html files no longer distributed
Binaries are now installed in sbin instead of bin.
scripts are now installed in lib/cfengine instead of sbin
1.4.2
Timeout for reading input files (can happen during hanging NFS) could lead to
multiple cfengines being started unwillfully.
Emacs major-mode contributed by Rolf Ebert
include/exclude patterns in files fixed (broken in 1.4.0)
Broken pipe error in cfrun fixed.
Variable OutputPrefix can be used to change the default "cfengine:"
prefix on output lines.
1.4.1
Bug in parser. Trailing slashes defeat 2Dlist expansion. Fixed for tidy.
cfd rereads system clock.
Copy permission bug fixed.
File reorganization to reflect inheritance structure.
Change in cosmetic details of locking implementation.
Some manual inconsistencies fixed.
Bug in cfrun parsing comments fixed. (Missed next line)
Bug in editfiles increment pointer fixed. Decrement to before start of file
is not longer a fatal error.
Permissions on rotated files were not preserved in 1.4.0. Fixed.
Trailing dots from DNS/gethostbyname are now truncated away
Editing symbolic links, edits file instead.
Default value of IfElapsed is now zero, so that antispam locks are turned
off by default.
1.4.0
Debian systems now detected and have an additional class "debian" in addition to linux
New option "define=class1,class2" to "copy" command defines a list
of classes only if a file is copied.
This allows followup actions to be added to other sections.
Variable list iteration in shell-commands. Enhanced iteration source code.
New option in disable: size=, size=>, size=< for byte size comparisons. Files are
only disabled if the criterion is met.
Hourly classes are added to the automatic class engine: Hr00 to Hr23 can now be used.
Update messages in copy were erroneous in some cases, although copying was performed
correctly. Fixed.
Hyphens in hp-ux etc hard classes changed to underscores.
It is now possible to override the name of the network interface in the control
section of the program. This allows funny OS installations on unusual hardware
to set the net interface for a specific class.
control:
nextstep::
interfacename = ( blah0 )
New editing commands:
CommentLinesContaining,
BeginGroupIfFileIsNewer,
BeginGroupIfFileExists,
BeginGroupIfNoLineContaining,
AutoCreate
Bug in alpha/netbsd with segmentation fault in exit() repaired,
some kind of pointer misunderstanding with a null string.
New safer algorithm for copying files, first copies a modified
file to a new file on the local filesystem. When transfer is complete it is
renamed into place. This helps avoid race-conditions and problems
where copying is halted underway due to network lossage.
New debugging option d3 provides summarial info.
Timeout option in shellcommands allows timeouts after a fixed number
of seconds.
Timeouts in place for all RPC operations connected with "mount".
Sizes in disable and tidy now may specify units, bytes, kilobytes, megabytes (b,k,m)
First character significant only. e.g. size=30kilobytes is okay.
include=, exclude= patterns in file searches
Remote copying partially implemented with server daemon cfd.
Typo in tidy concatenation with multiple wildcards fixed.
Extra time classes added allowing a complete front end for cron. Additional
manual chapter on this.
copying of links without a directory reference now prepends "./"
Copying now preserves hard links where possible.
File Rotation in disable does not break file handles any more.
Copied/disabled files now back up to .cfsaved whereas edited files
back up to .cfedited, to avoid overwriting the backup in copy-then-edit
scenarios.
Checksum comparisons are now optimized by checking the number of
bytes before launching into a checksum computation.
Several new edit commands.
New locking mechanism with atomic locks which allow several cfengine's
to coexist. Also antispamming mechanisms built in.
CheckResolv reworked to avoid editing each time.
AddToFstab will add to file if fs mounted
SplayTimes added. causes cfengine to sleep a unique amount
of time for each host, up to a maximum time. Can be used to
avoid race conditions and contention.
Improved expression evaluation with parentheses.
Support for Cray. (Unsure whether these choices will match
all cray systems).
beta2:
New options -q -K for switching off locks
***************** Minor Version 3 ********************
1.3.19
Processes restart now not called unless zero matches found
Preconfiguration file is now read in before parsing and
searched for in CFINPUTS path.
1.3.18
Shell commands now log output with the name of the host and an
abbreviated (15 most signigicant characters) command name so
that it is idenitifiable.
Tidy does not list directories opened except in debugging mode.
Fully qualified name patch. Possible to get domiain name appended twice.
Logfiles and lock/pid files now contain the hostname to avoid common name-space
conflicts.
A new logfile cfengine.last records the time at which cfengine last ran.
David Masterson's configuration changes incorporated, plus several others.
New classes irix4 and irix64 introduced for old irix and new 64 bit irix.
1.3.17
Configure changes and patches for IRIX.
Method of looking for ortentry changed.
--version and --help now obey new GNU standard.
getopt kludge removed.
Bug in copy with linktype = relative - this was previously
ignored.
( Released only as an urgent fix for a user .. Not up to date
with all reported suggestions... )
1.3.16
Support for BSDOS (bsdi/bsdos), nextstep and IRIX 4 added
Outstanding bugs in the autoconf configuration fixed(?)
control variable which is a more permanent form of the
--underscore-classes switch.
underscoreclasses = ( true )
Tidy got broken in 1.3.15 - nothing was tidied. Fixed.
Bug fix for very long kernel messages in NetBSD which
overflowed the stack.
Bug fix for fully qualified domainnames.
1.3.15
fully qualified host name with . replaced by _ now in class list
new variable $(fqhost) contains proper fully qualified name
Command line option --no-hard-classes switches off all internal
class generation for emulation purposes.
Manual patches from David Masterson.
Small cosmetic alterations.
1.3.14
Early release for a special user...
Further bugfix to pattern concatenator in the parser. Actions involving
the root filesystem / would be ignored.
It is now possible to use the option rmdirs=true/false in tidy
to make cfengine remove *empty* directories.
Segmentation fault in tidy fixed when root path is a directory.
Command line option --underscore-classes (-U) renames the hard
classes from sun4 to _sun4 to avoid any naming conflicts on hosts
which are called "sun4". This does not apply to the other internal
classes which already have enough underscores in them!
1.3.13
David Masterson and Knut-Hvard Aksnes have been busy improving
my crooked autoconf/Makefile setup. Others have been sending me
modifications too. At the risk of offending people, I have had to
be selective in choosing a setup which I feel is the most "elegant".
I still haven't decided how handle the documentation dir. So this will
still fail if you don't have TEX. Don't worry about this.
IsHomeDir checks whether file lies under VMOUNTPATH.
* VMOUNTPATH is now a list, not a constant, allowing several search paths.
Bug in tidying from / directory fixed. Patterns were not installed.
(Another patch will follow shortly)
1.3.12
Truncated host names never got added to the class heap!! Fixed.
Scanf bug workaround for BSD 4.3.
1.3.11
Bug fix for Insert functions in editfiles.
Suggestion in manual for distributing /etc/motd without
losing system specific info.
System type "aos" added
Configuration problems with autoconf on old BSD systems fixed.
$(arch) is now truncated to uname.sysname if it overflows the buffer
as it could if uname reads a very long kernel ID.
Can now put quoted strings in resolv.conf like "order nis, bind" etc.
If the first character is not a digit, "nameserver" is not prepended.
1.3.10
Disable now sets the mode of disabled files to 400, so that
disabled binaries are actually disabled, not just moved!
When backing up files by "copy" using the home/ directive (all users)
file backups are not placed in the file repository, but left where the
user can find them.
added editfiles commands:
UnCommentLinesMatching "regexp"
UnCommentLinesContaining "substr"
InsertFile "filename"
BeginGroupIfNoSuchLine bug fixed - did opposite!
AIX class match is now version insensitive.
Genuine autoconf setup is finally in use.
Cfengine should now be able to work on some systems which don't have uname(2).
Support added for:
BSD4.3
NewsOS4
NetBSD
1.3.9
pointer test added to BeginGroupIfNoMatch which caused segmentation fault
if file empty.
New system type added: solarisx86
1.3.8a
Possible problem with directories not being created patched
when copying certain patterns within a recursive link tree.
1.3.8
POinter reset error in EmptyFile.. fixed
AIX ps option changed to -ef default
Andreas Klussmann's discovery that I used fclose instead of pclose
on some pipes - fixed.
Perl invocation - yet again altered.
A long overdue job in fixing up type mismatches with NULL/'\0' so that -w can
be removed from gcc.
Non initialized inclusions field fixed when copying a pattern during linking.
Caused bus error/ segv.
1.3.7
Error in configure script introduced in 1.3.6 fixed.
Typo fixed in copy files which caused mulitple copying
and recursion depth was wrong by a count of one. No longer
necessary to specify recurse=1 to copy between directories.
1.3.6
A valiant effort by David Masterson has revealed some code-typos
and made an improvement in the Makefiles.
-AutomountResources did not update files correctly.
-LocateLineMatching awlays started from start of file. Now it begins
from the current position.
Some configurational peculiarities in sunos 4.1.4 fixed.
(Lex is a stupid program. Always use flex if you can.)
Extra syntax bits enabled in regex so that {n} matches of a regex
can be specified. This allows you to write something like, kill
all processes not owned by root, using something like
processes:
"\(root\)\{0\}" signal=kill
Some cosmetic changes to level 2 debugging
1.3.5
Bug in tidy files fixed - cfengine was missing some files
it should have tidied due to a typo in the restructured
routine.
Bug in CommentNLines with complex delimiters fixed.
UnCommentNLines added to match.
1.3.4
Linux config parameters no longer select i?86 but allow any
match in order to cover m68000 machines.
1.3.3
Unfortuate semicolon removed which caused process matching to
report a warning even during exact matches, even when everything ok.
1.3.2
Bug fix in the regex coding of 1.3.1 which made replacements non-global!
1.3.1
ReplaceAll "XXX" With "YYY" now uses a regular expression for XXX.
---------------------------------------------------------------------------
1.3.0
Bugfix: negation with -N did not negate temporary class definitions in
the action sequence.
Tidy now concatenates all operations on the same file in a
sub list so that searches for several patterns can be
undertaken without having to reparse the file tree each time
a new pattern is defined.
backup=true/false option added in copy
can now use $(variable) in option= attributes in files,copy etc..
copy re-renames the backup file back into place if copy fails to
open the new file. NOTE default behaviour is silent.!
disable options: rotate=, truncate is specif. by rotate=empty
Uf you use the --use-env option, or -u:
New environment variable defined for cfengine and its child shells
CFALLCLASSES is an up-to-date list of all currently defined classes
separated by colons. You can view this changing by running with -d2
If you don't use this option (whihc causes Bus error on some sys 5)
use the $(allclasses) variable which contains teh same string
and may be passed as a parameter to scripts.
New option to tidy size={number|empty}. If string is empty will
look for empty files to delete which are older than the age.
Also type=ctime,mtime,atime (default=atime)
Tidy now matches dotted files to * everywhere.
Recursive copy. Will traverse mounted filesystems by default.
This can be controlled by specifying a max level of recursion.
Ignores dirs in the ignore list.
copy now uses ctime instead of mtime to catch changes
in permissions.
new copy option: type=(ctime/checksum) uses md5 checksums
to establish copy condition. NOTE WHEN COPYING
file dest=path/file (must have fiel as last link, can't use
implicit directory form).
editfiles: SetLine sets a string which is used by
AppendIfNoLineMatching.
New link types:
type=absolute - convert (symbolic) link to its true absolute path
expanding nested symbolic links to a maximum
of 15 levels only and eliminating . and ..
type=relative - convert (symbolic) link to relative path
prepending ../../.... etc and compressing
the remainder to eliminate . and .. No
further symlinks are expanded, since it's asssumed
that the name of the dir. it is relative to is
sigificant for personal reasons.
All link types are inherited by multiple child link operations.
(end snapshot b)
New action type: processes, for checking for the existence of
and signalling/restarting existing processes.
A pipe is opened to the local ps command. Default options are
-ax for BSD and -ef for sysV. (These can be changed in the cfrc file)
or with SetOptionString "OPTIONSTRING". New resource names are pscomm and psopts in cfrc.
cfengine reads the process table once for each change of option string.
Cfengine looks for the first idenitifiable number to get the pid of the
relevant process. Note that cfengine blocks on the restart command, so this
is only suitable for restarting daemons whcih dissociate themselves from the
terminal.
signal=signal-type, matches=>0 should be at least one running
matches=<4 warn if more than 4 running
* New control lists:
excludecopy = ( list ... ) # Do not copy any files matching these patterns
excludelink = ( list ... ) # Do not link any files matching these patterns
copylinks = ( list ... ) # Copy instead of linking these patterns
linkcopies = ( list ... ) # Link instead of copying these patterns
The copying gets done by the ctime method, links are made symbolic, without
forcing. This allows the possibility of overriding locally.
NOTE: that when these are placed under class specifiers class:: the relevant
entries become bound to the classes which contain them.
Local forms of this feature can be given with
exclude=pattern1 exclude=pattern2
copy=pattern1 copy=pattern2
symlink=pattern1 ...
If you try to set copy for relative/absolute/hard links, the error
"Illogical combiation of copy and linktype" occurs.
* New edit option FixEndOfLine "dos/unix" to convert ascii-filetypes between these
platforms.
Now possible to use the "home" directive in editfiles, giving the possibiliyt
of editing every users login files for instance.
( snap c )
Recursive link trees possible
Some bugs fixed in snapshot c
Manual changes
( snap d)
Various
AbortAtLineMatching "regex" now causes editfiles to abort
repetetive operations at a specified line, i.e. go no further than ...
Manual changes
( snap e)
copytype option for links e.g. copytype=checksum
linktype option for copy e.g. linktype=relative
options for links, copy: include=pattern to determine
a list of files which are to be included. i.e. copy/link
include && !exclude
A file repository directory can now be defined. Whenever
cfengine disables or saves an old file, it is stored
in the repository using a unique name. This can then be
inspected or tidied at will.
( snap f )
Manual changes, some bugs in snapshot e fixed.
New edit command: AutmountDirectResources dumps the filesystem resource
database into the named file in the form of a direct automount map.
Distribution now includes a postscript and html version of the manual.
( snap g )
copy to home uid fix - broken by code rationalization in 1.3.0 e
New classes 32_bit, 64_bit etc, determined by sizeof(long) at
compilation time. This may change if a better test is found.
New variables $(spc), $(tab), $(cr) and $(lf) expand simply
to a spae, tab, cr, lf characters. This provides a way of having
spaces in filenames etc.
Can include quoted strings in macros in order to have spaces in
variables or make lists. (see below)
control variables: split = ( : ), repchar = ( _ )
defines the character used for separating a list of paths
in a variable like in PATH=/usr:/bin:etc
reposchar is the character used in converting filenames by the
repository.
Values may be quoted or unquoted to allow spaces etc.
Associated variables $(repchr) $(split)
( snap h )
Bug fixes in 1.3.0-h
New locking policy. If lock creation fails but no lock is found,
cfengine continues in no-contention mode, allowing files systems
to be tidied etc incase disk is full.
Perl wrapper script "cfbg" for placing shellcommands in the background,
to avoid blocking on long scripts.
Incorrect behaviour fixed. Class dependence of ignore was ignored!
( snap h2 )
***************** Minor Version 2 ********************
1.2.0
File tree copying/images implemented. Instead of linking you can now
physically copy files and keep them updated from a master set. (Handy if
the master is on a filesystem which is not always mounted.)
-Copy single file from master (with update based on mtime)
-Copy all children in a directory (subdirs must be mentioned explicitly)
-Copy files to all users (using home directive) e.g. .cshrc, .mwmrc, .xsession
DeleteLinesMatching "" added in editfiles
-E (enforce-links) option now queries y/n before proceeding and must
therefore be run in interactive mode.
1.2.1
Bug in editfiles fixed: ***CommentItemMatching did the exact opposite
of what it was supposed to!
Parser bug for linkchildren fixed - parser would complain with "Links requires path or varitem"
Shellcommands accepts scripts starting with $(variable)
1.2.2
New basic config files example structure!
--silent now suppresses runtime warnings
touch in files changes to specified protection instead of warning
1.2.3
action=silent added to links on an entry basis
1.2.4
OR ing of classes allowed by a.b.c|d.e.f etc
1.2.5
Editfiles data structure error fixed. Installation
of empty file actions.
1.2.6
Regular expression commands added and old Matching
functions now accept GNU regular expressions as well as
exact strings.
Several new editing commands.
1.
Improved manual, hints and tips compendium. FAQs etc.
Improved structure in example files.
1.2.8
Segmentation bug in Prepend during debugging output. Fixed.
1.2.9
Parsing error in some mode strings involving setuid bits fixed.
1.2.10
Manual texinfo bug fixed.
Append/PrepIfNoLineMatching synonyms for Append/PrepIfNoSuchLine, uses regex now.
DeleteNLines "n" from pointer in editfiles.
"+" allowed in filenames
Possibility to create hardlinks with option a -> b type=hard
Possible to create relative links /absolute -> ../relative
$ can be used in strings, without parse error about bad variable
Single quotes can be used instead of double to avoid clashes with " in strings
1.2.11
Fixed bug in editfiles abort sequence
Fixed segmentation fault in DeleteTo.. with uninitialized file pointer.
mode / ownership bug in copy: (fixed)
Bug reading last line of files not ending in \n in editfiles,fixed.
1.2.12
Some sloppy declaration omissions corrected!
Exit status = 1 on syntax error.
Type corrections to ifconf
1.2.13
New editfiles functions, conditional with Begin/End
Minor but important changes to some of the new edit commands
SetCommentStart/End added to editfiles enabling generic commenting delimiters
ReplaceAll "string1" With "string2" in editfiles.
CommentNLines in editfiles
1.2.14
BeginGroupIfNoSuchLine
BeginGroupIfNoLineMatching
groups may now refer to previously defined groups as members
1.2.15
In groups you can now run a shell script to determine the value
of a class. e.g.
have_cc = ( "/bin/test -f /usr/ucb/cc" "/bin/test -f /local/gnu/cc" )
Some new hard classes are defined which cover the OS version numbers
in detail. Run cfengine -p -v to see what they are.
Permissions in copy fix.
1.2.16
Source code rationalization and copy/paste fixes.
New class hpux10 for new svr4 structure in hp machines.
1.2.17
Code inaccuracies fixed and problems with native compilers
under HPUX and Solaris fixed.
A bug in netstat classes introduced in 1.2.16 is fixed.
1.2.18
A bug in ignore is fixed for tidy.
An omission in editfiles is added so that BeginGroup actually
gets recognized by the parser!!!!
Bug and web adresses added to the manual intro.
MakePathsFor now allows links when checking if directories exist.
1.2.19
Bug in class installation fixed for interclass dependencies.
Global replace truncates some lines in editfiles - fixed.
1.2.20
Bug in editfiles classes: actionsequences editfiles.one editfiles.two
not correctly distinguished per file action -- only per file. Fixed.
1.2.21
Segmentation fault bug introduced in 1.2.20 (!) fixed. oops.
1.2.22
Tidyfiles: home/subdirectory changes.
1.2.23
Two new internal variables:
$(class) contains the string of the system hardclass - e.g. sun4,hpux
$(arch) contains the detailed system type - an amalgamation of data from
uname.
linkchildren wouldn't accept variables in pathnames - fixed.
Recursion in subdirs of home fixed.
1.2.24
Problem opening files in root directory - tried to open current
directory instead on some sun systems. Problem patched.
Extra option added to copy: force=true/false to force copying
of files regardless of date.
Logical NOT operator added for classes : !
For instance:
!myhost # any host except myhost
mygroup.!myhost # all hosts in group "mygroup" except myhost
1.2.25
New class:: freebsd supported.
Fully qualified hostnames are truncated to remove the domain.
i.e. if uname returns the FQN like in freebsd.
1.2.25a
Mount option changes for FreeBSD to avoid multiple mounts.
1.2.26
Bug fix for ! operator
Source code rationalization
(DEBIAN) Linux config improvements
</pre>
</body>
</html>
|