This afternoon (US), I will be committing a trio of changes. One will roll the version number (to 2.1.55) and set the cvs tags. That was done around 4pm CST (23:00 Pisa). If you need to pull ntop 2.1.54 from the cvs, the following (or something a lot like it) will do it:
$ cvs -t checkout -r ntop_2_1_54 ntop/* Commit One-A updated the vendortable.h to reflect data from the IEEE as of yesterday. Done around 4:15 CST (23:15 Pisa). If things were working, this would make yesterday's daily snapshot, http://snapshot.ntop.org/tgz/ntop-03-01-05.tgz equivalent to 2.1.54. Since snapshot is down, it won't - I'll make and post an ntop-2.1.54.tgz to SourceForge. No rpms. Uploaded around 4:30 CST (23:30 Pisa). The second commit is a MASSIVE change (ref BMS1075). Note that I deliberately tried to make zero functional changes with this one. I didn't succeed, there are a couple of really minor items, such as eliminating the doubling of _DEBUG reports in info.html and better statistics on the hash table loads/collisions. But ntop 2.1.55 should function exactly like 2.1.54. If it doesn't well, then there's a problem somewhere. While this change SHOULD have no affect on ntop, there is always the possibility of a problem, so I'm alerting you to be on the look out... mostly for compile (make) problems. What this change does is to break up and reorganize the ntop.h and globals.h files into the following (this is taken from the comments in the new ntop.h): /* ntop's defines - what's what and what's where ntop.h This is the 'control' for the various globals-*.h files. It's a single include to drag in the necessary headers, defines ntop data structures (e.g. the structs), etc. A few globally #defined items which control expansion of the standard and system headers MUST be here. Any tests - #if () #error #endif type stuff goes here at the bottom. ntop.h includes config.h -- generated by ./configure various standard and system headers globals-defines.h All of the #defines used by ntop should be here, except for those explicitly discussed below. globals-structtypes.h Every struct and typedef, including #define used instead of typedef. and globals-core.h This defines the extern functions, exported from one ntop source file to the others. "function" which are actually #define macros are here. All programs must include ntop.h. Any program which requires the "reporting" functions also have to include globals-report.h. */ All of the struct and typedef declarations were placed into the globals-structtypes.h, unchanged except to sequence them so that no forward declarations were required. As part of the reorg, almost all of the #define values in ntop have been moved into globals-defines.h renamed into what I hope is a logical naming convention AND DOCUMENTED: /* * * This file, included from ntop.h, contains ALL common #define statements. * * Changes here affect how ntop compiles. This includes features that are * enabled, etc. * * Names have at least one part that defines their "type". Listed below in the order * they are most frequently changed. * * PARM -- any "PARM" item is an internal tuning item, e.g. one that must be set at * compile time and can not be overridden at run time. * * MAKE -- MAKEs are like PARM, but set based on other factors like the os, absence * of other values, etc. * * DEBUG -- any "DEBUG" item is not normally set, but if #define(d) causes additional * output fron ntop of a debugging nature. * * CONST, LEN and MAX - these are arbitrary values, limits and lengths of fields * (buffer size, ethernet address, et al) and arrays. * * FLAG and BITFLAG -- are various constants and flags. * FLAG is a numeric/char value used to mean something * BITFLAG is a value used to test/set a specific bit in a value * * HTML -- an "HTML" item is the name of a page produced by the ntop web server. Using * these constants ensures that the same name is used for testing and for including in * generated html. Note that this includes the graphics we use (.jpg, .gif and .png) * regardless of whether it's a generated "page" or just a static included image. * * CFG -- any "CFG" item is set in config.h by ./configure indicating that ntop was * requested to be compiled with a particular configuration. These are not defined in * this file. * * HAVE -- any "HAVE" item is set in config.h by ./configure indicating that the .h and * .a/.so tests found we have a particular file or library during the testing process. * HAVE items are not defined in this file (they're in config.h). However - * Note that we don't differentiate in the code between the automatically generated * singular items (HAVE_SSL_H) and the composite ones (generated from a bunch of tests, * HAVE_OPENSSL). Forced and/or Composite items should be defined here. * * DEFAULT -- any "DEFAULT" item is the standard, default value of a global data item. * This can be over-ridden (usually) by a command-line pararameter at run-time. * These go pretty much last so they can use values from other classes. * * -- any MISSING or EXTERNALLY named item, obviously, has to have the proper missing * or externally named name. These are grouped after the ntop stuff... * * Note that with this initial version (01-2003), there is something less than 100% * adherence to this. Any corrections, comments, (hopefully) documentation would be * greatly appreciated. * */ A few #defines, internal to a particular source file were retained in their locations. The biggest risks from this change are that a number of the OS specific test have been rationalised under the -D${OSNAME} value generated from ./configure (e.g. #ifdef LINUX, #ifdef DARWIN, etc.) vs. the smattering of stuff used previously. Note that globals.h is gone, except as a place holder file, with a comment telling you to look elsewhere. I've tested this under Linux (extensively), Solaris and FreeBSD 4.6.3. I've also tested that it compiles (at least with ./configure --prefix=/usr) under Darwin and MinGW. Exceptions: regex.c and qsort.c - this code comes from ngrep and Bentley & McIlroy's "Engineering a Sort Function" (respectively) and was not altered. ToDo: globals-report.h needs the same treatment to rationalize the names and document them. These entries could also be merged into globals-defines.h or globals-rdefines.h - any preferences?? Pull more stuff out of ntop_win32.c and merge/rationalize. May not be able to do these - _win32 provides ntop with a bunch of stuff not defined under MinGW. What's been pulled so far is the stuff that caused problems compiling due to the sequence of #include statements. Pull stuff out of ntop_darwin.c and merge/rationalize. May not be able to do these - _darwin has special licensing issues. Pull more stuff out of sflow - maybe... As always, comments et al to the lists... -----Burton _______________________________________________ Ntop-dev mailing list [EMAIL PROTECTED] http://listgateway.unipi.it/mailman/listinfo/ntop-dev