~ttx/openldap/lucid-gssapi-495418

« back to all changes in this revision

Viewing changes to tests/scripts/test020-proxycache

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug
  • Date: 2009-09-07 13:41:10 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20090907134110-rsnlhy8b0r21p9bg
Tags: 2.4.18-0ubuntu1
* New upstream release: (LP: #419515):
  + pcache overlay supports disconnected mode.
* Fix nss overlay load (LP: #417163).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#! /bin/sh
2
 
# $OpenLDAP: pkg/ldap/tests/scripts/test020-proxycache,v 1.26.2.10 2009/01/22 00:01:19 kurt Exp $
 
2
# $OpenLDAP: pkg/ldap/tests/scripts/test020-proxycache,v 1.26.2.11 2009/08/25 21:24:47 quanah Exp $
3
3
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
4
4
##
5
5
## Copyright 1998-2009 The OpenLDAP Foundation.
13
13
## top-level directory of the distribution or, alternatively, at
14
14
## <http://www.OpenLDAP.org/license.html>.
15
15
 
16
 
CACHETTL="1m"
17
 
NCACHETTL="1m"
18
 
SCACHETTL="1m"
19
 
CACHE_ENTRY_LIMIT=6
 
16
PCACHETTL=${PCACHETTL-"1m"}
 
17
PCACHENTTL=${PCACHENTTL-"1m"}
 
18
PCACHESTTL=${PCACHESTTL-"1m"}
 
19
PCACHE_ENTRY_LIMIT=${PCACHE_ENTRY_LIMIT-"6"}
 
20
PCACHE_CCPERIOD=${PCACHE_CCPERIOD-"2"}
 
21
PCACHETTR=${PCACHETTR-"2"}
 
22
PCACHEBTTR=${PCACHEBTTR-"5"}
20
23
 
21
24
. $SRCDIR/scripts/defines.sh
22
25
 
82
85
fi
83
86
 
84
87
echo "Starting proxy cache on TCP/IP port $PORT2..."
85
 
. $CONFFILTER < $PROXYCACHECONF > $CONF2
 
88
. $CONFFILTER < $PROXYCACHECONF | sed \
 
89
        -e "s/@TTL@/${PCACHETTL}/"                      \
 
90
        -e "s/@NTTL@/${PCACHENTTL}/"            \
 
91
        -e "s/@STTL@/${PCACHENTTL}/"            \
 
92
        -e "s/@TTR@/${PCACHETTR}/"                      \
 
93
        -e "s/@ENTRY_LIMIT@/${PCACHE_ENTRY_LIMIT}/"     \
 
94
        -e "s/@CCPERIOD@/${PCACHE_CCPERIOD}/"                   \
 
95
        -e "s/@BTTR@/${PCACHEBTTR}/"                    \
 
96
        > $CONF2
 
97
 
86
98
$SLAPD -f $CONF2 -h $URI2 -d $LVL -d pcache > $LOG2 2>&1 &
87
99
CACHEPID=$!
88
100
if test $WAIT != 0 ; then
226
238
FILTER="(mail=*example.com)"
227
239
ATTRS="cn sn title uid"
228
240
USERDN="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com"
229
 
PASSWD="bjorn"
 
241
UPASSWD="bjorn"
230
242
echo "Query $CNT: filter:$FILTER attrs:$ATTRS"  
231
243
echo "# Query $CNT: filter:$FILTER attrs:$ATTRS" >> $SEARCHOUT
232
244
$LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
233
 
        -D "$USERDN" -w "$PASSWD" \
 
245
        -D "$USERDN" -w "$UPASSWD" \
234
246
        "$FILTER" $ATTRS >> $SEARCHOUT 2>> $TESTOUT
235
247
RC=$?
236
248
case $RC in
253
265
FILTER="(uid=b*)"
254
266
ATTRS="mail"
255
267
USERDN="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com"
256
 
PASSWD="bjorn"
 
268
UPASSWD="bjorn"
257
269
echo "Query $CNT: filter:$FILTER attrs:$ATTRS"  
258
270
echo "# Query $CNT: filter:$FILTER attrs:$ATTRS" >> $SEARCHOUT
259
271
$LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
260
 
        -D "$USERDN" -w "$PASSWD" \
 
272
        -D "$USERDN" -w "$UPASSWD" \
261
273
        "$FILTER" $ATTRS >> $SEARCHOUT 2>> $TESTOUT
262
274
RC=$?
263
275
case $RC in
362
374
FILTER="(mail=*example.com)"
363
375
ATTRS="cn sn title uid"
364
376
USERDN="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com"
365
 
PASSWD="bjorn"
 
377
UPASSWD="bjorn"
366
378
echo "Query $CNT: filter:$FILTER attrs:$ATTRS"  
367
379
echo "# Query $CNT: filter:$FILTER attrs:$ATTRS" >> $SEARCHOUT
368
380
$LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
369
 
        -D "$USERDN" -w "$PASSWD" \
 
381
        -D "$USERDN" -w "$UPASSWD" \
370
382
        "$FILTER" $ATTRS >> $SEARCHOUT 2>> $TESTOUT
371
383
RC=$?
372
384
case $RC in
389
401
FILTER="(uid=b*)"
390
402
ATTRS="mail"
391
403
USERDN="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com"
392
 
PASSWD="bjorn"
 
404
UPASSWD="bjorn"
393
405
echo "Query $CNT: filter:$FILTER attrs:$ATTRS"  
394
406
echo "# Query $CNT: filter:$FILTER attrs:$ATTRS" >> $SEARCHOUT
395
407
$LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
396
 
        -D "$USERDN" -w "$PASSWD" \
 
408
        -D "$USERDN" -w "$UPASSWD" \
397
409
        "$FILTER" $ATTRS >> $SEARCHOUT 2>> $TESTOUT
398
410
RC=$?
399
411
case $RC in
434
446
                } 
435
447
        }'`
436
448
 
437
 
test $KILLSERVERS != no && kill -HUP $KILLPIDS
438
 
 
439
449
if test "$ANSWERABILITY" = "$ANSWERED" ; then
440
450
        echo "Successfully verified answerability"
441
451
else 
442
452
        echo "Error in verifying answerability"
 
453
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
443
454
        exit 1
444
455
fi
445
456
 
452
463
 
453
464
if test $? != 0 ; then
454
465
        echo "Comparison failed"
 
466
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
455
467
        exit 1
456
468
fi
457
469
 
 
470
echo ""
 
471
echo "Testing cache refresh"
 
472
 
 
473
CNT=`expr $CNT + 1`
 
474
FILTER="(&(objectclass=person)(uid=dots))"
 
475
ATTRS="cn mail telephonenumber"
 
476
echo "Query $CNT: filter:$FILTER attrs:$ATTRS" 
 
477
echo "# Query $CNT: filter:$FILTER attrs:$ATTRS" >> $SEARCHOUT
 
478
$LDAPSEARCH -x -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
 
479
        "$FILTER" $ATTRS >> $SEARCHOUT 2>> $TESTOUT
 
480
RC=$?
 
481
if test $RC != 0 ; then
 
482
        echo "ldapsearch failed ($RC)!"
 
483
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
484
        exit $RC
 
485
fi
 
486
 
 
487
$LDAPMODIFY -x -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD <<EOF \
 
488
        > /dev/null 2>&1
 
489
dn: cn=Dorothy Stevens,ou=Alumni Association,ou=People,dc=example,dc=com
 
490
changetype: modify
 
491
replace: mail
 
492
mail: dots@admin.example2.com
 
493
-
 
494
 
 
495
EOF
 
496
RC=$?
 
497
if test $RC != 0 ; then
 
498
        echo "ldapmodify failed ($RC)!"
 
499
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
500
        exit $RC
 
501
fi
 
502
 
 
503
SLEEP=`expr $PCACHETTR + $PCACHE_CCPERIOD`
 
504
echo "Waiting $SLEEP seconds for cache to refresh"
 
505
 
 
506
sleep $SLEEP
 
507
 
 
508
echo "Checking entry again"
 
509
$LDAPSEARCH -x -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
 
510
        "$FILTER" $ATTRS >> $SEARCHOUT 2>> $TESTOUT
 
511
RC=$?
 
512
if test $RC != 0 ; then
 
513
        echo "ldapsearch failed ($RC)!"
 
514
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
515
        exit $RC
 
516
fi
 
517
 
 
518
grep "^mail: dots@admin" $SEARCHOUT > /dev/null
 
519
RC=$?
 
520
if test $RC != 0 ; then
 
