Release Notes: fetchmail-4.6.7 (): * Gerald Britton's patches to enable Hesiod support. * Postmaster option fix from Bill Metzenthen . * Socks library support forom Guiseppe Guerini. * Notification mail is now sent to the user on 20 consecutive timeouts. There are 248 people on fetchmail-friends and 306 on fetchmail-announce. fetchmail-4.6.6 (Sat Nov 7 17:27:04 EST 1998): * Fixed a core-dump bug in reply_hack with -v -v on. * Fix fetchmailconf to be able to edit properties. * Send calling user mail when password authentication fails in daemon mode. * Added plugin/plugout features from Felix von Leitner. * Dave Bodenstab's errno fix. * You can make fetchmail read its config from stdin with the option `-f -'. * Experimental, UNTESTED support of LSMTP (RFC2033). There are 249 people on fetchmail-friends and 304 on fetchmail-announce. fetchmail-4.6.5 (Wed Oct 28 18:28:01 EST 1998): * Fixed a bug in reply_hack that could occasionally cause malloc smashes. * Added --bsmtp option to dump mail as a BSMTP batch. There are 247 people on fetchmail-friends and 306 on fetchmail-announce. fetchmail-4.6.4 (Tue Oct 27 09:07:58 EST 1998): * Code cleanup fixes by Jonathan T. Agnew . * Fix to fetchmailconf to not output empty properties. * Better instrumentation for the rewrite code -- hopefully this will enable us to nail Sam Steingold's bug. * Fixed bug in %T expansion. There are 245 people on fetchmail-friends and 304 on fetchmail-announce. fetchmail-4.6.3 (Tue Oct 20 12:37:25 EDT 1998): * Introduced `debug' verbosity, invocable by -v -v. * Make authentication failures more visible by syslogging them. * fetchmailconf now has access to information about which fetchmail compile-time options have been enabled, and uses it to control the choices in various panels. * Added `properties' option for extension scripts. * gcc -Wall cleanup * Removed ad-hoc rewrite of Return-Path introduced in 4.6.1. This was redundant with what reply_hack already does. There are 249 people on fetchmail-friends and 294 on fetchmail-announce. fetchmail-4.6.2 (Fri Oct 16 12:49:30 EDT 1998): * Time out server open requests like we do reads. This protects against buggy TCP/IP configurations that hang forever on a bad open. * The '--limit' option can now be used with daemon mode. The user is notified that some messages are being skipped on the mail server; the user get notified by email that mentions all the messages being skipped (including their size). A -w/--warnings per-user option specifies at what intervals size warnings are sent to the user (default = 3600 sec). * Added FAQ item M7 on diagnosing failures to extract envelope addresses from sendmail trace headers. * Added Andrea Sterbini's init script for Red Hat to the contrib directory. There are 252 people on fetchmail-friends and 295 on fetchmail-announce. fetchmail-4.6.1 (Wed Oct 14 18:46:58 EDT 1998): * Fixed a minor memory leak in the IP-address-comparison code. * Mark Staveley's patch to suppress progress dots from non-detached daemon fetchmails. * Removed -pipe compilation option, it confuses too many non-GCC compilers. * Major update of SDPS FAQ material from B.Candler@pobox.com. * Fetchmailconf can deal with zsh now. * Append "@localhost" to MAIL FROM if it's not an FQDN. * Fix minor bug in processing postconnect option. * Corrected contrib/fetchspool script as suggested by William Boughton. There are 257 people on fetchmail-friends and 296 on fetchmail-announce. fetchmail-4.6.0 (Fri Sep 18 13:17:17 EDT 1998): * Added Bill Adams's mailqueue.pl to the contrib directory. * Try to enable KPOP initialization to work even if `no dns' is on. This is a "gold" version. It will be carried on the fetchmail home page in addition to the current leading-edge one, until the next gold version. There are 250 people on fetchmail-friends and 281 on fetchmail-announce. fetchmail-4.5.8 (Tue Sep 8 12:06:26 EDT 1998): * Prevent fetchmailconf from adding an additional layer of quotes on preconnect/postconnect/smtpaddress options. * Fix a --configdump bug affecting multidrop configurations. There are 252 people on fetchmail-friends and 278 on fetchmail-announce. fetchmail-4.5.7 (Thu Aug 27 17:10:46 EDT 1998): * Fixed SDPS support (thanks to Chris Brooks). * One more fix for the snakebit postmaster option. * Compute FQDN from localhost when we're using Kerberos. There are 249 people on fetchmail-friends and 273 on fetchmail-announce. fetchmail-4.5.6 (Tue Aug 25 00:29:44 EDT 1998): * SDPS support, experimental version 2. Requires configure --enable-SDPS. * Major FAQ update. Added geocities warning. * Fixed --configdump so embedded single and double quotes are handled. * Fetchmailconf 1.3: fixed bug that prevented deletion of first items in lists. * Fixed the `set postmaster' option to work correctly, grrr... * Fix for Debian bug #25997, handling of >Received lines. There are 253 people on fetchmail-friends and 272 on fetchmail-announce. fetchmail-4.5.5 (Mon Aug 3 16:08:14 EDT 1998): * Brendan Cully's FAQ entry on GSSAPI. * Andrew Cagney's improvement to Received-line parsing. * Kent Robotti sent an updated version of fetchsetup. * Fixed the spam-block code that I broke in 4.5.3 :-(. * Updated the entry on setting up sendmail spam blocks. * Added setrlimit call to inhibit core dumps unless debugging is on. * The default of smtplist has been changed; the undocumented feature that it always included the fetchmail host's FQDN is gone (this is now true for ETRN mode only). * Modes other than ETRN no longer need to know the fetchmail host's FQDN. This eliminates a gethostbyname() call and makes fetchmail more independent of local DNS configuration quirks. * Added experimental SDPS code for demon.co.uk users. There are 256 people on fetchmail-friends and 256 on fetchmail-announce. fetchmail-4.5.4 (Sat Jul 25 10:25:14 EDT 1998): * Fixed processing of --antispam option. * Antispam default value is now the list [571, 550, 501] corresponding to the sendmail, old exim, and new exim spam-block responses. * Fetchmailconf 1.2 has been fixed to handle list values of antispam. There are 262 people on fetchmail-friends and 252 on fetchmail-announce. fetchmail-4.5.3 (Mon Jul 20 15:02:08 EDT 1998): * Minor fixes to the GSSAPI code. Seems to work with stock UW IMAP now. * Fetchmail running as root now sends misaddressed multidrop mail to `postmaster', not root. Added `postmaster' option to allow override. * DNS names of target servers are now canonicalized only once, at start of run, and then only if they'll actually be needed later for multidrop checking or fetching Kerberos tickets. This change eliminates many gethostbyname calls. * It's now possible to specify multiple spam-block responses as a list. * Download-progress dots are no longer generated when syslog is enabled. * 1.1 version of fetchmailconf. Note: the DNS-usage change might conceivably break your configuration if (a) you're using `no dns' and multidrop and (b) you're not specifying either a `via' option or pollname that is the host's canonical name. The thing to watch for will be an illegal domain name error from your listener. If this happens, just add a `via' option with the cononical FQDN of the host as argument. There are 267 people on fetchmail-friends and 249 on fetchmail-announce. fetchmail-4.5.2 (Tue Jul 14 19:02:52 EDT 1998): * German-language internationalization in the RPM, thanks to Jochen Hayek. * .fetchmailrc files are now permitted to be executable by user and group. * Eric Daniel's guard code against very long lines. * Added --nosyslog option. There are 270 people on fetchmail-friends and 245 on fetchmail-announce. fetchmail-4.5.1 (Wed Jul 1 19:27:56 EDT 1998): * Checkalias option from Enrico Musio . * Discard Unix From_ lines in headers (copes with Debian bug report #23808). * Tell fetchmailconf not to care if the attempt to create an icon window fails. * All fetchmailconf windows now iconify with an image. * obituary@freshmeat's enhancements to hook fetchmail into the Red Hat control panel. * Even if RPA is enabled, it won't be done unless your remotename ends in `@compuserve.com' as CompuServe requires. Thus CompuServe users may now choose ordinary authentication at runtime. There are 275 people on fetchmail-friends and 238 on fetchmail-announce. ------------------------------------------------------------------------------ fetchmail-4.5.0bis (Sat Jun 20 10:55:52 EDT 1998): One-line fix for an embarrassing bug in the `gold' version; command-line options were being ignored when there was no .fetchmailrc. There are 281 people on fetchmail-friends and 229 on fetchmail-announce. fetchmail-4.5.0 (Tue Jun 16 01:56:24 EDT 1998): This is a "gold" version. It will be carried on the fetchmail home page in addition to the current leading-edge one, until the next gold version. * 1.0 version of fetchmailconf. * Jochen Hayek's changes to make RPA less verbose. * Harry McGavran's fix for subdirectory installation. * Marty Lee fixed a bug in activation of hosts named on the command-line. * The fetchall option forces RETR again. We can cope with USA.NET now. * Gunther Leber's patch to make fetchmail -V less chatty when mode is ETRN. * Gunther Leber's code to sanitize %T and %F expansion in the MDA string. * Jonathan Marten's fix for list option handling. There are 281 people on fetchmail-friends and 228 on fetchmail-announce. fetchmail-4.4.9 (Thu Jun 4 10:41:02 EDT 1998): * 0.93 beta version of fetchmailconf (now with autoprobing for servers!). * Merging of command-line arguments has now been fixed (I think!). * Make fetchmail 64-bit clean (thanks to John Franklin ). * Fix man-page installation (thanks to Kevin Hawkins ). * Should build on SunOS again (__STDC__ conditions changed to STDC_HEADERS). * CompuServe RPA and idfile fixes from Rich Beerman . * Hajimu UMEMOTO patched the address-rewrite logic to deal with addresses of the form "John Smith (foo) " better. * POP3 TOP argument reduced to 99999999, the most CompuServe will accept. * Brendan Cully's fixes for the GSS code. There are 279 people on fetchmail-friends and 217 on fetchmail-announce. fetchmail-4.4.8 (Tue May 26 12:30:58 EDT 1998): * Added 0.90 beta version of fetchmailconf. * Removed fetchall side-effect kluge, now that we know how to make TOP work with qpopper 2.3+. * Patch by Kok Seng to prevent loss of UID info when a query fails. * Pascal Grudler sent a fix for the idfile option. * Several fixes for command-line processing from Gunther Leber: - in fetchmail.c * set tmpbuf to NULL after freeing the buffer (so this will hopefully cause a coredump, when tmpbuf is used somewhere else) * when makeing sure we have a nonempty host list to forward to, I added "localhost" for non ETRN protocols. This should relieve the situation for people, who do neither have a static ip-address (hostname) assigned and don't bother to set up a dummy-interface for their hostname. I think this feature was already in fetchmail in an older version. We lost this, when we changed the code that it would work with ETRN. My fix here works for both ETRN and non ETRN. - in options.c * changed char buf[...] to *buf + xmalloc to avoid buffer overuns and possible resulting (and annoying) coredumps * in parsecmdline(): replaced atoi by xatoi which uses strtol and better validity checks for input numbers. This fix only works on ANSI-C systems; old systems still use atoi. - fixed reversed dumping of mimedecode option There are 272 people on fetchmail-friends and 214 on fetchmail-announce. fetchmail-4.4.7 (Sat May 23 08:26:58 EDT 1998): * FEATURE FREEZE IS NOW IN EFFECT! No new features until after 4.5.0. * Better workaround for TOP bounds-checking in qpopper 2.3+. * Several fixes for option-parsing and elsewhere by Gunther Leber. * George Colouris's second try at NetBSD autoconfiguration. * Bruce Mah's fix for core dump in command-line host specification. * Missing `idfile' declaration added to .fetchmailrc processing. * Mimedecode default turned off pending a fix for the PGP-signature- munging bug. There are 270 people on fetchmail-friends and 216 on fetchmail-announce. fetchmail-4.4.6 (Sat May 16 14:16:49 EDT 1998): * Fix a bug introduced by my 4.4.5 bug-fix release :-( * Make the internal line buffer eight times longer to cope with idiot DOS-world editors. * Back out NetBSD configure.in change, it broke all other Kerberos installs. * Fixed qmail dup problem, thanks to Chris Bond's smoking-gun -v transcript. There are 270 people on fetchmail-friends and 212 on fetchmail-announce. fetchmail-4.4.5 (Wed May 13 21:37:02 EDT 1998): * Make RPA logging use error() rather than stderr. * Autoconfiguration support for NetBSD. * Henrik Storner's fix for a minor mimedecode bug. There are 271 people on fetchmail-friends and 209 on fetchmail-announce. fetchmail-4.4.4 (Wed May 6 10:08:15 EDT 1998): * Francois Wautier's fix for qvirtual. * Willem Hengeveld's fix for UID initialization. * Strip out qvirtual prefix *before* doing name mapping or localdomain check. There are 270 people on fetchmail-friends and 199 on fetchmail-announce. fetchmail-4.4.3 (Sun Apr 19 18:22:00 EDT 1998): * Back out one of the changes to the null Return-Path handling, as it caused invalid rewrites leading to protocol sync errors under some configurations. * Add code to disable using TOP for pop3.c when fetchall is on. Recent versions of qpopper don't bounds-check TOP requests properly. There are 277 people on fetchmail-friends and 186 on fetchmail-announce. fetchmail-4.4.2 (Sun Apr 19 00:13:42 EDT 1998): * Use TOP for POP3 retrieval to avoid marking messages seen. Duh! * Another fix for command-line --smtphost option. * Deal with "Return-Path: <>" more gracefully. * Re-enable build on some random Solaris (memmove wasn't in the C library). * Comparison of UIDs is no longer caseblind. * Fix patch for unmime from Henrik Storner to correct "Content-Type:" header. There are 277 people on fetchmail-friends and 185 on fetchmail-announce. fetchmail-4.4.1 (Tue Mar 24 00:01:20 EST 1998): * We now properly shroud IMAP passwords containing ", \, and SP. * Checked for Y2K safety. No 2-digit dates anywhere, so we're safe. * Added mimedecode option by Henrik Storner. * Display a total byte count in the fetchmail status message. * Fixed a strange core-dump bug that manifested when using -f and --smtphunt. There are 279 people on fetchmail-friends and 165 on fetchmail-announce. ------------------------------------------------------------------------------ fetchmail-4.4.0 (Mon Mar 16 14:57:38 EST 1998): * Fix bug that prevented graceful exit from POP3 validation on wrong password. * Dominique Unruh's patch that copes gracefully with bodiless messages. * Fix timer-leak problem with the SIGALRM fix, pointed out by Dave Bodenstab. * Deal with more M$ Exchange braindamage (violating an RFC1939 limit). * Allow spaces in IMAP usernames (thank Juerg Wanner ). * Handle empty Return-Path (thank Dmitry Yaitskov ). * Improvements in UID handling; should be a cleaner fix for Dick van den Burg. * Remove the LOGIN capability check for IMAPrev1 servers; Cyrus chokes on it. There are 273 people on fetchmail-friends and 160 on fetchmail-announce. fetchmail-4.3.9 (Fri Mar 6 10:45:32 EST 1998): * Relax the LOGIN capability check in IMAP. * John Stracke sent a workaround for SIGALRM flakiness under glibc6 over Linux. * Kerberos V support from Jon Dugan and Von Welch . * Ron Kaminsky sent a patch to RFC1730-encode passwords sent to IMAP servers. This allows them to contain doublequotes and backslashes. * Made the antispam response configurable. * UID-handling fix from Dick van den Burg , There are 275 people on fetchmail-friends and 153 on fetchmail-announce. fetchmail-4.3.8 (Tue Feb 24 15:47:13 EST 1998): * Documentation cleanup. * -S is back to setting smtphost all the time; net-security option is now -T. * net-security option is now per-server, with a `netsec' keyword. * Handle "account" token in .netrc. * Fix IMAP4rev1 detection. * Added /-suffix capabil
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
 <title>TRIO</title>
 <link href="trio.css" rel="stylesheet" type="text/css">
</head>
<body>
<!-- Generated by Doxygen 1.2.12 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; </center>
<hr><h1>Special Quantifies.</h1>Functions to detect and fabricate special quantities in floating-point numbers. 
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>double&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a1">trio_nzero</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Generate negative zero.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>double&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a2">trio_pinf</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Generate positive infinity.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>double&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a3">trio_ninf</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Generate negative infinity.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>double&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a4">trio_nan</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Generate NaN.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a5">trio_isnan</a> (double number)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Check for NaN.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a6">trio_isinf</a> (double number)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Check for infinity.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a7">trio_isfinite</a> (double number)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Check for finity.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a9">trio_signbit</a> (double number)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Examine the sign of a number.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a10">trio_fpclassify</a> (double number)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Examine the class of a number.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Functions to detect and fabricate special quantities in floating-point numbers.
<p>
<b>SYNOPSIS</b>
<p>
<div class="fragment"><pre>
cc ... -ltrio -lm

#include &lt;trionan.h&gt;
</pre></div>
<p>
<b>DESCRIPTION</b>
<p>
Certain arithmetical operations does not result in normal numbers. Instead they result in special quantities that must be handled differently by the floating-point hardware. These includes Infinity and Not-A-Number (NaN).
<p>
For example, 0/0 (zero divided by zero) yields NaN. Any operation which involves a NaN will result in NaN. Any comparison involving NaN will be unsuccessful, even if NaN is compared to NaN.
<p>
These special quantities are represented with special bit patterns by the floating-point hardware, and this bit patterns depend on the hardware. There may even be hardware that does not support special quantities, so the functions in this module are not guaranteed to work on all platforms.
<p>
The approach used in this module is to (in decreasing order of importance) <ul>
<li> Use C99 functionality when available. <li> Use IEEE 754-1985 bit patterns if possible. <li> Use platform-specific techniques.</ul>
<b>NOTES</b>
<p>
This module does not depend on the rest of trio, and can thus be reused separately. The following files are necessary: <ul>
<li> <code>triodef.h</code> <li> <code>trionan.h</code> <li> <code>trionan.c</code> </ul>
<hr><h2>Function Documentation</h2>
<a name="a10" doxytag="trionan.c::trio_fpclassify"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int trio_fpclassify </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">double&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>number</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Examine the class of a number.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>number</em>&nbsp;</td><td>
An arbitrary floating-point number. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
Enumerable value indicating the class of <code>number</code> </dl>    </td>
  </tr>
</table>
<a name="a7" doxytag="trionan.c::trio_isfinite"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int trio_isfinite </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">double&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>number</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Check for finity.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>number</em>&nbsp;</td><td>
An arbitrary floating-point number. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
Boolean value indicating whether or not the number is a finite. </dl>    </td>
  </tr>
</table>
<a name="a6" doxytag="trionan.c::trio_isinf"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int trio_isinf </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">double&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>number</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Check for infinity.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>number</em>&nbsp;</td><td>
An arbitrary floating-point number. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </