Subject: pkg/26608: cfengine 2.1.9 update
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <mike@ethmoid.org>
List: pkgsrc-bugs
Date: 08/09/2004 22:15:04
>Number:         26608
>Category:       pkg
>Synopsis:       update to cfengine 2.1.9
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Aug 10 02:34:01 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Michael Santos
>Release:        NetBSD 2.0G
>Organization:
	
>Environment:
	
	
System: NetBSD ack 2.0G NetBSD 2.0G (ack) #55: Thu Aug 5 16:00:24 EDT 2004 root@ack:/home/build/src/sys/arch/i386/compile/obj/ack i386
Architecture: i386
Machine: i386
>Description:
Update to cfengine 2.1.9.

Tested under NetBSD -current/Solaris 8.

2.1.9

	Expand buffer incorrectly zeroed out public name key causing empty keyname in RSA dialogue
	Old style bind reverse lookup added to Hostname2IPAddress
2.1.8 

	Additional checks added to bolster server transaction security.
	
	Fix of bug in copy server variable list expansion (unexpanded variables) introduced in 2.1.7
	Typo in locks fixed
	Mutex deadlock fix in cfservd for systems with up to date POSIX implementations.
	QNX class data added
	Syslog facility patches to cfservd. (Leonardo Helman)
	Fix to avoid recursive imports
	Variables were not expanded in PrepModule
	Symbolic links were not tidied
	Missing initializations in links could dump core
	Logging route switching  bug in disk/required fixed


	Bugs in implementation of remote method protocol. Classes were not
	transferred properly.

	Bug in HostnameKeys for cfrun fixed.
	
2.1.7p1

	Bug in resolv node introduced in 2.1.7. Ordering of
	nameservers was reverse.
	
2.1.7

        Mandrake Linux detect patch

	Unbelievably no documentation about strategies ever found its way
	into the manual!! Fixed.
	Sorting of anomaly histogram data
	Date patch for SMTP in cfexecd

	Bugfix for TTime filters in ParseTTime() - submitted Bob B. Crosbie.
	Trinity Centre for High Performance Computing,
	
        ReplaceFirst function to replace first occurrence of a string in line.

	Umask saving patch in editfiles (Sergio Gelato)
	
	Patch for variable socket length structs (BSD)
	
        Apparent bug in local methods from recent change. Name localhost
	would be converted into an address which would then fail to match hail.

	Iteration over server= variable in copy added
	Iteration over resolver variables added


	Bug in class evaluation was introduced in 2.1.6 by a sorting
	algorithm. Some classes would evaluate to false even though true.

        Default route setting has been broken in linux for a long time.
        A workaround has been added using the shellcommand /sbin/route

	Bug in rmdirs in tidy - old type mismatch corrected. Might cause
	cfengine to delete an empty root-search directory undesirably.

	Some bizarre coding in the resolver section replaced. Could lead
	to incomplete class data.

	Added option SkipIdentify = ( true ) for avoiding DNS lookup in
	client side authentication.

	Bug in method evaluation if peers have inconsistent resolvers and
	cannot agree on whether to use IPv6/v4.

	ReadList() function added to control for reading an iterator
	from a file
	
2.1.6

	Patch for incorrect symbolic link resolution with ".." internals.
	Would chop off a leading slash.
	
	Patches for alerts appearing twice. InitAction added in install.c
	
	--with-docs option added and default is to not build the docs

	Change to df.c to avoid rounding errors in small blocks for linux

	wait status patch for returnszero()
	
	dpkg debian package management support (Morten Werner)

	tidy rmdirs=all did not remove top directory since v2.0.0. Fixed.
	Problem was new method to aviod races can never reach this location,
	so have to use absolute path for top dir.

	DARWIN patches to cfservd.c/ip.c to fix definitions

	Separate ExpandVarstring buffer-size with new expandsize value
        This removes some spurious use of VBUFF scratch space. One bug
        in tidy path expansion found here. Variables were not expanded.
	
2.1.5
	KNOWN BUG in persistent state memory for tcpdump data - long ipv6
	addresses can make a byte count > old for fewer incoming so it remembers
	wrong snapshot

	Double DeleteParser() fixed.

	Code cosmetics:

		Annoying tabs removed from sources
		bzero -> memset explicitly
		bcopy -> memcpy

        Segmentation fault in list handling fixed (seldom occurrence)
	
