2006-01-05 13:49  kutzner

	* configure.in, libigor.h, main.cc, transport.cc: todays lesson:
	  Why are last minute changes a bad idea?

2006-01-05 11:32  denk

	* configure.in: bumped version number

2006-01-05 11:24  kutzner

	* id.cc: more debugging output

2006-01-05 11:24  kutzner

	* message.cc, message.h, rawmessage.cc, rawmessage.h: Write the
	  message time stamp as double with a few decimals. Don't complain
	  about clock skews if they are lower than a few (five) seconds.
	  CVS:
	  ----------------------------------------------------------------------

2006-01-05 11:23  kutzner

	* main.cc: Reconnect closed file descriptors after fork. Reason:
	  before, we closed stdin/stdout/stderr. The first connection
	  thereafter got file descriptor 0.  When a routine in libc or
	  somewhere else wrote something to stdout/stderr, this went to
	  other igors which got confused. Solution: reconnect file
	  descriptors 0, 1 and 2 to /dev/null.

	  Set process group to detach from the controlling terminal and
	  don't get the HUP and related signals.

2006-01-04 22:11  kutzner

	* libigor.cc, libigor.h: preparations for making openssl usage
	  thread safe.	Or should this go into the application (ie vdr)
	  instead of libigor?

2006-01-03 18:57  kutzner

	* node.cc, transport.cc: for setting of foreign node references,
	  use different sources:  - host name: ask local connection object
	  (which asks TCP). DNS reverse resolution should provide correct
	  results or no results at all.   - port number: believe ping
	  messages (Not very wise. Could be checked by a test connection.)
	  - node id: believe ping messages (Not very wise. Can't be
	  checked until we have crypto-node-IDs).

2006-01-03 11:43  kutzner

	* testmulticlient.cc: metric experiments show broken routing

2006-01-02 15:28  kutzner

	* testmulticlient.cc: client to determine routing time

2006-01-02 15:27  kutzner

	* main.cc, doc/TODO: fork into background

2005-12-29 17:21  kutzner

	* .cvsignore, buf.cc, connection.cc, connection.h, debug.h,
	  libigor.cc, makefile.am, message.cc, node.cc, rawmessage.cc,
	  testmulticlient.cc, utils.cc: Redesigned message reception
	  process: Now a buffer-build-up should be more unlikely. Downside:
	  If many messages arrive at once, they are processed at once and
	  other actions (periodic todos, reception on other connections..)
	  are delayed.	Add -pedantic and other warnings and clean the code
	  to silence them.  Avoid class members with the class name: This
	  allows compilation with GCC 2.95

2005-12-28 15:59  kutzner

	* makefile.am, testmulticlient.cc: multithreaded test client to
	  test igor performance

2005-12-28 15:29  kutzner

	* connection.cc, libigor.cc, node.cc: changed the way connections
	  move from state OPENING to state OPEN (now connections handles
	  this instead of node) added a c++ way of initializing the
	  library. The call to igor_init() is not necessary any more (but
	  does no harm).

2005-12-20 15:52  kutzner

	* configure.in, connection.h, makefile.am, message.h: new version,
	  more strict for pedantic compilers

2005-12-07 16:15  kutzner

	* libigor.cc: use sd2c() instead of cast. Thanks to Stefan

2005-12-06 15:19  kutzner

	* configure.in: bump version number for next release

2005-12-05 20:43  kutzner

	* debug.cc, debug.h, main.cc, makefile.am, node.cc, doc/TODO: use a
	  log file instead of cluttering stderr; another alternative may be
	  syslog

2005-12-01 15:25  kutzner

	* configure.in: bump version

2005-12-01 15:21  kutzner

	* node.cc: fehlende klammer

2005-11-30 14:59  kutzner

	* node.cc: set the source of data messages if they are still empty

2005-11-29 17:14  kutzner

	* callbacklist.cc, igor.conf, main.cc, node.cc, node.h, doc/README:
	  shutdown if no connection is left

2005-11-29 15:45  kutzner

	* igor.conf, node.cc, node.h: avoid double-catching of exceptions
	  previous situation:

	  void ping(){try{send()} catch (){close()}} void
	  receive(){try{ping(); recv()} catch() {close()}}

	  during receive(), ping catched the exception thrown by send() and
	  closed the connection. recv() then segfaulted.

	  solution: make ping, depending on circumstances, don't catch the
	  exception

2005-11-24 19:12  kutzner

	* libigor.cc, main.cc: rename localigor

2005-11-21 12:23  kutzner

	* main.cc: read more configuration files

2005-11-21 11:46  kutzner

	* COPYING, buf.cc, buf.h, callback.h, callbacklist.cc,
	  callbacklist.h, connection.cc, connection.h, debug.cc, debug.h,
	  id.cc, id.h, igor.h, libigor.cc, libigor.h, main.cc, message.cc,
	  message.h, node.cc, node.h, noderef.cc, noderef.h, rawmessage.cc,
	  rawmessage.h, serviceid.cc, serviceid.h, statistic.h,
	  testclient.cc, testid.cc, testmetric.cc, transport.cc,
	  transport.h, utils.cc, utils.h: add copyright information

2005-11-21 06:50  kutzner

	* configure.in: fail if SHA1 not found

2005-11-19 20:58  kutzner

	* configure.in, makefile.am: add .h files to distribution

2005-11-09 23:28  kutzner

	* .cvsignore: bring .cvsignore to auto-everything

2005-11-09 23:26  kutzner

	* message.cc, message.h: issue warning when clocks are out of sync;
	  todo: add threshold

2005-11-02 17:22  kutzner

	* .cvsignore, 1, 2, 3, AUTHORS, COPYING, ChangeLog, Doxyfile,
	  INSTALL, Makefile, NEWS, README, bootstrap.sh, buf.cc, buf.h,
	  callbacklist.cc, configure.in, connection.cc, connection.h,
	  id.cc, id.h, igor.h, k, libigor.cc, libigor.h, ltmain.sh,
	  makefile.am, message.h, noderef.cc, r, testclient.cc,
	  doc/DHTinterface2app, doc/DHTreceive, doc/README, spec/dhtlib.h:
	  dht now called igor

2005-11-02 14:02  kutzner

	* .gdbinit: re-summon gdb init file

2005-11-02 13:57  kutzner

	* .gdbinit: dht now called igor

2005-11-02 13:55  kutzner

	* .gdbinit: some hint to gdb

2005-10-21 13:31  kutzner

	* Makefile, libigor.cc, libigor.h, rawmessage.cc: library
	  construction is somehow interesting

2005-09-28 21:52  kutzner

	* .cvsignore, Makefile, node.cc, node.h, doc/TODO: further work to
	  prevent routing table churn

2005-09-20 17:41  kutzner

	* debug.cc: print to stderr

2005-09-20 17:16  kutzner

	* main.cc: proper shutdown on kill

2005-09-09 11:58  kutzner

	* doc/TODO: thinking about new metrics

2005-08-24 20:04  kutzner

	* callbacklist.cc, id.cc, id.h, node.cc, testmetric.cc, doc/TODO:
	  further experimentations with xor metric

2005-08-23 20:40  kutzner

	* callbacklist.cc, node.cc: half a day of bug hunting.	lessons
	  learnt:  - always initialize all struct members  -
	  map<key,value>::operator[](key) can insert empty things into your
	  map

2005-08-22 07:37  kutzner

	* debug.cc, node.cc, node.h, noderef.cc, noderef.h, r,
	  transport.cc, transport.h, utils.cc, utils.h, doc/TODO: close
	  connections which are not useful; some constness corrections

2005-08-19 16:22  kutzner

	* Makefile, id.cc, id.h, testmetric.cc: create metric tester

2005-08-19 14:36  franz

	* libigor.cc, libigor.h: copy constructor

2005-08-11 17:25  franz

	* libigor.cc, libigor.h: [no log message]

2005-08-11 17:21  franz

	* Makefile: new Makefile

2005-08-11 16:47  kutzner

	* Makefile: switch of eFence

2005-08-11 15:18  franz

	* libigor.cc, libigor.h: make dhtlib compilable

2005-08-09 21:39  kutzner

	* libigor.cc, libigor.h: untested: make sa_dht a class with
	  overloaded operators, ctor/dtor

2005-08-04 17:11  kutzner

	* Makefile, callbacklist.cc: callback debugging

2005-08-02 19:44  kutzner

	* Makefile, callbacklist.cc, connection.cc, message.cc, node.cc:
	  debug callback registration switch message name printing select()
	  is edge-triggered!

2005-08-02 15:34  kutzner

	* doc/README: no default ports any more

2005-07-25 14:42  kutzner

	* connection.cc, connection.h, id.cc, id.h, igor.h, libigor.cc,
	  message.h, node.cc, node.h: speedup by use of references last
	  routing step (next_hop(), wrfinal() and route()) revised docu now
	  port number 0 is a valid one: the OS will select the next free
	  number; query that port

2005-07-22 18:33  kutzner

	* connection.cc, connection.h: more docu

2005-07-22 17:59  kutzner

	* .cvsignore, Doxyfile, Makefile, buf.cc, buf.h, connection.cc,
	  connection.h, igor.conf, node.cc, doc/.cvsignore, doc/README:
	  allow automatic selection of port numbers; more docu

2005-07-22 15:11  kutzner

	* Makefile, node.cc: some profiling

2005-07-21 14:37  kutzner

	* node.cc, doc/TODO: some connection usefulness details

2005-07-13 15:33  kutzner

	* Makefile, node.cc, libigor.cc: initialize type members deliver
	  message to self at the end

2005-07-12 17:32  kutzner

	* Makefile, ar.cfg, debug.h, id.cc, id.h, libigor.cc, main.cc,
	  message.cc, message.h, node.cc, node.h, r, serviceid.h,
	  testclient.cc, testid.cc: change string handling in messages
	  rewrite test client compute log distance between two ids (plus
	  test program) new message: GetInfo (with no further content) and
	  Info (informational purpose, currently dump routing table) this
	  new messages is allowed on node-node as well as on node-client
	  links.  always catch exceptions when sending messages change the
	  way the main debug object is instanciated add serviceid to data
	  messages from the library

2005-07-11 08:17  kutzner

	* id.cc, libigor.cc, testclient.cc: hash application type during
	  dht_bind()

2005-07-05 10:53  kutzner

	* Makefile, buf.cc, buf.h, callbacklist.h, connection.cc, node.cc,
	  node.h, Doxyfile: documenting

2005-07-04 23:39  kutzner

	* node.cc, doc/TODO: some thinking

2005-06-28 15:33  kutzner

	* libigor.h: change doc to doxygen

2005-06-27 11:44  kutzner

	* libigor.cc: More error checking.  When OOM is returned,
	  everything free()able is free()d.

2005-06-24 16:41  kutzner

	* callback.h, message.cc, message.h, node.cc: dont access invalid
	  memory

2005-06-21 10:43  kutzner

	* connection.cc, connection.h, message.h, node.cc, node.h: add
	  overall statistics

2005-06-21 10:42  kutzner

	* rawmessage.cc, testclient.cc: fixed buggy parsing of rawmessages

2005-06-20 19:57  kutzner

	* libigor.cc, libigor.h, message.cc, message.h: - require dynamic
	  parameters for dht_recvfromto - new unknown message type to aid
	  debugging

2005-06-05 21:47  krenicky

	* libigor.h: dht_strerror(int errorcode) -> dht_strerror_r(int
	  errorcode)

2005-06-02 10:50  kutzner

	* libigor.cc, libigor.h: - deleted the long deprecated
	  dht_sendtofrom() - renamed dht_hashit() to dht_hashit_sa() - new
	  function dht_hashit_apptype with similar functionality
	  (standard C doesn't allow function overloading, therefore code
	  the parameter into the function name) - new function
	  dht_strerror_r()   thread safe flavor of dht_strerror(), but
	  returns less useful strings	warning: different parameters than
	  dht_strerror

