Fri Sep  8 16:01:00 2006  Young Hyun  <youngh@caida.org>

	* tagged as arts++-1-1-a12

	Updated config.guess, config.sub, install-sh, ltconfig, and ltmain.sh.

Tue Dec 14 02:23:08 2004  Ken Keys  <kkeys@caida.org>

	* ported to g++ 3.4

Fri Oct 22 18:26:27 2004  Ryan Koga  <rkoga@caida.org>

	* Fixed (without testing) write functions that use file descriptors.

Wed Jun 23 10:15:00 2004  Young Hyun  <youngh@caida.org>

	* tagged as arts++-1-1-a11

	Added list ID and cycle ID to ArtsIpPath and ArtsIpPathData classes.
	Applied patch (submitted by "Philippe Raoult" <phir@gcu.info>) to
	allow compilation with gcc 3.3.3 on Debian 20040422.

Wed Apr 21 23:51:30 2004  Ken Keys  <kkeys@caida.org>

	* tagged as port-gcc3

	Ported to g++ 3.2 with its stricter following of ISO/IEC 14882:1998,
	but retained compatiblity with g++ 2.95.

Wed Jan  7 16:01:21 2004  Ryan Koga  <rkoga@caida.org>

	* tagged as arts++-1-1-a9

Thu Jun  6 18:52:00 2003  Ryan Koga  <rkoga@caida.org>

	* Changed Makefiles to work with non-GNU make.

Fri May 30 23:42:39 2003  Ryan Koga  <rkoga@caida.org>

	* classes/src/ArtsIpPathData.cc

	Fixed mistaken output for RTT >= 1 second.

Thu May 29 05:42:57 2003  Ryan Koga  <rkoga@caida.org>

	* classes/include/ArtsIpPath.hh
	  classes/include/ArtsIpPathData.hh
	  classes/include/ArtsIpPathEntry.hh
	  classes/src/Arts.cc
	  classes/src/ArtsIpPathData.cc
	  classes/src/ArtsIpPathEntry.cc

	Made Rtt() return an actual timeval struct, instead of a reference.
	Changed read()/write() on some objects to pass flags around in
	    addition to version.
	Changed internal rtt representation to 4 bytes instead of the 8 of
	    a timeval.
	Changed output format of rtts for ArtsIpPathData to use 4 bytes
	    instead of 8.
	rtts are now stored only in microseconds.
	Added ArtsIpPathEntry::k_rtt as a flag for determining whether or
	    not to output intermediate rtts.

Mon Apr 28 20:02:54 2003  Ryan Koga  <rkoga@caida.org>

	* classes/include/ArtsIpPathData.hh
	  classes/src/ArtsHeader.cc
	  classes/src/ArtsIpPathData.cc
	  classes/src/ArtsIpPathEntry.cc

	Changed IsComplete() to DestinationReached()
	Changed IncompleteReason() to HaltReason()
	Changed TtlLimit() to GapLimit()
	Added IcmpCode()
	Added ReplyTtl() (and extra field to store it)
	Adjusted read/write/output functions to support changes.
	Fixed output of hex IP addresses to be always in host order.

Sat Jan  4 00:57:31 2003  Ken Keys  <kkeys@caida.org>

	* classes/include/Ipv4PrefixPatricia.hh.in

	Completely rewritten:
	    - Correctly allows insertion of nesting prefixes, with no
	      requirement that more specific prefixes are inserted after
	      less specific prefixes.
	    - all iterators can be incremented and decremented
	    - code size is about 1/3 of previous implementation

Thu Nov 21 21:44:17 2002  Anukool Lakhina  <anukool@caida.org>

	* classes/include/ArtsIpPath.hh
	  classes/include/ArtsIpPathData.hh 
	  classes/src/ArtsIpPathData.cc

	Added support for numTries.

Thu Nov 16 11:22:46 2000  Daniel W. McRobb  <dwm@axle.caimis.com>

	* tagged as arts++-1-1-a8

