2007-12-27 Romain Bignon <filsdejerome@inl.fr>

	* nulog-core/nulog.py: Fixed bug when there is an empty archive table.

	* nulog-web/xml/nulog.xml, nulog-web/img/favicon.ico: Added a favicon.

	* scripts/install_defconf.sh: Created a script to simplify user
	installation of default user configuration.

2007-12-26 Romain Bignon <filsdejerome@inl.fr>

	* nulog-web/sessions.py: Added forgotten fields in save method

	* auth/__init__.py: Copy the nucentral's auth module, but doesn't
	support authentification anymore (only saving datas).

	* nulog-web/pages.py: Can use the Nulog_User header to authentificate
	the user.

2007-12-19 Romain Bignon <filsdejerome@inl.fr>

	* nulog-core/inl.py: Now we only consider state = 0 to bad pacets,
	because state IS NULL is only to accepted packets not authentified.

	* nulog-web/page.py (BasePage.renderHTTP): if there is an 'username'
	in HTTP header, we automaticaly login user.

2007-12-12 Romain Bignon <filsdejerome@inl.fr>

	* nulog-core/inl.py: If limit argument is -1, show all entries

	* nulog-web/csv.py: Set limit argument to -1 to show all entries

	* nulog-web/table.py: If 'limit' < 0, do not show 'prev' and 'next'
	links, and '[%d->%d]'.

	* scripts/triggers.py: Create this script to get a parameter to the
	SQL script.
	When a packet is inserted and its state is NULL, we look for a word in
	the log prefix, and if it is in, we change state to 0 (dropped).

2007-12-11 Romain Bignon <filsdejerome@inl.fr>

	* nulog-web/frags.py: Display a "state menu" when we click on the
	state filter.

	* nulog-web/frags.py, nulog-web/sessions.py: Do not display page if
	there isn't needed args (defined in session configuration file).

	* nulog-web/tools.py, nulog-web/frags.py: Remove username argument
	when we remove user_id arg.

	* nucentral/core/core.py: Try to keep the only usefull value in error.

	* nulog.tac: likewise.

	* nulog-web/sessions.py, nulog-web/frags.py: Default arguments, show
	the state on UserInfo, HostInfo and PostInfo pages.

	* nulog-web/nulog.py: Show an error message when we can't to connect
	to database.

2007-12-06 Romain Bignon <filsdejerome@inl.fr>

	* nulog-core/table.py (BadHosts): Table to return last bad hosts.
	(BadUsers): Table to return last bad users.

	* nulog-web/xml/left.xml, nulog-web/nulog.py: Show warnings about bad
	hosts and bad users.

2007-12-03 Romain Bignon <filsdejerome@inl.fr>

	* nulog-web/tools.py, nulog-web/frags.py: links in titles to remove
	filters.

2007-11-30 Romain Bignon <filsdejerome@inl.fr>

	* nulog-core/inl.py (TableBase): Now 'columns' attribute is a list and
	not a dict... Links are defined in frontend.

	* nulog-core/table.py, nulog-core/info.py: Likewise

	* nulog-web/sessions.py (Session.Frag.Links): Class to describe links.

	* nulog-web/frags.py (BaseFrag): Give the Session.Fragment object to
	BaseFragment...

	* nulog-web/table.py: Using session links and not oldest TableBase
	attribute (which doesn't exist anymore).

	* scripts/default.conf, scripts/no-users.conf: Describe in these
	configuration files all links in fragments.

2007-11-24 Romain Bignon <filsdejerome@inl.fr>

	* nulog-core/info.py (PacketInfo): We can show a packet between two
	dates.

	* nulog-web/table.py (TableFragment.render_toolbar): fixed CSV export
	when there are arguments.

	* nulog-core/inl.py, nulog-core/nulog.py: Now we can search last
	packets in the conntrack_ulog.

	* nulog-web/tools.py, nulog-web/frags.py: Probably fixed session bug.
	We now only save args and not filters.

2007-11-15 Romain Bignon <filsdejerome@inl.fr>

	* nulog-core/inl.py: Now we consider that state 4 is an alias to state
	1 or state 2.

	* scripts/default.conf (ConnTrackTable): only show state 4.

	* nulog-web/nulog.py: Main title is configurable in the config file.

	* nulog-web/pages.py (LoginPage): Beautiful page.

2007-11-14 Romain Bignon <filsdejerome@inl.fr>

	* nulog-web/frags.py, scripts/default.conf, nulog-web/sessions.py: Now
	we can put a link in the page title.

	* nulog-web/xml/nulog.xml: Fix session bug with ConUserTable.

	* nulog-core/tables.py (ConnTrackTable): New table used to show
	packets in conntrack_ulog table.

	* scripts/default.conf, nulog-web/xml/nulog.xml: Added the ConnTrack
	page.

	* scripts/conntrack_ulog.ipv?.mysql.dump: Added scripts for
	conntrack_ulog table.

	* nulog-core/default.core.conf, nulog-core/nulog.py: New parameter in
	configure, conntrack, to specify the table name.

	* nulog-core/nulog.py: Usage of a cron to update the conntrack table.

2007-11-11 Romain Bignon <filsdejerome@inl.fr>

	* nulog-web/css/ulog.css: Buttons width is now fixed.

2007-11-10 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/inl.py (_arg_where): At calls of safe() function, check value
    is a string object.

    * nulog-web/tools.py (Args): Show a valid date and time string instead of
    a timestamp (on labels).

    * nulog-core/inl.py (_arg_where_begin_time): Use the FROM_UNIXTIME() SQL
    function to compare packet's timestamp with begin time.
    (_arg_where_end_time): Likewise.

    * nulog-web/js/nulog.js: After added a fragment on main page, reload it.

    * nulog-web/sessions.py, nulog-web/frags.py: A new attribute is used in
    configuration files to know what page is used as index page.
    It removes the magic string 'index'...

2007-10-26 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/js/nulog.js, nulog-web/img/: Title buttons are not hidden but "grised".

    * nulog-web/po/fr/nulog.po: Update translation.

    * nulog-web/js/nulog.js: Effect on search show/hide.

    * nulog-web/table.py: Fixed a bug with prev/next.

    * nulog-web/table.py, scripts/default.conf: Now we show state change menu in toolbar and argument is on frags instead of pages.

    * nulog-core/inl.py: Fixed a big SQL injection.

2007-10-25 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/xml/table.xml: Create a toolbar to put all buttons, shown when clicking on a button.

    * nulog-web/js/nulog.js: Fixed the FUCKING bug with select widget.

    * nulog-web/img/*: New images.

    * nulog-web/sessions.py, nulog-web/ajax.py: Fixed a bug with sessions copy.

    * nulog-web/js/nulog.js: Now moved fragments are always on top.

    * nulog-web/xml/table.xml, nulog-web/js/nulog.js: We can reduce fragments.

2007-10-24 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/graph.py: Fixed a bug.

    * nulog-web/csv.py: Now we can export a table to CSV format.

2007-10-23 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/js/nulog.js: Split the nulog.xml file to put javascript code in nulog.js.

    * doc/ajax.rst: The ajax documentation.

    * nulog-core/table.py (ConUserTable): If currents argument is passed, we remove the end_time column.

    * nulog-web/sessions.py: We translate all titles from files.

    * scripts/conf-l10n.py: Script to find titles in configuration files to add them in .po files.

    * nulog-web/table.py: Fixed a bug, when sort was "ascending", link on it was 'ASC' instead of 'DESC'.

    * nulog-web/tools.py: Fixed a problem with translation with trans() function.

2007-10-22 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/frags.py, nulog-web/css/ulog.css: When there is only one box on the page, we enlarge your penis^W^Wthe box to 70%
    of the browser width.

    * nulog-core/table.py (PacketTable): As label of id, we put 'user' or 'host.

    * nulog-web/tools.py: Use the label of id cell to show an image (user.gif or host.gif)

    * nulog-core/*, nulog-web/*: Remove all "TableBase.columns['names']", and rename "TableBase.columns['sort']" to
    "TableBase.columns['names']".

    * nulog-core/table.py (PacketTable): A 'tiny' flag can be used to show a light version of table. It removes some columns.

    * nulog-web/table.py (TableFragment.render_head): Split this function to have a better code.

    * doc/gettext.rst: Documentation about tips for translation.

    * nulog-web/tools.py: Truncate the too weight ips.

    * nulog-web/xml/nulog.xml: VERY UGLY bugfix for IE7.

    * nulog-web/xml/left.xml: Add a link when browser is IE.

2007-10-18 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/xml/nulog.xml: Some Firefox and IE fix for compatibility.

    * nulog-core/nulog.py: Usage of cron.

    * nucentral/core/cron.py: Import nucentral's cron script.

2007-10-17 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/table.py, nulog-web/xml/search.xml: We can look for usernames by filtering with masks.

    * nulog-web/xml/table.xml, nulog-web/css/ulog.css, nulog-web/frags.py: Nulog is now IE7 compliant!

    * nulog-web/css/ulog.css: Now columns have a proportionnal width (and equal).
    Show a scrollbar if content is too wide.

    * nulog-web/tools.py (Args): Show the port service on titles and labels.

    * nulog-web/table.py, nulog-web/xml/nulog.xml: Can't move box if there is only one.

2007-10-16 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/inl.py: Fixed some bugs with Trigger database. (bad calls)

    * nulog-web/xml/table.xml, nulog-web/css/ulog.css: Now box are really beautiful, thanks to Eric!

    * nulog-web/xml/nulog.xml: Adapt javascrit code to the new HTML code.

    * nulog-web/table.py: Fix a typo which make a bugous previous link.

    * nulog-web/xml/table.xml, nulog-web/table.py, nulog-web/xml/nulog.xml: New title bar style.

    * nulog-web/xml/nulog.xml: Now when we move a box, there is a shadow box which has the same height than moved box.

    * nulog-web/css/ulog.css: Show degraded image on state background.

    * nulog-core/inl.py: Check errors when trying an hostname/ip.

    * nulog-web/table.py: Show server errors.

    * nulog-web/nulog.py: Load average is less precise.

    * nulog-web/tools.py: Fix bug which doesn't accept ip_from argument.

2007-10-15 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/nulog.py, nulog-web/table.py: Remove last slash in urls.

    * nulog-web/nulog.py: We use the last word in url taken from configuration to know what is the name of page.

    * nulog-core/inl.py, nulog-core/table.py (UserTable): Can pass filters on UserTable.

    * nulog-core/inl.py (TableBase): All filters are stored in "filter" attribute.

    * nulog-web/table.py (TableFragment._get_cell_link): Now links use actuals filter arguments, and now the navigation is stored.

    * nulog-core/inl.py: Support search in archives.
    (TableBase._sql_query): Now it is our which put sortby and limits.

    * nulog-web/xml/search.xml, nulog-web/tools.py: Search in archives with a date/time interval.


2007-10-12 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/nulog.py (Core.update_archives): Function to store in dictionnary all archive tables and it time interval.

    * nulog-core/inl.py, nulog-core/nulog.py, nulog-core/table.py: break all code to better sql queries system.

    * scripts/no_users.conf: Created a configuration for non NuFW users.

2007-10-11 Romain Bignon <filsdejerome@inl.fr>

    * scripts/ulog_rotate.py: Script used to rotate logs tables.

    * nulog-core/inl.py, nulog-core/nulog.py: Big work to reorganize (finally it is useless (thanks to Regit :p))

    * nulog-web/xml/nulog.xml: Add bindings for Escape and Return keys when editing fragment title.

2007-10-10 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/pages.py, nulog-web/nulog.py: Login link works.

2007-10-09 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/xml/nulog.xml, nulog-web/nulog.py: Remake title, and a Search link to show the look for bloc (at top).

    * nulog-web/table.py: Hide "prev" and/or "next" links when there isn't previous or next page.

    * nulog-web/tools.py: Show only filename for applications.

    * nulog-web/frags.py (PageContent): Support title arguments.

    * nulog-web/tools.py: Reverse DNS for ip labels.

    * nulog-core/inl.py: Now we can give an hostname as filter, and resolv it.

    * nulog-web/sessions.py: Using now SessionWrapper and Checker to login. Now sessions are persistents!

2007-10-08 Romain Bignon <filsdejerome@inl.fr>

    * nucentral.tac, nucentral/core/ssl.c: Added a call back system for SSL authentification, to check certificat validity.

2007-10-05 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/css/ulog.css, nulog-web/xml/nulog.xml: Show a move bar.

    * nulog-web/img/reload.png, nulog-web/table.py: A reload button.

    * nulog-web/img/*: Change icon sizes (height: 12 to 16).

    * nulog-web/xml/nulog.xml: Use the horizontal midle to determine if we are in first or second column.

    * nulog-core/inl.py, nulog-core/table.py (AppTable): Added the table to get most application dropped.

    * scripts/default.conf: Show the most application dropped on user page.

    * nulog-web/graph.py (Pie): Show labels on a legend at right, instead of showing them on pie. Do not show decimals on pourcents.

    * nulog-web/nulog.xml, nulog-web/ajax.py: Reset link make a call to an ajax function.

    * nulog-web/graph.py (Pie): Clicks on legend and not on pourcents.

2007-10-04 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/nulog.xml: Now we can move fragments, and it saves it in user session!

    * nulog-web/ajax.py (CommandPage.Session.modfragpos): A command to change fragment position on a page.

    * nulog-web/table.py: Do not put a link on "next" when number of entries is less than limit number.

    * sessions/default.conf: Fixed a bug.

    * nulog-core/table.py (PacketTable): Can sort by protocol.

2007-10-03 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/nulog.xml: Now we can change fragment's titles by clicking on them.
    A combobox is used to change number of entries returned.

    * nulog-web/ajax.py (CommandPage.Session.modfrag): Now we can change fragment arguments.

    * nulog-web/nulog.xml: Remove mouseover/mouseout handler while we trying to change limit value.

2007-10-02 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/table.py, nulog-core/inl.py: Now we use constants to tell if, in the links dictionnaries, an argument must
      be replaced by a label or a value.

    * nulog-web/table.py (TableFragment._get_cell_link): Get the link url of a cell.
    (TableFragment._render_cell): Return the STAN content of a cell (in <td />).
    (TableFragment.render_entry): Simplify the code!

    * nulog-web/graph.py (GraphFragment._render_htmlarea): Get the html area with a clean code.
    (GraphFragment.render_entry): Simplify the code!

    * nulog-web/xml/nulog.xml: Show a message confirmation when we try to delete a fragment.
    When a fragment is removed, we remove <div/> instead of reload the all page.

    * nulog-web/nulog.py: Now there is a link to reset the settings of an user.

    * nulog.tac: Support of new NuCentral API.

    * auth/: Little module to load default.conf file.

    * setup.py: Setup script updated.

    * INSTALL: Installation instructions updated.

    * nulog-web/tools (Args): Create titles.

    * nulog-web/css/ulog.css: Create useless sections about fragment headers.

    * nulog-web/ajax.py: Create file from nulog.py (with all ajax codes).

    * nulog-web/pages.py: Create file from nulog.py and tools.py (contains BasePage and other things).

    * nulog-web/frags.py: Create file from nulog.py and tools.py (contains BaseFragment, FragmentFactory and other things).

    * nulog-core/*: Some bugfixes with pychecker.

    * nulog-web/nulog.xml: Bugfix with buttons.

    * nulog-core/table.py, nulog-core/inl.py: Support of other endian in ConUserTable.

    * Release NuLog2-alpha2

2007-10-01 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/graph.py: Fixed a bug which shows (label, value) when data is a tuple (in an histogram).

    * nulog-web/tablepage.py, nulog-web/xml/table.xml: Reformating the fragment xml code. Now there are a button list on top.

    * nulog-web/xml/nulog.xml: Clean code and create the code to show/hide button list.

    * nulog-web/img/[pie|table|histo|bookmark|remove].png: Change size of these icons.

    * doc/sessions.rst: Some informations about sessions.

    * nulog-web/table.py: Fix bug.

    * nulog-web/nulog.py: Divide new components.

    * nulog-web/sessions.py: Fix bugs (bad regexp).

    * doc/vocabulary.rst: A ReST file to show what is vocabulary of Nulog.

2007-09-28 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/table.py, nulog-core/inl.py: Now we use user_id to filter users.

    * nulog-web/tablepage.py, nulog-web/graph.py: Can accept tuple with (label, value) for cell.

    * scripts/ipv4.dump, scripts/ipv6.dump: Use user_id as key.

    * scripts/default.conf: Default configuration.

    * nulog-web/sessions.py, scripts/default.conf: Change the format of datas.

    * nulog-core/inl.py, nulog-core/table.py (IpTable): This table is now generic (for source and destination ips)
      (IPsrcTable): Create table based on IpTable and which shows source ips.
      (IPdstTable): Create table based on IpTable and which shows destination ips.

    * scripts/default.conf (PortInfo): Port table.
    (HostInfo): Host table.

    * nulog-web/img/bookmark.png, nulog-web/img/bookmark_g.png, nulog-web/img/remove.png: Images added.

    * nulog-web/nulog.py (CommandPage): Added a page used to command from javascript with ajax.
    (CommandPage.Session): Commands for manipulate user session.

    * nulog-web/xml/nulog.xml: Load and remove fragments on index page.

2007-09-27 Romain Bignon <filsdejerome@inl.fr>

    * nucentral/auth/, nulog-web/sessions.py, nulog-web/nulog.py: It saves user datas in files.

    * nulog-web/nulog.py: Use an uniq system to generate pages from user settings.

    * nulog-web/tablepage.py (TablePage): Removed.

2007-09-26 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/sessions.py, nulog-web/nulog.py: Now User Login On nuloG works!

    * nucentral/core/core.py, nucentral/auth/: Create the auth module.

2007-09-21 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/nulog.py, nulog-web/sessions.py: Store session informations.

2007-09-20 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/img/ajax-load.gif, nulog-web/nulog.xml: Show a GIF animation when loading a fragment.

    * nulog-web/tablepage.py: Support ASC and DESC sort.

    * nulog-web/tablepage.py, nulog-web/nulog.xml: Store title and icon on tables. Remove 'table_arg=value' form of args.

2007-09-19 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/nulog.py, nulog-web/tablepage.py, nulog-web/js: Ajax support!

2007-09-12 Romain Bignon <filsdejerome@inl.fr>

    * doc/page.rst: Documentation to create a new NuLog page.

    * nulog-web/xml/userinfo.xml, nulog-web/infopage.py: UserInfo page.

    * nulog-web/nulog.py, nulog-web/table.py, nulog-web/infopage.py, nulog-web/graph.py: Links are made on base url get in nulog.conf.

    * nulog-web/nulog.py (getFragment): We can now give base url for links.

2007-09-11 Romain Bignon <filsdejerome@inl.fr>

    * doc/nucentral.rst: Documentation about NuCentral's protocol.

2007-09-10 Romain Bignon <filsdejerome@inl.fr>

    * nulog.py (getFragment): Exported function to receive generated HTML code of a fragment.

2007-09-05 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/*: Internationalization.

    * nulog-web/graph.py (Graph): Code factorization with a base class for Pie and Histogram classes.
    (GraphImages): Now we don't save images in files, we add it in a dict and send it later when browser'll ask it.

2007-09-04 Romain Bignon <filsdejerome@inl.fr>

    * doc/: Documentation.

2007-09-03 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/graph.py: We can click on pies.

    * nulog-core/inl.py, nulog-core/table.py: Fix bug that didn't show dropped packets if state is NULL in table.

    * nulog-web/graph.py: Graphs are Konqueror compliant!

    * Support an installation system.

2007-08-31 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/nulog.py, nulog-web/left.xml: Version number is stored in a constant, and shown on left.xml

    * INSTALL: Add some triggers informations.

    * nulog-web/nulog.conf, nulog-web/default.conf, nulog-web/nulog.py: Default configuration file is default.conf. Nulog will look
      for nulog.conf first, next default.conf, and exit if there is no file found.

    * nulog-core/core.conf, nulog-core/default.conf, nulog-core/nulog.py: Likewise with core.conf and default.conf.

    * wrapper/wrapper.conf, wrapper/default.conf, wrapper/wrapper.tac: Likewise with wrapper.conf and default.conf.

    * nulog-core/info.py, nulog-web/infopage.py: Show packets and bytes stats.

    * nulog-web/infopage.py: Show Mac informations.

    * nulog-web/left.xml: Link to show last packets list.

2007-08-30 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/inl.py (InfoBase): A base class to support one-row select in databas.

    * nulog-core/info.py (PacketInfo): This class return an entry in ulog table.

    * nulog-web/tools.py (BaseFragment): This base class may be used by all fragments which needs get a data from 'table' function
      on a distant nulog-core.

    * nulog-web/tablepage.py (TableFragment): Now child of BaseFragment.

    * nulog-web/infopage.xml, nulog-web/infopage.py (InfoPage): Info page which include an info fragment.

    * nulog-web/packetinfo.xml, nulog-web/infopage.py (PacketInfo): This class herited from BaseFragment shows infos on a packet.

    * nulog-core/inl.py, nulog-web/infopage.py: Show more informations on a packet.

    * Add a lot of comments.

    * nulog-web/tablepage.py: When state = [1,2,4], we show an other menu.

    * graph.py: Clean code.

    * README: Create file.

2007-08-29 Romain Bignon <filsdejerome@inl.fr>

    * wrapper/wrapper.tac: Usage of a variable in configuration to tell where I have to look for modules.

    * nulog-core/server.conf, nulog-core/inl.py: IPv4 are supported.

    * scripts/ipv4.dump: Tables schema for ipv4.

    * nulog-web/tools.py (Args): Create a system to pass data on functions

    * scripts/ipv4.dump, scripts/ipv6.dump: Corrections of format used for start_time and end_time fields in tcp_ports, udp_ports,
      offenders and usersstats tables.

    * nulog-web/nulog.conf, nulog-web/nulog.py: Usage of a config to give url.

    * nulog-web/nulog.py, nulog-web/indexpage.xml: Now there is only ONE mainpage and fragments.

2007-08-29 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/inl.py (TriggerDataBase): Use a trigger schema with help tables.

    * nulog-core/server.conf: Can tell what type of database use.

    * nulog-web/graph.py: Show stats.

    * nulog-web/tools.py (Args.sort_label): Get a label to show how table is sorted.

    * INSTALL: installation file.

2007-08-28 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/graph.py (Histogram): Histogram is cliquable.

    * nulog-web/tablepage.py: Images to switch between renders.

    * nulog-core/inl.py (DataBase): New class to abstract SQL calls.

    * nulog-core/table.py: Use DataBase object.

2007-08-27 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/graph.py: In pie, there is an "Other" part.

    * nulog-core/table.py: Some tables return a gatherResults() to make two queries.

2007-08-27 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/graph.py (Pie): Now we can create a pie or an histogram.

    * nulog-web/nulog.py: Choice is between table, histogram and pie.

2007-08-24 Romain Bignon <filsdejerome@inl.fr>

    * wrapper/wrapper.tac, nulog-core/nulog.py, nulog-web/nulog.py: Compliant with new Nucentral API.

    * nulog-web/graph.py (GraphFragment): With a *Table, create an histogram.

    * nulog-web/nulog.py, nulog-web/tablepage.py: Use an argument to switch between table and graph render.

2007-08-23 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/tablepage.py (TableFragment): Error handler.

    * nulog-core/tools.py (Args): Class to store all args type, check functions and labels.

2007-08-22 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/inl.py (BaseTable._arg_where): Function to make a SQL WHERE string from arguments and a dict.
    (BaseTable._arg_where_ip): Help function to return a specitific IPv6 compliant SQL value.
    (BaseTable._arg_where_port): Help function to return the specific field to check (tcp or udp). We use proto
    argument.
    (BaseTable._arg_where_proto): Help function to make a specific SQL string to check which protocol it is (hugly).

    * nulog-web/search.xml: Search feature.

    * nulog-web/search.xml, nulog-core/table.py: Can search by source address, destination address, or both.

    * tools/traffic_maker.py: Little script to create entries in database in real time to simulate traffic.

    * nulog-core/table.py: Some bugs corrected.

    * nulog-core/nulog.py, nulog-web/left.xml: Show 'Load average'.

2007-08-21 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/inl.py (start_dbpool): Now we use only ONE instance of adbapi.ConnectionPool...

    * nulog-core/nulog.py (count_entries): New service to make a request on database to count entries on a table.
      There are pre-registered requests and client may give a keyword.

    * nulog-core/nulog.py (ConUserTable): New table to list entries in users table.

    * nulog-web/left.xml, nulog-web/nulog.py: Template to include this in all other xmls.

    * nulog-web/search.xml: Begin a search feature.

2007-08-20 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/table.py, nulog-core/nulog.py: Split nulog.py to put Table related files in table.py. Others files (like graphs.py ?)
      may appear.

    * nulog-web/nulog.py, nulog-web/tablepage.py: Split nulog.py to put Table related files in tablepage.py...

    * nulog-web/tablepage.py, nulog-core.py: On PacketTable, we store states and colorize each lines...
    There is a new filter: state.

2007-08-17 Romain Bignon <filsdejerome@inl.fr>

    * wrapper/wrapper.tac: Create a wrapper to execute an independant nulog. It has the same API that NuCentral.

    * nulog-web/inlaccess.py (register): Function called by NuCentral/Wrapper to register a nevow page.
    (core): The core passed to register function is setted as a global variable. We can use it to call distant services.

    * nulog-web/nulog.py (TableFragment): Adapt this fragment to use DEFERRED returns... We MUST see this problem!

    * nulog-core/nulog.py (register): Function called by NuCentral/Wrapper to register a component and its services.
    (table): This function is same than Nulog.soap_table, but now we don't care about transport.

2007-08-16 Romain Bignon <filsdejerome@inl.fr>

    * nulog-web/nulog.py: Resolve url problem.
      Added a gettext support (doesn't work now, strings are between _())

2007-08-16 Romain Bignon <filsdejerome@inl.fr>

    * nulog-core/nulog.py: Exception tracking to show them with a backtrace.
      (TableBase): Use a table.args variable to save all args used. Beautiful arg check.

    * nulog-web/nulog.py, nulog-web/info.xml: Created an info/ page. Show what column is sorted.

[...]