2005-05-25 15:27  kutzner

	* connection.cc: try to circumvent bad getaddrinfo

2005-05-17 15:59  kutzner

	* testclient.cc: make testclient more readable

2005-05-17 15:51  kutzner

	* connection.cc: add debugging to conn::make_listen()

2005-05-12 10:42  kutzner

	* .cvsignore, connection.cc, node.cc, rawmessage.cc, testclient.cc,
	  doc/TODO: little valgrinding & leakchecking

2005-05-11 19:36  kutzner

	* buf.cc, buf.h, connection.cc, node.cc, node.h, rawmessage.cc,
	  testclient.cc: introduce send buffers; problems with write
	  callbacks

2005-05-10 16:53  kutzner

	* connection.h, libigor.cc, testclient.cc: messages larger than mtu
	  now working on client (still problems on server side)

2005-05-10 15:40  kutzner

	* libigor.cc, testclient.cc: little valgrinding

2005-05-10 13:36  kutzner

	* main.cc: added:  there is a default config file named
	  argv[0].conf	this file is read if it exists	sequence of
	  configuration steps:	 1. default config file   2. command line
	  arguments   3. config file specified on command line	later steps
	  can overwrite variables from earlier steps

	  added:  usage message  abort if command line arguments are not
	  understood

2005-05-09 19:29  kutzner

	* libigor.cc, message.cc, node.cc, testclient.cc: testclient
	  sending/receiving

2005-05-09 08:59  kutzner

	* .cvsignore: ignore binary

2005-05-09 08:59  kutzner

	* connection.cc, id.cc, id.h, message.cc, node.cc, serviceid.cc,
	  serviceid.h: add more constness

2005-05-07 16:23  kutzner

	* libigor.cc: fix compile errors

2005-05-03 23:32  kutzner

	* libigor.cc, message.h, serviceid.cc, serviceid.h: service
	  registration

2005-05-03 23:32  kutzner

	* id.h: derive serviceid from id

2005-05-03 23:32  kutzner

	* connection.cc: correct setting of _sa in listening case

2005-05-02 14:31  kutzner

	* libigor.cc: use real socket descriptors instead of casted
	  pointers

2005-04-28 18:15  kutzner

	* connection.cc: now listen on ANY address, but maybe transmitting
	  local address fails

2005-04-25 15:35  kutzner

	* libigor.cc, libigor.h, testclient.cc: new function sendon(); new
	  function dht_hashit(); documentation of return codes

2005-04-19 17:42  kutzner

	* connection.cc, id.cc, id.h, libigor.cc, libigor.h: some void* ->
	  const void*; fewer debug messages

2005-04-18 17:20  kutzner

	* id.h, libigor.cc: test larger IDs, fix memory leak, check for
	  empty IDs

2005-04-18 14:08  kutzner

	* node.cc: don't check non-existing connections

2005-04-18 11:36  kutzner

	* buf.cc, buf.h, rawmessage.cc: don't use buffers with
	  call-by-value

2005-04-18 09:27  kutzner

	* libigor.cc, libigor.h: const bind

2005-04-15 17:26  kutzner

	* Makefile, libigor.cc, libigor.h, testclient.cc: testclient
	  compilable, linkable, running and crashing

2005-04-12 14:56  kutzner

	* testclient.cc: doh

2005-04-09 19:02  krenicky

	* Makefile, libigor.h: - added CXX variable - removed #define bool
	  int

2005-04-05 17:58  kutzner

	* Makefile, libigor.cc, libigor.h: minimal test client running

2005-04-05 17:45  kutzner

	* Makefile, id.cc, id.h, libigor.cc, libigor.h: removed C++ strings
	  from library

2005-03-31 16:06  kutzner

	* Makefile, libigor.cc, libigor.h, message.h: few linking details

2005-03-30 13:26  kutzner

	* .cvsignore, Makefile, libigor.cc, libigor.h, node.cc, node.h:
	  Makefile tracks dependecies better now.  removed some small
	  syntax errors in node.[ch].  dhtlib is a little more thread-safe
	  now: The error status is now tracked per socket. This leads to a
	  signature change: char*dht_strerror() is now
	  char*dht_strerror(int socket_descriptor)