Thu Oct 19 15:03:08 2000  Daniel W. McRobb  <dwm@axle.caimis.com>

	* classes/src/Arts.cc

	Made 'operator =' properly clear memory.  It had a memory leak.

	* classes/src/ArtsRttTimeSeriesTableData.cc

	Clear data before reading from an istream.

Mon Oct  2 11:22:46 2000  Daniel W. McRobb  <dwm@axle.caimis.com>

	* tagged as arts++-1-1-a7

Sat Sep 23 11:31:19 2000  Daniel W. McRobb  <dwm@axle.caimis.com>

	* classes/src/ArtsRttTimeSeriesTableData.cc
	
	Implemented read() and write() members for file descriptors.

	* classes/src/ArtsPrimitive.cc

	Fixed reading of 3-byte values in:
	  WriteUint32(int,const uint32_t & value, uint8_t len)
  	We were not correctly returning 3 on success.

Fri Aug 18 13:29:00 2000  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* classes/include/ArtsIpPathData.hh
	  classes/src/ArtsIpPathData.cc

	Added rtt argument to AddHop() member of ArtsIpPathData class.

Mon Aug 14 15:23:05 2000  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* classes/include/ArtsIpPathData.hh 
	  classes/src/ArtsIpPathData.cc

	Added flags for incomplete paths to ArtsIpPathData object (to support
	version 1 data).  Version 1 of this object is now experimental.

	* classes/include/ArtsIpPathEntry.hh
	  classes/src/ArtsIpPathEntry.cc

	Added new version of ArtsIpPathEntry.  Includes support for
 	per-hop RTT and the number of tries the poller needed to invoke a
 	response from each hop.

Tue May 23 15:07:26 2000  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-1-1-a6

Sun Feb 27 14:38:53 2000  Daniel W. McRobb  <dwm@caida.org>

	* Added '-l topN' command-line option to 'artsportmagg'.  This
 	option causes 'artsportmagg' to generate selected port table
 	objects for the topN ports by bytes of traffic.  This is now
	the most useful type of port_matrix -> selected_port_table 
	aggregation.

Sun Jan  9 00:08:53 2000  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-1-1-a5

	* classes/src/Makefile.in
	Fixed tarball target.

Mon Nov 22 15:08:19 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-1-1-a4

Tue Nov  9 18:42:47 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* We can now build and use a shared version of the arts++ library.
	This is enabled with the '--enable-shared' argument to configure.
	If you want a lean and mean version of arts++, you can use:

  	  env CXXFLAGS=-O3 ./configure --enable-shared --disable-static
	  make

Mon Oct 18 14:50:04 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-1-1-a3

	* apps/artsintfms/artsintfms.cc
	  apps/artsnets/artsnets.cc
	  apps/artsnets/artsnets.man
	  apps/artsnexthops/artsnexthops.cc
	  apps/artsnexthops/artsnexthops.man
	  apps/artsportms/artsportms.cc
	  apps/artsportms/artsportms.man
	  apps/artsports/artsports.cc
	  apps/artsports/artsports.man
	  apps/artsprotos/artsprotos.cc
	  apps/artsprotos/artsprotos.man
	  apps/artstos/artstos.cc
	  apps/artstos/artstos.man
	  apps/artstoc/artstoc.cc
	  apps/artstoc/artstoc.man
	
	Added '-b beginTime' and '-e endTime' options.

Thu Oct  7 04:17:39 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* Fixed initialization of _sampleInterval in those classes which
 	were setting it to zero in the constructor.  We now use a
 	_sampleInterval of 1 (as originally intended) in the default
	constructors.

	* Added setting of TotalBytes() and TotalPkts() in objects
	created by conversion functions in Arts*Aggregator classes.

Fri Sep  3 06:10:08 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* apps/artsases/artsases.cc
	Added '-b beginTime' and '-e endTime' options.
	
	* Added time interval selection code to ArtsFileUtil class.
	
