Emmanuel Dreyfus wrote:
> Timo Teräs <timo.teras@...> wrote:
>> We could make it backward compatible, by adding some flag the client needs
>> to sent to get the pushed events. Though then there needs to be quite a bit
>> of unneeded code for to support the old style API.
> That's an extra work that needs to be balanced with the problems users
> will experience (and will report to the list) because of botched
> Full blown backward compatibility would be great. If that's too much
> work, then IMO we should detect the version mismatch and issue a
> meaningful error message.
I think the current partial compatibility should pretty ok. I could try to
make it a bit more robust, though.
Currently all the non-event related admin stuff should work as before. But
requesting events works differently. The event structure has changed, so that
is incompatible in multiple ways.
I would say that this should be sufficient, since the old event dispatching
was broken anyway. If we just make ADMIN_SHOW_EVT request return an error
we should be pretty good.
> As I understand,detecting a version mismatch is easy: you just have to
> avoid reusing the same message types when you altered message semantics.
> When you enhance a command, just use a new message type.
> What I'm not sure about is the difficulty of keeping the obsoleted
> message types functionnal. Can it be done easily? If it does not, then
> we can go the meaningful error message path: racoon could log an error
> and exit, leaving no way for the admin to miss the problem.
Making ADMIN_SHOW_EVT request to be logged by racoon would be sufficient
IMHO, it does not make sense to implement broken API for backwards
compatibility. It would just add code complexity, more code paths to do
the same thing and encourage people not to upgrade to an API that actually
might work. ;)