Re: Contact View with ldap backend not working

Philipp Faeustlin <[email protected]> Wed, 13 Dec 2017 16:00:04 +0100
Newsgroups gmane.comp.horde.turba
Message-ID <[email protected]>
This is a cryptographically signed message in MIME format.

--===============7450577069472675979==
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms000408080402010603070309"

This is a cryptographically signed message in MIME format.

--------------ms000408080402010603070309
Content-Type: multipart/mixed;
 boundary="------------30951647152331FA87A80A65"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------30951647152331FA87A80A65
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Am 12.12.2017 um 17:40 schrieb Jan Schneider:
>=20
> Zitat von Philipp Faeustlin <[email protected]>:
>=20
>> Am 07.12.2017 um 12:40 schrieb Jan Schneider:
>>>
>>> Zitat von Philipp Faeustlin <[email protected]>:
>>>
>>>> Hi list,
>>>>
>>>> I try to setup an read-only ldap backend which is only searchable.=20
>>>> My turba backend configuration works to the point where I can search=
=20
>>>> for an entry and get some results displayed.
>>>>
>>>> When I try to view, copy or download vcard on one of the results, I =

>>>> get an "Read error: (2) Protocol error"
>>>>
>>>> My Horde Turba Version is 4.2.21 from pear.
>>>>
>>>> My backend config look like this:
>>>> $cfgSources['localldap'] =3D array(
>>>> =C2=A0=C2=A0=C2=A0 'disabled' =3D> false,
>>>> =C2=A0=C2=A0=C2=A0 'title' =3D> "Co-Workers",
>>>> =C2=A0=C2=A0=C2=A0 'type' =3D> 'ldap',
>>>> =C2=A0=C2=A0=C2=A0 'params' =3D> array(
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'server' =3D> 'ldaps://lo=
calhost',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'port' =3D> 636,
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'tls' =3D> false,
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'root' =3D> 'o=3Dlocalhos=
t,c=3DDE',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'scope' =3D> 'sub',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'charset' =3D> 'utf-8',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'checkrequired' =3D> fals=
e,
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'checkrequired_string' =3D=
> ' ',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'checksyntax' =3D> false,=

>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'version' =3D> 3,
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'sizelimit' =3D> 3,
>>>> =C2=A0=C2=A0=C2=A0 ),
>>>> =C2=A0=C2=A0=C2=A0 'map' =3D> array(
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 '__key' =3D> 'dn',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'name' =3D> 'cn',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'email' =3D> 'mail',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'lastname' =3D> 'sn',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'company' =3D> 'ou',
>>>> =C2=A0=C2=A0=C2=A0 ),
>>>> =C2=A0=C2=A0=C2=A0 'tabs' =3D> array(
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'All' =3D> array(
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 '=
name',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 '=
email',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 '=
lastname',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 '=
company'
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 )
>>>> =C2=A0=C2=A0=C2=A0 ),
>>>> =C2=A0=C2=A0=C2=A0 'search' =3D> array(
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'name',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'email',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'lastname',
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'company'
>>>> =C2=A0=C2=A0=C2=A0 ),
>>>> =C2=A0=C2=A0=C2=A0 'strict' =3D> array(
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'dn'
>>>> =C2=A0=C2=A0=C2=A0 ),
>>>> =C2=A0=C2=A0=C2=A0 'approximate' =3D> array(
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 'cn', 'sn'
>>>> =C2=A0=C2=A0=C2=A0 ),
>>>> =C2=A0=C2=A0=C2=A0 'export' =3D> false,
>>>> =C2=A0=C2=A0=C2=A0 'browse' =3D> false,
>>>> =C2=A0=C2=A0=C2=A0 'use_shares' =3D> false,
>>>> =C2=A0=C2=A0=C2=A0 'all_shares' =3D> false,
>>>> );
>>>>
>>>> ---
>>>>
>>>> The horde global rights for this addressbook are show/view.
>>>>
>>>> Where is my mistake, what is missing?
>>>>
>>>> My horde.log is showing some PHP Error, perhaps they are related,=20
>>>> but I don't know their meaning, or how to solve them:
>>>> -- horde.log --
>>>> 2017-11-28T15:57:20+01:00 DEBUG: HORDE [turba] PHP ERROR:=20
>>>> Declaration of Horde_Form_Type_country::init() should be compatible =