2005-03-29 18:29  kutzner

	* doc/README: started README

2005-03-29 18:29  kutzner

	* 1, 2, 3, Makefile: makefile corrected

2005-03-18 12:12  kutzner

	* doc/design: small documentation updates

2005-03-14 23:29  kutzner

	* Makefile, connection.cc, connection.h, libigor.cc, libigor.h,
	  message.cc, message.h, doc/TODO: compilable version of library;
	  registration message exchange missing

2005-03-14 09:32  kutzner

	* Makefile, libigor.cc, libigor.h: work in progress

2005-03-11 17:45  kutzner

	* libigor.cc, libigor.h, node.cc, doc/TODO: [no log message]

2005-03-07 13:20  kutzner

	* node.cc, doc/design: some docu

2005-02-04 18:39  kutzner

	* Makefile, callbacklist.cc, message.h, node.cc, serviceid.cc,
	  serviceid.h: serviceIDs usable

2005-01-14 08:46  kutzner

	* serviceid.cc, serviceid.h: add the notion of service-ID

2005-01-13 18:22  kutzner

	* libigor.cc, libigor.h: not yet ready

2005-01-10 16:54  krenicky

	* libigor.cc, libigor.h: work on interfaces

2005-01-09 22:18  kutzner

	* Makefile, message.cc, message.h, node.cc, node.h, rawmessage.cc,
	  rawmessage.h: data message handling; registration; -> compiler
	  errors

2004-12-30 16:41  kutzner

	* a1.cfg, a2.cfg, a3.cfg, ar.cfg, callbacklist.cc, callbacklist.h,
	  debug.cc, debug.h, id.cc, id.h, k, main.cc, message.cc,
	  message.h, node.cc, node.h, r, statistic.h, utils.cc, utils.h:
	  solved (?) timing problems, network working

2004-12-29 17:26  kutzner

	* Makefile, a1.cfg, a2.cfg, buf.cc, buf.h, callback.h,
	  callbacklist.cc, connection.cc, connection.h, debug.h, id.cc,
	  id.h, igor.h, main.cc, message.cc, message.h, node.cc, node.h,
	  noderef.cc, noderef.h, transport.cc, transport.h, utils.cc,
	  utils.h: network is growing; problems with empty IDs

2004-12-28 18:00  kutzner

	* a1.cfg, a2.cfg, callbacklist.cc, connection.cc, connection.h,
	  debug.cc, debug.h, id.cc, id.h, message.cc, message.h, node.cc,
	  node.h, noderef.cc, noderef.h, transport.cc, transport.h: noderef
	  usable, hostname detection

2004-12-28 14:08  kutzner

	* Makefile, objects/.cvsignore: put objects in new directory

2004-12-13 23:25  krenicky

	* libigor.cc, libigor.h, doc/DHTinterface2app, doc/DHTreceive,
	  spec/dhtlib.h: added skeleton of epg-plugin; adjusted timer patch
	  in vdr sources

2004-12-09 18:12  kutzner

	* a1.cfg, id.cc, id.h, node.cc, node.h: finger fixing

2004-11-29 19:05  kutzner

	* a1.cfg, a2.cfg, buf.cc, connection.cc, connection.h, message.cc,
	  message.h, node.cc, node.h, noderef.cc, noderef.h, transport.cc,
	  transport.h: replace transport addresses with new class

2004-11-25 19:06  kutzner

	* a2.cfg, buf.cc, buf.h, connection.cc, debug.h, main.cc,
	  message.cc, rawmessage.cc: bugfixes in get() and getline()

2004-11-25 17:44  kutzner

	* a1.cfg, doc/TODO, a2.cfg, buf.cc, callback.cc, callbacklist.cc,
	  connection.cc, connection.h, debug.cc, debug.h, id.cc, igor.h,
	  main.cc, node.cc, statistic.h: some documentation, new todos

