View | Details | Raw Unified | Return to bug 61891
Collapse All | Expand All

(-)modules/ldap/util_ldap_cache.h.orig (+2 lines)
Lines 46-51 Link Here
46
    unsigned long numentries;           /* Current number of cache entries */
46
    unsigned long numentries;           /* Current number of cache entries */
47
    unsigned long fullmark;             /* Used to keep track of when cache becomes 3/4 full */
47
    unsigned long fullmark;             /* Used to keep track of when cache becomes 3/4 full */
48
    apr_time_t marktime;                /* Time that the cache became 3/4 full */
48
    apr_time_t marktime;                /* Time that the cache became 3/4 full */
49
    unsigned long ttl;                  /* Time to live for items in cache */
49
    unsigned long (*hash)(void *);      /* Func to hash the payload */
50
    unsigned long (*hash)(void *);      /* Func to hash the payload */
50
    int (*compare)(void *, void *);     /* Func to compare two payloads */
51
    int (*compare)(void *, void *);     /* Func to compare two payloads */
51
    void * (*copy)(util_ald_cache_t *cache, void *); /* Func to alloc mem and copy payload to new mem */
52
    void * (*copy)(util_ald_cache_t *cache, void *); /* Func to alloc mem and copy payload to new mem */
Lines 188-193 Link Here
188
util_url_node_t *util_ald_create_caches(util_ldap_state_t *s, const char *url);
189
util_url_node_t *util_ald_create_caches(util_ldap_state_t *s, const char *url);
189
util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st,
190
util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st,
190
                                long cache_size,
191
                                long cache_size,
192
                                long cache_ttl,
191
                                unsigned long (*hashfunc)(void *),
193
                                unsigned long (*hashfunc)(void *),
192
                                int (*comparefunc)(void *, void *),
194
                                int (*comparefunc)(void *, void *),
193
                                void * (*copyfunc)(util_ald_cache_t *cache, void *),
195
                                void * (*copyfunc)(util_ald_cache_t *cache, void *),
(-)modules/ldap/util_ldap_cache.c.orig (+3 lines)
Lines 114-119 Link Here
114
                   "<td nowrap>%ld</td>"
114
                   "<td nowrap>%ld</td>"
115
                   "<td nowrap>%ld</td>"
115
                   "<td nowrap>%ld</td>"
116
                   "<td nowrap>%ld</td>"
116
                   "<td nowrap>%ld</td>"
117
                   "<td nowrap>%ld</td>"
117
                   "<td nowrap>%s</td>"
118
                   "<td nowrap>%s</td>"
118
                   "</tr>",
119
                   "</tr>",
119
                   node->url,
120
                   node->url,
Lines 121-126 Link Here
121
                   cache_node->size,
122
                   cache_node->size,
122
                   cache_node->maxentries,
123
                   cache_node->maxentries,
123
                   cache_node->numentries,
124
                   cache_node->numentries,
125
                   cache_node->ttl / APR_USEC_PER_SEC,
124
                   cache_node->fullmark,
126
                   cache_node->fullmark,
125
                   date_str);
127
                   date_str);
126
    }
128
    }
Lines 452-457 Link Here
452
    st->util_ldap_cache =
454
    st->util_ldap_cache =
453
        util_ald_create_cache(st,
455
        util_ald_create_cache(st,
454
                              st->search_cache_size,
456
                              st->search_cache_size,
457
                              st->search_cache_ttl,
455
                              util_ldap_url_node_hash,
458
                              util_ldap_url_node_hash,
456
                              util_ldap_url_node_compare,
459
                              util_ldap_url_node_compare,
457
                              util_ldap_url_node_copy,
460
                              util_ldap_url_node_copy,
(-)modules/ldap/util_ldap_cache_mgr.c.orig (+14 lines)
Lines 241-246 Link Here
241
    cache->last_purge = apr_time_now();
241
    cache->last_purge = apr_time_now();
242
    cache->npurged = 0;
242
    cache->npurged = 0;
243
    cache->numpurges++;
243
    cache->numpurges++;
244
    if (cache->last_purge - cache->ttl > cache->marktime)
245
        cache->marktime = cache->last_purge - cache->ttl;
244
246
245
    for (i=0; i < cache->size; ++i) {
247
    for (i=0; i < cache->size; ++i) {
246
        pp = cache->nodes + i;
248
        pp = cache->nodes + i;
Lines 281-286 Link Here
281
    /* create the three caches */
283
    /* create the three caches */
282
    search_cache = util_ald_create_cache(st,
284
    search_cache = util_ald_create_cache(st,
283
                      st->search_cache_size,
285
                      st->search_cache_size,
286
                      st->search_cache_ttl,
284
                      util_ldap_search_node_hash,
287
                      util_ldap_search_node_hash,
285
                      util_ldap_search_node_compare,
288
                      util_ldap_search_node_compare,
286
                      util_ldap_search_node_copy,
289
                      util_ldap_search_node_copy,
Lines 288-293 Link Here
288
                      util_ldap_search_node_display);
291
                      util_ldap_search_node_display);
289
    compare_cache = util_ald_create_cache(st,
292
    compare_cache = util_ald_create_cache(st,
290
                      st->compare_cache_size,
293
                      st->compare_cache_size,
294
                      st->compare_cache_ttl,
291
                      util_ldap_compare_node_hash,
295
                      util_ldap_compare_node_hash,
292
                      util_ldap_compare_node_compare,
296
                      util_ldap_compare_node_compare,
293
                      util_ldap_compare_node_copy,
297
                      util_ldap_compare_node_copy,
Lines 295-300 Link Here
295
                      util_ldap_compare_node_display);
299
                      util_ldap_compare_node_display);
296
    dn_compare_cache = util_ald_create_cache(st,
300
    dn_compare_cache = util_ald_create_cache(st,
297
                      st->compare_cache_size,
301
                      st->compare_cache_size,
302
                      st->compare_cache_ttl,
298
                      util_ldap_dn_compare_node_hash,
303
                      util_ldap_dn_compare_node_hash,
299
                      util_ldap_dn_compare_node_compare,
304
                      util_ldap_dn_compare_node_compare,
300
                      util_ldap_dn_compare_node_copy,
305
                      util_ldap_dn_compare_node_copy,
Lines 323-328 Link Here
323
328
324
util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st,
329
util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st,
325
                                long cache_size,
330
                                long cache_size,
331
                                long cache_ttl,
326
                                unsigned long (*hashfunc)(void *),
332
                                unsigned long (*hashfunc)(void *),
327
                                int (*comparefunc)(void *, void *),
333
                                int (*comparefunc)(void *, void *),
328
                                void * (*copyfunc)(util_ald_cache_t *cache, void *),
334
                                void * (*copyfunc)(util_ald_cache_t *cache, void *),
Lines 381-388 Link Here
381
    cache->free = freefunc;
387
    cache->free = freefunc;
382
    cache->display = displayfunc;
388
    cache->display = displayfunc;
383
389
390
    
384
    cache->fullmark = cache->maxentries / 4 * 3;
391
    cache->fullmark = cache->maxentries / 4 * 3;
385
    cache->marktime = 0;
392
    cache->marktime = 0;
393
    cache->ttl = cache_ttl;
386
    cache->avg_purgetime = 0.0;
394
    cache->avg_purgetime = 0.0;
387
    cache->numpurges = 0;
395
    cache->numpurges = 0;
388
    cache->last_purge = 0;
396
    cache->last_purge = 0;
Lines 727-732 Link Here
727
                               "<td bgcolor='#ffffff'><font size='-1' face='Arial,Helvetica' color='#000000'><b>%ld</b></font></td>"
735
                               "<td bgcolor='#ffffff'><font size='-1' face='Arial,Helvetica' color='#000000'><b>%ld</b></font></td>"
728
                               "</tr>\n"
736
                               "</tr>\n"
729
                               "<tr>\n"
737
                               "<tr>\n"
738
                               "<td bgcolor='#000000'><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>TTL (sec):</b></font></td>"
739
                               "<td bgcolor='#ffffff'><font size='-1' face='Arial,Helvetica' color='#000000'><b>%ld</b></font></td>"
740
                               "</tr>\n"
741
                               "<tr>\n"
730
                               "<td bgcolor='#000000'><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark:</b></font></td>"
742
                               "<td bgcolor='#000000'><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark:</b></font></td>"
731
                               "<td bgcolor='#ffffff'><font size='-1' face='Arial,Helvetica' color='#000000'><b>%ld</b></font></td>"
743
                               "<td bgcolor='#ffffff'><font size='-1' face='Arial,Helvetica' color='#000000'><b>%ld</b></font></td>"
732
                               "</tr>\n"
744
                               "</tr>\n"
Lines 738-743 Link Here
738
                               util_ldap_cache->size,
750
                               util_ldap_cache->size,
739
                               util_ldap_cache->maxentries,
751
                               util_ldap_cache->maxentries,
740
                               util_ldap_cache->numentries,
752
                               util_ldap_cache->numentries,
753
                               util_ldap_cache->ttl / APR_USEC_PER_SEC,
741
                               util_ldap_cache->fullmark,
754
                               util_ldap_cache->fullmark,
742
                               date_str);
755
                               date_str);
743
756
Lines 748-753 Link Here
748
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Size</b></font></td>"
761
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Size</b></font></td>"
749
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Max Entries</b></font></td>"
762
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Max Entries</b></font></td>"
750
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b># Entries</b></font></td>"
763
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b># Entries</b></font></td>"
764
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>TTL (sec)</b></font></td>"
751
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark</b></font></td>"
765
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark</b></font></td>"
752
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark Time</b></font></td>"
766
                             "<td><font size='-1' face='Arial,Helvetica' color='#ffffff'><b>Full Mark Time</b></font></td>"
753
                             "</tr>\n", r
767
                             "</tr>\n", r
(-)modules/ldap/util_ldap.c.orig (-3 / +3 lines)
Lines 2244-2250 Link Here
2244
        return err;
2244
        return err;
2245
    }
2245
    }
2246
2246
2247
    st->compare_cache_ttl = atol(ttl) * 1000000;
2247
    st->compare_cache_ttl = atol(ttl) * APR_USEC_PER_SEC;
2248
2248
2249
    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, cmd->server, APLOGNO(01301)
2249
    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, cmd->server, APLOGNO(01301)
2250
                 "ldap cache: Setting operation cache TTL to %ld microseconds.",
2250
                 "ldap cache: Setting operation cache TTL to %ld microseconds.",
Lines 2815-2823 Link Here
2815
#endif
2815
#endif
2816
2816
2817
    st->cache_bytes = 500000;
2817
    st->cache_bytes = 500000;
2818
    st->search_cache_ttl = 600000000;
2818
    st->search_cache_ttl = 600 * APR_USEC_PER_SEC; /* 10 minutes */
2819
    st->search_cache_size = 1024;
2819
    st->search_cache_size = 1024;
2820
    st->compare_cache_ttl = 600000000;
2820
    st->compare_cache_ttl = 600 * APR_USEC_PER_SEC; /* 10 minutes */
2821
    st->compare_cache_size = 1024;
2821
    st->compare_cache_size = 1024;
2822
    st->connections = NULL;
2822
    st->connections = NULL;
2823
    st->ssl_supported = 0;
2823
    st->ssl_supported = 0;

Return to bug 61891