Thu Sep  2 06:45:57 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-1-1-a2

	* classes/src/ArtsIfIndexSelectionSet.lex
	  classes/src/ArtsObjectTypeSelectionSet.lex
	
	Use <strstream> in place of <strstream.h> only if HAVE_STRSTREAM
 	is defined.

	* classes/include/Ipv4PrefixPatricia.hh.in

	Added operator * that works on const iterators.

	* classes/include/ArtsSelectionSet.hh

	Fixed operator ==

	Lord only knows how gcc-2.95 let this one get by; portChooser
 	wasn't declared anywhere, and there were non-const calls against
 	const objects.

Mon Aug 30 20:11:50 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-1-1-a1

	It's been a long time since a public release, so here's a quick
	list of changes.
	
	We can now combine data across interfaces using 'artsagg', select
 	only data from particular interfaces to be aggregated, and select
 	particular object types to be aggregated from 'artsagg'.  This
 	makes 'artsagg' the Swiss army knife of aggregation, and we should
 	probably deprecate the other aggregation utilities.  However, the
 	other aggregation utilities are still around and have been updated
 	with interface selection and combination functionality.

	All of the arts++ display utilities for cflowd data (artaases,
 	artsnets, et. al.) now include the ability to select data by
 	interface index.  See the manpages.  Some of them also permit only
 	showing the top N entries in each selected object (useful for
 	large objects like the net matrix), using the '-l maxEntries'
 	command line option (feature requested by several, '-l' naming
 	came from Paul Howell at Merit).  Again, see the manpages.

	I fixed the aggregation code to correctly aggregate each
 	individual object.  This fixes a bug where we aggregated objects
 	for the same interface (ifIndex) too early because we weren't
 	loking at each object's timestamp but were instead aggregating a
 	whole aggregator map when we got the first object of a given type
 	whose timestamp was beyond the aggregation interval (if anyone but
 	Daniel can understand that sentence...).  This was reported by
 	Christian B. Wiik on the cflowd mailing list on August 19, 1999
 	but we were already aware of it.

	A TOS table object now exists, and aggregation is supported (in
 	the library and 'artsagg').  'artstos' is the simple TOS display
 	program.

	'artstoc' now skips the data portion of objects, making it
 	considerably faster in most cases (reading the contents of net
 	matrix and port matrix objects can be very expensive when we're
 	not even going to look at the data ;-)).

	cflowd data objects may now contain two new attributes:

	  - interface description
	  - interface IP address

	These are shown by the display utilities if present.  They
 	correspond to the name and IP address of the interface from which
 	the data was collected.  cflowd uses SNMP to retrieve these
 	values.

	I've fleshed out Bgp4 classes, and they're now implemented (but
 	not fully tested).  CAIDA members-only code is using these classes
 	to store and process BGP4 Adj-RIB-In dumps from mrtd (and soon a
 	CAIDA bgp4 speaker that will work directly with the Arts Bgp4
 	classes).  The Patricia template code is still a bit scary at the
 	moment, so I wouldn't recommend using it yet (there are some
 	undocumented gotchas).

	We now have RTT time series classes.  These are used by CAIDA
 	members-only programs like 'skping'.


Thu Aug 26 04:52:12 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* Committed tweaks to aggregation code.  We can now combine data
 	across interfaces using 'artsagg', select only data from
 	particular interfaces to be aggregated, and select particular
 	object types to be aggregated from 'artsagg'.  This makes
 	'artsagg' the Swiss army knife of aggregation, and we should
 	probably deprecate the other aggregation utilities.

Fri Aug 20 01:48:44 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* ArtsPortChooser.cc replaced by ArtsPortChooser.lex, since I
	put the port list lexer in (and removed the lexer code from
	the apps/artsportmagg/ directory).

	* Cleaned up aggregation code, moving functionality from aggregation
	utilities into the arts++ library.  'artsagg' will now accept 
	'-s portlist' argument just like 'artsportmagg', since 'artsagg'
	may have to deal with port matrices in input.  This also means
	that some ArtsFileUtil member functions now have an ArtsPortChooser
	argument they didn't have before.

	* Fixed aggregation to correctly aggregate each individual object.
  	This fixes a bug where we aggregated objects for the same
 	interface too early because we weren't loking at each object's
 	timestamp but were instead aggregating a whole aggregator map when
 	we got the first object of a given type whose timestamp was beyond
 	the aggregation interval.

