121/07/2016 - 2.88 2 3 - platform/Linux/sm_if.c more robust interface finding (Niels Koster) 4 524/10/2014 - 2.87 6 7 - platform/FreeBSD/sm_cpu.c updated to support smp 8 9 - platform/Linux/sm_io.c read all disk info, not just first block 10 11 - client/SymuxClient.pm removed documentation errors (Jeroen Roovers) 12 13 - symon.8, mention that a windows symon client by Valeriy Leshchinskiy is 14 available on https://github.com/ValHazelwood/SymonClient 15 16 - symux/symux.8 counter name fixes (Dennis Lindahl) 17 18 - symon/c_config.sh updated. # cpus are now detected + more Linux mount 19 types supported. 20 2105/02/2013 - 2.86 22 23 - platform/OpenBSD/sm_proc.c updated to new kinfo_proc interface 24 25 - platform/OpenBSD/sm_io.c hw.disknames was parsed wrong for devices with 26 no uuid (Rapha�l Berbain) 27 28 - platform/FreeBSD/sm_smart.c updated to also support atacam (Alexander 29 Sheiko) 30 3118/02/2012 - 2.85 32 33 - lib/diskname rewrite -- return possible disknames for Linux and FreeBSD 34 based on a number of predefined path patterns 35 36 - platform/Linux allow /dev/mapper disknames (Edho Arief) 37 3814/01/2012 - 2.84 39 40 - platform/Linux/disk probes now handles '/' in arguments (Bostjan Skufca) 41 42 - platform/FreeBSD/disk probes now allow args not in '/dev' (Edho Arief), 43 and support diskname by ufs name, ufs id, gpt id. 44 45 - platform/FreeBSD/sm_mem.c: sysctl call could overwrite swap count (Edho 46 Arief) 47 48 - platform/NetBSD/Makefile.inc: update linker flags for finding librrd in 49 /usr/pkg 50 5101/05/2011 - 2.83 52 53 - Added flukso probe 54 55 - platform/OpenBSD/sm_io.c updated to support uids (Stuart Henderson) 56 57 - platform/Linux/sm_df.c checks if /etc/mtab could be openend (Lars Kotthoff) 58 59 - platform/Linux: Support diskname by id, label, path or uuid for smart, io 60 and df probes. 61 6215/06/2010 - 2.82 63 64 - platform/OpenBSD/sm_sensor.c define MAXSENSORSDEVICES (Stuart Henderson) 65 6631/05/2010 - 2.81 67 68 - symon: Allow multiple monitor statements with different intervals to the 69 same mux. Retrieving smart info every 5 secs confuses some disks. 70 71 - platform/Linux/sm_df.c now uses statvfs (Harm Schotanus) 72 73 - Added load average probe (Lars Kotthoff) 74 75 - Smart probe assumed that its ioctl cmd structure was not overwritten and 76 did not check the return code correctly on NetBSD. (Tito Dal Canton) 77 78 - platform/Linux/sm_smart.c: support for kernels 2.6.9 and friends that miss 79 the required hdio structure. 80 81 - c_smrrds.sh: Allow more than 10 cpus. 82 83 - platform/OpenBSD/sm_proc.c now uses PROC2 sysctl (Stuart Henderson / 84 Tasmanian Devil) 85 86 - platform/OpenBSD/sm_sensor.c now uses the updated sensors api (Stuart 87 Henderson / Tasmanian Devil). 88 8923/11/2009 - 2.80 90 91 - Removed all cvs ids, moved src control to git 92 93 - Added initial sensor probe for Linux which reads directly from hwmon. Note 94 that there is no conversion of the raw data to real voltage, temperature 95 or rotations. 96 97 - Added smart probe for NetBSD (Tito Dal Canton), Linux / FreeBSD / OpenBSD 98 (me). Note that smart values sometimes need per drive/per model 99 interpretation. Not all these probes have been tested thoroughly as they 100 require physical boxes to be tested on. 101 102 - Added libprobe; a library for code that is shared between probes, 103 e.g. smart decoding and cpu percentages calculation. 104 105 - platform/OpenBSD/sm_mem.c: more than 2^31 bytes of swap would overflow 106 calculation (Marco Pfatschbacher) 107 108 - client/SymuxClient.pm: typo fixed that clobbered total read/write 109 (Masahiro Yamagishi) 110 111 - client port now really optional in symon.conf 112 113 - platform/OpenBSD/sm_mbuf.c: patch from openbsd ports following h2k8 mcpl 114 changes (Stuart Henderson) 115 11607/04/2008 - 2.79 117 118 - Top makefile will not compile symux - and not need librrd - if SYMON_ONLY 119 is set. 120 121 - platform/*BSD/sm_mem: pages are now shifted up on int64 instead of 122 int. (Volodymyr Kostyrko) 123 124 - platform/FreeBSD/sm_mem: hw.physmem - free is now used as the real memory 125 used value. This unbreaks the graphs for FreeBSD 6.3+. Note that real 126 memory used in this way means all wired, active, inactive and cached 127 memory, as well as gaps in the memory stats that are used by the kernel 128 itself. 129 130 - platform/Linux/Makefile.inc: removed easy override to TSORT/LORDER on 131 Linux. (Volodymyr Kostyrko) 132 133 - platform/Linux/Makefile.inc: more sensible defaults for owner, group and 134 install directories. 135 136 - platform/Linux/sm_io.c: count only read/write operations in io, not merged 137 reads and writes. This way io/s show actuator movements, instead of 138 movements + cache hits. (Yeb Havinga) 139 140 - Updated INSTALL about chrooted timezone gotchas. (Cory Waddingham) 141 142 - Added a cpuiow probe that counts iowait ticks on Linux. (Yeb Havinga) 143 144 - platform/Linux/sm_cpu now also parses /proc/stat without steal entry. 145 14606/01/2008 - 2.78 147 148 - lib/sylimits.h: DFNAMESIZE bumped from 16 to 64 chars 149 (Mahlon E. Smith) 150 151 - if and mem probes upgraded to report in u_int64_t values. symux will 152 accept reports from older symons that use the old u_int32_t 153 format. The old if and mem rrd files need no adjustments to accept 154 the new data. 155 156 - c_smrrds.sh now specifies the start time at graph creation in such a 157 way that it can be used by both rrdtool 1.0.x and rrdtool 1.2.x. 158 15929/11/2007 - 2.77 160 161 - symon/symux -t can now be used to check configuration files before 162 running in anger. 163 164 - symon now also calculates maximum message size; with symux using 165 twice the calculated value to ensure that configuration errors 166 between sy[mon|mux].conf are detected in the logs. Both enforce 167 maximum message = sizeof(udp payload). 168 169 - Martin van der Werff donated the Linux/sm_df probe. 170 171 - symux/c_smrrds.sh/syweb now all think sensor probes are called 172 sensor_*. (Daniel Spizak, Evgeniy Sudyr) 173 174 - pfq probes must be specified as pfq(interface/queue) in symon and are 175 treated as pfq_interface_queue.rrd by symux. 176 177 - platform/Linux/sm_mem modified to better reflect OpenBSD's idea of 178 the vm_meter stats. 179 18005/07/2007 - 2.76 181 182 - symux/readconf.c resolve from host, but discard result. (Henning 183 Brauer) 184 185 - symux/symux.c -f used strncpy wrong and broke when using gcc4 186 (Mechiel Lukkien) 187 188 - platform/Linux/sm_cpu now uses iowait + hardirq + softirq + steal as 189 its cpu "interrupt". My feeling is that this is the most accurate 190 representation of what the values mean for the *BSDs. 191 192 - platform/NetBSD/sm_io uses new iostat_sysctl of NetBSD4 193 194 - platform/NetBSD/sm_pfq uses NetBSD3/4 altq stat names. 195 196 - symux/c_smrrds.sh now searches for rrdtool and symux in {$RRDTOOL, 197 $SYMUX}, $PATH and in the installation dirs. (Benoit Garcia) 198 199 - platform/OpenBSD/sm_if removed obselete netipx includes 200 (Christian Weisgerber) 201 202 - Daemon needs to be able to bind /dev/null - drop privileges after 203 daemon call (Markus Friedl). 204 205 - data.c/free_muxlist closed fd 0 at HUP. This makes symux unresponsive 206 on OpenBSD and makes it stop on FreeBSD. (Marco Pfatschbacher). 207 208 - platform/OpenBSD/sm_cpu fixed to call CPTIME2 only for machines with 209 more than one cpu. (Henning Brauer) 210 21113/02/2007 - 2.75 212 213 - OpenBSD sensors missed includes (Constantine A. Murenin) 214 215 - NetBSD now checks if pf is installed (Jean-Yves Moulin) 216 21711/02/2007 - 2.74 218 219 - symon can be told what local interface to send data from (Henning 220 Brauer) 221 222 - removed typos in client/SymuxClient.pm (Sandeep Kr Sangwan) 223 224 - OpenBSD sm_sensor upgrade to sensor_dev (Constantine A. Murenin) 225 226 - NetBSD can use OpenBSD sm_pf, sm_mem and sm_pfq with little 227 modifications (Jean-Yves Moulin) 228 229 - symon network protocol version bumped to allow stream arguments upto 230 63 characters. 231 23219/12/2006 - 2.73 233 234 - symux stops reporting rrd errors after 5 messages to counter logspam 235 (Henning Brauer) 236 237 - NetBSD compiles on 2.1 after addition of rrd.h location in 238 NetBSD/Makefile.inc 239 240 - FreeBSD/platform.h now also includes sys/socket.h and sys/dkstat.h, 241 which makes the FreeBSD probes compile on 4/5/6. 242 243 - FreeBSD/sm_pf and OpenBSD/sm_pf were broken when pf was not available 244 (Ulrich Sp�rlein) 245 246 - c_smrrds.sh now accepts filenames, not descriptions. Intended use is 247 now c_smrrds.sh `symux -l`. 248 249 - symux -l lists rrd files in active configuration. 250 251 - symon/symon.c now deals correctly with ntp drift and sleeps 252 longer. The previous version did not sleep long enough, which could 253 result in both the alarm and end of sleep issueing a measurement 254 where only one was due. 255 256 - Library deps now split between symon and symux. Not all libraries are 257 needed on a host if only symon/symux is compiled. 258 259 - OpenBSD/Makefile.inc now includes fontconfig library needed for gd > 260 2.0.33. This breaks symux compilation for OpenBSD < 3.9. 261 262 - OpenBSD/sm_cpu is smp aware 263 264 - OpenBSD/sm_mbuf needs errno 265 266 - symuxnet.c now allows clients to connect in Linux 267 268 - Linux/sm_io added 269 270 - FreeBSD/sm_mem fix for swap in 6/5/4 (Clive Lin) 271 272 - FreeBSD/sm_io updated to reflect devstats api change 273 27423/10/2005 - 2.72 275 276 - probes use a new "api" that allows per probe storage of 277 precomputed data 278 279 - Marc Balmer donated the df probe 280 281 - Harm Schotanus donated mem probe for linux that works on 2.4/2.6 282 283 - OpenBSD/sm_if.c no longer uses netns (Mitja Muzenic) 284 285 - symux/share.c now uses a ringbuffer to distribute symon packets to 286 connected tcp clients. Clients that can not keep up with the datarate 287 are still killed, but have a bit more time to catch up. 288 289 - Ulrich Sp�rlein updated proc probe for FreeBSD-current. 290 291 - sm_mem for FreeBSD did not clear swap stats between calls (J. Martin 292 Petersen) 293 294 - sm_sensor: sensor support was detected on OpenBSD, but did not get 295 configured (Eric Dillenseger) 296 29719/03/2005 - 2.71 298 299 - Ulrich Sp�rlein updated mem probe for FreeBSD-current and removed 300 some bugs from FreeBSD/conf.sh. 301 302 - J. Martin Petersen contributed the FreeBSD io probe and a new probe 303 called pfq that can monitor pf altq queues on Free and OpenBSD. 304 30522/02/2005 - 2.70 306 307 - Ulrich Sp�rlein updated the FreeBSD proc and mem probes, found a bug 308 in the mem probe for OpenBSD and helped extend the shell config files 309 for FreeBSD. 310 311 - Linux/Makefile.inc TSORT should be cat not echo 312 31316/02/2005 - 2.69 314 315 - inet6 support works again (Eric from Catastrophe.net) 316 31714/01/2005 - 2.68 318 319 - NetBSD/sm_debug.c now has proper sysctl mib values 320 321 - if and pf probes for FreeBSD 5.3 (Fredrik S�derblom) 322 323 - mbuf interface change for FreeBSD 5.3 (Stefan T. Peters) 324 325 - Spelling errors in INSTALL/symon.8/symux.8 (Jan Sepp) 326 327 - platform/*BSD/sm_proc transferred cpucpt as uint16 instead of double 328 (Jamie Herre) 329 330 - states_entries is a GAUGE, not a ABSOLUTE (Lars Hansson, Marco 331 Pfatschbacher) 332 333 - NetBSD/plaform.h -> platform.h (Joel Andersson) 334 335 - tsort and lorder are not needed on Linux. (Mark Enzinas) 336 33709/08/2004 - 2.67 338 339 - Matthew Gream contributed the port and probes to NetBSD and FreeBSD. 340 Probes for FreeBSD: cpu, debug, mbuf, mem and proc. Probes for 341 NetBSD: cpu, debug, if, io, mbuf, proc and sensor. 342 343 - Added initial support for Linux: cpu and if. 344 345 - Removed net_iso from symon.c (Hans Kremers) 346 347 - Time since last update gets checked in symon.c to ensure correct 348 operation with ntp 349 35005/06/2004 - 2.66 351 352 - arguments in network streams are now bound to 15 characters. symon 353 will use more characters if specified in monitoring, but will only 354 send the first 15 over the network. (Michael) 355 356 - Textual: symux.8 and c_smrrds.sh agree on stream names. (Okan 357 Demirmen) 358 35929/02/2004 - 2.65 360 361 - removed erroneous strlen in lex.c (Daniel Hartmeier) 362 363 - added better socket error reporting (Daniel Polak) 364 36527/02/2004 - 2.64 366 367 - Added new disk structure. symon has a single notion of "io" - the new 368 or the old depending on the machine it was built on. symux deals with 369 legacy streams and knows about "io1" (upto 3.4) and "io" 370 (3.5+). symux will accept legacy symons. 371 372 - c_smrrds.sh complains if files cannot be built. (Daniel Polak) 373 374 - symon no longer attempts reloading the configuration file when 375 privsep. 376 377 - Textual: INSTALL (Jan Sipke van der Veen), error texts in code 378 (Stephen Tesch) 379 38020/12/2003 - 2.63 381 382 - removed large char arrays on the stack that broke name resolution 383 384 - symon(8) now chroots and drop priviledges to user "_symon" (Henning 385 Brauer) 386 387 - added support for adjusting symon(8) monitoring interval (Henning 388 Brauer) 389 390 - removed typos and better starter configuration (Franciszek Holop) 391 392 - port: MESSAGEs were incorrect (Soeren Thing Andersen), PLIST 393 incomplete (Henning Brauer), HOMEPAGE in Makefile was off (Robert 394 Winder) 395 39612/10/2003 - 2.62 397 398 - removed errors in c_smrrds.sh (Henning Brauer) 399 400 - detecting sensor support was broken (Nick Forbes) 401 40203/10/2003 - 2.61 403 404 - added sensor probe 405 406 - removed symon2web from base source package. symon2web (or the new 407 syweb package) can be downloaded from the main website. 408 409 - symux churnbuffer calculation now deals with ipv6 hostnames too 410 411 - symux now allows file-less streams to be accepted 412 413 - removed bug in display of incoming client connections on symux 414 415 - symon uses group probes only for configured streams 416 417 - c_config.sh was not included in the PLIST for the symon package 418 (Andrew Dalgleish) 419 42023/03/2003 - 2.60 421 422 - sm_io was broken on sparc64 423 - ntohq functions were not detected for big endian machines 424 - c_config.sh broke on nfs mounts and pfsync 425 426 All: thanks to Henning Brauer 427 42826/02/2003 - 2.59 429 430 - mbuf probe (Daniel Hartmeier; depends on 3.2) 431 - example configuration is now installed in to symon/examples + 432 better conflicts in port's PLIST (Christian Weisgerber) 433 43424/01/2003 - 2.58 435 436 Gustavo Chamone helped find a rare bug in symon/sm_io.c. strsep() 437 would clobber stream information and make the first stream in the 438 configuration file disappear. 439 440 Daniel Hartmeier patched symon/sm_pf.c to deal with changes pf. His 441 patch should also work for previous versions of pf. 442 44310/01/2003 - 2.57 444 445 Christian Weisgerber reported that netinet/ip_ipsp.h already defines 446 htonq - fixed. Will Wainwright reported 1) a small bug in 447 test_config.php - fixed, 2) that I left out some files 448 (class_proc.inc and class_debug.inc) from the PLIST files. 449 45029/12/2002 - 2.56 451 452 Added proc and debug symon2web frontends. Debug has limited 453 useability, you are better off defining one for yourself. 454 45514/12/2002 - 456 457 Added the proc module. This can be used to retrieve accumulated 458 information about processes with the same name. A proc(httpd) 459 statement in symon.conf, for instance, will result in the reporting 460 of the number of processes called "httpd" and the amounts of cpu and 461 memory that they take. 462 463 Added em device to c_smrrds.sh - thanks to Jung. Fixed typo in 464 SymuxClient.pm - thanks Tobias Gresch. c_config.sh did not deal with 465 type mfs devices - thanks Dom De Vitto. 466 46729/11/2002 - 2.55 468 469 Markus Friedl reported that unresolvable ip addresses cannot be used 470 in the configuration file - fixed. 471 472 Overhauled the networking code. Everything is now ip6 aware. This 473 does mean that the ':' is no longer a keyword in the lexer; 474 i.e. 'host:port' statements should now be written as 'host 475 port' or 'host "port" port'. 476 477 Added the debug module. This can be used to retrieve debug0 478 ... debug19 variables from the kernel. 479 48008/11/2002 - 2.54 481 482 Added a perl module that allows ppl to connect to symux and do 483 something with the measurements as they come in. (I plan to drive an 484 LCD using this, but it could also be used to get, say, daily 485 bandwidth usage) 486 487 Clients of symux would not sleep after they had read and relayed data 488 symux gave to them. This could lead to one child eating up multiple 489 'semaphore slots' and starvation in other clients - fixed. 490 49125/10/2002 - 2.53 492 493 Henning Brauer suggested a datadir statement for symux configuration 494 - added. 495 496 Henning also reported that c_smrrds.sh cannot create vlan10 and 497 up. c_smrrds.sh now has a special case for pseudo-interfaces (bridge, 498 enc, faith, gif, ppp, sppp, strip, tun, vlan) 499 500 Nick Nauwelaerts helped improve dependency definitions in the port 501 Makefile. 502 50318/10/2002 - 2.52 504 505 Julien Touche reported that symon/symux do not report initial cfg 506 errors on the commandline - fixed. 507 508 Reinhard Sammer, Julien and Henning Brauer all noticed that the php 509 code needed globals - fixed. Passing by reference at call time 510 resulted in php warnings - fixed. 511 512 Henning thought it was nice to see a single machine at a time. Julien 513 wanted clickable magnification for individual graphs. Both options 514 can now be configured in datasources.inc. 515 516 Resolved a bug reported by Vincent Kessler (who also provided the fix 517 - cheers mate) in the rrdupdate call in symux - optind needs to be 518 cleared ahead of the getopt call in rrdupdate. 519 520 The Makefile.inc no longer overwrites CFLAGS. Configuration 521 directories are now taken from the environment as expected by the 522 openbsd ports system. (Thanks to Nick Nauwelaerts for pointing this 523 out) 524 525 Installation of symon now also generates a default symon.conf file if 526 the system does not already have one. 527 528 Someone at www.deadly.org pointed out that symon is no longer 529 compatible with OpenBSD 3.0 - removed claim from the website. 530 531 Added -f file switch to symon. 532 533 The lexer started parsing from character position 1 instead of 0. 534 535 symux would bomb out after a hup - fixed. 536 53714/09/2002 - 2.51 538 539 Steve Shockley reported that the port Makefile did not install rrd 540 tool. (Which is required for compilation of symux) 541 54213/09/2002 - 2.5 - kvm gone, renamed mon to symon 543 544 Rewrote io.c to obtain information via sysctl only. All kvm code is 545 now gone. 546 547 Renamed mon to symon, monmux to symux and mon2web to symon2web. I 548 liked mon better, but that name is already taken. 549 550 Cleaned up webpages to be XHTML 1.0. 551 55210/09/2002 - 2.4 553 554 Added some example pf graphs. This data is hard to plot, ideas are 555 welcome. Added better port support. 556 55709/09/2002 - Towards a better port makefile 558 559 Reworked port Makefile. It now generates a number of packages that 560 can be used to just install mon, monmux or mon2web. The KVM stuff has 561 become a special flavor of the monitor package. 562 56306/09/2002 - Cosmetics again 564 565 monmux/c_monrrds.sh: 566 - Added RRD_ARGS support. All created rrds have 567 start=epoch. Incoming data from hosts may be from an earlier time 568 than rrd creation now. 569 570 mon2web/class_[io|if|mem|cpu].inc, index.php: 571 - Rewrote argument representation of the graphs to be the same as 572 how it is configured in the configuration files. 573 574 mon2web/class_pf.inc, graph_pf.php: 575 - Initial pf support. 576 57701/09/2002 - Internal cosmetics - not released 578 579 mon/mon.c: 580 - mon packetsize is still limited by size of struct monpacket in 581 data.h:79. All other limits have been removed. 582 583 lib/data.c mon/monnet.c monmux/muxnet.c: 584 - header structure is now safely transported across the network. 585 586 lib/data.c 587 - added streamtypes b(yte) and s(hort) in preparation for new 588 streams. 589 59031/08/2002 - 2.3 591 592 Makefiles, mon/mon.c: 593 - Environment variable KVM will enable the building of a setgid 594 kmem version of the monitor. If this environment variable is not 595 present, a non priviledged monitor will be built. (Note that all 596 kvm dependant modules will fail during operation) 597 598 After today's changes, only the io probe needs kvm. 599 600 mon/if.c: 601 - obtain ifdata as per h1kari's suggestion. 602 603 mon/pf.c: 604 - global naming in sync with other probes 605 - repeated initialisation would eat up fds 606 607 Jan Sipke van der Veen 608 - version number inconcistencies (main pkg/syslog) 609 610 Daniel Hartmeier 611 - shmat usage in monmux/share.c != 64 bit safe 612 - some cpp macros missed precendence parenthesis 613 614 61529/08/2002 - 2.2 616 617 Merged contributions by Daniel Hartmeier: 618 - cpu probe had a nasty va_arg bug that only showed up on 619 big-endian machines. 620 62129/08/2002 - 2.1 622 623 Merged contributions by Daniel Hartmeier: 624 - pf probe 625 - changes to make mon compile on macppc and sparc64 626 62728/08/2002 - released 2.0 628 629 monitoring behaviour (mon) separated from storage/forwarding 630 (monmux) and picture display (mon2web). Only mon has to run with 631 kmem priviledges because of the if and io probes. Although the 632 entire package was built with portability to other OpenBSD 633 architectures in mind, it was never tested. 634 635==== unreleased ==== 636 63725/07/2002 - rewrite stringptr functions in monmux to snprintf ones 638 - package it for openbsd 639 - added a crc32 algorithm in netmon and netmux 640 - added DEBUG handling in Makefiles 641 - removed a bug in monmux that made it reprocess already processed data. 642 64322/06/2002 - added shared code, upgraded networking code 644 64504/04/2002 - changed mon/monmux.conf format 646 written manual pages 647 look at mon/cpu.c/percentages, give appropriate people credits. 648 64901/04/2002 - changed all memsets into bzero 650 all output messages have the same format now 651 write pids in /var/run 652 SIGHUP = reload configuration 653 65431/03/2002 - cleaned up source 655 656 added error reporting routines. 657 65829/03/2002 - mon and monmux no use monpacket to communicate with each 659 other. This format defines: version, lenght and crc of the traffic 660 exchanged. 661 662 mon no longer connects. monmux and mon can be started and stopped 663 independently. 664 665 monmux now checks if incoming traffic is allowed from a certain host. 666 667 added rrd write support to monmux 668 669 made c_monrrds.sh determine what files to build from environment 670 671 got mon2web up to date with mon1. changed interface layout to 672 have output as a negative area - i'm not finished with this. 673 67422/03/2002 - Added get/set preamble, still tinkering with those s(u)(n)pack 675 functions. Added one that translates it into text. 676 67706/01/2002 - Removed init and get functions from the monlib. (init functions 678 were also required in non-mon applications, not like it is 679 supposed to be :) 680 681 Next step is to rewrite the get functions into using the pack 682 function. 683 68405/01/2002 - Wrote spack and sunpack; endianess agnostic values to bytestream 685 (and back) functions. The packet format has almost been defined 686 now. 687 68824/11/2001 - Rewrote lib to KNF, OpCodes removed 68903/11/2001 - Added datatypes and rewrote readconf to use SLISTs. 69001/10/2001 - Mon configuration is read from a mon.conf. 69129/09/2001 - Lexer had trouble dealing with ip-addresses. Cleaned up the number 692 parsing code and removed a second comment reader. 693