Search | Directories | Reference Tools
UW Home > Discover UW > IT Connect > Pine Information Center > FAQs 
| Search Pine Information Center

Pine Bugs

3.1 Bug Policy

When a bug is identified in an old release of Pine, there is a very strong possibility that the associated code has been re-written to the point that a fix will not apply to the current release. Hence, if we can't reproduce the problem in the current version, our standard response will be to ask you to upgrade.

Documentation of past Bugs and when they were fixed can be found on the Pine Release Chronology & Version Changes Web page.

3.2 Why does Pine hang when I read a certain message? When I look at the message, I see that it has a Content-Location header.

It has recently been discovered that c-client's IMAP client parser does not properly handle BODYSTRUCTURE extension data that is in the form of a literal. Unfortunately, this creates a compatibility problem with some newer IMAP servers which generate this extension data (including the latest UW imapd in imap-2002!).

The fix is to change file c-client/imap4r1.c, line:

     net_getbuffer (LOCAL->netstream,j = max (i,(long) IMAPTMPLEN - 1),
to become:
      net_getbuffer (LOCAL->netstream,j = min (i,(long) IMAPTMPLEN - 1),

That is, change the "max" to a "min". After making this change, rebuild c-client and/or Pine. Make sure that imap4r1.c is recompiled.

The bug is that instead of reading the desired extension data, it reads IMAPTMPLEN-1 bytes (generally a much larger number) beyond the extension data, thus losing synchronization with subsequent data. The user either sees a proliferation of error messages, or the IMAP session seems to get stuck in a read timeout.

This fix is for all versions of c-client up to and including the one in imap-2002 RC2; this also means *ALL* versions of Pine up to and including Pine 4.44. The fix is in imap-2002 RC3 and is in Pine beginning with version 4.50