(This entry was imported from the savannah tracker, original
location: https://savannah.nongnu.org/bugs/index.php?12221)
we have two different ways of reporting errors in netsync. the
advantage of bad_decode is that it triggers a transaction rollback.
the advantage of error is that it informs the peer of the error
before shutting down the connection.
these should be merged into a single error-reporting functionality,
so that all errors inform the peer of the problem (a significant
usability improvement), and all errors trigger a database rollback.
beware of 2nd-level errors encountered while informing the peer of
an error -- these must be handled correctly as well (presumably by
giving up on telling the peer anything useful and just shutting down
the connection immediately).
Reported by Unknown User, Mar 5, 2005