>>>> with Horde_Form_Type::init() [pid 13076 on line 0 of=20
>>>> "/usr/share/pear/Horde/Form/Type.php"]
>>>> 2017-11-28T15:57:20+01:00 DEBUG: HORDE [turba] PHP ERROR: Non-static=
=20
>>>> method Horde_Form::getType() should not be called statically,=20
>>>> assuming $this from incompatible context [pid 13076 on line 75 of=20
>>>> "/var/www/webmail/turba/templates/browse/row.inc"]
>>>> 2017-11-28T15:57:20+01:00 DEBUG: HORDE [turba] PHP ERROR: Only=20
>>>> variables should be passed by reference [pid 13076 on line 75 of=20
>>>> "/var/www/webmail/turba/templates/browse/row.inc"]
>>>> -- --
>>>> =C2=A0Philipp F=C3=A4ustlin
>>>> Universit=C3=A4t Hohenheim
>>>
>>> None of these messages from horde.log are relevant. Try checking the =

>>> LDAP logs.
>>>
>> It tooks some time but I found the problem and a solution.
>>
>> The problem was an empty "$filter" variable in the _read function of=20
>> "turba/lib/Driver/Ldap.php".
>> The $filter variable is used in the @ldap_read function, which doesn't=
=20
>> allow an empty filter.
>> http://php.net/manual/en/function.ldap-read.php
>>
>> My solution is to use the 'objectclass' parameter in the backend=20
>> configuration, then it works fine.
>>
>> But I think it would be nice to set the $filter variable to=20
>> "objectClass=3D*" instead of "null" when missing the objectclass param=
s=20
>> for the backend configuration.
>> Or document the objectclass parameter as mandetory for the ldap backen=
d.
>=20
> Patch?
>=20
I can only offer a diff of the "./turba/lib/Driver/Ldap.php" against the =

actual PEAR version.


--------------30951647152331FA87A80A65
Content-Type: text/x-patch;
 name="Ldap.php.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="Ldap.php.patch"

--- Ldap.php	2017-12-04 17:14:50.446290711 +0100
+++ Ldap.php.neu	2017-12-13 15:21:51.073600059 +0100
@@ -241,7 +241,7 @@
         $this->_connect();