Tue Aug 17 22:01:55 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* Now using '#ifndef NDEBUG' instead of '#ifdef
 	ARTS_DEBUG_CLASS_ALLOC'.  This means debugging support will be
 	compiled in by default.  It can be disabled using the
 	'--disable-debug' option of configure.  I've also eliminated the
 	separate debugging target in classes/src/Makefile.in, since it
 	wasn't seeing much use and it's easier to just have the debugging
 	code in the normal library target (it's not heavy code).

Wed Aug 11 11:48:55 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* Cleaned up for gcc-2.95.  Minor tweaks to meet parts of C++
 	standard (yes, there is a C++ standard now).  Unfortunately I
 	haven't yet moved to a fully standard-compliant implementation,
 	because I have to retain support for older compilers (for example,
 	the old header file naming conventions and things like strstream).
	
Fri Apr 30 03:24:35 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* Added aggregation support for TOS object in library and in
	'artsagg'.  Added 'artstos' program.

	* Added TOS table object for tracking traffic for each IP TOS
	value (will be used by cflowd system).

Mon Apr 12 00:15:43 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* configure 
	  configure.in 
	  classes/include/ArtsAsMatrixData.hh
	  classes/include/ArtsAsMatrixEntry.hh
	  classes/include/ArtsHeader.hh
	  classes/include/ArtsInterfaceMatrixData.hh
	  classes/include/ArtsInterfaceMatrixEntry.hh
	  classes/include/ArtsIpPathEntry.hh
	  classes/include/ArtsNetMatrixEntry.hh
	  classes/include/ArtsNextHopTableEntry.hh
	  classes/include/ArtsPortMatrixData.hh
	  classes/include/ArtsPortMatrixEntry.hh
	  classes/include/ArtsPortTableEntry.hh
	  classes/include/ArtsProtocolTableEntry.hh
	  classes/include/ArtsSelectedPortTableEntry.hh
	  classes/include/artslocal.h.in 
	  classes/include/caida_t.h.in
	  classes/src/ArtsAsMatrixAggregatorMap.cc
	  classes/src/ArtsBgp4AsPathSegment.cc
	  classes/src/ArtsInterfaceMatrixAggregatorMap.cc
	  classes/src/ArtsIpPath.cc classes/src/ArtsIpPathData.cc
	  classes/src/ArtsNetMatrixAggregatorMap.cc
	  classes/src/ArtsNetMatrixData.cc
	  classes/src/ArtsNextHopTableAggregatorMap.cc
	  classes/src/ArtsNextHopTableData.cc
	  classes/src/ArtsPortChooser.cc
	  classes/src/ArtsPortMatrixAggregatorMap.cc
	  classes/src/ArtsPortTableData.cc
	  classes/src/ArtsProtocolTableAggregatorMap.cc
	  classes/src/ArtsProtocolTableData.cc
	  classes/src/ArtsRttTimeSeriesTableData.cc
	  classes/src/ArtsSelectedPortTableData.cc
	
	Now moving toward using ISO/IEC 14882:1998 header file names for
	Standard C++ Library headers.  Unfortunately not all compilers are
	current, so I fall back to the old GNU names when I don't find the
	headers under their standard names.  I do this by setting macros
 	in classes/include/artslocal.h and conditionals in source files
 	which use the macros.  Eventually we should be able to get rid of
 	classes/include/artslocal.h and remove the conditional gunk in our
 	source (and just use the standard named).  Some day...  :-)
	
	Also committed some fixes in checking for fixed-width integer types, 
	including now checking for <inttypes.h>
	
	* apps/artsases/artsases.cc
	  apps/artsintfms/artsintfms.cc
	  apps/artsnets/artsnets.cc
	  apps/artsnexthops/artsnexthops.cc
	  apps/artsportms/artsportms.cc
	  apps/artsprotos/artsprotos.cc

	Now using istream_iterator to step through input files.

