On the Desktop
Linux in the news
All in one big page
See also: last week's Kernel page.
The current kernel release is still 2.4.9. Linus is currently up to 2.4.10-pre8, which includes a note from him that appears to settle the min/max issue for now. Prior to that was 2.4.10-pre7, a relatively large patch which included a great deal of stuff merged in from the "ac" series. Linus has suggested (scroll to the bottom) that, once the merge with Alan is complete, the 2.5 series will begin:
It still sounds very much like a 2.5.x thing (and hopefully I and Alan can merge enough that it's going to be RSN), but if done right it should be trivial to back-port to 2.4.x after testing.
Alan, meanwhile, is not standing still; his latest is 2.4.9-ac10. Among other things, Alan is claiming far better virtual memory performance for his kernels. Users of "ac" kernels, it seems, do not have to put up with the "living out of swap" feeling of the Linus series...
Alan also released 2.2.20pre10. This one includes a fix for 2.2 lockd when talking to HP/UX systems, NFS client fixes and cleanups for 64bit ISDN support.
What, exactly, is a local network address? Wietse Venema, the author of the Postfix mailer, has a bit of a problem on his hands. Postfix has to be able to handle mail addressed to recipients like firstname.lastname@example.org; that involves figuring out whether 220.127.116.11 is a local address or not. This determination, as it turns out, is not as easy as one might think.
The immediate problem is with IP aliasing. Linux has, for a long time, allowed more than one IP address to be assigned to a physical network interface. In more recent kernels, however, it is possible to set up aliases that do not have a separate name (i.e. eth0:0); if you ask the kernel for a list of local interface addresses (using the SIOCGIFCONF ioctl call), these "anonymous" aliases will be returned with an incorrect netmask. This is a relatively simple problem to fix, and Matthias Andree has put out a patch to deal with it.
It turns out, though, that SIOCGIFCONF does not return a complete list of local addresses. For example, 127.0.0.2 is a local address on almost all systems, as is the whole loopback subnet. The use of the advanced policy routing and proxying features in the 2.4 kernel complicates the situation further. The end result is that there is currently, no way to ask the kernel for the full list of local IP addresses. There are ways of finding out whether a specific address is local (the netlink interface), but there is no way of getting a list.
And, even if there were, life would not get easier for mailer authors. It is not unheard of to configure a system with different mailers operating on different IP addresses. So an address which is "local" for the purposes of the kernel should be treated as remote by the mailer. To complicate things even further, a properly configured mailer should look at the source of a message before deciding whether the IP number it is addressed to is local.
In other words, with modern networking stacks, there is no way for the kernel to provide a mailer with a list of "local" IP addresses. The best solution would appear to be to stick with the old SIOCGIFCONF interface, and to have the mailer support a configuration file for systems with more complicated setups. Or, more likely, do nothing; continue to use the old interface, and get local delivery wrong in some rare situations.
Yet another min/max implementation. One would think that the min/max discussion would fade away, and it mostly has. Morten Welinder, however, managed to come up with yet another implementation which uses the old, two-argument interface, avoids side effect problems, and catches comparisons between signed and unsigned values (which was part of the motivation for the original change). It works by using a pointer comparison, which brings about a more specific type comparison at compile time.
Linus proclaimed "we have a winner," and stated his intention to include the patch in 2.4.10-pre5 - though a real solution wasn't posted until -pre8.
Will write USB drivers for food. USB subsystem maintainer Johannes Erdfelt, once of VA Linux Systems, has announced that he will be taking a short break from his duties while he looks for a new job. It seems that, as VA cuts back, it is no longer able to support as many kernel hackers. One hopes that Johannes will find a new position which allows him to continue working with the kernel. Meanwhile, Greg Kroah-Hartman is running the USB show.
Other patches and updates released this week include:
Section Editor: Jonathan Corbet
September 13, 2001