=20
         if (empty($this->_params['objectclass'])) {
-            $filter =3D null;
+            $filter =3D "objectclass=3D*";
         } else {
             $filter =3D (string)Horde_Ldap_Filter::build(array('objectcl=
ass' =3D> $this->_params['objectclass']), 'or');
         }

--------------30951647152331FA87A80A65--

--------------ms000408080402010603070309
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC
ED0wggTVMIIDvaADAgECAghQTsb1PRG0ZDANBgkqhkiG9w0BAQsFADBxMQswCQYDVQQGEwJE
RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRy
dXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNMTQw
NzIyMTIwODI2WhcNMTkwNzA5MjM1OTAwWjBaMQswCQYDVQQGEwJERTETMBEGA1UEChMKREZO
LVZlcmVpbjEQMA4GA1UECxMHREZOLVBLSTEkMCIGA1UEAxMbREZOLVZlcmVpbiBQQ0EgR2xv
YmFsIC0gRzAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6ZvDZ4X5Da71jVTD
llA1PWLpbkztlNcAW5UidNQg6zSP1uzAMQQLmYHiphTSUqAoI4SLdIkEXlvg4njBeMsWyyg1
OXstkEXQ7aAAeny/Sg4bAMOG6VwrMRF7DPOCJEOMHDiLamgAmu7cT3ir0sYTm3at7t4m6O8B
r3QPwQmi9mvOvdPNFDBP9eXjpMhim4IaAycwDQJlYE3t0QkjKpY1WCfTdsZxtpAdxO3/NYZ9
bzOz2w/FEcKKg6GUXUFr2NIQ9Uz9ylGs2b3vkoO72uuLFlZWQ8/h1RM9ph8nMM1JVNvJEzSa
cXXFbOqnC5j5IZ0nrz6jOTlIaoytyZn7wxLyvQIDAQABo4IBhjCCAYIwDgYDVR0PAQH/BAQD
AgEGMB0GA1UdDgQWBBRJt8bP6D0ff+pEexMp9/EKcD7eZDAfBgNVHSMEGDAWgBQxw3kbuvVT
1xfgiXotF2wKsyudMzASBgNVHRMBAf8ECDAGAQH/AgECMGIGA1UdIARbMFkwEQYPKwYBBAGB
rSGCLAEBBAICMBEGDysGAQQBga0hgiwBAQQDADARBg8rBgEEAYGtIYIsAQEEAwEwDwYNKwYB
BAGBrSGCLAEBBDANBgsrBgEEAYGtIYIsHjA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vcGtp
MDMzNi50ZWxlc2VjLmRlL3JsL0RUX1JPT1RfQ0FfMi5jcmwweAYIKwYBBQUHAQEEbDBqMCwG
CCsGAQUFBzABhiBodHRwOi8vb2NzcDAzMzYudGVsZXNlYy5kZS9vY3NwcjA6BggrBgEFBQcw
AoYuaHR0cDovL3BraTAzMzYudGVsZXNlYy5kZS9jcnQvRFRfUk9PVF9DQV8yLmNlcjANBgkq
hkiG9w0BAQsFAAOCAQEAYyAo/ZwhhnK+OUZZOTIlvKkBmw3Myn1BnIZtCm4ssxNZdbEzkhth
Jxb/w7LVNYL7hCoBSb1mu2YvssIGXW4/buMBWlvKQ2NclbbhMacf1QdfTeZlgk4y+cN8ekvN
TVx07iHydQLsUj7SyWrTkCNuSWc1vn9NVqTszC/Pt6GXqHI+ybxA1lqkCD3WvILDt7cyjrEs
jmpttzUCGc/1OURYY6ckABCwu/xOr24vOLulV0k/2G5QbyyXltwdRpplic+uzPLl2Z9Tsz6h
L5Kp2AvGhB8Exuse6J99tXulAvEkxSRjETTMWpMgKnmIOiVCkKllO3yG0xIVIyn8LNrMOVtU
FzCCBYswggRzoAMCAQICBxev9pIBtpIwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCREUx
EzARBgNVBAoTCkRGTi1WZXJlaW4xEDAOBgNVBAsTB0RGTi1QS0kxJDAiBgNVBAMTG0RGTi1W
ZXJlaW4gUENBIEdsb2JhbCAtIEcwMTAeFw0xNDA2MDUxNDA0NTBaFw0xOTA3MDkyMzU5MDBa
MIGpMQswCQYDVQQGEwJERTEbMBkGA1UECBMSQmFkZW4tV3VlcnR0ZW1iZXJnMRIwEAYDVQQH
EwlTdHV0dGdhcnQxHzAdBgNVBAoTFlVuaXZlcnNpdGFldCBIb2hlbmhlaW0xIDAeBgNVBAMT
F1VuaS4gSG9oZW5oZWltIENBIC0gRzAxMSYwJAYJKoZIhvcNAQkBFhdyei1wa2lAdW5pLWhv
aGVuaGVpbS5kZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMQ3KxyFEtrl84PZ
f36LXJqdGZTocvpjk5BEOHkdDdvMYXr6/9GdSGJkeColDvqerAyBNethLOkobYvkUtO942SI
Ca4NE1QW9I7Sj6WkJ6/tbbC/yDOj+1FwBos88vtKOJrW3QuNi+U+Df/IQvAVLJW+i5HqWD8w
Xx0TWZE9VHhQvlFVNXWA6LDpScDONIZBfw3DrO7PX/DLDUfY7xp2yimXn9BVPYaxSLrNpRGk
TIn65IxHPpEUFRvb220BY8l00uicOhC7xaBF2sw4ILYyDKefbU77lMH12ZDU0mZhQ6GsWs43
LwH0oNYnhU7cmxL6ej7/YpKUqSkzKceod/y3hKkCAwEAAaOCAgQwggIAMBIGA1UdEwEB/wQI
MAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMBEGA1UdIAQKMAgwBgYEVR0gADAdBgNVHQ4EFgQU
JbV5duaENMVQY5xBIQFE/v0Pm/EwHwYDVR0jBBgwFoAUSbfGz+g9H3/qRHsTKffxCnA+3mQw
IgYDVR0RBBswGYEXcnotcGtpQHVuaS1ob2hlbmhlaW0uZGUwgYgGA1UdHwSBgDB+MD2gO6A5
hjdodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9jcmwvY2Fjcmwu
Y3JsMD2gO6A5hjdodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9j
cmwvY2FjcmwuY3JsMIHXBggrBgEFBQcBAQSByjCBxzAzBggrBgEFBQcwAYYnaHR0cDovL29j
c3AucGNhLmRmbi5kZS9PQ1NQLVNlcnZlci9PQ1NQMEcGCCsGAQUFBzAChjtodHRwOi8vY2Rw
MS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBHBggr
BgEFBQcwAoY7aHR0cDovL2NkcDIucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY2Fj
ZXJ0L2NhY2VydC5jcnQwDQYJKoZIhvcNAQELBQADggEBAMid+kBwadqJKeVX2pyL8q9Dsvrt
spb1Jhp19QouKsHeg0xRUGtyvpqkS5h0yQnXgVbLCEDOip0pnYqopuluFpoZFn+ExYpr+EFG
WFX4m9rcPGjdoR3hAmSo3k2OW0/7llA6luI/meswflmEb2K5boYPMwcE6fES7vX3VflZ7m/L
iBdL7/7LS4e23dEwlw6jFK+3FmajQ2ctRMmllCKifEyRo1NlwG9kUr1IPkbAYZrMCDGXourV
E+BYsJ+bxEP8ha4E+G4ofZhm8BQWzQAN2CMRCsoPgRBmm9Eb9xqik2NkyefqEk2cqyW/LdTm
a6+7IzM1DBab6eDGtINWQ1in1qkwggXRMIIEuaADAgECAgcadRjfLZdhMA0GCSqGSIb3DQEB
CwUAMIGpMQswCQYDVQQGEwJERTEbMBkGA1UECBMSQmFkZW4tV3VlcnR0ZW1iZXJnMRIwEAYD
VQQHEwlTdHV0dGdhcnQxHzAdBgNVBAoTFlVuaXZlcnNpdGFldCBIb2hlbmhlaW0xIDAeBgNV
BAMTF1VuaS4gSG9oZW5oZWltIENBIC0gRzAxMSYwJAYJKoZIhvcNAQkBFhdyei1wa2lAdW5p
LWhvaGVuaGVpbS5kZTAeFw0xNTExMjUxMTI4MTVaFw0xODExMjQxMTI4MTVaMEoxCzAJBgNV
BAYTAkRFMR8wHQYDVQQKDBZVbml2ZXJzaXRhZXQgSG9oZW5oZWltMRowGAYDVQQDDBFQaGls
aXBwIEZhZXVzdGxpbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALsoRowpnBLz
yYtOcn1ryhzf4ehpyZ7HIKAJaZqRW6hrPbE/Wj5EFqpSvZ8KQJNIof1wWnTDh/jovqupOSDL
8wc0qfvjU1CAZj8ZEr0hmgUpwmoTcADxa7jmiHbTwFZDlREvjMaC6I2z+rkozLwfhSNOxhIE
Jig5pAVVQwS2bUdJM1mIVchkI7x2zGJnJG5s5G1O55S2XzmoarKjJWcaNb5+vfeljtCBLSrM
eQwduifYf/lkfxg/Bv3dwRu/Dm6Y0x+l2mNIYUvFuPIgPN+UUrXpXQrDlmROZknZdUEHDgNG
uTbBX3jcH3WJPmI3d815ip/SDd7T4fRtYjQZ64nppI8CAwEAAaOCAlowggJWMEAGA1UdIAQ5
MDcwEQYPKwYBBAGBrSGCLAEBBAMEMBEGDysGAQQBga0hgiwCAQQDATAPBg0rBgEEAYGtIYIs
AQEEMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDAdBgNVHQ4EFgQUGA+aAic7ecWiFV0OputviaEjfJowHwYDVR0jBBgwFoAUJbV5duaE
NMVQY5xBIQFE/v0Pm/EwLQYDVR0RBCYwJIEicGhpbGlwcC5mYWV1c3RsaW5AdW5pLWhvaGVu
aGVpbS5kZTCBjQYDVR0fBIGFMIGCMD+gPaA7hjlodHRwOi8vY2RwMS5wY2EuZGZuLmRlL3Vu
aS1ob2hlbmhlaW0tY2EvcHViL2NybC9jYWNybC5jcmwwP6A9oDuGOWh0dHA6Ly9jZHAyLnBj
YS5kZm4uZGUvdW5pLWhvaGVuaGVpbS1jYS9wdWIvY3JsL2NhY3JsLmNybDCB2wYIKwYBBQUH
AQEEgc4wgcswMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2
ZXIvT0NTUDBJBggrBgEFBQcwAoY9aHR0cDovL2NkcDEucGNhLmRmbi5kZS91bmktaG9oZW5o
ZWltLWNhL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBJBggrBgEFBQcwAoY9aHR0cDovL2NkcDIu
cGNhLmRmbi5kZS91bmktaG9oZW5oZWltLWNhL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDANBgkq
hkiG9w0BAQsFAAOCAQEAGVOaiKgL3YMEXkKahLklV1Fb6z/krd2upgGnjEFgpd4lrYoIIvYy
Wdn7vw1vIk0eRL3Myn/oDMsRVmeto7JM29N7fGFJcaHA1wG2X185IDLxzRjoyCVZoA8sa2MU
Q+qttQvsiBgBTtbF3eJ1YJ8sDKz0OC+W30vwnQwhjRHBwxDW+sQJWk4ipGl2fUPLGbbODT6y
uiDNYMbzkmYRUCTTOgYg1EV6OsVKHEPapvPrUVkKnIX0PlrF+M38XyK/eGPjiL9x3PJ7wQmV
ijFY7cHyExPte7nVGfKMbbcqzoutCLD+YILSI72Z1456D5vmNPrLqRIfUezXryjGG5E5DFpq
ujGCBFAwggRMAgEBMIG1MIGpMQswCQYDVQQGEwJERTEbMBkGA1UECBMSQmFkZW4tV3VlcnR0
ZW1iZXJnMRIwEAYDVQQHEwlTdHV0dGdhcnQxHzAdBgNVBAoTFlVuaXZlcnNpdGFldCBIb2hl
bmhlaW0xIDAeBgNVBAMTF1VuaS4gSG9oZW5oZWltIENBIC0gRzAxMSYwJAYJKoZIhvcNAQkB
Fhdyei1wa2lAdW5pLWhvaGVuaGVpbS5kZQIHGnUY3y2XYTANBglghkgBZQMEAgEFAKCCAmsw
GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTcxMjEzMTUwMDA0
WjAvBgkqhkiG9w0BCQQxIgQgqMV4FZuLnrcLjHD2hxqjm+vy5o7LEewGac0Q6aJG3aMwbAYJ
KoZIhvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4G
CCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCB
xgYJKwYBBAGCNxAEMYG4MIG1MIGpMQswCQYDVQQGEwJERTEbMBkGA1UECBMSQmFkZW4tV3Vl
cnR0ZW1iZXJnMRIwEAYDVQQHEwlTdHV0dGdhcnQxHzAdBgNVBAoTFlVuaXZlcnNpdGFldCBI
b2hlbmhlaW0xIDAeBgNVBAMTF1VuaS4gSG9oZW5oZWltIENBIC0gRzAxMSYwJAYJKoZIhvcN
AQkBFhdyei1wa2lAdW5pLWhvaGVuaGVpbS5kZQIHGnUY3y2XYTCByAYLKoZIhvcNAQkQAgsx
gbiggbUwgakxCzAJBgNVBAYTAkRFMRswGQYDVQQIExJCYWRlbi1XdWVydHRlbWJlcmcxEjAQ
BgNVBAcTCVN0dXR0Z2FydDEfMB0GA1UEChMWVW5pdmVyc2l0YWV0IEhvaGVuaGVpbTEgMB4G
A1UEAxMXVW5pLiBIb2hlbmhlaW0gQ0EgLSBHMDExJjAkBgkqhkiG9w0BCQEWF3J6LXBraUB1
bmktaG9oZW5oZWltLmRlAgcadRjfLZdhMA0GCSqGSIb3DQEBAQUABIIBAE1r+6HFY7llfo5X
Of88NM67UBgMsC/LssUpIBz3x619mLZdbM4U65iSo30hSkjGXqprRpYHYpcDC654i9nFMLHJ
FZyRnhUzhDdP370QyYi6Y0WSMuLphzbaFei3Krux8YvB3YEfk1FG5HgEpnSwpwrjv1nlDrJQ
5TzUBWcQkybzO79UfFbPqgC4z087yBy1G/mkHl6oM9Urb+WuR/awd2cfS+xYYnebfZ9tE+uk
rDzcKTGhXjqICKGDM6aIk6PU6x2X9Zppeqons7xZVV3x8QBuzPrxyi3C+E2Tiyf8pIL3n9ZZ
2YsC5CROeHCj4Xlol/LTpM+mBFLsSFrrPlKfAroAAAAAAAA=
--------------ms000408080402010603070309--

--===============7450577069472675979==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-- 
turba mailing list
Frequently Asked Questions: http://wiki.horde.org/FAQ
To unsubscribe, mail: [email protected]
--===============7450577069472675979==--