Sun Apr 11 23:21:40 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* Added 'istream & operator >> (istream &, ArtsFoo &)' for each
 	first-level descendant of the Arts class.  This allows us to walk
 	through an istream with an istream_iterator<ArtsFoo> and only get
 	a particular type of object (our operator skips over other types
	of objects).

	* Added public copy constructor for Arts class.  This trickles
 	down to first-level descendants of the Arts class.  This was added
	mostly to handle those parts of STL which use the copy constructor.

	* Added DeleteData() and DeleteAttributes() to Arts class.  This
	makes it easier to do cleanup in various places (like the read()
	member functions).

	* Fleshed out Bgp4 classes, and they're now implemented (but not
	fully tested).  CAIDA members-only code is using these classes
	to store and process BGP4 Adj-RIB-In dumps from mrtd (and soon
	a CAIDA bgp4 speaker that will work directly with the Arts Bgp4
	classes).

	* Added RTT time series classes.  These are used by CAIDA 
	members-only programs like skping.
	
Sun Mar 21 18:45:24 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* apps/artsprotos/artsprotos.cc
	  apps/artsprotos/artsprotos.man
	  apps/artsports/artsports.cc
	  apps/artsports/artsports.man
	  apps/artsportms/artsportms.cc
	  apps/artsportms/artsportms.man
	  apps/artsnexthops/artsnexthops.cc
	  apps/artsnexthops/artsnexthops.man
	  apps/artsases/artsases.cc
	  apps/artsases/artsases.man
	  apps/artsnets/artsnets.cc
	  apps/artsnets/artsnets.man
	  apps/artsintfms/artsintfms.cc
	  apps/artsintfms/artsintfms.man

	Added '-i ifIndex' command-line option for selecting data for a
	specific inpute interface.
  	
	Note: in the case of 'artsintfms', this is the same as the '-s
 	srcIntf' option, but checks the interface index attribute instead
 	of the actual interface matrix entries.
	
Tue Feb  9 02:03:20 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-0-9-b6

	* apps/artsports/artsports.cc
	  apps/artsports/artsports.man

	Added service name lookups for port numbers, and we now print
	them instead of the port numbers (unless the -n command line
	option is used, in which case we always print only the port
	numbers).

Sun Feb  7 16:51:08 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* apps/artsases/artsases.cc
	  apps/artsases/AsTrafficTotal.hh
	  apps/artsases/artsases.man
	  apps/artsases/Makefile.in
	
	Added '-t AS' option to 'artsases' to show only total traffic
 	to/from a particular AS.  Also added -r option to show rates
 	instead of totals when using the '-t AS' option.

Mon Jan 25 03:40:37 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* Added skeleton work for FreeBSD ports packaging.  Hopefully I'll
 	have this submitted before the FreeBSD 3.1-RELEASE cut (scheduled
 	for mid-February 1999).

	* Added top-level 'debug' target which builds debugging library
 	and applications.  Note this is really intended for me (dwm) only;
 	the 'install' target will strip out symbols but you'll still have
 	reference counting if you used the 'debug' target.

	* Tested with egcs 1.1.1 on FreeBSD 3.0.  Compiles and runs fine.

	* Added more reference counting code for debugging.

Sun Jan 24 15:17:27 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* strip binaries before installing them, to save disk space.

Sat Jan 23 05:16:02 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* Added 'asagg' program to aggregate all cflowd data in a
	single pass.

	* Started converting silly allocation debugging code to
	reference counting in class library.  Note done yet.

Fri Jan 22 00:20:52 1999  Daniel W. McRobb  <dwm@lancelet.caida.org>

	* apps/artsprotos/artsprotos.cc
	apps/artsprotos/artsprotos.man

	Print protocol names instead of protocol numbers, unless 
	-n command line option is used.