521
        echo "Refresh failed"
 
522
        test $KILLSERVERS != no && kill -HUP $KILLPIDS && wait
 
523
        exit 0
 
524
fi
 
525
 
 
526
echo ""
 
527
echo "Testing Bind caching"
 
528
 
 
529
CNT=`expr $CNT + 1`
 
530
USERDN="cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com"
 
531
UPASSWD="jaj"
 
532
echo "Query $CNT: $USERDN"
 
533
echo "# Query $CNT: $USERDN" >> $SEARCHOUT
 
534
$LDAPSEARCH -S "" -b "" -s base -h $LOCALHOST -p $PORT2 \
 
535
        -D "$USERDN" -w "$UPASSWD" >> $SEARCHOUT 2>> $TESTOUT
 
536
RC=$?
 
537
if test $RC != 0 ; then
 
538
        echo "ldapsearch failed ($RC)!"
 
539
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
540
        exit $RC
 
541
fi
 
542
 
 
543
grep "CACHING BIND" $LOG2 > /dev/null
 
544
RC=$?
 
545
if test $RC != 0 ; then
 
546
        echo "Refresh failed"
 
547
        test $KILLSERVERS != no && kill -HUP $KILLPIDS && wait
 
548
        exit 0
 
549
fi
 
550
 
 
551
CNT=`expr $CNT + 1`
 
552
USERDN="cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com"
 
553
UPASSWD="jaj"
 
554
echo "Query $CNT: (Bind should be cached)"
 
555
echo "# Query $CNT: (Bind should be cached)" >> $SEARCHOUT
 
556
$LDAPSEARCH -S "" -b "" -s base -h $LOCALHOST -p $PORT2 \
 
557
        -D "$USERDN" -w "$UPASSWD" >> $SEARCHOUT 2>> $TESTOUT
 
558
RC=$?
 
559
if test $RC != 0 ; then
 
560
        echo "ldapsearch failed ($RC)!"
 
561
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
562
        exit $RC
 
563
fi
 
564
 
 
565
grep "CACHED BIND" $LOG2 > /dev/null
 
566
RC=$?
 
567
if test $RC != 0 ; then
 
568
        echo "Refresh failed"
 
569
        test $KILLSERVERS != no && kill -HUP $KILLPIDS && wait
 
570
        exit 0
 
571
fi
 
572
 
 
573
echo ""
 
574
echo "Testing pwdModify"
 
575
$LDAPPASSWD -h $LOCALHOST -p $PORT2 \
 
576
        -D "$MANAGERDN" -w "$PASSWD" -s newpw "$USERDN" >> $TESTOUT 2>&1
 
577
RC=$?
 
578
if test $RC != 0 ; then
 
579
        echo "ldappasswd failed ($RC)!"
 
580
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
581
        exit $RC
 
582
fi
 
583
 
 
584
RC=`grep "CACH.* BIND" $LOG2 | wc -l`
 
585
if test $RC != 3 ; then
 
586
        echo "ldappasswd didn't update the cache"
 
587
        test $KILLSERVERS != no && kill -HUP $KILLPIDS && wait
 
588
        exit 0
 
589
fi
 
590
 
 
591
CNT=`expr $CNT + 1`
 
592
USERDN="cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com"
 
593
UPASSWD=newpw
 
594
echo "Query $CNT: (Bind should be cached)"
 
595
echo "# Query $CNT: (Bind should be cached)" >> $SEARCHOUT
 
596
$LDAPSEARCH -S "" -b "" -s base -h $LOCALHOST -p $PORT2 \
 
597
        -D "$USERDN" -w "$UPASSWD" >> $SEARCHOUT 2>> $TESTOUT
 
598
RC=$?
 
599
if test $RC != 0 ; then
 
600
        echo "ldapsearch failed ($RC)!"
 
601
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
602
        exit $RC
 
603
fi
 
604
 
 
605
RC=`grep "CACH.* BIND" $LOG2 | wc -l`
 
606
if test $RC != 4 ; then
 
607
        echo "Bind wasn't answered from cache"
 
608
        test $KILLSERVERS != no && kill -HUP $KILLPIDS && wait
 
609
        exit 0
 
610
fi
 
611
test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
612
 
458
613
echo ">>>>> Test succeeded"
459
614
 
460
615
test $KILLSERVERS != no && wait