Floating point exception in httpd, FreeBSD 10.1, Cyrus-IMAPd 2.5.3

Ken Murchison murch at andrew.cmu.edu
Fri May 29 13:30:34 EDT 2015


The mailbox names that you have under #calendars and #addressbooks look 
hosed.  Are you trying to use virtual domains?  I haven't personally 
done any testing using virtdomains and can't guarantee that it will work.

You should definitely remove #calendars* and #addressbooks* and let 
httpd autocreate them.  Creating them via cyradm will not set the 
correct mailbox type.

Which type of authentication are you trying to use?  HTTP Digest is a 
disaster and very few clients do it correctly.  I wouldn't enable it for 
httpd.  If you can auth to imapd with TLS+PLAIN then httpd will work 
with TLS+Basic



On 05/28/2015 03:08 PM, Scott Lambert wrote:
> On Wed, May 27, 2015 at 05:33:41PM +1000, Bron Gondwana wrote:
>> Rebuilding with debugging symbols would be a great first step.
> I've rebuilt and reinstalled without striping the binaries.  I'm still
> getting signaled to death, but haven't gotten a new core.  Grr.
>
>> Other than that - are you using DIGEST-MD5 authentication?  I suspect
>> that might be the problem.
> Just take it out of sasl_mech_list?  I just did that.  Now iCal doesn't
> seem to be able to authenticate, keeps asking for the password.  But,
> the Lightning plugin for Thunderbird can.  Lightning seems to be
> trying to post to the test calendar I created a couple of days ago,
> PersonalTest1.  I'm pretty sure I manually created that folder with
> cyradm as part of my troubleshooting of the signal issues.  Lightning is
> being denied permission to PUT the .ics.
>
> May 27 16:28:39 mail https[62829]: inittls: Loading hard-coded DH parameters
> May 27 16:28:39 mail https[62829]: starttls: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits new) no authe
> ntication
> May 27 16:28:39 mail https[62829]: firewall.tcworks.com [64.250.34.52] with "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9
> ; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PUT /dav/calendars/user/lambert%40lambertfam.org/Persona
> lTest1//8c4a72c8-0e7c-cb40-851d-1f7708083dab.ics HTTP/1.1" => "401 Unauthorized" (error=Must authenticate to access the
> specified target)
> May 27 16:29:21 mail https[62829]: firewall.tcworks.com [64.250.34.52] with "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9
> ; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PUT /dav/calendars/user/lambert%40lambertfam.org/Persona
> lTest1//519e2314-26ef-1f41-82e7-db9ee6107057.ics HTTP/1.1" => "401 Unauthorized" (error=Must authenticate to access the
> specified target)
> May 27 16:29:52 mail https[62829]: login: firewall.tcworks.com [64.250.34.52] lambert at lambertfam.org Basic+TLS User logg
> ed in SESSIONID=<mail.lambertfam.org-62829-1432762119-1-17472878376602236874>
> May 27 16:29:52 mail https[62829]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (Ma
> cintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PUT /dav/calendars/user/lamb
> ert%40lambertfam.org/PersonalTest1//519e2314-26ef-1f41-82e7-db9ee6107057.ics HTTP/1.1" => "403 Forbidden"
> May 27 16:29:52 mail https[62829]: login: firewall.tcworks.com [64.250.34.52] lambert at lambertfam.org Basic+TLS User logg
> ed in SESSIONID=<mail.lambertfam.org-62829-1432762119-1-17472878376602236874>
> May 27 16:29:52 mail https[62829]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (Ma
> cintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PROPFIND /dav/calendars/user
> /lambert%40lambertfam.org/PersonalTest1// HTTP/1.1" (depth=0) => "404 Not Found" (error=The requested URL was not found
> on this server.)
> May 27 16:30:06 mail https[62829]: login: firewall.tcworks.com [64.250.34.52] lambert at lambertfam.org Basic+TLS User log$ed in SESSIONID=<mail.lambertfam.org-62829-1432762119-1-17472878376602236874>
> May 27 16:30:06 mail https[62829]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (M$cintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PUT /dav/calendars/user/lam$ert%40lambertfam.org/PersonalTest1//8c4a72c8-0e7c-cb40-851d-1f7708083dab.ics HTTP/1.1" => "403 Forbidden"
> May 27 16:30:07 mail https[62829]: login: firewall.tcworks.com [64.250.34.52] lambert at lambertfam.org Basic+TLS User log$ed in SESSIONID=<mail.lambertfam.org-62829-1432762119-1-17472878376602236874>
> May 27 16:30:07 mail https[62829]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (M$cintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PUT /dav/calendars/user/lam$ert%40lambertfam.org/PersonalTest1//519e2314-26ef-1f41-82e7-db9ee6107057.ics HTTP/1.1" => "403 Forbidden"
> May 27 16:30:07 mail https[62829]: login: firewall.tcworks.com [64.250.34.52] lambert at lambertfam.org Basic+TLS User log$ed in SESSIONID=<mail.lambertfam.org-62829-1432762119-1-17472878376602236874>
> May 27 16:30:07 mail https[62829]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (M$cintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PROPFIND /dav/calendars/use$/lambert%40lambertfam.org/PersonalTest1// HTTP/1.1" (depth=0) => "404 Not Found" (error=The requested URL was not found on this server.)
> May 27 16:35:07 mail https[62829]: idle for too long, closing connection
> May 27 16:35:07 mail https[62829]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org"; "" => "408 Request $imeout" (error=idle for too long)
>
> localhost> lam *user/lambert/#*
> user/lambert/#addressbooks at lambertfam.org:
>    lambert at lambertfam.org lrswipkxtecda
>    cyrus lrswipkxtecda
> user/lambert/#addressbooks/Default at lambertfam.org:
>    lambert at lambertfam.org lrswipkxtecda
>    cyrus lrswipkxtecda
> user/lambert/#calendars at lambertfam.org:
>    lambert at lambertfam.org lrswipkxtecda
>    cyrus lrswipkxtecdan
> user/lambert/#calendars/Default at lambertfam.org:
>    lambert at lambertfam.org lrswipkxtecda
>    cyrus lrswipkxtecdan
> user/lambert/#calendars/Inbox at lambertfam.org:
>    lambert at lambertfam.org lrswipkxtecda
>    cyrus lrswipkxtecdan
> user/lambert/#calendars/Outbox at lambertfam.org:
>    lambert at lambertfam.org lrswipkxtecda
>    cyrus lrswipkxtecdan
> user/lambert/#calendars/PersonalTest1 at lambertfam.org:
>    lambert at lambertfam.org lrswipkxtecda
>    cyrus lrswipkxtecdan
>
> Deleting the Lightning config for the PersonalTest1 calendar and creating a config for the Default calendar gives:
>
> May 27 16:46:17 mail https[63007]: inittls: Loading hard-coded DH parameters
> May 27 16:46:17 mail https[63007]: starttls: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits new) no authentication
> May 27 16:46:17 mail https[63007]: firewall.tcworks.com [64.250.34.52] with "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PROPFIND /dav/calendars/user/lambert%40lambertfam.org/Default/ HTTP/1.1" (depth=0) => "401 Unauthorized" (error=Must authenticate to access the specified target)
> May 27 16:46:17 mail https[63007]: login: firewall.tcworks.com [64.250.34.52] lambert at lambertfam.org Basic+TLS User logged in SESSIONID=<mail.lambertfam.org-63007-1432763177-1-1783792774292991607>
> May 27 16:46:17 mail https[63007]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PROPFIND /dav/calendars/user/lambert%40lambertfam.org/Default/ HTTP/1.1" (type=prop; depth=0) => "207 Multi-Status"
> May 27 16:46:17 mail https[63007]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "OPTIONS /dav/calendars/user/lambert%40lambertfam.org/ HTTP/1.1" => "200 OK"
> May 27 16:46:17 mail https[63007]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PROPFIND /dav/principals/user/lambert%40lambertfam.org/ HTTP/1.1" (type=prop; depth=0) => "207 Multi-Status"
> May 27 16:46:17 mail https[63007]: login: firewall.tcworks.com [64.250.34.52] lambert at lambertfam.org Basic+TLS User logged in SESSIONID=<mail.lambertfam.org-63007-1432763177-1-1783792774292991607>
> May 27 16:46:17 mail https[63007]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "REPORT /dav/calendars/user/lambert%40lambertfam.org/Default/ HTTP/1.1" (type=sync-collection; depth=1) => "207 Multi-Status"
> May 27 16:46:54 mail https[63007]: login: firewall.tcworks.com [64.250.34.52] lambert at lambertfam.org Basic+TLS User logged in SESSIONID=<mail.lambertfam.org-63007-1432763177-1-1783792774292991607>
> May 27 16:46:55 mail https[63007]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "PUT /dav/calendars/user/lambert%40lambertfam.org/Default/1b472054-06d7-8e42-b0ae-a7d12fa79a12.ics HTTP/1.1" => "201 Created"
> May 27 16:46:55 mail https[63007]: login: firewall.tcworks.com [64.250.34.52] lambert at lambertfam.org Basic+TLS User logged in SESSIONID=<mail.lambertfam.org-63007-1432763177-1-1783792774292991607>
> May 27 16:46:55 mail https[63007]: firewall.tcworks.com [64.250.34.52] as "lambert at lambertfam.org" with "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 Lightning/3.3.2"; "REPORT /dav/calendars/user/lambert%40lambertfam.org/Default/ HTTP/1.1" (type=calendar-multiget; depth=1) => "404 Not Found" (error=The requested URL was not found on this server.)
>
> Maybe I've hosed things up by manually creating folders.  Can I just
> use cyradm to remove everything in #calendars?  Should I take out the
> #calendars folder itself?
>
> I would just do it, but don't want to mess up the process if it's the wrong action.
>
>
>> On Wed, May 27, 2015, at 05:18 PM, Scott Lambert wrote:
>>> I suspect I have a problem which is purely local to my machine.
>>> Probably user/admin error.  I have fought it in my spare time the past
>>> several days.  At this point, I would really appreciate some help to get
>>> this figured out.
>>>
>>> I've upgraded my personal system from 2.4.17 to 2.5.3.  I actually
>>> installed 2.5.2 the day before 2.5.3 was released and had, apparently,
>>> the same issue with 2.5.2.
>>>
>>> FreeBSD 10.1-STABLE (mid-February).  Cyrus is running inside a FreeBSD
>>> jail.  The jail only has a private IP and is NATed in from the public by
>>> the firewall.  List of installed packages below the .sig, just in case.
>>>
>>> I rebuilt/reinstalled the cyrus-* packages and postfix last night just
>>> to make sure they were consistent with the other libraries.
>>>
>>> I'm trying to learn how to use the caldav services in
>>> iCal on my MacBook.  I've configured iCal according to
>>> http://cyrusimap.org/docs/cyrus-imapd/2.5.3/install-http.php
>>> (hopefully), but I don't seem to get very far.
>>>
>>> IMAPd and POP3 seem to be working perfectly.
>>>
>>> I've added to imapd.conf:
>>> caldav_allowscheduling: yes
>>> httpmodules: caldav carddav domainkey ischedule rss
>>> and changed the autocreate options.
>>>
>>> I've added to cyrus.conf in the SERVICES section:
>>>    https         cmd="httpd -s" listen="8443" prefork=1
>>>
>>> iCal throws this error when I try to create new calendar on the server:
>>>
>>> "Calendar encountered a critical error while saving to the database, and
>>> recent changes may be lost.  More information may be available in the
>>> console."
>>>
>>> console shows:
>>>
>>> 5/27/15 12:00:15.628 AM CalendarAgent[284]: [com.apple.calendar.store.log.caldav.queue] [Got error on refresh, but not rectifying principal because it was manually configured: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo=0x7ff03dd65160 {NSUnderlyingError=0x7ff03b6a0220 "The network connection was lost.", NSErrorFailingURLStringKey=https://lambert%40lambertfam.org@mail.lambertfam.org:8443/dav/calendars/user/, NSErrorFailingURLKey=https://lambert%40lambertfam.org@mail.lambertfam.org:8443/dav/calendars/user/, NSLocalizedDescription=The network connection was lost.}]
>>> 5/27/15 12:00:15.632 AM CalendarAgent[284]: [com.apple.calendar.store.log.caldav.queue] [Account refresh failed with error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo=0x7ff03dbb81e0 {NSUnderlyingError=0x7ff03b6a0220 "The network connection was lost.", NSErrorFailingURLStringKey=https://lambert%40lambertfam.org@mail.lambertfam.org:8443/dav/calendars/user/, NSErrorFailingURLKey=https://lambert%40lambertfam.org@mail.lambertfam.org:8443/dav/calendars/user/, AccountName=lambertfam.org at https://mail.lambertfam.org:8443/, CalDAVErrFromRefresh=YES, NSLocalizedDescription=The network connection was lost.}]
>>>
>>> at the same time, in the imap.log, I see:
>>>
>>> May 27 00:00:15 mail https[20778]: inittls: Loading hard-coded DH parameters
>>> May 27 00:00:15 mail https[20778]: starttls: TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits new) no authentication
>>> May 27 00:00:15 mail master[19572]: process type:SERVICE name:https path:/usr/local/cyrus/bin/httpd age:0.165s pid:20778 signaled to death by signal 8 (Floating point exception)
>>>
>>> I suspect my issue is whatever is causing the FPE in https.
>>>
>>> running truss on the httpd ends in :
>>> ...
>>> sigaction(SIGALRM,{ 0x804a54d80 SA_RESTART|SA_SIGINFO ss_t },{ 0x804a54d80 SA_RESETHAND|SA_SIGINFO ss_t }) = 0 (0x0)^M
>>> sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)^M
>>> open("/imap/cd1/msg/shutdown",O_RDONLY,0666)     ERR#2 'No such file or directory'^M
>>> sigprocmask(SIG_BLOCK,SIGINT|SIGQUIT|SIGALRM|SIGTERM|SIGCHLD,0x0) = 0 (0x0)^M
>>> pselect(0x1,0x7fffffff8ee0,0x0,0x0,0x7fffffff8e38,0x7fffffff8e18) = 1 (0x1)^M
>>> sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)^M
>>> sigprocmask(SIG_BLOCK,SIGINT|SIGQUIT|SIGALRM|SIGTERM|SIGCHLD,0x0) = 0 (0x0)^M
>>> pselect(0x1,0x7fffffff9ef0,0x0,0x0,0x7fffffff9e88,0x7fffffff9e68) = 1 (0x1)^M
>>> sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)^M
>>> read(0,"\^W\^C\^C\^A\M^@",5)                     = 5 (0x5)^M
>>> read(0,"`^\M-Y\M^Z_{\M-,\M-5\M-u\M-%AK"...,384)  = 384 (0x180)^M
>>> setitimer(0,{0.000000, 0.000000 },{0.000000, 0.000000 }) = 0 (0x0)^M
>>> issetugid(0x804dbe490,0x80500e098,0x1,0x0,0x80602f0a8,0x8080808080808080) = 0 (0x0)^M
>>> open("/usr/share/zoneinfo/UTC",O_RDONLY,00)      = 10 (0xa)^M
>>> fstat(10,{ mode=-r--r--r-- ,inode=267701,size=118,blksize=4096 }) = 0 (0x0)^M
>>> read(10,"TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0"...,41448) = 118 (0x76)^M
>>> close(10)                                        = 0 (0x0)^M
>>> issetugid(0x804dbe494,0x8064ed000,0x0,0xffffffd0,0x0,0x0) = 0 (0x0)^M
>>> open("/usr/share/zoneinfo/posixrules",O_RDONLY,00) = 10 (0xa)^M
>>> fstat(10,{ mode=-r--r--r-- ,inode=267649,size=3519,blksize=4096 }) = 0 (0x0)^M
>>> read(10,"TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0"...,41448) = 3519 (0xdbf)^M
>>> close(10)                                        = 0 (0x0)^M
>>> openat(0xffffff9c,0x802018977,0x0,0x0,0x2,0x8064dc010) = 10 (0xa)^M
>>> read(10,"\M-I\^T\M^Z\^Ocq",6)                    = 6 (0x6)^M
>>> close(10)                                        = 0 (0x0)^M
>>> getrusage(0,{ u=0.072776,s=0.081873,in=0,out=8 }) = 0 (0x0)^M
>>> SIGNAL 8 (SIGFPE)^M
>>> process exit, rval = 0^M
>>>
>>> I got a corefile.  The truss and the core were different instances, IIRC:
>>>
>>> -rw-------   1 cyrus  cyrus  458752 May 27 00:00 httpd.00.core
>>>
>>> gdb says:
>>> Core was generated by `httpd'.
>>> Program terminated with signal 8, Arithmetic exception.
>>> Cannot access memory at address 0x8008747d0
>>> #0  0x0000000806a0f664 in ?? ()
>>>
>>> The binary is stripped.  I may have to rebuild the port and keep the
>>> unstripped binary to get further info.
>>>
>>> I don't know what to do to troubleshoot this further.
>>>
>>>
>>> -- 
>>> Scott Lambert                    KC5MLE                       Unix SysAdmin
>>> lambert at lambertfam.org
>>>
>>> arc-5.21p                      Create & extract files from DOS .ARC files
>>> arj-3.10.22_4                  Open source implementation of the ARJ archiver
>>> autoconf-2.69                  Automatically configure source code on many Un*x platforms
>>> autoconf-wrapper-20131203      Wrapper script for GNU autoconf
>>> bash-4.3.33                    The GNU Project's Bourne Again SHell
>>> bison-2.7.1,1                  Parser generator from FSF, (mostly) compatible with Yacc
>>> ca_root_nss-3.19               Root certificate bundle from the Mozilla Project
>>> clamav-0.98.7                  Command line virus scanner written entirely in C
>>> cmake-3.1.3                    Cross-platform Makefile generator
>>> cmake-modules-3.1.3            Modules and Templates for CMake
>>> curl-7.42.1                    Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
>>> cvs-1.20120905_3               Version control system
>>> cyrus-imapd25-2.5.3            The cyrus mail server, supporting POP3 and IMAP4 protocols
>>> cyrus-sasl-2.1.26_9            RFC 2222 SASL (Simple Authentication and Security Layer)
>>> db48-4.8.30.0_2                The Berkeley DB package, revision 4.8
>>> db5-5.3.28_2                   The Oracle Berkeley DB, revision 5.3
>>> dialog4ports-0.1.5_2           Console Interface to configure ports
>>> expat-2.1.0_2                  XML 1.0 parser written in C
>>> gettext-0.19.4                 GNU gettext meta package
>>> gettext-runtime-0.19.4         GNU gettext runtime libraries and programs
>>> gettext-tools-0.19.4           GNU gettext development and translation tools
>>> gmake-4.1_2                    GNU version of 'make' utility
>>> gmake-lite-4.1_1               Minimalist version of gnu make
>>> help2man-1.43.3_1              Automatically generating simple manual pages from program output
>>> indexinfo-0.2.3                Utility to regenerate the GNU info page index
>>> jansson-2.7                    C library for encoding, decoding, and manipulating JSON data
>>> lha-1.14i_6                    Archive files using LZSS and Huffman compression (.lzh files)
>>> libffi-3.2.1                   Foreign Function Interface
>>> libical-1.0.1                  Implementation of the IETF Calendaring and Scheduling protocols
>>> libiconv-1.14_8                Character set conversion library
>>> libltdl-2.4.6                  System independent dlopen wrapper
>>> libspf2-1.2.10_2               Sender Rewriting Scheme 2 C Implementation
>>> libtool-2.4.6                  Generic shared library support script
>>> libxml2-2.9.2_2                XML parser library for GNOME
>>> m4-1.4.17_1,1                  GNU m4
>>> majordomo-1.94.5_8             A mailing list manager
>>> mysql55-client-5.5.43          Multithreaded SQL database (client)
>>> p5-Bit-Vector-7.4              Library of advanced math functions that includes a Perl OO module
>>> p5-Carp-Clan-6.04_1            Report errors from perspective of caller of a "clan" of modules
>>> p5-Date-Calc-6.4               Gregorian calendar date calculations
>>> p5-Locale-gettext-1.05_4       Message handling functions
>>> pcre-8.37                      Perl Compatible Regular Expressions library
>>> perl5.16-5.16.3_21             Practical Extraction and Report Language
>>> pflogsumm-1.1.5,1              Postfix Log Entry Summarizer
>>> pkg-1.5.2                      Package manager
>>> pkgconf-0.9.11                 Utility to help to configure compiler and linker flags
>>> portmaster-3.17.7              Manage your ports without external databases or languages
>>> postfix-2.11.5,1               Secure alternative to widely-used Sendmail
>>> py27-Babel-1.3_2               Collection of tools for internationalizing Python applications
>>> py27-Jinja2-2.7.3              Fast and easy to use stand-alone template engine
>>> py27-MarkupSafe-0.23           Implements a XML/HTML/XHTML Markup safe string for Python
>>> py27-docutils-0.12             Python Documentation Utilities
>>> py27-pygments-2.0.2            Syntax highlighter written in Python
>>> py27-pytz-2014.10,1            World Timezone Definitions for Python
>>> py27-setuptools27-5.5.1_1      Python packages installer
>>> py27-sphinx-1.2.3              Python documentation generator
>>> python27-2.7.9_1               Interpreted object-oriented programming language
>>> sqlite3-3.8.10.1               SQL database engine in a C library
>>> sudo-1.8.13                    Allow others to run commands as root
>>> unzoo-4.4_2                    ZOO archive extractor
>>> ----
>>> Cyrus Home Page: http://www.cyrusimap.org/
>>> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
>>> To Unsubscribe:
>>> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
>>
>> -- 
>>    Bron Gondwana
>>    brong at fastmail.fm
>> ----
>> Cyrus Home Page: http://www.cyrusimap.org/
>> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
>> To Unsubscribe:
>> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus


-- 
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University



More information about the Info-cyrus mailing list