Wed Dec 23 00:16:40 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* Now using config.guess/config.sub to set OSNAME and to handle
 	OS-dependent stuff in configure (using AC_CANONICAL_SYSTEM).  A
 	side-effect here is that the 'tarball' target now uses a different
 	filename.  The new tarball target contains the CPU type and OS
 	name.  Note that this means we now use 'solaris2.x' instead of
 	'SunOS_5.x'; this may be good or bad depending on your
 	perspective.  Note I'm still not using the full 'host' variable
 	from AC_CANONICAL_SYSTEM; this may or may not change in the
 	future.  I'm currently using ${host_cpu}-${host_os} in the tarball
 	output filename.

Tue Dec 22 14:38:13 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-0-9-b5

	* apps/artsportmagg/Makefile.in
	Added lex.yy.c to 'clean' target.  Now using @FLEXINC@ and
 	@FLEXLIB@ for flex include and library, respectively.
	
	* configure, configure.in
	Now setting FLEXINC and FLEXLIB (and substituting for them).
  	Currently only used in apps/artsportmagg/Makefile.in

Fri Dec 18 17:24:19 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* classes/src/Arts.cc
	Added initialization of _data._interfaceMatrix and
 	_data._nextHopTable in Arts constructor.

Mon Dec 14 07:06:46 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-0-9-b4

Sat Dec 12 06:18:32 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* Whoops... removed scoping in IdentifierName() member prototype
 	in classes/include/ArtsHeader.hh (accidental cut-and-paste from
 	ArtsHeader.cc).

Fri Dec 11 13:31:04 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-0-9-b3

	* Added ArtsHeader::IdentifierName() member.  artstoc now uses it.

Wed Dec  9 01:35:12 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-0-9-b2

	* Added blurb about environment settings (PATH and MANPATH) in
	INSTALL.  We also spit out a reminder for these settings when
 	'make install' has completed.

	* Fixed install targets in classes/include/Makefile.in
	and classes/src/Makefile.in.  There was a problem when @includedir@
	didn't exist.
	
Mon Dec  7 02:49:15 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-0-9-b1

Sun Dec  6 08:20:46 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* Added simple 'artsintfmagg' program.

	* Added simple 'artsintfms' program.

	* Added simple 'artsnexthopagg' program.

	* Added simple 'artsnexthops' program.

	* Added aggregator classes for interface matrix and nexthop table
 	data.

	* Added nexthop table to class library.  This is intended
	to hold traffic data for each IP nexthop from a router.  Each
	cell contains packets and bytes sent to an IP nexthop, and
	is associated with the IP address of the nexthop.

Thu Dec  3 16:21:17 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* Added interface matrix object to class library.  This is
	intended to hold traffic data for a router's interfaces:
	each cell contains packets and bytes sent from an input 
	interface to an output interface.

Mon Nov  9 12:30:36 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-0-9-a11

	* Fixed configure script checks for integer types in
	<machine/types.h> and <sys/types.h>.  The only right way
	to check for this is with AC_TRY_COMPILE() in configure.in.
	
Fri Oct 30 22:53:53 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-0-9-a10

	* Fixed TopSourcesByBytes() and TopDestinationsByBytes() in
	ArtsAsMatrixAggregator class.  I now always return a vector
	whose size is the smaller of the caller's passed in size and
	the actual number of ASes in the data.

Wed Oct 21 02:30:15 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-0-9-a9

	* Added ArtsNetMatrixAggregatorMap, ArtsPortMatrixAggregatorMap
 	and ArtsProtocolTableAggregatorMap classes.  These are just like
 	the ArtsAsMatrixAggregatorMap for the corresponding aggregator
 	classes (ArtsNetMatrixAggregator, ArtsPortMatrixAggregator and
 	ArtsProtocolTableAggregator, respectively).

	* Added ArtsAsMatrixAggregatorMap class, which is an STL <map>
 	with an ArtsAsMatrixAggregatorMapKey class as the key and an
 	ArtsAsMatrixAggregator as the value.  'artsasagg' now uses 
	this class (really no different than what is was already doing,
	just makes the code a tad bit cleaner).

	* Added Attributes() member to ArtsAsMatrixAggregator class.