2.1.4

        "Bug" found in method recognition - only constant parameters allowed.
        Time of day or relative hostames as parameters will not work

	Mutexes around locking now.

	
	Variable expansion of server deferred in copy to allow dynamic server choice

        Removed old dns lookup caching for ipv4 - means no prior check for existing hostnames,
        but allows running with dynamical variables
	
	-q option added to cfexecd. If set it invokes cfagent with -q flag (--no-splay)
	Rewritten function analysis for multiple arguments in assignments
	ReadTable() and ReadArray() functions to read associative arrays from files
	hpux class changed from 9000* to * in class matching. Assume old versions now dead


	tcpdump interface for cfenvd
	Attempt to detect ipv6 address from ifconfig on unix and add classes. Cannot yet bind to interface.
	Make internal list representation of IP addresses.

	Error in -f evaluation introduced in recent version fixed.

	Bind to outgoing interface implemented for new getaddrinfo libs functions.
 	Same of fior cfservd 

	   BindToInterface = ( )

	editfiles additions:
	
        DeleteLinesContainingFileItems @var{filename}
        DeleteLinesMatchingFileItems @var{filename}
        DeleteLinesStartingFileItems @var{filename}
        DeleteLinesNotContainingFileItems @var{filename}
        DeleteLinesNotMatchingFileItems @var{filename}
        DeleteLinesNotStartingFileItems @var{filename}
	AppendIfNoSuchLinesFromFile @var{filename}

	Special function added to alerts:

   	   FriendStatus(hours)

	shows hosts that have not reported in for hours.
	
2.1.3


	Voluntary RPC remote methods implemented.
	
	Bug in ignore when doing file recursion fixed.
	Wildcard match did not include plain files when expanding wildcards

	Internal array representation added to expression evaluation
	
          $(array[key])  $(array[$(key)])

        Arrays may be defined using the association function:

	assoc_array = ( A(B,"is for bird") A(C,"is for cat") )
	
2.1.2

	Various minor patches

	singlecopy locking patch (Eric Sorenson)
	Patches Iain Morgen (NASA)

	cfexecd add From line to mail

	RegCmp(regex,$listvar) function added to match classes

	Documentation of iteration added to reference manual - was missing.
	
	Domain variable was overwritten in 2.1.0 when methods were initialized. Corrected.
	Cfexecd #ifdefs not compatible with cygwin - rewritten workaround
	Entropy measure anomaly classes

	Comparator uninitialized in process matches, creating bogus outout with -d3
	Chop function removes all trailing spaces.
	interfaces now records ip addreses

	Variables can override context using a dot notation:

	  ${context.variable}  ${global.env_time}

	Interface addresses on multiple interfaces:

   	  ${global.ipv4[hme0]} 
  	  ${global.ipv4[eth1]}

	cfservd list handling bugs after user patch, plus enchanced iteration:
        e.g. now make multiple rules in a sinlgle stanza
	
		control:

		  Split = ( " " )
		  hostlist = ( "10.10.10.1 10.10.10.2 10.10.10.3" )  
		  dirs =  ( "bin etc lib" )
		  base = ( /usr )

		#########################################################

		admit:

		   $(base)/$(dirs)   $(hostlist)

	results in:
	
		Path: /usr/bin (encrypt=0)
		   Admit: 10.10.10.1 10.10.10.2 10.10.10.3 root=
		Path: /usr/etc (encrypt=0)
		   Admit: 10.10.10.1 10.10.10.2 10.10.10.3 root=
		Path: /usr/lib (encrypt=0)
		   Admit: 10.10.10.1 10.10.10.2 10.10.10.3 root=

	
	Allow modules during parsing to initialize classes etc.
	
	control:
	
            gotinit = ( PrepModule(startup1,"arg1 arg2...") )
	
       classes:	
	
             gotinit = ( PrepModule(startup2,"arg1 arg2"}) )

	
