<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="/topics-files/atom2xhtml.xsl" type="text/xsl"?>
<!-- This is a 512 byte XML comment that one must put into XML Atom feeds
such that browsers like Firefox 2.0 and IE7 will obey the XSL stylesheet.
Everybody hates overbearing browsers.
This is a 512 byte XML comment that one must put into XML Atom feeds
such that browsers like Firefox 2.0 and IE7 will obey the XSL stylesheet.
Everybody hates overbearing browsers.
This is a 512 byte XML comment that one must put into XML Atom feeds
such that browsers like Firefox 2.0 and IE7 will obey the XSL stylesheet.
Everybody hates overbearing browsers.
This is a 512 byte XML comment that one must put into XML Atom feeds
such that browsers like Firefox 2.0 and IE7 will obey the XSL stylesheet.
Everybody hates overbearing browsers.
This is a 512 byte XML comment that one must put into XML Atom feeds
such that browsers like Firefox 2.0 and IE7 will obey the XSL stylesheet.
Everybody hates overbearing browsers.
This is a 512 byte XML comment that one must put into XML Atom feeds
such that browsers like Firefox 2.0 and IE7 will obey the XSL stylesheet.
Everybody hates overbearing browsers. -->
<feed xmlns="http://www.w3.org/2005/Atom"
><title
>Blog@Case Topics: messaging</title
><link rel="self" href="http://blog.case.edu/topics/messaging"
 /><id
>http://blog.case.edu/topics/messaging</id
><category term="messaging" label="messaging"
 /><link rel="related" href="http://blog.case.edu/topics/open%20source" title="open source"
 /><link rel="related" href="http://blog.case.edu/topics/open%20source%20tools" title="open source tools"
 /><link rel="related" href="http://blog.case.edu/topics/technology" title="technology"
 /><link rel="related" href="http://blog.case.edu/topics/web%20applications" title="web applications"
 /><link rel="related" href="http://blog.case.edu/topics/voip" title="voip"
 /><link rel="related" href="http://blog.case.edu/topics/google%20apps" title="google apps"
 /><contributor
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></contributor
><updated
>2008-01-04T19:45:14Z</updated
><entry
><title
>Case IM Roster Tool</title
><link href="http://blog.case.edu/sdh7/2008/01/04/case_im_roster_tool"
 /><id
>http://blog.case.edu/sdh7/2008/01/04/case_im_roster_tool</id
><published
>2008-01-04T19:04:48Z</published
><updated
>2008-01-04T19:45:14Z</updated
><category term="Google Apps" label="Google Apps"
 /><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>I've written a little tool to help migrate your Case IM roster to the XMPP server in Case Google Apps. 
<a href="https://its-services.case.edu/rostertool/index.html">Case IM Roster Tool</a>. It takes your Case IM roster (or "buddylist", if you prefer) and displays it as a comma separated list of Jabber IDs (with the "@im.case.edu"s replaced by "@case.edu" for Google Apps. You can then copy-and-paste that list into the "Add Contacts" window in Google Apps Gmail. Unfortunately, there's no super-smooth way to get at the roster data short of reverse-engineering the database. So for now, it's based on a dump of all the roster data I made on November 28th. I'll probably update that next week (it's a time consuming process, because the export actually checks against every user in LDAP). Also note that Case IM and Google Apps can interoperate with each other - Google Apps has the necessary SRV records to do federated XMPP. It could get confusing to figure out who's using which, though.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>Case IM  now supports Google Talk</title
><link href="http://blog.case.edu/sdh7/2007/09/10/case_im_now_supports_google_talk"
 /><id
>http://blog.case.edu/sdh7/2007/09/10/case_im_now_supports_google_talk</id
><published
>2007-09-10T22:47:40Z</published
><updated
>2007-09-10T23:26:53Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>I upgraded the Openfire IM Gateway plugin today. The biggest new feature in the upgrade is support for using 
<a href="http://www.google.com/talk/">Google Talk</a> via the Gateway. We've supported connections to 
<a href="http://code.google.com/apis/talk/open_communications.html">Google Talk via XMPP federation</a> for a while, but now if you want to chat with your Google Talk buddies using your Google account, but within Spark, you can now! You'll need to download Spark 2.5.6 to support this - it's not on the Software Center yet, but you can 
<a href="http://im.case.edu/clients.html">download the Case-skinned version here</a>. There are also some other new gateway features (support for SIP/SIMPLE, other XMPP servers, hooking into an IRC server for MUC channels), but we don't have any plans to use them yet.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>Case IM is now Twitter compatible</title
><link href="http://blog.case.edu/sdh7/2007/08/20/case_im_is_now_twitter_compatible"
 /><id