Thu Oct 15 00:42:08 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* Added initial primitive support for reading/writing floats and
 	doubles in the ArtsPrimitive class.  This required some ugliness
 	in configure and a scary C macro rewrite to deal with a broken
 	xdr_destroy() macro in <rpc/xdr.h> on FreeBSD 2.x systems.  We
 	only rewrite the xdr_destroy() macro on FreeBSD 2.x systems, and
 	then only if compiling a tiny program w/o our rewrite doesn't work
 	(the compile check is in DWM_XDR_DESTROY_MACRO_DONT_PASS_POINTER
 	in dwm.m4).

	* tagged as arts++-0-9-a8

	* Sigh, fixed sed command in DWM_SET_VERSION (again).  Lord
	how I wish sed was portable...

Wed Oct 14 16:07:05 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagged as arts++-0-9-a7

	* Fixed sed command in DMW_SET_VERSION in dwm.m4.

	* Fixed tar command in apps/artsports/Makefile.in

	* Added 'touch @PKG_VERSION@.@OSNAME@_@OSRELEASE@.tar' to tarball
 	rule in top-level Makefile.in, before adding files to the tarball.
  	Some versions of tar don't like 'tar -rvf foo bar' if foo doesn't
 	already exist, so we force it to exist (but be empty since we
 	remove it before touching it).

	* tagged as arts++-0-9-a6

	* Added setting of @TAR@ in configure, so that we can add '-P' to
 	the tar command on platforms with GNU tar.  This is silly
 	hardcoding at the moment, but it's only used for 'make tarball'
 	(after 'make install').

	* tagged as arts++-0-9-a5

	* Added @OSRELEASE@ to name of output file for 'tarball'
	target.

Tue Oct 13 22:15:35 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* Added tarball target to be used post-install.  It tars up
	the installed files so you can use it to install binaries
	on another host of the same flavor.
	
Tue Oct 13 15:06:35 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagging as arts++-0-9-a4

	* Added ArtsPackageVersion class for simple version stuff based on
 	CVS Name and Id tags.  Added -v command-line option to utilities
	(which uses the ArtsPackageVersion class).  Added better
 	command-line checking to utilities.

Fri Oct  9 00:17:33 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* Added code to 'artsports' to show total packets and bytes (sum
 	of in and out) for each port, which also shows the total rates
	(packets/sec and bits/sec).

Thu Oct  8 01:23:19 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* tagging as arts++-0-9-a3

	* Added code to 'artsports' to handle ArtsSelectedPortTable 
	objects in addition to ArtsPortTable objects.
	
	* Added functionality to 'artsportmagg' that permits generation
	of ArtsSelectedPortTable objects in the output instead of
	ArtsPortMatrix objects.  This is available via the '-s portlist'
	command-line option (see the artsportmagg manpage).

	* Added member to ArtsPortMatrixAggregator class that will return
 	a pointer to an allocated ArtsSelectedPortTable object that is
 	generated from the ArtsPortMatrixAggregator data and a passed-in
 	ArtsPortChooser object.  This new member of the
 	ArtsPortMatrixAggregator class is called
 	ConvertToArtsSelectedPortTable().  This allows the class user
	to boil ArtsPortMatrix data down to ArtsSelectedPortTable data
	in a configurable manner.

	* Added ArtsSelectedPortTable class, which is like a shortened
 	ArtsPortTable class: data is kept only for selected ports, with
 	all 'other' ports lumped under an entry for port 0.  This type
 	of object is usually generated from ArtsPortMatrix data.

	* Added ArtsPortChoice and ArtsPortChooser classes, which
	are support classes to be used later for reducing port
	matrices to port tables.

	* Added SetAll() and UnsetAll() to ArtsBitString class.

	* Added initialization of this->_data._portMatrix to NULL in
 	Arts constructor.  The destructor depends on it; without it
	we will get calls to the ArtsPortMatrixData destructor on
	uninitialized ArtsPortMatrixData pointers.

Wed Oct  7 19:58:39 1998  Daniel McRobb  <dwm@lancelet.caida.org>

	* Added ArtsBitString class, which is currently just a convenient
	bitstring class (it currently has no read/write functions and
	is not part of the Arts class heirarchy).

