Home | History | Annotate | Line # | Download | only in scripts
      1       1.1     lukem #! /bin/sh
      2   1.1.1.4      tron # $OpenLDAP$
      3       1.1     lukem ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
      4       1.1     lukem ##
      5  1.1.1.10  christos ## Copyright 1998-2024 The OpenLDAP Foundation.
      6       1.1     lukem ## All rights reserved.
      7       1.1     lukem ##
      8       1.1     lukem ## Redistribution and use in source and binary forms, with or without
      9       1.1     lukem ## modification, are permitted only as authorized by the OpenLDAP
     10       1.1     lukem ## Public License.
     11       1.1     lukem ##
     12       1.1     lukem ## A copy of this license is available in the file LICENSE in the
     13       1.1     lukem ## top-level directory of the distribution or, alternatively, at
     14       1.1     lukem ## <http://www.OpenLDAP.org/license.html>.
     15       1.1     lukem 
     16       1.1     lukem echo "running defines.sh"
     17       1.1     lukem . $SRCDIR/scripts/defines.sh
     18       1.1     lukem 
     19       1.1     lukem mkdir -p $TESTDIR $DBDIR1
     20       1.1     lukem 
     21       1.1     lukem echo "Running slapadd to build slapd database..."
     22   1.1.1.9  christos . $CONFFILTER $BACKEND < $CONF > $CONF1
     23       1.1     lukem #echo $SLAPADD -f $CONF1 -l $LDIFORDERED
     24       1.1     lukem $SLAPADD -f $CONF1 -l $LDIFORDERED
     25       1.1     lukem RC=$?
     26       1.1     lukem if test $RC != 0 ; then
     27       1.1     lukem 	echo "slapadd failed ($RC)!"
     28       1.1     lukem 	exit $RC
     29       1.1     lukem fi
     30       1.1     lukem 
     31       1.1     lukem echo "Starting slapd on TCP/IP port $PORT1..."
     32   1.1.1.9  christos #valgrind -v --gdb-attach=yes --logfile=info --num-callers=16 --leak-check=yes --leak-resolution=high $SLAPD -f $CONF1 -h $URI1 -d $LVL </dev/tty > $LOG1 2>&1 &
     33   1.1.1.9  christos $SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 &
     34       1.1     lukem PID=$!
     35       1.1     lukem if test $WAIT != 0 ; then
     36       1.1     lukem     echo PID $PID
     37       1.1     lukem     read foo
     38       1.1     lukem fi
     39       1.1     lukem KILLPIDS="$PID"
     40       1.1     lukem 
     41       1.1     lukem echo "Testing certificate handling..."
     42       1.1     lukem 
     43       1.1     lukem sleep 1
     44       1.1     lukem 
     45       1.1     lukem for i in 0 1 2 3 4 5; do
     46   1.1.1.9  christos 	$LDAPSEARCH -s base -b "$MONITOR" -H $URI1 \
     47       1.1     lukem 		'objectclass=*' > /dev/null 2>&1
     48       1.1     lukem 	RC=$?
     49       1.1     lukem 	if test $RC = 0 ; then
     50       1.1     lukem 		break
     51       1.1     lukem 	fi
     52       1.1     lukem 	echo "Waiting 5 seconds for slapd to start..."
     53       1.1     lukem 	sleep 5
     54       1.1     lukem done
     55       1.1     lukem 
     56       1.1     lukem if test $RC != 0 ; then
     57       1.1     lukem 	echo "ldapsearch failed ($RC)!"
     58       1.1     lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
     59       1.1     lukem 	exit $RC
     60       1.1     lukem fi
     61       1.1     lukem 
     62       1.1     lukem echo "Add certificates..."
     63   1.1.1.9  christos $LDAPMODIFY -v -D "$MANAGERDN" -H $URI1 -w $PASSWD > \
     64       1.1     lukem 	$TESTOUT 2>&1 << EOMODS
     65       1.1     lukem version: 1
     66       1.1     lukem 
     67       1.1     lukem # LEADING COMMENT AND WHITE SPACE
     68       1.1     lukem 
     69       1.1     lukem # should use certificationAuthority instead of extensibleObject
     70       1.1     lukem dn: dc=example,dc=com
     71       1.1     lukem changetype: modify
     72       1.1     lukem add: objectClass
     73       1.1     lukem objectClass: extensibleObject
     74       1.1     lukem -
     75       1.1     lukem add: cAcertificate;binary
     76       1.1     lukem cAcertificate;binary::
     77       1.1     lukem  MIIDVDCCAr2gAwIBAgIBADANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
     78       1.1     lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
     79       1.1     lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
     80       1.1     lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzMDQxWhcNMDQxMDE2MTYzMDQxWjB3MQswCQYD
     81       1.1     lukem  VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAg
     82       1.1     lukem  RXhhbXBsZSwgTHRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJ
     83       1.1     lukem  ARYOY2FAZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANlj
     84       1.1     lukem  UGxiisAzEiALukzt3Gj/24MRw1J0AZx6GncXLhpNJsAFyA0bYZdAzgvydKeq/uX0
     85       1.1     lukem  i5o/4Byc3G71XAAcbJZxDPtrLwpDAdMNOBvKV2r67yTgnpatFLfGRt/FWazj5EbF
     86       1.1     lukem  YkorWWTe+4eEBd9VPzebHdIm+DPHipUfIAzRoNejAgMBAAGjge8wgewwHQYDVR0O
     87       1.1     lukem  BBYEFEtvIRo2JNKQ+UOwU0ctfeHA5pgjMIGhBgNVHSMEgZkwgZaAFEtvIRo2JNKQ
     88       1.1     lukem  +UOwU0ctfeHA5pgjoXukeTB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv
     89       1.1     lukem  cm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwgTHRkLjETMBEGA1UEAxMK
     90       1.1     lukem  RXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhhbXBsZS5jb22CAQAwDAYD
     91       1.1     lukem  VR0TBAUwAwEB/zAZBgNVHREEEjAQgQ5jYUBleGFtcGxlLmNvbTANBgkqhkiG9w0B
     92       1.1     lukem  AQQFAAOBgQCgXD/+28El3GXi/uxMNEKqtnIhQdTnNU4il0fZ6pcmHPFC+61Bddow
     93       1.1     lukem  90ZZZh5Gbg5ZBxFRhDXN8K/fix3ewRSjASt40dGlEODkE+FsLMt04sYl6kX7RGKg
     94       1.1     lukem  9a46DkeG+uzZnN/3252uCgh+rjNMFAglueUTERv3EtUB1iXEoU3GyA==
     95       1.1     lukem 
     96       1.1     lukem dn: cn=Ursula Hampster,ou=Alumni Association,ou=People,dc=example,dc=com
     97       1.1     lukem changetype: modify
     98       1.1     lukem add: objectClass
     99       1.1     lukem objectClass: strongAuthenticationUser
    100       1.1     lukem -
    101       1.1     lukem add: userCertificate;binary
    102       1.1     lukem userCertificate;binary::
    103       1.1     lukem  MIIDazCCAtSgAwIBAgIBAjANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
    104       1.1     lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
    105       1.1     lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
    106       1.1     lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzMzE5WhcNMDQxMDE2MTYzMzE5WjB+MQswCQYD
    107       1.1     lukem  VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAg
    108       1.1     lukem  RXhhbXBsZSwgTHRkLjEYMBYGA1UEAxMPVXJzdWxhIEhhbXBzdGVyMR8wHQYJKoZI
    109       1.1     lukem  hvcNAQkBFhB1aGFtQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
    110       1.1     lukem  iQKBgQDuxgp5ELV9LmhxWMpV7qc4028QQT3+zzFDXhruuXE7ji2n3S3ea8bOwDtJ
    111       1.1     lukem  h+qnsDe561DhHHHlgIjMKCiDEizYMpxvJPYEXmvp0huRkMgpKZgmel95BSkt6TYm
    112       1.1     lukem  J0erS3aoimOHLEFimmnTLolNRMiWqNBvqwobx940PGwUWEePKQIDAQABo4H/MIH8
    113       1.1     lukem  MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENl
    114       1.1     lukem  cnRpZmljYXRlMB0GA1UdDgQWBBSjI94TbBmuDEeUUOiC37EK0Uf0XjCBoQYDVR0j
    115       1.1     lukem  BIGZMIGWgBRLbyEaNiTSkPlDsFNHLX3hwOaYI6F7pHkwdzELMAkGA1UEBhMCVVMx
    116       1.1     lukem  EzARBgNVBAgTCkNhbGlmb3JuaWExHzAdBgNVBAoTFk9wZW5MREFQIEV4YW1wbGUs
    117       1.1     lukem  IEx0ZC4xEzARBgNVBAMTCkV4YW1wbGUgQ0ExHTAbBgkqhkiG9w0BCQEWDmNhQGV4
    118       1.1     lukem  YW1wbGUuY29tggEAMA0GCSqGSIb3DQEBBAUAA4GBAIgUcARb3OlWYNbmr1nmqESu
    119       1.1     lukem  xLn16uqI1Ot6WkcICvpkdQ+Bo+R9AP05xpoXocZtKdNvBu3FNxB/jFkiOcLU2lX7
    120       1.1     lukem  Px1Ijnsjh60qVRy9HOsHCungIKlGcnXLKHmKu0y//5jds/HnaJsGcHI5JRG7CBJb
    121       1.1     lukem  W+wrwge3trJ1xHJI8prN
    122       1.1     lukem 
    123       1.1     lukem dn: cn=Jennifer Smith,ou=Alumni Association,ou=People,dc=example,dc=com
    124       1.1     lukem changetype: modify
    125       1.1     lukem add: objectClass
    126       1.1     lukem objectClass: strongAuthenticationUser
    127       1.1     lukem -
    128       1.1     lukem add: userCertificate;binary
    129       1.1     lukem userCertificate;binary::
    130       1.1     lukem  MIIDcDCCAtmgAwIBAgIBATANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
    131       1.1     lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
    132       1.1     lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
    133       1.1     lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzMTQwWhcNMDQxMDE2MTYzMTQwWjCBgjELMAkG
    134       1.1     lukem  A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExHzAdBgNVBAoTFk9wZW5MREFQ
    135       1.1     lukem  IEV4YW1wbGUsIEx0ZC4xHTAbBgNVBAMUFEplbm5pZmVyICJKZW4iIFNtaXRoMR4w
    136       1.1     lukem  HAYJKoZIhvcNAQkBFg9qZW5AZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
    137       1.1     lukem  gY0AMIGJAoGBANUgO8cP/SjqgCVxxsRYv36AP0+QL81iEkGvR4gG6jbtDDBdVYDC
    138       1.1     lukem  YbS2oKKNJ5e99NxGMIjOYfmKcAwmkV46IhdzUtkutgjHEG9vl5ajSwc1KSsbTMTy
    139       1.1     lukem  NtuG3k5k02JYFbP+FrGyUE8iPqK4+i7mVjW4bh/MBCHW88FptnpDJiuHAgMBAAGj
    140       1.1     lukem  gf8wgfwwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0
    141       1.1     lukem  ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEdo4jpxCQXJ1sh/E1O3ZBkLTbHkMIGh
    142       1.1     lukem  BgNVHSMEgZkwgZaAFEtvIRo2JNKQ+UOwU0ctfeHA5pgjoXukeTB3MQswCQYDVQQG
    143       1.1     lukem  EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhh
    144       1.1     lukem  bXBsZSwgTHRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYO
    145       1.1     lukem  Y2FAZXhhbXBsZS5jb22CAQAwDQYJKoZIhvcNAQEEBQADgYEAFpHsQUtSZQzmm9k2
    146       1.1     lukem  Vrfs0h7tdkWF3LcHzHk4a/t3k4EXcqlHBxh4f0tmb4XNP9QupRgm6ggr8t3Rq0Vt
    147       1.1     lukem  T8k50x4C7oE8HwZuEEB4FM7S1Zig3dfeJ8MJgdaLqt5/U9Ip/hZdzG2dsUsIceH/
    148       1.1     lukem  5MCKLu9bGJUjsKnGdm/KpaNwaNo=
    149       1.1     lukem 
    150       1.1     lukem dn: cn=Jennifer Smith,ou=Alumni Association,ou=People,dc=example,dc=com
    151       1.1     lukem changetype: modify
    152       1.1     lukem add: userCertificate;binary
    153       1.1     lukem userCertificate;binary::
    154       1.1     lukem  MIIDjDCCAvWgAwIBAgIBAzANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
    155       1.1     lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
    156       1.1     lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
    157       1.1     lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzNTM1WhcNMDQxMDE2MTYzNTM1WjCBnjELMAkG
    158       1.1     lukem  A1UEBhMCVVMxETAPBgNVBAgTCE1pY2hpZ2FuMR8wHQYDVQQKExZPcGVuTERBUCBF
    159       1.1     lukem  eGFtcGxlLCBMdGQuMRswGQYDVQQLExJBbHVtbmkgQXNzb2ljYXRpb24xEjAQBgNV
    160       1.1     lukem  BAMTCUplbiBTbWl0aDEqMCgGCSqGSIb3DQEJARYbamVuQG1haWwuYWx1bW5pLmV4
    161       1.1     lukem  YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDpnXWAL0VkROGO
    162       1.1     lukem  1Rg8J3u6F4F7yMqQCbUMsV9rxQisYj45+pmqiHV5urogvT4MGD6eLNFZKBn+0KRn
    163       1.1     lukem  i++uu7gbartzpmBaHOlzRII9ZdVMFfrT2xYNgAlkne6pb6IZIN9UONuH/httENCD
    164       1.1     lukem  J5WEpjZ48D1Lrml/HYO/W+SAMkpEqQIDAQABo4H/MIH8MAkGA1UdEwQCMAAwLAYJ
    165       1.1     lukem  YIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1Ud
    166       1.1     lukem  DgQWBBTB2saht/od/nis76b9m+pjxfhSPjCBoQYDVR0jBIGZMIGWgBRLbyEaNiTS
    167       1.1     lukem  kPlDsFNHLX3hwOaYI6F7pHkwdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
    168       1.1     lukem  b3JuaWExHzAdBgNVBAoTFk9wZW5MREFQIEV4YW1wbGUsIEx0ZC4xEzARBgNVBAMT
    169       1.1     lukem  CkV4YW1wbGUgQ0ExHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tggEAMA0G
    170       1.1     lukem  CSqGSIb3DQEBBAUAA4GBAIoGPc/AS0cNkMRDNoMIzcFdF9lONMduKBiSuFvv+x8n
    171       1.1     lukem  Cek+LUdXxF59V2NPKh2V5gFh5xbAchyv6FVBnpVtPdB5akCr5tdFQhuBLUXXDk/t
    172       1.1     lukem  THGpIWt7OAjEmpuMzsz3GUB8Zf9rioHOs1DMw+GpzWdnFITxXhAqEDc3quqPrpxZ
    173       1.1     lukem -
    174       1.1     lukem delete: userCertificate;binary
    175       1.1     lukem userCertificate;binary::
    176       1.1     lukem  MIIDcDCCAtmgAwIBAgIBATANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
    177       1.1     lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
    178       1.1     lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
    179       1.1     lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzMTQwWhcNMDQxMDE2MTYzMTQwWjCBgjELMAkG
    180       1.1     lukem  A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExHzAdBgNVBAoTFk9wZW5MREFQ
    181       1.1     lukem  IEV4YW1wbGUsIEx0ZC4xHTAbBgNVBAMUFEplbm5pZmVyICJKZW4iIFNtaXRoMR4w
    182       1.1     lukem  HAYJKoZIhvcNAQkBFg9qZW5AZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
    183       1.1     lukem  gY0AMIGJAoGBANUgO8cP/SjqgCVxxsRYv36AP0+QL81iEkGvR4gG6jbtDDBdVYDC
    184       1.1     lukem  YbS2oKKNJ5e99NxGMIjOYfmKcAwmkV46IhdzUtkutgjHEG9vl5ajSwc1KSsbTMTy
    185       1.1     lukem  NtuG3k5k02JYFbP+FrGyUE8iPqK4+i7mVjW4bh/MBCHW88FptnpDJiuHAgMBAAGj
    186       1.1     lukem  gf8wgfwwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0
    187       1.1     lukem  ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEdo4jpxCQXJ1sh/E1O3ZBkLTbHkMIGh
    188       1.1     lukem  BgNVHSMEgZkwgZaAFEtvIRo2JNKQ+UOwU0ctfeHA5pgjoXukeTB3MQswCQYDVQQG
    189       1.1     lukem  EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhh
    190       1.1     lukem  bXBsZSwgTHRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYO
    191       1.1     lukem  Y2FAZXhhbXBsZS5jb22CAQAwDQYJKoZIhvcNAQEEBQADgYEAFpHsQUtSZQzmm9k2
    192       1.1     lukem  Vrfs0h7tdkWF3LcHzHk4a/t3k4EXcqlHBxh4f0tmb4XNP9QupRgm6ggr8t3Rq0Vt
    193       1.1     lukem  T8k50x4C7oE8HwZuEEB4FM7S1Zig3dfeJ8MJgdaLqt5/U9Ip/hZdzG2dsUsIceH/
    194       1.1     lukem  5MCKLu9bGJUjsKnGdm/KpaNwaNo=
    195       1.1     lukem 
    196       1.1     lukem dn: cn=Mark Elliot,ou=Alumni Association,ou=People,dc=example,dc=com
    197       1.1     lukem changetype: modify
    198       1.1     lukem replace: userCertificate;binary
    199       1.1     lukem userCertificate;binary::
    200       1.1     lukem  MIIDjDCCAvWgAwIBAgIBAzANBgkqhkiG9w0BAQQFADB3MQswCQYDVQQGEwJVUzET
    201       1.1     lukem  MBEGA1UECBMKQ2FsaWZvcm5pYTEfMB0GA1UEChMWT3BlbkxEQVAgRXhhbXBsZSwg
    202       1.1     lukem  THRkLjETMBEGA1UEAxMKRXhhbXBsZSBDQTEdMBsGCSqGSIb3DQEJARYOY2FAZXhh
    203       1.1     lukem  bXBsZS5jb20wHhcNMDMxMDE3MTYzNTM1WhcNMDQxMDE2MTYzNTM1WjCBnjELMAkG
    204       1.1     lukem  A1UEBhMCVVMxETAPBgNVBAgTCE1pY2hpZ2FuMR8wHQYDVQQKExZPcGVuTERBUCBF
    205       1.1     lukem  eGFtcGxlLCBMdGQuMRswGQYDVQQLExJBbHVtbmkgQXNzb2ljYXRpb24xEjAQBgNV
    206       1.1     lukem  BAMTCUplbiBTbWl0aDEqMCgGCSqGSIb3DQEJARYbamVuQG1haWwuYWx1bW5pLmV4
    207       1.1     lukem  YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDpnXWAL0VkROGO
    208       1.1     lukem  1Rg8J3u6F4F7yMqQCbUMsV9rxQisYj45+pmqiHV5urogvT4MGD6eLNFZKBn+0KRn
    209       1.1     lukem  i++uu7gbartzpmBaHOlzRII9ZdVMFfrT2xYNgAlkne6pb6IZIN9UONuH/httENCD
    210       1.1     lukem  J5WEpjZ48D1Lrml/HYO/W+SAMkpEqQIDAQABo4H/MIH8MAkGA1UdEwQCMAAwLAYJ
    211       1.1     lukem  YIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1Ud
    212       1.1     lukem  DgQWBBTB2saht/od/nis76b9m+pjxfhSPjCBoQYDVR0jBIGZMIGWgBRLbyEaNiTS
    213       1.1     lukem  kPlDsFNHLX3hwOaYI6F7pHkwdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
    214       1.1     lukem  b3JuaWExHzAdBgNVBAoTFk9wZW5MREFQIEV4YW1wbGUsIEx0ZC4xEzARBgNVBAMT
    215       1.1     lukem  CkV4YW1wbGUgQ0ExHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1wbGUuY29tggEAMA0G
    216       1.1     lukem  CSqGSIb3DQEBBAUAA4GBAIoGPc/AS0cNkMRDNoMIzcFdF9lONMduKBiSuFvv+x8n
    217       1.1     lukem  Cek+LUdXxF59V2NPKh2V5gFh5xbAchyv6FVBnpVtPdB5akCr5tdFQhuBLUXXDk/t
    218       1.1     lukem  THGpIWt7OAjEmpuMzsz3GUB8Zf9rioHOs1DMw+GpzWdnFITxXhAqEDc3quqPrpxZ
    219       1.1     lukem -
    220       1.1     lukem delete: userCertificate;binary
    221       1.1     lukem 
    222       1.1     lukem EOMODS
    223       1.1     lukem 
    224       1.1     lukem RC=$?
    225       1.1     lukem if test $RC != 0 ; then
    226       1.1     lukem 	echo "ldapmodify failed ($RC)!"
    227       1.1     lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    228       1.1     lukem 	exit $RC
    229       1.1     lukem fi
    230       1.1     lukem 
    231       1.1     lukem echo 'Using ldapsearch to retrieve (userCertificate;binary=*) ...'
    232       1.1     lukem echo "# (userCertificate;binary=*)" > $SEARCHOUT
    233   1.1.1.9  christos $LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 \
    234       1.1     lukem     '(userCertificate;binary=*)' >> $SEARCHOUT 2>&1
    235       1.1     lukem RC=$?
    236       1.1     lukem if test $RC != 0 ; then
    237       1.1     lukem 	echo "ldapsearch failed ($RC)!"
    238       1.1     lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    239       1.1     lukem 	exit $RC
    240       1.1     lukem fi
    241       1.1     lukem 
    242       1.1     lukem echo 'Using ldapsearch to retrieve (cAcertificate=*) ...'
    243       1.1     lukem echo "# (cAcertificate=*)" >> $SEARCHOUT
    244   1.1.1.9  christos $LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 \
    245       1.1     lukem     '(cAcertificate=*)' >> $SEARCHOUT 2>&1
    246       1.1     lukem RC=$?
    247       1.1     lukem if test $RC != 0 ; then
    248       1.1     lukem 	echo "ldapsearch failed ($RC)!"
    249       1.1     lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    250       1.1     lukem 	exit $RC
    251       1.1     lukem fi
    252       1.1     lukem 
    253       1.1     lukem SNAI='2$EMAIL=ca (at] example.com,CN=Example CA,O=Openldap Example\5C, Ltd.,ST=California,C=US'
    254       1.1     lukem 
    255       1.1     lukem echo 'Using ldapsearch to retrieve (userCertificate=serialNumberAndIssuer) [old format] ...'
    256       1.1     lukem echo "# (userCertificate=$SNAI)" >> $SEARCHOUT
    257   1.1.1.9  christos $LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 \
    258       1.1     lukem     "(userCertificate=$SNAI)" >> $SEARCHOUT 2>&1
    259       1.1     lukem RC=$?
    260       1.1     lukem if test $RC != 0 ; then
    261       1.1     lukem 	echo "ldapsearch failed ($RC)!"
    262       1.1     lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    263       1.1     lukem 	exit $RC
    264       1.1     lukem fi
    265       1.1     lukem 
    266       1.1     lukem SNAI='{ serialNumber 2, issuer "EMAIL=ca (at] example.com,CN=Example CA,O=Openldap Example\5C, Ltd.,ST=California,C=US" }'
    267       1.1     lukem 
    268       1.1     lukem echo 'Using ldapsearch to retrieve (userCertificate=serialNumberAndIssuer) [new format] ...'
    269       1.1     lukem echo "# (userCertificate=$SNAI)" >> $SEARCHOUT
    270   1.1.1.9  christos $LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 \
    271       1.1     lukem     "(userCertificate=$SNAI)" >> $SEARCHOUT 2>&1
    272       1.1     lukem RC=$?
    273       1.1     lukem if test $RC != 0 ; then
    274       1.1     lukem 	echo "ldapsearch failed ($RC)!"
    275       1.1     lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    276       1.1     lukem 	exit $RC
    277       1.1     lukem fi
    278       1.1     lukem 
    279       1.1     lukem SNAI='3$EMAIL=ca (at] example.com,CN=Example CA,O=Openldap Example\5C, Ltd.,ST=California,C=US'
    280       1.1     lukem 
    281       1.1     lukem echo 'Using ldapsearch to retrieve (userCertificate:certificateExactMatch:=serialNumberAndIssuer) [old format] ...'
    282       1.1     lukem echo "# (userCertificate:certificateExactMatch:=$SNAI)" >> $SEARCHOUT
    283   1.1.1.9  christos $LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 \
    284       1.1     lukem     "(userCertificate:certificateExactMatch:=$SNAI)" >> $SEARCHOUT 2>&1
    285       1.1     lukem RC=$?
    286       1.1     lukem if test $RC != 0 ; then
    287       1.1     lukem 	echo "ldapsearch failed ($RC)!"
    288       1.1     lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    289       1.1     lukem 	exit $RC
    290       1.1     lukem fi
    291       1.1     lukem 
    292       1.1     lukem SNAI='{ issuer "EMAIL=ca (at] example.com,CN=Example CA,O=Openldap Example\5C, Ltd.,ST=California,C=US", serialNumber 3 }'
    293       1.1     lukem 
    294       1.1     lukem echo 'Using ldapsearch to retrieve (userCertificate:certificateExactMatch:=serialNumberAndIssuer) [new format]...'
    295       1.1     lukem echo "# (userCertificate:certificateExactMatch:=$SNAI)" >> $SEARCHOUT
    296   1.1.1.9  christos $LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 \
    297       1.1     lukem     "(userCertificate:certificateExactMatch:=$SNAI)" >> $SEARCHOUT 2>&1
    298       1.1     lukem RC=$?
    299       1.1     lukem if test $RC != 0 ; then
    300       1.1     lukem 	echo "ldapsearch failed ($RC)!"
    301       1.1     lukem 	test $KILLSERVERS != no && kill -HUP $KILLPIDS
    302       1.1     lukem 	exit $RC
    303       1.1     lukem fi
    304       1.1     lukem 
    305       1.1     lukem test $KILLSERVERS != no && kill -HUP $KILLPIDS
    306       1.1     lukem 
    307       1.1     lukem LDIF=$CERTIFICATETLS
    308       1.1     lukem 
    309       1.1     lukem echo "Filtering ldapsearch results..."
    310   1.1.1.3      adam $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
    311       1.1     lukem echo "Filtering original ldif used to create database..."
    312   1.1.1.3      adam $LDIFFILTER < $LDIF > $LDIFFLT
    313       1.1     lukem echo "Comparing filter output..."
    314       1.1     lukem $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
    315       1.1     lukem 
    316       1.1     lukem if test $? != 0 ; then
    317       1.1     lukem 	echo "comparison failed - certificate operations did not complete correctly"
    318       1.1     lukem 	exit 1
    319       1.1     lukem fi
    320       1.1     lukem 
    321       1.1     lukem echo ">>>>> Test succeeded"
    322       1.1     lukem 
    323       1.1     lukem test $KILLSERVERS != no && wait
    324       1.1     lukem 
    325       1.1     lukem exit 0
    326