2004-09-07 16:19  kutzner

	* node.cc, doc/TODO, node.h: allow random routing for stabilization
	  messages

2004-09-07 09:01  kutzner

	* doc/design: piece of docu

2004-09-07 08:46  kutzner

	* connection.cc, connection.h, node.cc, node.h: ipv4 independent

2004-09-07 08:46  kutzner

	* Makefile, message.cc, message.flex, message.h, message.yy.h,
	  rawmessage.cc, rawmessage.h, utils.cc, utils.h, doc/design:
	  complete new message parser without flex

2004-09-03 18:39  kutzner

	* buf.cc, buf.h, debug.h, rawmessage.cc, rawmessage.h, utils.cc,
	  utils.h: introduce raw messages

2004-09-01 18:56  kutzner

	* a1.cfg, buf.cc, connection.cc, connection.h, main.cc, message.cc,
	  message.h, message.yy.h, node.cc, node.h, noderef.cc, noderef.h,
	  doc/TODO: fix buffer handling bug, allow client connections,
	  cleaner shutdown

2004-09-01 08:02  kutzner

	* a1.cfg, buf.cc, buf.h, callbacklist.cc, connection.cc, debug.cc,
	  debug.h, main.cc, message.cc, node.cc, node.h, utils.cc, utils.h:
	  changes yesterday: proper shutdown, debug levels working,
	  rl-message parsing, some minor stuff

2004-08-30 18:39  kutzner

	* Makefile, connection.cc, debug.h, message.cc, node.cc: parsing
	  link recommendations; prepare for different log-levels

2004-08-27 18:25  kutzner

	* Makefile, a1.cfg, a2.cfg, buf.cc, buf.h, connection.cc,
	  connection.h, debug.h, id.cc, id.h, main.cc, message.cc,
	  message.flex, message.h, message.yy.h, node.cc, node.h,
	  noderef.cc, noderef.h: connections somehow working, introduce
	  ping/pong

2004-08-26 19:23  kutzner

	* Makefile, buf.cc, callbacklist.cc, connection.cc, connection.h,
	  debug.cc, debug.h, id.cc, id.h, main.cc, message.cc,
	  message.flex, message.h, message.yy.h, node.cc, node.h: problems
	  parsing messages

2004-08-25 17:52  kutzner

	* connection.cc, connection.h, debug.h, id.cc, igor.h, main.cc,
	  node.cc, node.h: two instances can talk to each other; not very
	  stable

2004-08-25 15:45  kutzner

	* .cvsignore, Makefile, buf.cc, buf.h, callbacklist.cc,
	  connection.cc, connection.h, id.cc, id.h, igor.h, message.cc,
	  message.flex, message.h, message.yy.h, node.cc, node.h:
	  compilable intermediate version

2004-08-24 23:26  kutzner

	* buf.cc, buf.h: buffer class

2004-08-23 19:10  kutzner

	* Makefile, callbacklist.cc, callbacklist.h, message.h, node.cc,
	  node.h, doc/design: worked on messages

2004-08-22 22:01  kutzner

	* Makefile: changes during weekend

2004-08-17 22:41  kutzner

	* message.cc, message.h: start message parser

2004-08-17 21:11  kutzner

	* Makefile, callback.cc, callback.h, callbacklist.cc,
	  callbacklist.h, callbacktest.cc, connection.cc, connection.h,
	  debug.cc, debug.h, id.cc, id.h, igor.h, main.cc, node.cc, node.h:
	  multiple connections possible

2004-08-17 15:48  kutzner

	* Makefile, callback.cc, callback.h, callbacklist.cc,
	  callbacklist.h, connection.cc, connection.h, id.cc, id.h, igor.h,
	  main.cc, node.cc, node.h: not yet compilable

2004-08-17 10:41  kutzner

	* callback.cc, callback.h, callbacklist.h, callbacktest.cc: work at
	  home

2004-08-15 12:13  kutzner

	* callbacktest.cc, connection.cc, connection.h, id.cc, id.h,
	  doc/design: start dht-interface

