transport: reset subscribed flag for reauthentication
commit7e14f6bd1b8020eabb1548084c82274ecd8f7f88
authorStefan Becker <chemobejk@gmail.com>
Sat, 6 Apr 2013 22:24:05 +0000 (7 01:24 +0300)
committerStefan Becker <chemobejk@gmail.com>
Sat, 6 Apr 2013 22:24:05 +0000 (7 01:24 +0300)
tree7e68003eb0e2292279b72536c24f6e5ed38ce5c2
parent563828dfd16928be45e93baff7765170c7b44ad3
transport: reset subscribed flag for reauthentication

This is a temporary fix for an issue noticed in the logs provided for
bug #186: SIPE doesn't honor the expiration value for event
subscriptions. After the event has expired the server will no longer
send us BENOTIFY messages with the data and SIPE gets out of sync with
the server.

F.ex. the log shows that after "vnd-microsoft-roaming-self" expires,
SIPE can no longer update the "version" field for the categories. When
SIPE tries to send a "own presence" update, it will be rejected by the
server with "409 Conflict". SIPE then updates the categories from the
server response and retries. But the next attempt will fail again with
the same problem.

The logs show that the epxiration value for the event subsriptions are
way longer than the re-authentication timeout. So we simple reset the
"subscribed" flag before initiating a re-authentication. When that is
successfully completed, SIPE will subscribe to the events just like it
did at the initial successful authentication attempt.
ChangeLog
NEWS
contrib/debian/changelog
src/core/sip-transport.c