>http://blog.case.edu/sdh7/2007/08/20/case_im_is_now_twitter_compatible</id
><published
>2007-08-20T23:31:01Z</published
><updated
>2007-08-20T23:58:01Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>When I first tried out 
<a href="http://www.twitter.com">Twitter</a>, I was eager to try out the IM integration it offered with our IM server. But then I found out that it didn't work. You could add twitter@twitter.com to your roster, but it would stay in a sort of "pending" state, so you couldn't send it the claim code. My guess was that their XMPP server seemed to be requiring SRV records of us, which is only really required if your XMPP domain name doesn't match the server's DNS. Since im.case.edu is both our XMPP domain and our DNS name, it should have worked. I sent a bug report to Twitter about it, quoting the pertinent bits of 
<a href="http://www.ietf.org/rfc/rfc3920.txt">RFC 3920</a>. Today, I was notified that this was fixed in their updates last week, so you can all update your Twitter status via your Case IM account, if you're into that sort of thing.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>prettier presence embedding</title
><link href="http://blog.case.edu/sdh7/2007/08/17/prettier_presence_embedding"
 /><id
>http://blog.case.edu/sdh7/2007/08/17/prettier_presence_embedding</id
><published
>2007-08-17T16:31:06Z</published
><updated
>2007-08-17T16:59:07Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>Being able to embed your IM presence in a web page 
<a href="http://blog.case.edu/sdh7/2006/12/20/im_presence_service_is_up_and_running">has been available for a while</a>, and it works just fine as it is. However, embedding the text with the &lt;OBJECT&gt; tag is kind of clumsy and never really looked nice in the sidebar of my 
<a href="http://blog.case.edu/sdh7/">blog's index page</a>. So I improved upon this with some JavaScript magic (and a little back-end Perl): 
<code>&lt;script language="JavaScript" type="text/javascript" src="http://im.case.edu/api/presence.cgi?jid=NetworkID"&gt;&lt;/script&gt;</code> Replace NetworkID with your Network ID. You'll still have to add yourself to your Case IM buddy list for this to work.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>Case IM Avatars!</title
><link href="http://blog.case.edu/sdh7/2007/08/06/case_im_avatars"
 /><id
>http://blog.case.edu/sdh7/2007/08/06/case_im_avatars</id
><published
>2007-08-06T22:40:21Z</published
><updated
>2007-08-06T22:51:51Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>Ever try to add an avatar to your Case IM profile, but got an error that you didn't have permission to do so? That's fixed now. I installed 
<a href="http://www.eyecraft.ch/">Hannes W&#195;&#188;thrich</a>'s 
<a href="http://www.eyecraft.ch/coding/ldapvcardavatar/">LDAP VCard Avatar</a> plug-in for Openfire. What this does is allow the avatar to be stored in the Openfire database, but all the rest of the user's information is still pulled from the LDAP server. So, you can have avatars now. Go to it!</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>Potential Windows Spark Issue</title
><link href="http://blog.case.edu/sdh7/2007/07/27/potential_windows_spark_issue"
 /><id
