summaryrefslogtreecommitdiff
path: root/session.c
AgeCommit message (Collapse)Author
2014-08-31Disengaging imsgev is tricky. First imsgev_clear as we know thereSunil Nimmagadda
isn't anything left to be written. Signal imsgev termination by setting iev->terminate = 1(Mind that we are setting it from with the callback). As imsgev would again callback dispatch with IMSGEV_DONE, we cannot free imsgev yet. So iev_maildrop need to exist beyond lifetime of session until IMSGEV_DONE. Allocating it seperately from session. imsgev_close is avoided as it schedules another EV_WRITE which is not needed in our case. This fixes a crash observed consistently with a little perl script to simulate concurrent sessions. Thanks MALLOC_OPTIONS='SFG<<'
2014-08-27No use of iev->data, set it to NULL.Sunil Nimmagadda
2014-08-27Bounds check array index. Fixes a crash when len == 1.Sunil Nimmagadda
2014-08-23First clear io then iobuf.Sunil Nimmagadda
2014-05-29knf and whitespace fixes.Sunil Nimmagadda
2014-05-28Fix a crash during concurrent sessions TIMEOUT reported by JamesSunil Nimmagadda
Turner (#5). imsgev_close schedules(event_add) iev and the event struct is free-ed before the event is dispatched. Include string.h after recent libressl changes.
2014-04-19This cannot truncate unless new states are added.Sunil Nimmagadda
2014-04-19Equal sized buffer copy, no truncation happens.Sunil Nimmagadda
2014-04-19args are checked for size in parse function. Cast to void as no truncation ↵Sunil Nimmagadda
check required here.
2014-04-11Remove redundant sock member in session. io already holds the sock for each ↵Sunil Nimmagadda
session.
2014-04-02Use correct format of listing.Sunil Nimmagadda
2014-04-01Simplify list_all handling. Send an imsg for each msg instead ofSunil Nimmagadda
consolidating into one imsg. We are no longer limited by MAX_IMSGSIZE. End of list is signalled by sending an imsg with hash as "" or sz as 0.
2014-03-27Import pop3d.Sunil Nimmagadda