Your message dated Mon, 10 Mar 2014 01:48:26 +0000 with message-id <[email protected]> and subject line Bug#696931: fixed in calendarserver 5.1+dfsg-1 has caused the Debian Bug report #696931, regarding calendarserver: PostgreSQL connection & DB bootstrapping to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 696931: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=696931 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: calendarserver Version: 3.2+dfsg-5 Severity: normal Dear Maintainer, I've been experiencing with caldavd on a local PostgreSQL database, and found several issues that can be easily fixed or circumvented. I'm not really able to decide how much of that really should be fixed upstream. It can be for sure fixed by packaging or documentation. (postgresql-9.1, version 9.1.7-1 from wheezy, but that should really not matter) 1) Peer connection caldavd.plist extract: <!-- Database connection --> <key>UseDatabase</key> <true/> <key>DBType</key> <string>postgres</string> <key>DSN</key> <string>:caldavd:caldavd:::</string> It seems that the initial DB connection gets done while system user is still 'root'. Subsequent ones are done with 'caldavd'. Found a reference to it in upstream mailing list: http://lists.macosforge.org/pipermail/calendarserver-dev/2012-November/001564.html This can be circumvented by letting root perform peer connections as role 'caldavd' through pg_ident.conf 2) Database bootstrap The parameters of /usr/bin/calendarserver_bootstrap_database are entirely hardcoded to values that are wrong in the Debian setting Actual source is in /usr/lib/python2.7/dist-packages/calendarserver/tools/bootstrapdatabase.py Extract: CONNECTNAME = "_postgres" USERNAME = "caldav" DATABASENAME = "caldav" SCHEMAFILE = "/usr/share/caldavd/lib/python/txdav/common/datastore/sql_schema/current.sql" What this script does is simply create role & database, then load of the SCHEMAFILE SQL source file. On a Debian system, the default PostgreSQL superuser is 'postgres', and that file lies at /usr/lib/python2.7/dist-packages/txdav/common/datastore/sql_schema/current.sql With the Debian way of installing python packages means that it should not be hardcoded to that location either. I've been able to bootstrap my database by loading that file manually, calendarserver seems to work fine, but the bootstrap script seems to also be able to perform updates, so that it really should be fixed in some way. Thank you for your attention -- System Information: Debian Release: 7.0 APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages calendarserver depends on: ii adduser 3.113+nmu3 ii libc6 2.13-37 ii lsb-base 4.1+Debian9 ii memcached 1.4.13-0.1 ii python 2.7.3-3 ii python-dateutil 1.5+dfsg-0.1 ii python-kerberos 1.1+svn4895-1+b2 ii python-openssl 0.13-2 ii python-plist 1.8-1 ii python-pycalendar 2.0~svn188-1 ii python-pygresql 1:4.0-3 ii python-pysqlite2 2.6.3-3 ii python-sqlparse 0.1.4-1 ii python-twisted-conch 1:12.0.0-1 ii python-twisted-core 12.0.0-1 ii python-twisted-mail 12.0.0-1 ii python-twisted-web 12.0.0-1 ii python-twisted-words 12.0.0-1 ii python-xattr 0.6.4-2 ii python-zope.interface 3.6.1-3 ii ssl-cert 1.0.32 Versions of packages calendarserver recommends: ii python-ldap 2.4.10-1 ii python-pam 0.4.2-13 calendarserver suggests no packages. -- Configuration Files: /etc/caldavd/accounts.xml changed: <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (c) 2006-2010 Apple Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!DOCTYPE accounts SYSTEM "accounts.dtd"> <accounts realm="Test Realm"> <user> <uid>admin</uid> <guid>ADMIN</guid> <password>admin</password> <name>Super User</name> </user> <user> <uid>test</uid> <password>test</password> <name>Test User</name> </user> <group> <uid>users</uid> <password>users</password> <name>Users Group</name> <members> <member type="users">test</member> </members> </group> <location> <uid>mercury</uid> <password>mercury</password> <name>Mecury Conference Room, Building 1, 2nd Floor</name> </location> </accounts> /etc/caldavd/caldavd.plist changed: <?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2006-2011 Apple Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <!-- Public network address information This is the server's public network address, which is provided to clients in URLs and the like. It may or may not be the network address that the server is listening to directly, though it is by default. For example, it may be the address of a load balancer or proxy which forwards connections to the server. --> <!-- Network host name [empty = system host name] --> <key>ServerHostName</key> <string></string> <!-- The hostname clients use when connecting --> <!-- HTTP port [0 = disable HTTP] --> <key>HTTPPort</key> <integer>8008</integer> <!-- SSL port [0 = disable HTTPS] --> <!-- (Must also configure SSLCertificate and SSLPrivateKey below) --> <!-- <key>SSLPort</key> <integer>8443</integer> <key>EnableSSL</key> <true/> --> <!-- Redirect non-SSL ports to an SSL port (if configured for SSL) --> <key>RedirectHTTPToHTTPS</key> <false/> <!-- Network address configuration information This configures the actual network address that the server binds to. --> <!-- List of IP addresses to bind to [empty = all] --> <key>BindAddresses</key> <array> </array> <!-- List of port numbers to bind to for HTTP [empty = same as "Port"] --> <key>BindHTTPPorts</key> <array> </array> <!-- List of port numbers to bind to for SSL [empty = same as "SSLPort"] --> <key>BindSSLPorts</key> <array> </array> <!-- Data Store --> <!-- Server root --> <key>ServerRoot</key> <string>/var/lib/caldavd</string> <!-- Database connection --> <key>UseDatabase</key> <true/> <key>DBType</key> <string>postgres</string> <key>DSN</key> <string>:caldavd:caldavd:::</string> <!-- Data root --> <!-- key>DataRoot</key> <string>/var/lib/caldavd</string --> <!-- Document root --> <key>DocumentRoot</key> <string>/var/spool/caldavd</string> <!-- Configuration root --> <key>ConfigRoot</key> <string>/etc/caldavd</string> <!-- Run root --> <key>RunRoot</key> <string>/var/run/caldavd</string> <!-- Child aliases --> <key>Aliases</key> <dict> <!-- <key>foo</key> <dict> <key>path</key> <string>/path/to/foo</string> </dict> --> </dict> <!-- Quotas and limits --> <!-- User quota (in bytes) [0 = no quota] applies to attachments only --> <key>UserQuota</key> <integer>104857600</integer> <!-- 100Mb --> <!-- Maximum number of calendars/address books allowed in a home --> <!-- 0 for no limit --> <key>MaxCollectionsPerHome</key> <integer>50</integer> <!-- Maximum number of resources in a calendar/address book --> <!-- 0 for no limit --> <key>MaxResourcesPerCollection</key> <integer>10000</integer> <!-- Maximum resource size (in bytes) --> <key>MaxResourceSize</key> <integer>1048576</integer> <!-- 1Mb --> <!-- Maximum number of unique attendees per entire event --> <!-- 0 for no limit --> <key>MaxAttendeesPerInstance</key> <integer>100</integer> <!-- Maximum number of instances allowed during expansion --> <!-- 0 for no limit --> <key>MaxAllowedInstances</key> <integer>3000</integer> <!-- Maximum number of instances allowed for a single RRULE --> <!-- 0 for no limit --> <key>MaxInstancesForRRULE</key> <integer>400</integer> <!-- NSS Directory Service --> <!-- Groups starting with groupPrefix are considered calendarserver groups --> <!-- Don't treat user id's smaller than firstValidUid as calendarserver users --> <!-- Don't treat group id's smaller than firstValidGid as calendarserver groups --> <!-- use shortName@mailDomain as calender user mail addresses --> <!-- <key>DirectoryService</key> <dict> <key>type</key> <string>twistedcaldav.directory.nss.NssDirectoryService</string> <key>params</key> <dict> <key>realmName</key> <string>Test Realm</string> <key>groupPrefix</key> <string>caldavd-</string> <key>firstValidUid</key> <integer>1000</integer> <key>lastValidUid</key> <integer>65533</integer> <key>firstValidGid</key> <integer>1000</integer> <key>lastValidGid</key> <integer>65533</integer> <key>mailDomain</key> <string>example.com</string> <key>cacheTimeout</key> <integer>30</integer> </dict> </dict> --> <!-- Directory service A directory service provides information about principals (eg. users, groups, locations and resources) to the server. A variety of directory services are available for use. --> <!-- XML File Directory Service --> <key>DirectoryService</key> <dict> <key>type</key> <string>twistedcaldav.directory.xmlfile.XMLDirectoryService</string> <key>params</key> <dict> <key>xmlFile</key> <string>/etc/caldavd/accounts.xml</string> </dict> </dict> <!-- Open Directory Service (Mac OS X) --> <!-- <key>DirectoryService</key> <dict> <key>type</key> <string>twistedcaldav.directory.appleopendirectory.OpenDirectoryService</string> <key>params</key> <dict> <key>node</key> <string>/Search</string> <key>cacheTimeout</key> <integer>30</integer> </dict> </dict> --> <!-- OpenLDAP Directory Service --> <!-- <key>DirectoryService</key> <dict> <key>type</key> <string>twistedcaldav.directory.ldapdirectory.LdapDirectoryService</string> <key>params</key> <dict> <key>restrictEnabledRecords</key> <false/> <key>restrictToGroup</key> <string></string> <key>cacheTimeout</key> <integer>30</integer> <key>uri</key> <string>ldap://example.com/</string> <key>tls</key> <false/> <key>tlsCACertFile</key> <string></string> <key>tlsCACertDir</key> <string></string> <key>tlsRequireCert</key> <string>never</string> <key>credentials</key> <dict> <key>dn</key> <string></string> <key>password</key> <string></string> </dict> <key>authMethod</key> <string>LDAP</string> <key>rdnSchema</key> <dict> <key>base</key> <string>dc=example,dc=com</string> <key>guidAttr</key> <string>entryUUID</string> <key>users</key> <dict> <key>rdn</key> <string>ou=People</string> <key>attr</key> <string>uid</string> <key>emailSuffix</key> <string></string> <key>filter</key> <string></string> <key>loginEnabledAttr</key> <string></string> <key>loginEnabledValue</key> <string>yes</string> <key>mapping</key> <dict> <key>recordName</key> <string>uid</string> <key>fullName</key> <string>cn</string> <key>emailAddresses</key> <string>mail</string> <key>firstName</key> <string>givenName</string> <key>lastName</key> <string>sn</string> </dict> </dict> <key>groups</key> <dict> <key>rdn</key> <string>ou=Group</string> <key>attr</key> <string>cn</string> <key>emailSuffix</key> <string></string> <key>filter</key> <string></string> <key>mapping</key> <dict> <key>recordName</key> <string>cn</string> <key>fullName</key> <string>cn</string> <key>emailAddresses</key> <string>mail</string> <key>firstName</key> <string>givenName</string> <key>lastName</key> <string>sn</string> </dict> </dict> </dict> <key>groupSchema</key> <dict> <key>membersAttr</key> <string>member</string> <key>nestedGroupsAttr</key> <string></string> <key>memberIdAttr</key> <string></string> </dict> <key>resourceSchema</key> <dict> <key>resourceInfoAttr</key> <string></string> <key>autoScheduleAttr</key> <string></string> <key>autoScheduleEnabledValue</key> <string>yes</string> <key>proxyAttr</key> <string></string> <key>readOnlyProxyAttr</key> <string></string> </dict> </dict> </dict> --> <!-- Resource and Location Service --> <key>ResourceService</key> <dict> <key>Enabled</key> <true/> <key>type</key> <string>twistedcaldav.directory.xmlfile.XMLDirectoryService</string> <key>params</key> <dict> <key>xmlFile</key> <string>/etc/caldavd/resources.xml</string> </dict> </dict> <!-- Special principals These principals are granted special access and/or perform special roles on the server. --> <!-- Principals with "DAV:all" access (relative URLs) --> <key>AdminPrincipals</key> <array> <string>/principals/__uids__/ADMIN/</string> </array> <!-- Principals with "DAV:read" access (relative URLs) --> <key>ReadPrincipals</key> <array> <!-- <string>/principals/__uids__/983C8238-FB6B-4D92-9242-89C0A39E5F81/</string> --> </array> <!-- Create "proxy access" principals --> <key>EnableProxyPrincipals</key> <true/> <!-- Permissions --> <!-- Anonymous read access for root resource --> <key>EnableAnonymousReadRoot</key> <true/> <!-- Anonymous read access for resource hierarchy --> <key>EnableAnonymousReadNav</key> <false/> <!-- Enables directory listings for principals --> <key>EnablePrincipalListings</key> <false/> <!-- Render calendar collections as a monolithic iCalendar object --> <key>EnableMonolithicCalendars</key> <true/> <!-- Authentication --> <key>Authentication</key> <dict> <!-- Clear text; best avoided --> <key>Basic</key> <dict> <key>Enabled</key> <false/> </dict> <!-- Digest challenge/response --> <key>Digest</key> <dict> <key>Enabled</key> <true/> <key>Algorithm</key> <string>md5</string> <key>Qop</key> <string></string> </dict> <!-- Kerberos/SPNEGO --> <key>Kerberos</key> <dict> <key>Enabled</key> <true/> <key>ServicePrincipal</key> <string></string> </dict> </dict> <!-- Logging --> <!-- Log root --> <key>LogRoot</key> <string>/var/log/caldavd</string> <!-- Apache-style access log --> <key>AccessLogFile</key> <string>access.log</string> <key>RotateAccessLog</key> <true/> <!-- Server activity log --> <key>ErrorLogFile</key> <string>error.log</string> <!-- Log levels --> <key>DefaultLogLevel</key> <string>warn</string> <!-- debug, info, warn, error --> <!-- Global server stats --> <key>GlobalStatsSocket</key> <string>caldavd-stats.sock</string> <!-- Server process ID file --> <key>PIDFile</key> <string>caldavd.pid</string> <!-- SSL/TLS --> <!-- Public key --> <key>SSLCertificate</key> <string>/etc/ssl/certs/ssl-cert-snakeoil.pem</string> <!-- SSL authority chain (for intermediate certs) --> <key>SSLAuthorityChain</key> <string></string> <!-- Private key --> <key>SSLPrivateKey</key> <string>/etc/ssl/private/ssl-cert-snakeoil.key</string> <!-- Process management --> <key>UserName</key> <string>caldavd</string> <key>GroupName</key> <string>caldavd</string> <key>ProcessType</key> <string>Combined</string> <key>MultiProcess</key> <dict> <key>ProcessCount</key> <integer>0</integer> <!-- 0 = larger of: 4 or (2 * CPU count) --> </dict> <!-- Notifications --> <key>Notifications</key> <dict> <!-- Time spent coalescing notifications before delivery --> <key>CoalesceSeconds</key> <integer>3</integer> <key>Services</key> <dict> <key>XMPPNotifier</key> <dict> <!-- XMPP notification service --> <key>Service</key> <string>twistedcaldav.notify.XMPPNotifierService</string> <key>Enabled</key> <false/> <!-- XMPP host and port to contact --> <key>Host</key> <string>xmpp.host.name</string> <key>Port</key> <integer>5222</integer> <!-- Jabber ID and password for the server --> <key>JID</key> <string>[email protected]/resource</string> <key>Password</key> <string>password_goes_here</string> <!-- PubSub service address --> <key>ServiceAddress</key> <string>pubsub.xmpp.host.name</string> </dict> </dict> </dict> <!-- Server-to-server protocol --> <key>Scheduling</key> <dict> <!-- CalDAV protocol options --> <key>CalDAV</key> <dict> <key>EmailDomain</key> <string></string> <key>HTTPDomain</key> <string></string> <key>AddressPatterns</key> <array> </array> </dict> <!-- iSchedule protocol options --> <key>iSchedule</key> <dict> <key>Enabled</key> <false/> <key>AddressPatterns</key> <array> </array> <key>Servers</key> <string>/etc/caldavd/servertoserver.xml</string> </dict> <!-- iMIP protocol options --> <key>iMIP</key> <dict> <key>Enabled</key> <false/> <key>MailGatewayServer</key> <string>localhost</string> <key>MailGatewayPort</key> <integer>62310</integer> <key>Sending</key> <dict> <key>Server</key> <string></string> <key>Port</key> <integer>587</integer> <key>UseSSL</key> <true/> <key>Username</key> <string></string> <key>Password</key> <string></string> <key>Address</key> <string></string> <!-- Address email will be sent from --> </dict> <key>Receiving</key> <dict> <key>Server</key> <string></string> <key>Port</key> <integer>995</integer> <key>Type</key> <string></string> <!-- Either "pop" or "imap" --> <key>UseSSL</key> <true/> <key>Username</key> <string></string> <key>Password</key> <string></string> <key>PollingSeconds</key> <integer>30</integer> </dict> <key>AddressPatterns</key> <array> <string>mailto:.*</string> </array> </dict> </dict> <!-- Free-busy URL protocol --> <key>FreeBusyURL</key> <dict> <key>Enabled</key> <true/> <key>TimePeriod</key> <integer>14</integer> <key>AnonymousAccess</key> <false/> </dict> <!-- Non-standard CalDAV extensions --> <!-- Private Events --> <key>EnablePrivateEvents</key> <true/> <!-- Shared Calendars & Address Books --> <key>Sharing</key> <dict> <key>Enabled</key> <true/> </dict> <!-- Miscellaneous items --> <!-- Web-based administration --> <key>EnableWebAdmin</key> <true/> <!-- Memcached --> <key>Memcached</key> <dict> <key>Pools</key> <dict> <key>Default</key> <dict> <key>ServerEnabled</key> <false/> </dict> </dict> </dict> </dict> </plist> /etc/caldavd/sudoers.plist changed: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>users</key> <array> <!-- Sudo user definitions --> <!-- With the exception of username and password none of the following elements are used in the current implementation. --> <!-- <dict> <key>authorize-as</key> <dict> <key>allow</key> <true/> <key>principals</key> <array> <string>all</string> <string>/principals/user/wsanchez</string> </array> </dict> <key>authorize-from</key> <array> <string>127.0.0.1</string> </array> <key>username</key> <string>admin</string> <key>password</key> <string></string> </dict> --> <dict> <key>username</key> <string>superuser</string> <key>password</key> <string>superuser</string> </dict> </array> </dict> </plist> /etc/default/calendarserver changed: start_calendarserver=yes -- no debconf information
--- End Message ---
--- Begin Message ---Source: calendarserver Source-Version: 5.1+dfsg-1 We believe that the bug you reported is fixed in the latest version of calendarserver, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Rahul Amaram <[email protected]> (supplier of updated calendarserver package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Sun, 23 Feb 2014 10:51:58 +0530 Source: calendarserver Binary: calendarserver Architecture: source i386 Version: 5.1+dfsg-1 Distribution: unstable Urgency: low Maintainer: Rahul Amaram <[email protected]> Changed-By: Rahul Amaram <[email protected]> Description: calendarserver - Apple's Calendar and Contacts Server Closes: 696334 696931 709607 709608 719649 Changes: calendarserver (5.1+dfsg-1) unstable; urgency=low . * New upstream release (Closes: #709607) * Updated NSS Configuration documentation (Closes: #696334) * Added documentation for PostgreSQL Peer authentication. Also debianized bootstrapdatabase.py (Thanks to Georges Racinet and Fredrik Unger) (Closes: #696931) * Removed fields Vcs-Svn and Vcs-Browser as they were pointing to upstream sources rather than that where the debian package is maintained (Closes: #709608) * IPv6 support added upstream (Closes: #719649) * Removed patch py-ssize-t-fix.patch as it has been included upstream in r9700 (See http://trac.calendarserver.org/ticket/448) * Removed upgrade-nss-data-directories.py script and related changes. This was being used to address an issue when upgrading from 1.2 to 2.4 (See Debian Bug#610124). As we have had two major versions released since then, we believe it to be safe to remove this fix. * Removed zoneinfo.patch Checksums-Sha1: b72136c8f39c9858ca88aba31141d03c4623e73c 1807 calendarserver_5.1+dfsg-1.dsc 75fa99898dee9850b3d23c3613879e545aa7a720 3226261 calendarserver_5.1+dfsg.orig.tar.gz 599e7e7e95c28170799ed505bb1241d8df52aa34 18972 calendarserver_5.1+dfsg-1.debian.tar.xz 6201231523a8a54e2a58a2f137dd4c79aa248794 1332758 calendarserver_5.1+dfsg-1_i386.deb Checksums-Sha256: fc10c72f8f4b0ee3270518e1d31d3fd19d77679bfcca21d1b101750d2a8f086b 1807 calendarserver_5.1+dfsg-1.dsc 6bfa94d8b1bd87dc1590d405d7c37055d62afccabe5057bc3cf15605b0aa030a 3226261 calendarserver_5.1+dfsg.orig.tar.gz 0fa50cb08d5927c1b893fb601817cf3354b1a1c2b2cd66a4b56d7f39107d8a58 18972 calendarserver_5.1+dfsg-1.debian.tar.xz 66caed741f870b9c0236d5d6503568a40ce1a9d77a89c3b178e1b87b59aadea0 1332758 calendarserver_5.1+dfsg-1_i386.deb Files: 0456b58d43284e0749627265de7fd880 1807 net optional calendarserver_5.1+dfsg-1.dsc 6d0d4e92895eca3ce9f41fe29277a62c 3226261 net optional calendarserver_5.1+dfsg.orig.tar.gz c367b865311ff42a6d5d38952438226b 18972 net optional calendarserver_5.1+dfsg-1.debian.tar.xz 69a4bbe52dd0c3debf2559a8a2396b28 1332758 net optional calendarserver_5.1+dfsg-1_i386.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJTGMMhAAoJEMxkxzcmTFut79QP+gPtdnTglFCVp+dya9QqzlBs onnR3fwwfXZklOINCCMukvm0Boe1stJT39CRED1s+1wyvndKPkyzvUDHwdrZF7AZ RIMtIDUOMKrIZYL3dkn8DYugiEgkX80L9uhWti3NA5nldaEZI3xZdRwOyV9eoCD4 pnnMaKJfNB+MB14DWBQTZTauXfjFQFf73grEviz8BHlpBXeQ0UouXb9/BeECTbSx WraCYHcJwuLjXOIVf2DPeB/N7Mgosff+jUJPHvjkJFCWB6iZAF6146NOHavra+Tp gyiEaO9FG/dndGkJ6bc+sPP+Rh5mbpM3AkGzPPQA0Na5ua/UmTyyiDOkjadiEf/x bQ7jIRrCmaB4/rx3RnYaBOBlKxkNf/hBee6+/VYc91v4VKMruszPumln7hRoKX4J EYhecD++vTJcjLpWtoyAAZiwUVh4xrs24les44Dns8u0ruCRYAxuxDdMlOfxcKF2 kDdjT2ES50p3GN/MkWEdBEh6d7LnFseb3GLsNEGAgmJfK0iNhNfct+4gdDP0CDH3 gNChFc03VlsTuCqEPDKXSSCs0RANzNR2oPWmBCKP1+574/HSzZPVDFpDEE13HELm EYIe9uqZcJD8zZ6VAWmlWAkOlGEMFsIrFlfHumuHXNyxoffbqrI/gVHfbqOYsVF+ wzCwcoGenMhZwxBdnYPF =updX -----END PGP SIGNATURE-----
--- End Message ---