>http://blog.case.edu/sdh7/2007/07/27/potential_windows_spark_issue</id
><published
>2007-07-27T20:24:47Z</published
><updated
>2007-07-27T20:40:44Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>Some 
<a href="http://wiki.case.edu/Wildfire_IM/Spark">Spark</a> users (mostly on Windows Vista, but some on Windows XP as well) have reported seeing incorrect timestamps on their IMs. This appears to be an issue in the Java Runtime Environment that Spark ships with. We've come up with a workaround that seems to help:
<ul>
<li>download 
<a href="http://im.case.edu/Spark.vmoptions">Spark.vmoptions</a>.</li>
<li>copy/move it to the directory containing Spark.exe (on my installation of Windows XP, it's in C:\Program Files\spark)</li>
<li>Restart Spark</li>
</ul>The Spark.vmoptions file hard-codes the time zone used by the JRE to EST. If you're in another time zone, you'll need to edit the Spark.vmoptions file and set it to the appropriate time zone. The Mac OS X version of Spark is unaffected by this issue, since it uses the OS's JRE to run. It's unclear if the Linux version is affected.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>SparkWeb is now available</title
><link href="http://blog.case.edu/sdh7/2007/07/26/sparkweb_is_now_available"
 /><id
>http://blog.case.edu/sdh7/2007/07/26/sparkweb_is_now_available</id
><published
>2007-07-26T19:58:43Z</published
><updated
>2007-07-26T20:21:10Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>As I mentioned 
<a href="http://blog.case.edu/sdh7/2007/07/20/im_updates_are_coming">before</a>, a web-based IM client is part of the newer versions of Wildfire/Openfire Enterprise. It's now deployed and available at 
<a href="http://im.case.edu">im.case.edu</a>.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>IM upgrades relatively complete</title
><link href="http://blog.case.edu/sdh7/2007/07/26/im_upgrades_relatively_complete"
 /><id
>http://blog.case.edu/sdh7/2007/07/26/im_upgrades_relatively_complete</id
><published
>2007-07-26T10:05:50Z</published
><updated
>2007-07-26T10:12:06Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>The upgrades I mentioned in my 
<a href="http://blog.case.edu/sdh7/2007/07/20/im_updates_are_coming">previous post</a> are installed. There may be some post-installation tasks left to do. If you notice anything amiss or any problems, let me know. It took less than the full three hours 
<a href="http://blog.case.edu/its-status/2007/07/24/scheduled_maintenance_im_server_to_be_upgraded">I alloted myself</a>, too.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>IM updates are coming!</title
><link href="http://blog.case.edu/sdh7/2007/07/20/im_updates_are_coming"
 /><id
>http://blog.case.edu/sdh7/2007/07/20/im_updates_are_coming</id
><published
>2007-07-20T15:06:46Z</published
><updated
>2007-07-20T21:40:16Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>OK, the 
<a href="http://blog.case.edu/sdh7/2007/02/19/i_guess_imcaseedu_is_in_production">long awaited</a> upgrade to the 
<a href="http://wiki.case.edu/Wildfire_IM">Case IM server</a> is coming! It should happen some time next week - probably Thursday morning.
<ul>
<li style="list-style: none">New Features:</li>
<li>A web-based IM client (may not be available immediately, but should be shortly after the upgrade)</li>
<li>Voice Chat (using Jingle)</li>
<li>Many bugfixes and improvements</li>
</ul>Also, the latest version of Spark is going to be in the Software Center soon. There may be some more "surprise" features as well, but they'll require some post-upgrade testing and configuration.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>I guess im.case.edu is in production...</title
><link href="http://blog.case.edu/sdh7/2007/02/19/i_guess_imcaseedu_is_in_production"
 /><id
>http://blog.case.edu/sdh7/2007/02/19/i_guess_imcaseedu_is_in_production</id
><published
>2007-02-19T20:40:26Z</published
><updated
>2007-02-19T20:57:23Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>...since it made today's 
<a href="http://blog.case.edu/casedaily/2007/02/19/case_daily">Case Daily</a>. We also topped out at 116 simultaneous users today. We'll probably start looking into upgrading to the latest version of Wildfire soon - that way we'll have a web client, and be in position for the upcoming 
<a href="http://www.xmpp.org/extensions/xep-0166.html">Jingle</a>-enabled version of Spark coming soon. I'm also starting to play with the 
<a href="http://www.jivesoftware.com/products/wildfire/features/customerchat.jsp">Fastpath</a> feature. On my 
<a href="http://blog.case.edu/sdh7">index page</a>, there's now a click-to-chat button, which uses Fastpath. We won't be able to do this for individuals (too much manual setup), but groups interested in having this kind of functionality can contact im-admin@case.edu for more information.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>IM update</title
><link href="http://blog.case.edu/sdh7/2007/02/02/im_update"
 /><id
>http://blog.case.edu/sdh7/2007/02/02/im_update</id
><published
>2007-02-02T22:14:46Z</published
><updated
>2007-02-02T23:41:29Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>The IM service is now very nearly production ready. Unfortunately, we were unable to set the JIDs to "userID@case.edu". The problem is SSL related (it seems that Entrust wouldn't let us issue a cert for "case.edu".) Instead, all of the JIDs are of the form "userID@im.case.edu". We also now have Case-branded versions of Jive's Spark client - you can get them right now at the rather sparse 
<a href="im.case.edu">im.case.edu</a>, and they'll be available in the Software Center soon. As a result of this, the "messenger.case.edu" moniker is now deprecated in favor of "im.case.edu". You can still connect to the server using the hostname messenger.case.edu, but all the JIDs are @im.case.edu, and there's no way to do JID aliasing that I know of, though that is a good idea...) This shouldn't affect most people unless they've been doing server-to-server connections already.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>The Latest on the Case IM System</title
><link href="http://blog.case.edu/sdh7/2007/01/30/the_latest_on_the_case_im_system"
 /><id
>http://blog.case.edu/sdh7/2007/01/30/the_latest_on_the_case_im_system</id
><published
>2007-01-30T18:18:12Z</published
><updated
>2007-01-30T19:41:46Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>1. Oracle Messenger has been officially retired. This actually happened a few weeks ago, but I didn't get around to announcing it until now due to vacation, etc. 2. Because of (1), we've now got the Wildfire server listening for SSL connections on the correct SSL XMPP port (i.e. 5223). If you're using a client that needs to use the old SSL port, adjust accordingly. We're also working on getting a real SSL certificate installed, which should stop iChat from giving errors upon making SSL connections. 3. The "change-the-JIDs" move I keep talking about is going to happen. This may also be combined with some other changes that will improve reliability. Stay tuned for details. 4. We have now purchased the Enterprise version of Wildfire. Because of this, we will be soon distributing a customized version of Spark. 5. I'm also starting to look at the 
<a href="http://www.jivesoftware.com/products/fastpath/">FastPath</a> functionality in the Enterprise Server. This will allow specially-defined workgroups to do "click-to-chat". I've already got one group interested in this, which partially came out of a conversation I had during my vacation(!).</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>Case IM Beta update</title
><link href="http://blog.case.edu/sdh7/2006/12/18/case_im_beta_update"
 /><id
>http://blog.case.edu/sdh7/2006/12/18/case_im_beta_update</id
><published
>2006-12-18T18:34:43Z</published
><updated
>2006-12-18T19:27:06Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>We're making good progress with the 
<a href="http://blog.case.edu/sdh7/2006/12/11/wildfire_im_public_beta">IM beta</a> so far. Here are some notes on the current status of the service: 1. SRV records - Hopefully, we'll soon have SRV records in DNS. This will improve server-to-server traffic, as there are some Jabber servers(supposedly this includes GTalk(?)) that are known to not try s2s to servers that don't publish XMPP SRV records. 2. Domain name - Right now, the JIDs issued to users are of the form "NetworkID@messenger.case.edu" - I'm wondering if changing it to "NetworkID@case.edu" would be better? This would require a little bit of work - as then the SRV record would move from being a nice addition to being required, and any instances of "messenger.case.edu" in the database would have to be changed. 3. Web Services - At some point, we'll hopefully be making a web-based IM "presence" service available. This would allow users to embed an image or text on a web page (such as a 
<a href="http://blog.case.edu">blog</a> indicating their current IM status. 4. Web-based IM - I'm still thinking about deploying some kind of web client for the service. The most likely choice is currently 
<a href="http://claros.org">Claros Chat</a>. I'd love to know if there are any good alternatives out there. One other thing that I haven't mentioned before - the IM server is available to Alumni and anyone else with a valid Network ID, 
<a href="http://blog.case.edu/sdh7/2006/12/11/wildfire_im_public_beta">so check it out</a>.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>Wildfire IM public beta</title
><link href="http://blog.case.edu/sdh7/2006/12/11/wildfire_im_public_beta"
 /><id
>http://blog.case.edu/sdh7/2006/12/11/wildfire_im_public_beta</id
><published
>2006-12-11T20:28:40Z</published
><updated
>2006-12-15T17:38:59Z</updated
><category term="Messaging" label="Messaging"
 /><category term="Open Source Tools" label="Open Source Tools"
 /><category term="open source" label="open source"
 /><category term="technology" label="technology"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>In my 
<a href="http://blog.case.edu/sdh7/2006/12/08/wildfire_and_spark_im">last post</a> I mentioned that we're looking for users to try out our test deployment of the 
<a href="http://www.igniterealtime.org">Wildfire</a> IM server. Well, now I'm going to make the details public. You can point your Jabber client to messenger.case.edu, port 5222 
<strike>(yeah, it's a nonstandard XMPP port... When this goes to production, it'll be the normal 5222)</strike>. If you don't have a Jabbber client, you can try Jive's open-source 
<a href="http://www.igniterealtime.org/downloads/index.jsp#spark">Spark</a>. If for some reason your client can't do TLS, you can do the "old style" SSL encryption on port 5223. Server-to-Server XMPP is enabled, so you should be able to IM Google Talk and other Jabber users. We've also got the IM gateway plugin enabled, which will allow you to connect to AIM, Yahoo, MSN, ICQ, and IRC to some extent from your Jabber client. 
<strong>update</strong>: All the connection details in this post are now correct, since the port move happened on Wednesday.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>anatomy of a mail server crash</title
><link href="http://blog.case.edu/sdh7/2006/02/17/anatomy_of_a_mail_server_crash"
 /><id
>http://blog.case.edu/sdh7/2006/02/17/anatomy_of_a_mail_server_crash</id
><published
>2006-02-17T21:51:36Z</published
><updated
>2006-02-17T23:56:22Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>ok, so the mail server crashed twice today. Want to know why? We knew that the initial cause was the IMAP server dumping core. We may have even had an inkling as to what may have caused it. Here's a little bit of the output of a pstack on the core file: 
<code>----------------- lwp# 12 / thread# 16 -------------------- ff129394 txn_abort (0, f30a14d8, f30a14c0, ff12e164, 0, 0) + 4 00085fbc mboxlist_trans_finish (0, 16, f30a14d8, f30a14c0, 0, d) + 24 00091f94 mboxlist_maybeRecoverSubsFromFile (1e25994, 2f, 0, 0, 0, 2f) + 68c 0008ebdc mboxlist_findsub (1799550, 1, 0, 1e25994, 1c7b538, 625b0) + 6c 00053bb0 cmd_list (1e25920, 1e2f0b8, 1, 11995d8, 1799550, 0) + 288 00047d90 cmdloop (1e25920, 708, 2000, 2710, 0, 0) + 3058 000434d8 sock_readable (1e25920, 0, 7c2b48, 0, 0, 0) + 580 ff1860bc GDispCx_Dispatch (221204, faa47c, 7bed4c, fffffff8, 0, 6d47c1) + ec ff1864b8 GDispCx_InternalWork (7bed4c, ff186188, fee6c000, c, 7c2b48, 0) + 330 ff0b2ad0 _pt_root (7c2b48, ff0cc24c, 0, fee78d04, 0, 2) + a4 fee5b03c _thread_start (7c2b48, 0, 0, 0, 0, 0) + 40</code> So something weird was going on and causing the IMAP server to crash, which then left something locked in the store daemon (the process that actually touches the mail, whether via POP, IMAP, webmail, or SMTP), which then caused further problems. After the second crash under similar unusual circumstances, I went digging into the IMAP log files, hoping that something would turn up. Something did: 
<code>[17/Feb/2006:16:08:16 -0500] northuist imapd[33856]: Account Information: login [x] uid proxyauth [17/Feb/2006:16:08:16 -0500] northuist imapd[33856]: Store Critical: Mailbox database error: missing or empty key value specified</code> Well, that's interesting. Let's see if that error turned up in the earlier crash: 
<code>17/Feb/2006:14:05:59 -0500] northuist imapd[31550]: Account Information: login [x] uid proxyauth [17/Feb/2006:14:05:59 -0500] northuist imapd[31550]: Protocol Information: uid created mbox UM-Messages [17/Feb/2006:14:05:59 -0500] northuist imapd[31550]: Store Critical: Mailbox database error: missing or empty key value specified</code> Note that I've cleverly disguised the user's network ID as "uid" here. But interestingly, both crashes involved this same person's mailbox. It looks like they were being provisioned for Unified Messaging on the earlier crash, and attempting to access voicemail on the second. Time to look at their mailbox! 
<code>northuist%ls =+U+M-+Messages/ store.idx store.sub store.usr</code> Nothing terribly unusual from the initial peek. There's no actual mail in the INBOX (but it turns out they forward their mail, so that makes sense) Let's look at the UM-Messages folder: 
<code>northuist%ls -l total 16 -rw------- 1 mailsrv nobody 7856 Feb 17 16:41 store.idx</code> Very normal looking too. Let's go back and take a 
<em>closer</em> look: 
<code>northuist%ls -l total 526 drwx------ 2 mailsrv nobody 96 Feb 17 16:41 =+U+M-+Messages/ -rw------- 1 mailsrv nobody 7856 Feb 17 16:41 store.idx -rw------- 1 mailsrv nobody 259656 Sep 3 2003 store.sub -rw------- 1 mailsrv nobody 37 Feb 17 15:48 store.usr</code> hmmmmm... That store.sub file looks a little big. It's just supposed to be a list of all the folders you're subscribed to (i.e. your own folders) This user only has one folder, so why is it so big? Let's take a peek: 
<code>northuist%more store.sub /hBOcdctpYVDO46Y W16kL91GMdfKlokIlr+9qDX31vApE+z7ENLl+8pyz4TuZe3YCN2Bbnml9DKtxzImBtBjCiM8SSiF jbJ2c4rGfW+KTC+VtSq+x6vK/qXINxqtfl+58EqPHrEj9SQ9bN7TWh4TiZ7f3pm6C4Vj9lIcG2+q 9z9ErtDxB2F56fBzHb+fsOXhtnNQ00M4ht8Z+PbW7tpiBq3ygXCm0Yg2/CHY/xAvWL9ro247Yu6l jUKZhFeCFl8mZLln2gOdx9bnfirC6zCkbUPnzW82to03ij1Q31EZWjj+P0bQjX5Xy2fo2i1LWAXK CwnxMmqkbMWSG5D3vbrgezE3I7dR7nhB0bo9p6X0h/LodW42MwPsfX3bt1Es93xc9xp1b3jnHqVT</code> That doesn't look good. For comparison, here's an excerpt from my own store.sub file: 
<code>user/sdh7/Sent user/sdh7/Sent Items user/sdh7/Trash user/sdh7/UM-Messages user/sdh7/JunkMail</code> A-ha! A little magic later (i.e. rm'ing the file and re-massaging the mailbox database) and I 
<em>think</em> everything should be happier now. We'll see what happens. 
<strong>Update:</strong> We've finished running a database reconstruct and all still seems well. I did just happen to notice that that bogus file dated from 
<strong>2003</strong>, so these crashes appear to be a holdover from an old crash, rather than a recent corruption. Given that more people are going to be set up for UM soon, we should probably run a check for things like this.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>Unified Messaging and Mail forwarding</title
><link href="http://blog.case.edu/sdh7/2006/02/13/unified_messaging_and_mail_forwarding"
 /><id
>http://blog.case.edu/sdh7/2006/02/13/unified_messaging_and_mail_forwarding</id
><published
>2006-02-13T21:24:18Z</published
><updated
>2006-02-22T18:57:15Z</updated
><category term="Messaging" label="Messaging"
 /><category term="VOIP" label="VOIP"
 /><category term="Web Applications" label="Web Applications"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>So, many users have been converted over to Unified Messaging from the old DirecTalk voicemail system. If you're one of them, you may have noticed some peculiar things about how the system works: 1. You actually get two copies of each voicemail message - one in your INBOX and one in a separate folder called "UM-Messages". This is in order to be useful to the two different camps of users we have on campus (POP users and IMAP/Webmail users), and the two different methods of message access (via e-mail and via telephone, or "TUI"). Since we try to be everything to everyone, we set up what's known as a "System-level 
<a href="http://www.faqs.org/rfcs/rfc3028.html">Sieve</a> filter" that checks each incoming message and does the special delivery if it's a voicemail message. 2. Mail forwarding causes some strange behavior, or does things you don't want it to. When mail is forwarded, the UM-Messages copy doesn't occur, so you don't get to check your mail via the TUI, only through your forwarded mail. We're looking into some more automatic workarounds for #1 for power users (i.e. those who only want one copy of the message or the other, and not both). Stay tuned... To solve #2, Joel Kraft actually went to the trouble figuring out enough to write some of his own 
<a href="http://www.faqs.org/rfcs/rfc3028.html">Sieve</a> templates to add into Delegated Administrator. They did require a couple of minor edits before they were working 100% correctly, but they're in there now. Here's how to use them: 1. Go to 
<a href="https://ims-web.case.edu:8088/nda/default/en/login.htm">Delegated Administrator</a> and log in 2. If you are currently forwarding mail, turn that off, and turn mailbox delivery back on- it sounds counter-intuitive, but trust me on this one. 3. Now go to the "Set Mail Filters" view. (Unfortunately, this tends to render weird in Firefox, but looks fine in IE or Safari). From the menu, select "Forward Everything (Copy Voicemail). Make up a name for the rule, and enter the e-mail address you want to forward to. 4. Click OK, and then save your rules. You're done.</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
><entry
><title
>some more alias migration fun</title
><link href="http://blog.case.edu/sdh7/2005/01/07/some_more_alias_migration_fun"
 /><id
>http://blog.case.edu/sdh7/2005/01/07/some_more_alias_migration_fun</id
><published
>2005-01-07T18:57:56Z</published
><updated
>2005-04-06T22:40:33Z</updated
><category term="Messaging" label="Messaging"
 /><content type="xhtml"
><div xmlns="http://www.w3.org/1999/xhtml"
>For a couple of reasons(speeding up migration time, testing out some enhanced spam control facilities for mailing lists), we migrated another alias from the master alias file to 
<a href="http://www.sympa.org">Sympa</a>. The process was similar to what was done the other day, though this was a "simple" alias, rather than an Admin Alias. The procedure is now down to about six minutes (a couple of which were spent tracking down the appropriate crontab entries to run by hand). For some extra background, here are some of the different kinds of things we have lurking in our master alias file:
<ul>
<li>simple aliases - this is just as it sounds, a run-of-the-mill everyday sendmail alias. 
<i>alias: address</i></li>
<li>Administrative aliases - these are the kinds of aliases you create 
<a href="https://cnswww.cwru.edu/net/easy/postoffice/maillist/forms/mailalias.html">here</a>. At present, when you fill out that form, it actually sends an e-mail to our Network ID office, who then create the alias largely by hand - they enter the names into a text file on our list-server system, and run a script which puts the text file into place, and creates an entry in the master alias file pointing to the file looking a bit like this:
<blockquote>foobar-annc-list: :include:/fs1/mail/lib/foobar-annc-list</blockquote>There may also be some additional aliases which go with these, which have a similar function to majordomo's owner aliases. Admin aliases are good for situations where you want a departmental alias, but don't want to tie it to a specific user via a 
<a href="https://its-services.cwru.edu/mailalias/">Personal Alias</a> They don't have the moderation capabilities of a Majordomo list, and they can only be modified by the Network ID office or Postmaster.</li>
<li>Majordomo lists - These are the lists that you create 
<a href="https://cnswww.cwru.edu/net/easy/postoffice/maillist/forms/maillist.html">here</a>. Similar to admin aliases, submitting that form sends an e-mail to the network ID people, who create the subscriber files and run the script to create the pertinent entries in the master alias file. This creates the list itself (which uses program delivery to call the majordomo process), request, and owner aliases. In general Majordomo lists are pretty flexible, but difficult to manage (since changes to list configuration have to either be done via e-mail or by pestering the Majordomo administrator to do it for you) They've also proven somewhat unwieldy due to changes in the primary e-mail address we use here - mailing lists using a subscriber-post-only policy get really confused by Webmail users whose primary e-mail address has changed. This was made worse by the workaround we attempted to deal with @po.cwru.edu/@cwru.edu addresses a while back.</li>
<li>archive aliases - some internal aliases wanted archiving capabilities - we accomplished this by setting up program delivery to deliver the message to a file.</li>
</ul>Note that Personal Aliases aren't part of this. When they were initially deployed, they were stored in the Master Alias file, but those have now been migrated to LDAP. We eventually plan to migrate most of the aliases listed above to Sympa, though that's probably going to be a somewhat long and drawn out process. I suspect that admin aliases may actually be the hardest, since ownership of the aliases isn't as strongly defined as majordomo lists (most admin aliases are actually "owned" by our Network ID people).</div
></content
><author
><name
>Samuel Harmon</name
><email
>samuel.harmon@case.edu</email
><uri
>http://blog.case.edu/sdh7</uri
></author
></entry
></feed
>