[Date Prev][Date Next]
(ITS#6400) Different-sized CSNs confuse accesslog
Full_Name: Hallvard B Furuseth
Submission from: (NULL) (188.8.131.52)
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;
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
The compare just below must be fixed to match. It is buggy now anyway,
CSNs of different lengths can compare equal.