[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#6400) Different-sized CSNs confuse accesslog
Full_Name: Hallvard B Furuseth
Version:
OS:
URL:
Submission from: (NULL) (129.240.6.233)
Submitted by: hallvard
Given CSNs of different lengths, overlays/accesslog.c:log_old_lookup()
remembers truncated versions of the longer CSNs as "max CSN". The
remembered length shrinks but never grows as CSNs change.
I think the test
if ( len > pd->csn.bv_len )
len = pd->csn.bv_len;
should be
if ( len > LDAP_PVT_CSNSTR_BUFSIZE )
len = LDAP_PVT_CSNSTR_BUFSIZE;
since as far as I can tell pd->csn.bv_val is always csnbuf from
accesslog_purge().
The compare just below must be fixed to match. It is buggy now anyway,
CSNs of different lengths can compare equal.