2.1.1
	Permissions on explicitly mentioned links to files could result in file permission
	being changed instead.

	Error in permission evaluation for copied files fixed.
	
	Mac OSX finder patches added

	ID classes rationalized into nameinfo.c

	scanarrivals option to disks/required - for research.

	Improved anomaly analysis.
	
	setting repository in cfservd.conf caused crash - fixed.

	& is now a synonym for "." - the AND operator in class evaluation

	! negation of functions in class assignments is now handled

	New option noabspath=true for copy allows one to override the need for
	a full path in certain situations, e.g. "export A=x; /dothis""

	Redhat 9 class names patch JY.

	Case insensitive domain matching
	
2.1.0

	************************************************************************************
	* * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * *

	Main addition to 2.1.0 is * methods *. Methods replace modules for most applications
                                   =========
	* * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * *	
	************************************************************************************

	Error in cfenvd update policy for huge anomalies. Could never learn large values.
	
	New parser did not pick up restart sequence in processes if not enclosed by quotes.
	
	Bug in AppendIfNoLineMatching - infinite loop is SetLine not set, fixed,
	ExecProgram was incorrectly listed as Exec in filters. fixed

	Minor alterations to cfenvd policy. Calculational details, and
	persistent information now lasts up to 30 minutes.
	
        Patch for red hat enterprise server classes

	New variable 

	  HostnameKeys = ( true )

	if this is set, public keys are stored as user-hostname rather than
	user-ipaddress. This can be useful for dhcp hosts. However, there is
	a potential loss of security during key-exchange
	due to implicit reliance on DNS or asserted
	identity.
	
	------------------------------------------------------------------------------
	DeleteItemNotMatching added to editfiles
	DeleteItemNotStarting added to editfiles
	DeleteItemNotContaining added to editfiles
	

	SyslogFacility = ( ) new variable to alter syslog facility level.
	Possible values:

	LOG_USER, LOG_DAEMON, LOG_LOCAL0-4
	
	--------------------------------------------------------------------------------

	Persistent state memory can be added through a system alert functions:

	 SetState(name,ttl,policy)

	Set a class that acts like a non-resettable timer. It is defined for exactly 10
	minutes
	
          SetState("preserved_class",10,Preserve)

	Set a class that acts as a resettable timer. It is defined for 10 minutes unless
	the SetState call is called again to extend its lifetime.
	
          SetState(non_preserved_class,6,Reset)

	Delete a persistent class.

	Delete an existing class:
	
          UnsetState(myclass)

	--------------------------------------------------------------------------------
	
	rename: is now a synonym for disable: and a new option dest= is added to
	these so that you can formally rename a file with any destination, not just suffix ".cfdisabled"
	(though this remains the default).

	
	Classes now allowed in group / classes definitions for consistency and ANDing of classes

        Added to Alerts to send messages directly and silently to syslog

	   SysLog(LOG_ERR,"Test syslog message")

	--------------------------------------------------------------------------------
	
	b2

	cfservd no longer does reverse DNS lookup on keys that do not have to
	be trusted, i.e. existing keys whose identity has been confirmed.
	
	Strategy evaluation was performed too late, so that it could not be
	used to define variables. Fixed. Now strategies are evaluated as
	soon as they are defined,, just define them at the start of the program..

	Various minor patches.
	
	2.1.0b1
	
	Patch to packages for non linux rpm
	
	localhost method calls implemented
		- todo: multiple methods calls
	
	---------------------------------------------------------------------------------
	KNOWN BUGS : Functions cannot contain both subfunctions and spaces in strings
	This will not be fixed until the language becomes fixed
	---------------------------------------------------------------------------------	

	Error in init.c erroneously referred to old directory .cfengine instead of .cfagent for
	non-root users.
	
	Builtin function ReadFile(filename,maxbytes) allows us to read
	a maximum number of bytes from a file into a variable e.g. 

	control:
	  mylist = ( ReadFile("/etc/passwd",20) )

	  Split = ( "_" )  # NOTE careful with split character
	
	  myvar  = ( ReadFile(/etc/passwd,220) )

>How-To-Repeat:
	
>Fix:
begin 644 cfengine2.tar.gz
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
B##+(((,,,L@@@PPRR""###+(((,,,G@Z^#_SHO'W`'@``(,,
`
end
>Release-Note:
>Audit-Trail:
>Unformatted: