Last September, we compared
SpamAssassin with a new set of spam
filtering systems based on Bayesian
analysis. The Bayesian approach, while seemingly "dumber," looked poised
to depose SpamAssassin's complex set of rules as the most effective
filtering system. Bayesian filters are fast, and they can learn from the
actual mail received by each potential consumer of anatomical enlargements
and Nigerian investment schemes. The combination of speed and adaptibility
looked like a winning pair.
Of course, SpamAssassin has not stood still in the intervening months. The
SpamAssassin team released version 2.50 a couple of weeks ago; this release
is described as a "beta version."
No true Linux
user fears beta-quality software, so we decided to have a look.
The SpamAssassin 2.50 rule
set is more impressive than ever. Several hundred rules detect forged
headers, cellphone pitches, Nigerian scams, mortgage refinance pitches,
mentions of Oprah, porn terms ("various types of feline"), suspicious HTML,
"my wife Jody," 100% guarantees, etc. There is
a growing set of rules aimed at catching spam in languages other than
English. One can only marvel at the noble souls who examine that much spam
closely enough to develop these tests.
As is usually the case with a new SpamAssassin release, the new
rules are far more effective than the previous set - for a while at least.
The normal pattern, though, is that spammers begin to figure out how to
evade the latest rules, and the number of false negatives slowly rises over
time.
The truly significant new feature of version 2.50 may help change that
pattern, however. Included in this release is, of course, a Bayesian
filter. SpamAssassin will now remember the terms it finds in both spam and
"ham," and assign to each a probability that the message containing it is
spam. The Bayesian filter is not actually used to classify mail until a
sizeable body of both good and bad mail has been processed. Once that
threshold has been reached, the Bayesian filter will simply assign points
to a message like any other test.
In 2.50, the scoring is set up so that the Bayesian filter, by itself,
cannot condemn a message as spam. Even if the filter says the probability
of spam is 99%, a maximum of 4.3 points (out of the 5 needed by default)
will be assigned. Still, the Bayesian filter is sufficient to tip the
balance on many spams that would have otherwise been classified as real
mail. We ran a quick test with 5000 messages from the LWN.net inbox;
before training, SpamAssassin flagged 3,935 of them as spam. Afterwards,
it caught 4,139 instead. That's 204 spams we would not have to see, and
that can only be a good thing.
The combination of SpamAssassin's rule base and the Bayesian filter
addresses one of the biggest weaknesses of the Bayesian approach: the
filter must be trained. Everybody gets a unique mix of mail, and, believe
it or not, a unique mix of spam. There is no set of Bayesian rules that
will work for everybody. If you happen to have nicely sorted piles of spam
and real mail sitting around, you can quickly train the SpamAssassin filter
via the sa-learn tool. But most users will simply want the filter
to work without an extra effort on their part.
SpamAssassin's rules can help make that happen. Even without the Bayesian
filter, SpamAssassin can flag most of the spam in a user's mail stream. It
can, thus, train the Bayesian filter by itself; that filter will eventually
start catching spam which sneaks past the regular rules. SpamAssassin has
become a
tool which learns how to do its job better over time. As a result, we are
free to spend out time dealing with more interesting things. It would be
hard to find a better example of useful, user-friendly free software.
Comments (9 posted)
[This article was contributed by Joe 'Zonker'
Brockmeier]
Linux International (LI) has been an
extremely important organization in the growth of Linux. But LI has been
kind of quiet as of late. Its website hasn't been updated in a while,
and the last press release put out by the organization on their home
page is dated March 1, 2002. We caught up with LI president Jon "maddog"
Hall recently and asked him where things stood. He assured us that LI is
still working to promote Linux:
Press releases are not the only indication of life. In the past year I
have addressed over 57 groups with thousands of people (including
hundreds of press) on issues of Linux and Open Source. LI had major
input (for example) into the recent article in Business Week. While the
popular press always puts their own spin on what you say, and while I
did not agree with each point of the article, we got some good
visibility there.
The BusinessWeek articles Hall referred to have generated a lot of discussion for Linux. But they don't reflect LI's influence. Hall says that's the way that he wants it:
It's [LI's influence] there more than you know. It's just that...we
don't put out a lot of press releases and we don't say what we've done.
Part of that is my philosophy...I've been trying to promote Linux and
trying to promote member companies.
He does admit, however, that the modesty can backfire when trying to
justify LI dues to member companies and potential members. Dues for
corporate sponsors are $10,000, and dues for member companies are $2,500
annually. Hall says that it can be difficult to convince companies to
fund LI, even though some can spend much more than that on their
individual marketing efforts.
Another function of LI that doesn't get discussed much is the
stewardship of the Linux trademark. For the most part, that's been spun
off to the Linux Mark Institute
(LMI), a non-profit that controls the Linux trademark and grants use of
the trademark to commercial entities for a fee. Hall says the fee is
necessary to build a "warchest" to deal with legal issues instead of
taking the money from LI's budget. Unless there's a "sticky situation"
with a trademark, says Hall, the process is more or less automatic.
Hall also mentioned that LI/LMI have stepped in when people have tried
to trademark Linux in other countries and attempt to "hold it for
ransom."
Hall did note that LI is undergoing some changes, particularly in terms
of membership. "The industry has changed...used to be lots and lots of
small companies, but the small companies have gone away and Linux has
become not a "Linux-only" product, but a "Linux-also" product." Because
of this, he says, companies like IBM and HP wonder what LI can do for
them when they can afford to put money into Linux advertising that is
branded with their company name instead of promoting Linux alone.
So is LI still relevant, if these companies are putting big bucks into
marketing Linux? Hall says yes, because it can do things that IBM and HP
cannot. For example, Hall mentioned that he wants to focus on providing
materials for Linux User Groups to use to promote Linux. Because LI is
vendor-neutral, Hall says that it will have much more success working
with community groups to promote Linux on behalf of its member companies
than those companies would directly:
We've been very good in doing things that are very difficult for one
company to do. Helping the trademark, helping LPI (Linux Professional
Institute), helping standards...there's an important place for us in the
usergroups. I don't think that IBM would want HP by itself addressing
all the user groups.
Jeremy White, CEO of CodeWeavers and an LI supporter, says that he
believes that LI was and continues to be important. White says that the
case studies on LI's site have been useful for him, and also says that
Hall's role as a Linux promoter is very important. "The most important
thing they do is having Jon fly around and evangelize Linux. That's
important to me. Linux, at least on the desktop, is very much in the
adoption phase...I need the whole market to grow."
Hall says that there is still a lot of work to do in promoting Linux:
As long as people have the questions that I have experienced over the
past several weeks, I have to disagree. While people may know what the
word "Linux" means, they do not understand the market or even what free
software stands for. If you believe that Linux has been sucessfully
"promoted", I submit to you that you are sadly mistaken.
Comments (none posted)
The nasty remotely exploitable vulnerability in sendmail is covered in
this week's Security Page. There is one aspect
of this episode, however, which deserves a separate look: the involvement
of the new U.S. Department of Homeland Security (DHS).
The disclosure of this vulnerability was, it seems, coordinated by the DHS
Information
Analysis & Infrastructure Protection Directorate. This is new:
government agencies have not generally handled the response to
vulnerabilities in the past. Given that the government's security
interests have not always aligned all that well with everybody else's
interests (consider the whole issue of cryptographic code), this
involvement should be watched closely.
On the face of it, the sendmail disclosure was handled reasonably well.
The process took a little while (the vulnerability was first discovered in
December), but the information release went as it should. There were no
early disclosures (which have occasionally been a problem in the past), and
almost everybody was in a position to have an
update available when the disclosure did happen. System administrators who
are paying attention should not get hit when the vulnerability is
(inevitably) exploited.
There is an interesting statement in InfoWorld's
coverage of the disclosure process, however:
When Sendmail patches were ready, the coordinating team managed
their release to the DoD, providing early protection to military
sites on February 25 and 26, four days before the general public
was informed, SANS said. Warnings were more widely issued to
government groups in the U.S. and in other countries on February 27
and 28, including U.S. Cabinet level departments, national cyber
security offices in other countries and Information Sharing and
Analysis Centers (ISACs) for critical infrastructure, SANS said.
In other words, the military got to hear about the problem before anybody
else, and the rest of the government also got a couple of days of lead
time. The DHS put the needs of the government above those of everybody
else, including "critical infrastructure companies."
Things worked out in the sendmail case. As the DHS gets itself
established, however, we should be concerned about how it might handle
vulnerabilities in the future. It does not take a great deal of paranoia
to imagine that disclosure of some problems could be suppressed
altogether. It is also not hard to imagine future regulations
criminalizing the disclosure of vulnerabilities without governmental
approval. After all, that is the sort of thing governments do, and the
current U.S. administration is rather more inclined in that direction than
many.
True information systems security requires disclosure of vulnerabilities.
One can imagine a governmental role in the coordination of that disclosure
to effect a quick and universal availability of patches - though it is far
from clear that this role is truly necessary. But a high level
of vigilance will be required to keep the governmental role from expanding
to where it subverts the disclosure process altogether.
Comments (11 posted)
As promised last week, we have implemented a slight change in the pricing
of subscriptions to LWN. One-time subscriptions (or extensions) of at
least ten months
will now be given a 10% discount. This discount reflects the fact that
longer-term subscriptions cost us less to manage.
Remember that subscriptions are what keeps LWN.net alive; if you have not
yet subscribed, please consider signing up now.
Comments (21 posted)
Page editor: Jonathan Corbet
Security
Brief items
[This article was contributed by Tom Owen]
Internet Security Systems
issued this
sendmail
vulnerability report
by Mark Dowd on March 3rd.
In summary, a legal RFC822 email message with excessive comments in address
headers can
cause
any current version of
sendmail
to overflow a heap memory area.
The LWN
vulnerability entry
has links to patches, and to the
8.12.8 release which
contains the fix.
SANS has set up a
page
with a background information.
Fixes are necessary for
all sendmails which may see mail regardless of
whether they are behind the firewall or without a public address.
Eric Allman, the author of sendmail
has emphasised that
"
Everyone should patch as soon as possible, regardless of
platform."
This overflow has an pair of ugly aggravations:
- Sendmail normally runs full time as root. It needn't,
but that's the way most default sendmail.cf files are written
and this allows a sucessful exploit to take full control of the machine.
- Direct access to port 25 is not needed to exploit the vulnerability.
Even a machine with a private, non-routable IP address can be reached from
the Internet
provided the crafted -- but legal --
email message can be relayed to the ultimate target by other systems.
To be effective, the exploit has to be able to run asynchronously and
phone home out through the firewall before the attacker can take direct
control,
but that should be possible if the target machine is allowed to browse the web,
and of course it's easy for an internal attacker.
This is not the time to join the
argument
about the extent to which sendmail dominates Internet email.
A lot of MX and outbound smart hosts are certainly running sendmail,
but the scale of the problem really hits with machines that are not intended
to be MTAs.
When installing most distributions as a workstation or an application server,
it takes a bit of thought not to install sendmail.
Few admins are certain that there's nothing --
no vital little cron job or script --
that requires a local SMTP server.
With the huge majority of machines on a private subnet or shielded by the
firewall,
it's simpler and it seems safe to install the MTA offered -- usually
sendmail -- just
on the off chance.
Every one of of these machines now needs to be assessed, and its sendmail
patched or removed.
For individual machines, the fix isn't hard.
Most distributions have
patches
out,
and with few dependencies, it's a rather easy package to compile and install
from scratch.
If that's necessary, it's probably simplest to move straight to 8.12.8 rather
than
apply the patches for earlier versions.
Further out, there are deeper questions for users and distributions.
Even if sendmail is still the right solution in 2003, is it right to run it as
root?
Abandoning sendmail is a well-trodden route.
The venerable system is partly a prisoner of the mail nightmare of the early
Internet.
Life is easier now without bang paths and BITNET, and
modern MTAs benefit from simpler or absent rewriting and use of the
least-privilege
concepts that have been taught by earlier security problems.
Qmail and
Postfix both make a fetish of security
while still being easier than sendmail -- in simple cases vastly easier -- to
set up,
and there are
others.
Unfortunately, mail admins who move their mail servers to other MTAs
actually got
little protection if they continued to accept the default MTA on workstations.
Sites in this position need filters now to stop any exploit reaching the
internal network,
and then they need to fix those machines as well.
Example filters
for Exim
and
for
Postfix
will need to be reviewed when actual exploits appear.
And those exploits will certainly appear. A proof of concept exploit has already been
posted, and more unpleasant varieties are certainly under development.
This is the kind of problem that large-scale Internet worms are made of.
If you have not yet applied your patches, now would be a good time to do
it.
Comments (5 posted)
New vulnerabilities
eterm, vte: dangerous interception of escape sequences
| Package(s): | vte, eterm |
CVE #(s): | CAN-2003-0021
CAN-2003-0068
CAN-2003-0070
|
| Created: | March 3, 2003 |
Updated: | April 1, 2003 |
| Description: |
From the
advisory:
"Many of the features supported by popular terminal emulator software
can be abused when un-trusted data is displayed on the screen. The impact
of this abuse can range from annoying screen garbage to a complete system
compromise. All of the issues below are actually documented features,
anyone who takes the time to read over the man pages or source code could
use them to carry out an attack." |
| Alerts: |
|
Comments (none posted)
file - memory allocation problem, stack overflow
| Package(s): | file |
CVE #(s): | CAN-2003-0102
|
| Created: | March 4, 2003 |
Updated: | June 4, 2003 |
| Description: |
Jeff Johnson found a memory allocation problem and David Endler found a
stack overflow corruption problem in the file "Automatic File Content
Type Recognition Tool" version 3.41. Nalin Dahyabhai improved ELF section
and program header handling in file version 3.40. The folks at OpenPKG
believe that file versions without those modifications are vulnerable to
memory allocation and stack overflow problems which put security at risk. |
| Alerts: |
|
Comments (none posted)
mhc - insecure temporary file
| Package(s): | mhc |
CVE #(s): | |
| Created: | February 28, 2003 |
Updated: | March 5, 2003 |
| Description: |
It has been discovered that adb2mhc from the mhc-utils package has a temporary file vulnerability. The
default temporary directory uses a predictable name, allowing a local attacker to overwrite arbitrary
files. |
| Alerts: |
|
Comments (none posted)
sendmail - Remote Buffer Overflow
| Package(s): | sendmail |
CVE #(s): | CAN-2002-1337
|
| Created: | March 3, 2003 |
Updated: | March 10, 2003 |
| Description: |
ISS has turned
up an unpleasant problem with sendmail; by sending a properly crafted
message, an attacker can run arbitrary code as root on a target
system. This is the sort of hole that can lead to all sorts of problems,
including widespread breakins and Internet worms. Everybody who is running
sendmail should upgrade to version 8.12.8 at the first
opportunity. Note that systems behind firewalls need to be fixed too.
See CERT Advisory CA-2003-07 for additional
information. |
| Alerts: |
|
Comments (2 posted)
snort - buffer overflow
| Package(s): | snort |
CVE #(s): | CAN-2003-0033
|
| Created: | March 5, 2003 |
Updated: | April 4, 2003 |
| Description: |
A buffer overflow in the snort intrusion detection system can lead to
remote code execution and/or disabling of intrusion detection. The 1.9.1
release fixes the problem. See this
advisory for more information. |
| Alerts: |
|
Comments (none posted)
squirrelmail - cross-site scripting vulnerability
| Package(s): | squirrelmail |
CVE #(s): | CAN-2002-1276
CAN-2002-1341
|
| Created: | March 5, 2003 |
Updated: | March 5, 2003 |
| Description: |
A new cross-site scripting vulnerability afflicts Squrrelmail 1.2.10 and prior. |
| Alerts: |
|
Comments (none posted)
tcpdump - infinite loop
| Package(s): | tcpdump |
CVE #(s): | CAN-2003-0108
|
| Created: | February 28, 2003 |
Updated: | May 1, 2003 |
| Description: |
Andrew Griffiths and iDEFENSE Labs discovered a problem in tcpdump, a
powerful tool for network monitoring and data acquisition. An
attacker is able to send a specially crafted network packet which
causes tcpdump to enter an infinite loop.
In addition to the above problem the tcpdump developers discovered a
potential infinite loop when parsing malformed BGP packets. They also
discovered a buffer overflow that can be exploited with certain
malformed NFS packets. |
| Alerts: |
|
Comments (none posted)
Updated vulnerabilities
apcupsd - remote root vulnerability and buffer overflows
| Package(s): | apcupsd |
CVE #(s): | CAN-2003-0098
CAN-2003-0099
|
| Created: | February 24, 2003 |
Updated: | April 3, 2003 |
| Description: |
From the MandrakeSoft
advisory:
A remote root vulnerability in slave setups and some buffer overflows in
the network information server code were discovered by the apcupsd
developers. They have been fixed in the latest unstable version, 3.10.5
which contains additional enhancements like USB support, and the latest
stable version, 3.8.6.
There are a few changes that need to be noted, such as the port has changed
from port 7000 to post 3551 for NIS, and the new config only allows access
from the localhost. Users may need to modify their configuration files
appropriately, depending upon their configuration. |
| Alerts: |
|
Comments (none posted)
Heap corruption vulnerability in at
| Package(s): | at at, sudo, xchat |
CVE #(s): | CAN-2002-0004
|
| Created: | May 21, 2002 |
Updated: | May 15, 2003 |
| Description: |
The at command has a
potentially exploitable heap corruption bug.
(First LWN report: January 17th).
|
| Alerts: |
|
Comments (none posted)
BIND8: Multiple vulnerabilities
Comments (1 posted)
bind buffer overflow vulnerability in DNS resolver libraries
| Package(s): | bind glibc |
CVE #(s): | CAN-2002-0651
CAN-2002-0684
|
| Created: | July 8, 2002 |
Updated: | October 1, 2003 |
| Description: |
The BIND 4.9.8-OW2 patch and BIND 4.9.9 release (and thus 4.9.9-OW1)
include fixes for a libc related vulnerability which does not
affect Linux. Updates from
the Internet Software Consortium (ISC)
are available from here.
No release or branch of Openwall GNU/*/Linux (Owl) is known to be
affected, due to Olaf Kirch's fixes for this problem getting into the
GNU C library more than two years ago.
Unfortunatly that does not mean that Linux systems are not vulnerable.
Similar code, without Olaf Firch's fixes,
is in the glibc getnetbyXXX functions.
These functions are described in the SuSE alert as
"
used by very few applications only, such as ifconfig and ifuser,
which makes exploits less likely."
CERT Advisory: CA-2002-19
Buffer Overflow in Multiple DNS Resolver Libraries
CAN-2002-0651
CAN-2002-0684 |
| Alerts: |
|
Comments (1 posted)
BitchX - denial of service
| Package(s): | BitchX |
CVE #(s): | |
| Created: | February 20, 2003 |
Updated: | May 26, 2003 |
| Description: |
From this Bugtraq posting:
A denial of service vulnerability exists in BitchX. Sending a malformed
RPL_NAMREPLY numeric 353 causes BitchX to segfault. This problem was
reported to panasync@efnet#bitchx on Jan 30 2003, as of this writing we are
unaware of any patches or workarounds provided by panasync and or any
members of #bitchx |
| Alerts: |
|
Comments (none posted)
Canna server: exploitable buffer overrun
| Package(s): | canna |
CVE #(s): | CAN-2002-1158
CAN-2002-1159
|
| Created: | December 10, 2002 |
Updated: | October 1, 2003 |
| Description: |
Canna is a kana-kanji conversion server which is necessary for Japanese
language character input.
A buffer overflow bug in the Canna server up to and including version 3.5b2
allows a local user to gain the privileges of the user 'bin' which could
lead to further exploits. The Common Vulnerabilities and Exposures project
(cve.mitre.org) has assigned the name CAN-2002-1158 to this issue.
A lack of validation of requests has been found that affects Canna version
3.6 and earlier. A malicious remote user could exploit this vulnerability
to leak information, or cause a denial of service attack. (CAN-2002-1159)
See also
http://canna.sourceforge.jp/sec/Canna-2002-01.txt
CAN-2002-1158
CAN-2002-1159 |
| Alerts: |
|
Comments (none posted)
CVS - exploitable double-free bug in the CVS server
| Package(s): | cvs |
CVE #(s): | CAN-2003-0015
|
| Created: | January 20, 2003 |
Updated: | April 7, 2003 |
| Description: |
CVS is a version control system frequently used to manage source code
repositories. During an audit of the CVS sources, Stefan Esser
discovered an exploitable double-free bug in the CVS server.
On servers which are configured to allow anonymous read-only access, this
bug could be used by anonymous users to gain write privileges. Users with
CVS write privileges can then use the Update-prog and Checkin-prog features
to execute arbitrary commands on the server.
All users of CVS are advised to upgrade to erratum packages which contain
patches to correct the double-free bug.
See also this CERT advisory |
| Alerts: |
|
Comments (none posted)
dhcp3 - ignored counter boundary
| Package(s): | dhcp3 |
CVE #(s): | CAN-2003-0039
|
| Created: | January 28, 2003 |
Updated: | April 5, 2003 |
| Description: |
Florian Lohoff discovered a bug in the dhcrelay causing it to send a
continuing packet storm towards the configured DHCP server(s) in case
of a malicious BOOTP packet, such as sent from buggy Cisco switches.
When the dhcp-relay receives a BOOTP request it forwards the request
to the DHCP server using the broadcast MAC address ff:ff:ff:ff:ff:ff
which causes the network interface to reflect the packet back into the
socket. To prevent loops the dhcrelay checks whether the
relay-address is its own, in which case the packet would be dropped.
In combination with a missing upper boundary for the hop counter an
attacker can force the dhcp-relay to send a continuing packet storm
towards the configured dhcp server(s).
This patch introduces a new commandline switch ``-c maxcount'' and
people are advised to start the dhcp-relay with ``dhcrelay -c 10''
or a smaller number, which will only create that many packets.
The dhcrelay program from the ``dhcp'' package does not seem to be
affected since DHCP packets are dropped if they were apparently
relayed already. |
| Alerts: |
|
Comments (none posted)
dvips: command execution vulnerability
| Package(s): | dvips |
CVE #(s): | CAN-2002-0836
|
| Created: | October 16, 2002 |
Updated: | June 10, 2003 |
| Description: |
The dvips utility uses the system() function improperly when managing fonts. An attacker who can craft the right sort of print job can use this vulnerability to execute commands under the UID used by the print system. |
| Alerts: |
|
Comments (none posted)
Filename disclosure vulnerability in fam
| Package(s): | fam |
CVE #(s): | CAN-2002-0875
|
| Created: | August 19, 2002 |
Updated: | January 5, 2005 |
| Description: |
"fam" (file alteration monitor) watches files and directories for changes and lets interested applications know when something happens. This package has a flaw in its group handling that blocks some legitimate operations while, at the same time, exposing the names of files that should otherwise be invisible. |
| Alerts: |
|
Comments (none posted)
fetchmail: buffer overflow
| Package(s): | fetchmail |
CVE #(s): | CAN-2002-1365
|
| Created: | December 17, 2002 |
Updated: | October 20, 2003 |
| Description: |
Versions of fetchmail prior to 6.2.0 have (yet another) buffer overflow vulnerability which can be exploited remotely via a suitably crafted message. See this advisory for details. |
| Alerts: |
|
Comments (3 posted)
GNU fileutils race condition
| Package(s): | fileutils ucdsnmp |
CVE #(s): | CAN-2002-0435
|
| Created: | May 21, 2002 |
Updated: | May 16, 2003 |
| Description: |
A race
condition in rm may cause the root user to delete the whole filesystem.
The problem exists in the version of rm in
fileutils
4.1 stable and 4.1.6 development version. A patch
is available.
(First LWN
report: May 2).
|
| Alerts: |
|
Comments (none posted)
Potential remote root exploit in glibc
| Package(s): | glibc |
CVE #(s): | CAN-2002-0391
|
| Created: | August 14, 2002 |
Updated: | June 30, 2003 |
| Description: |
Felix von Leitner, discovered a
potential division by zero bug in
code derived from the SunRPC library which is used in glibc.This bug could be
exploited to gain unauthorized root access to software linking to glibc.
Updating as soon as practical is a good idea.
Because SunRPC-derived XDR libraries are used by a variety of vendors in a variety of applications, this defect may lead to a number of differing security problems. Exploiting this vulnerability will lead to denial of service, execution of arbitrary code, or the disclosure of sensitive information.
CERT/CC Vulnerability Note VU#192995 Integer
overflow in xdr_array() function when deserializing the XDR stream
|
| Alerts: |
|
Comments (none posted)
glibc: DNS stub resolvers contain buffer overflow vulnerability
| Package(s): | glibc |
CVE #(s): | CAN-2002-1146
|
| Created: | November 7, 2002 |
Updated: | February 5, 2004 |
| Description: |
DNS stub resolvers from multiple vendors contain a buffer overflow
vulnerability. The impact of this vulnerability appears to be limited to
denial of service. (See CERT Vulnerability Note
VU#738331)
The BIND 4 and BIND 8.2.x stub resolver libraries, and other libraries such
as glibc 2.2.5 and earlier, libc, and libresolv, uses the maximum buffer
size instead of the actual size when processing a DNS response, which
causes the stub resolvers to read past the actual boundary ("read buffer
overflow"), allowing remote attackers to cause a denial of service
(crash).
|
| Alerts: |
|
Comments (none posted)
hypermail - buffer overflows
| Package(s): | hypermail |
CVE #(s): | CAN-2003-0057
|
| Created: | February 11, 2003 |
Updated: | February 27, 2003 |
| Description: |
Ulf Harnhammar discovered two problems in hypermail, a program to
create HTML archives of mailing lists.
An attacker could craft a long filename for an attachment that would
overflow two buffers when a certain option for interactive use was
given, opening the possibility to inject arbitrary code. This code
would then be executed under the user id hypermail runs as, mostly as
a local user. Automatic and silent use of hypermail does not seem to
be affected.
The CGI program mail, which is not installed by the Debian package,
does a reverse look-up of the user's IP number and copies the
resulting hostname into a fixed-size buffer. A specially crafted DNS
reply could overflow this buffer, opening the program to an exploit. |
| Alerts: |
|
Comments (none posted)
IM: creates temporary files insecurely
| Package(s): | im |
CVE #(s): | CAN-2002-1395
|
| Created: | December 3, 2002 |
Updated: | March 6, 2003 |
| Description: |
Tatsuya Kinoshita discovered that IM, which contains interface
commands and Perl libraries for E-mail and NetNews, creates temporary
files insecurely.
- The impwagent program creates a temporary directory in an insecure
manner in /tmp using predictable directory names without checking
the return code of mkdir, so it's possible to seize a permission
of the temporary directory by local access as another user.
- The immknmz program creates a temporary file in an insecure manner
in /tmp using a predictable filename, so an attacker with local
access can easily create and overwrite files as another user.
|
| Alerts: |
|
Comments (none posted)
IMP - SQL injection vulnerability
| Package(s): | imp |
CVE #(s): | CAN-2003-0025
|
| Created: | January 15, 2003 |
Updated: | July 8, 2003 |
| Description: |
The IMP IMAP server, versions 2.2.8 and prior, is vulnerable to SQL
injection; see this advisory for details.
Version 3.x is not vulnerable to this problem. |
| Alerts: |
|
Comments (1 posted)
kdelibs: Vulnerabilities in KIO subsystem support
| Package(s): | kdelibs |
CVE #(s): | CAN-2002-1281
CAN-2002-1282
|
| Created: | November 22, 2002 |
Updated: | March 15, 2003 |
| Description: |
Vulnerabilities were discovered in the KIO subsystem support for various
network protocols. The implementation of the rlogin protocol affects all
KDE versions from 2.1 up to 3.0.4, while the flawed implementation of the
telnet protocol only affects KDE 2.x. They allow a carefully crafted URL
in an HTML page, HTML email, or other KIO-enabled application to execute
arbitrary commands as the victim with their privilege.
The KDE team provided a patch for KDE3 which has been applied in these
packages. No patch was provided for KDE2, however the KDE team recommends
disabling both the rlogin and telnet KIO protocols. This can be
accomplished by removing, as root, the following files:
/usr/share/services/telnet.protocol and
/usr/share/services/rlogin.protocol.
If either file also exists in a user's ~/.kde/share/services directory,
they should likewise be removed.
See also:
http://www.kde.org/info/security/advisory-20021111-1.txt |
| Alerts: |
|
Comments (none posted)
kernel-utils: setuid vulnerability
| Package(s): | kernel-utils |
CVE #(s): | CAN-2003-0019
|
| Created: | February 7, 2003 |
Updated: | January 21, 2005 |
| Description: |
The kernel-utils package contains several utilities that can be used to
control the kernel or machine hardware. In Red Hat Linux 8.0 this package
contains user mode linux (UML) utilities.
The uml_net utility in kernel-utils packages with Red Hat Linux 8.0 was
incorrectly shipped setuid root. This could allow local users to control
certain network interfaces, add and remove arp entries and routes, and put
interfaces in and out of promiscuous mode.
All users of the kernel-utils package should update to these packages that
contain a version of uml_net that is not setuid root.
Alternatively, as a work-around to this vulnerability issue the following
command as root:
chmod -s /usr/bin/uml_net |
| Alerts: |
|
Comments (none posted)
libmcrypt: buffer overflows and memory exhaustion
| Package(s): | libmcrypt |
CVE #(s): | CAN-2003-0031
CAN-2003-0032
|
| Created: | January 6, 2003 |
Updated: | February 27, 2003 |
| Description: |
libmcrypt versions prior to 2.5.5 contain a number of buffer overflow
vulnerabilities that stem from improper or lacking input validation. By
passing a longer than expected input to a number of functions (multiple
functions are affected) the user can successful make libmcrypt crash.
Another vulnerability is due to the way libmcrypt loads algorithms via
libtool. When the algorithms are loaded dynamically the each time the
algorithm is loaded a small (few kilobytes) of memory are leaked. In a
persistant enviroment (web server) this could lead to a memory exhaustion
attack that will exhaust all avaliable memory by launching repeated
requests at an application utilizing the mcrypt library. |
| Alerts: |
|
Comments (none posted)
libpng, libpng3: buffer overflow
| Package(s): | libpng, libpng3 |
CVE #(s): | CAN-2002-1363
|
| Created: | December 19, 2002 |
Updated: | July 14, 2004 |
| Description: |
Glenn Randers-Pehrson discovered a problem in connection with 16-bit
samples from libpng, an interface for reading and writing PNG
(Portable Network Graphics) format files. The starting offsets for
the loops are calculated incorrectly which causes a buffer overrun
beyond the beginning of the row buffer. |
| Alerts: |
|
Comments (none posted)
lynx: CRLF injection vulnerability
| Package(s): | lynx |
CVE #(s): | CAN-2002-1405
|
| Created: | November 19, 2002 |
Updated: | October 1, 2003 |
| Description: |
If lynx is given a url with some special characters on the command line, it
will include faked headers in the HTTP query. This feature can be used to
force scripts (that use Lynx for downloading files) to access the wrong
site on a web server with multiple virtual hosts.
CAN-2002-1405 |
| Alerts: |
|
Comments (none posted)
perl-MailTools: remote command execution
| Package(s): | MailTools |
CVE #(s): | CAN-2002-1271
|
| Created: | November 5, 2002 |
Updated: | September 19, 2003 |
| Description: |
The SuSE Security Team reviewed critical Perl modules, including the
Mail::Mailer package. This package contains a security hole which allows
remote attackers to execute arbitrary commands in certain circumstances.
This is due to the usage of mailx as default mailer which allows commands
to be embedded in the mail body.
Note that mail processing programs which use this package can be affected by this vulnerability; in particular, SpamAssassin is vulnerable if you use the -r or -w flags.
|
| Alerts: |
|
Comments (none posted)
micq: Denial of service
| Package(s): | micq |
CVE #(s): | |
| Created: | December 13, 2002 |
Updated: | April 24, 2003 |
| Description: |
Rüdiger Kuhlmann, upstream developer of mICQ, a text based ICQ client,
discovered a problem in mICQ. Receiving certain ICQ message types
that do not contain the required 0xFE seperator causes all versions to
crash. |
| Alerts: |
|
Comments (none posted)
MySQL: multiple vulnerabilities
| Package(s): | mysql |
CVE #(s): | |
| Created: | December 13, 2002 |
Updated: | April 10, 2003 |
| Description: |
The MySQL database server has several buffer overflow and integer bounds checking vulnerabilities which can lead to denial of service attacks, and, possibily, remote code execution. See this e-matters advisory for details. Version 3.23.54 fixes the problems. |
| Alerts: |
|
Comments (none posted)
nethack: buffer overflow
| Package(s): | nethack, slashem, falconseye |
CVE #(s): | CAN-2003-0358
CAN-2003-0359
|
| Created: | February 18, 2003 |
Updated: | July 15, 2003 |
| Description: |
Overflowing a buffer in nethack may lead to privilege escalation to games
uid.
Read the the full advisory for the details.
Note that falconseye does not contain the file permission error
CAN-2003-0359 which affected some other nethack packages. |
| Alerts: |
|
Comments (none posted)
net-snmp: denial of service vulnerability
| Package(s): | net-snmp |
CVE #(s): | CAN-2002-1170
|
| Created: | December 17, 2002 |
Updated: | November 7, 2003 |
| Description: |
The SNMP daemon included in the Net-SNMP package versions 5.0.1 through
5.0.4 can be caused to crash if it is sent a specially crafted packet. |
| Alerts: |
|
Comments (none posted)
OpenSSL: plaintext exposure vulnerability
| Package(s): | openssl |
CVE #(s): | CAN-2003-0078
|
| Created: | February 19, 2003 |
Updated: | March 6, 2003 |
| Description: |
A vulnerability has been found in OpenSSL that, given the right conditions,
could lead to the exposure of transactions in plain text. This problem
looks difficult to exploit (it requires a man-in-the-middle attack, among
other things), but one can't be too sure, so the OpenSSL project has
released versions 0.9.7a (with the fix and some new features) and 0.9.6i
(with fixes only). See the announcement for details. |
| Alerts: |
|
Comments (none posted)
pam_xauth: root exploit
| Package(s): | pam_xauth |
CVE #(s): | CAN-2002-1160
|
| Created: | February 13, 2003 |
Updated: | July 10, 2003 |
| Description: |
The pam_xauth module is used to forward xauth information from user to user
in applications such as 'su'.
Andreas Beck discovered that versions of pam_xauth supplied with Red Hat
Linux since version 7.1 would forward authorization information from the
root account to unprivileged users. This could be used by a local attacker
to gain access to an administrator's X session. In order to exploit this
vulnerability, the attacker would have to get the administrator, as root,
to use su to the account belonging to the attacker. |
| Alerts: |
|
Comments (none posted)
PHP: vulnerability in mail function
| Package(s): | php |
CVE #(s): | CAN-2002-0985
CAN-2002-0986
|
| Created: | November 13, 2002 |
Updated: | October 1, 2003 |
| Description: |
Two vulnerabilities exists in the mail() PHP function. The first one allows
the execution of any program/script bypassing safe_mode restriction, the
second one may give an open-relay script if the mail() function is not
carefully used in PHP scripts. See this Bugtraq
report for more details. Note that this is a different vulnerability than the previous PHP mail() problem, which affected versions through 4.1.0.
CAN-2002-0985
CAN-2002-0986 |
| Alerts: |
|
Comments (none posted)
PostgreSQL - more buffer overflows
| Package(s): | postgresql |
CVE #(s): | |
| Created: | February 12, 2003 |
Updated: | November 7, 2003 |
| Description: |
A new set of buffer overflows has been discovered in PostgreSQL 7.2.2; they affect the circle_poly(), path_encode(), and path_addr() functions. Exploiting these overflows requires that the attacker first obtain a connection to the PostgreSQL server. |
| Alerts: |
|
Comments (1 posted)
Local arbitrary code execution vulnerability in Python
| Package(s): | python |
CVE #(s): | CAN-2002-1119
|
| Created: | August 28, 2002 |
Updated: | October 1, 2003 |
| Description: |
Zack Weinberg discovered that
os._execvpe from os.py uses a predictable name which could lead
to execution of arbitrary code. According to the Debian
advisory, the problem
was present in Python versions 1.5, 2.1 and 2.2.
CAN-2002-1119 |
| Alerts: |
|
Comments (none posted)
Multiple-use vulnerability in Safe.pm
| Package(s): | Safe.pm |
CVE #(s): | CAN-2002-1323
|
| Created: | October 9, 2002 |
Updated: | February 20, 2004 |
| Description: |
usePerl has a
description of a vulnerability in the Safe.pm Perl module. It seems
that if a Safe compartment is used more than once, it ceases to be safe.
The problem is fixed in Safe 2.08. |
| Alerts: |
|
Comments (none posted)
shadow-utils: useradd tool creates mail spools with incorrect permissions
| Package(s): | shadow-utils |
CVE #(s): | CAN-2002-1509
|
| Created: | February 20, 2003 |
Updated: | February 27, 2003 |
| Description: |
The shadow-utils package includes programs for converting UNIX password
files to the shadow password format, plus programs for managing user and
group accounts. One of these programs is useradd, which is used to create
or update new user information.
When creating a user account, the version of useradd included in Red Hat
Linux 7.2, 7.3, and 8.0 creates a mailbox file with incorrectly-set group
ownership. Instead of setting the file's group ownership to the 'mail'
group, it is set to the user's primary group.
On systems where other users share the same primary group, this would allow
those users to be able to read and write other user mailboxes. |
| Alerts: |
|
Comments (none posted)
slocate - buffer overflow
| Package(s): | slocate |
CVE #(s): | CAN-2003-0056
|
| Created: | February 5, 2003 |
Updated: | May 8, 2003 |
| Description: |
version 2.6 (at least) of slocate contains a buffer overflow vulnerability which could lead to a local exploit; see this advisory for the details.
|
| Alerts: |
|
Comments (none posted)
File overwrite vulnerability in tar and unzip
| Package(s): | tar unzip |
CVE #(s): | CAN-2001-1267
CAN-2001-1268
CAN-2001-1269
CAN-2002-0399
|
| Created: | October 1, 2002 |
Updated: | April 10, 2006 |
| Description: |
The tar utility does not properly filter file names containing
"../", meaning that a hostile archive can, if unpacked by an
unsuspecting user, overwrite any file that is writable by that user. GNU
tar versions 1.13.19 and earlier are vulnerable; unzip through version 5.42
has the same vulnerability. |
| Alerts: |
|
Comments (1 posted)
Multiple vendor telnetd vulnerability
| Package(s): | telnet Telnet netkit-telnet-ssl kerberos telnetd netkit-telnet nkitb/nkitserv/telnetd krb5 |
CVE #(s): | |
| Created: | May 21, 2002 |
Updated: | October 5, 2004 |
| Description: |
This vulnerability,
originally thought to be confined to BSD-derived systems, was first covered
in the July 26th Security
Summary. It is now known that Linux telnet daemons are vulnerable as
well.
|
| Alerts: |
|
Comments (none posted)
traceroute-nanog: buffer overflow and root exploit
| Package(s): | traceroute-nanog/nkitb |
CVE #(s): | |
| Created: | November 12, 2002 |
Updated: | February 27, 2003 |
| Description: |
Traceroute is a tool that can be used to track packets in a TCP/IP network
to determine it's route or to find out about not working routers.
Traceroute-nanog requires root privilege to open a raw socket. It does not
relinquish these privileges after doing so. This allows a malicious user to
gain root access by exploiting a buffer overflow at a later point. |
| Alerts: |
|
Comments (none posted)
typespeed: buffer overflow
| Package(s): | typespeed |
CVE #(s): | |
| Created: | January 1, 2003 |
Updated: | June 17, 2003 |
| Description: |
A problem has been discovered in the typespeed, a game that lets you
measure your typematic speed. By overflowing a buffer a local
attacker could execute arbitrary commands under the group id games. |
| Alerts: |
|
Comments (none posted)
usermin - unauthorized access
| Package(s): | usermin, webmin |
CVE #(s): | |
| Created: | February 24, 2003 |
Updated: | February 27, 2003 |
| Description: |
- From announcement:
"Due to a remotely exploitable security hole being discovered that
effects all previous Webmin releases, version 1.070 is now available
for download from http://www.webmin.com/ and mirror sites. This
problem was reported by Cintia M. Imanishi, but fortunately there
have been no known malicious exploits of it yet. However, all users
should upgrade to 1.070 as soon as possible."
"Also available is Usermin 1.000 which fixes the exact same security
hole. It includes the same File Manager features, as well as support
for IMAP folders and an IMAP inbox in the Read Mail module."
Read this alert for the details. |
| Alerts: |
|
Comments (none posted)
vim - modeline vulnerability
| Package(s): | vim |
CVE #(s): | CAN-2002-1377
|
| Created: | January 16, 2003 |
Updated: | February 10, 2004 |
| Description: |
VIM allows a user to set the modeline differently for each edited text file
by placing special comments in the files. Georgi Guninski found that these
comments can be carefully crafted in order to call external programs. This
could allow an attacker to create a text file such that when it is opened
arbitrary commands are executed. |
| Alerts: |
|
Comments (4 posted)
vnc - replay and cookie vulnerabilities
| Package(s): | vnc |
CVE #(s): | CAN-2002-1336
CAN-2002-1511
|
| Created: | February 21, 2003 |
Updated: | May 5, 2003 |
| Description: |
VNC is a tool for providing a remote graphical user interface. Two
vulnerabilities have been found in versions of VNC shipped by Red Hat.
The VNC server acts as an X server, but the script for starting it
generates an MIT X cookie (which is used for X authentication) without
using a strong enough random number generator. This could allow an
attacker to be able to more easily guess the authentication cookie.
The VNC DES authentication scheme is implemented using a challenge-response
architecture, producing a random and different challenge for each
authentication attempt. A bug in the function for generating the random
challenge caused the random seed to get reset to the current time on every
authentication attempt. Therefore, two authentication attempts within the
same second could receive the same challenge. An eavesdropper could
exploit this vulnerability by replaying the response, thereby gaining
authentication.
All users of VNC are advised to upgrade to these erratum packages, which
contain patches to correct these issues. |
| Alerts: |
|
Comments (none posted)
wget:directory traversal bug
| Package(s): | wget |
CVE #(s): | CAN-2002-1344
|
| Created: | December 10, 2002 |
Updated: | October 1, 2003 |
| Description: |
Versions of wget prior to 1.8.2-4 contain a bug that permits a malicious
FTP server to create or overwrite files anywhere on the local file system.
FTP clients must check to see if an FTP server's response to the NLST
command includes any directory information along with the list of filenames
required by the FTP protocol (RFC 959, section 4.1.3).
If the FTP client fails to do so, a malicious FTP server can send filenames
beginning with '/' or containing '/../' which can be used to direct a
vulnerable FTP client to write files (such as .forward, .rhosts, .shosts,
etc.) that can then be used for later attacks against the client machine.
See also
this Bugtraq article from 1997.
CAN-2002-1344 |
| Alerts: |
|
Comments (none posted)
Problems with libgtop_daemon
| Package(s): | wuftpd libgtop |
CVE #(s): | |
| Created: | May 21, 2002 |
Updated: | May 7, 2003 |
| Description: |
The libgtop_daemon package is a GNOME
program which makes system information available remotely.
LWN reported the remotely exploitable format
string and buffer overflow vulnerabilities in that package
on December 6th.
On November 28th
disabling the libgtop_daemon on systems where it is running until
an update is available.
Many Linux systems do not run
libgtop by default, but applying the update is a good idea anyway.
|
| Alerts: |
|
Comments (1 posted)
Wwwoffle remote privilege escalation vulnerability
| Package(s): | wwwoffle |
CVE #(s): | CAN-2002-0818
|
| Created: | August 14, 2002 |
Updated: | October 1, 2003 |
| Description: |
The wwwoffle web proxy incorrectly processes HTTP PUT and POST requests
with negative Content Length values.
"It is believed
that an attacker could exploit this bug to gain remote wwwrun access
to the system wwwoffled is running on."
CAN-2002-0818 |
| Alerts: |
|
Comments (none posted)
zlib 1.1.4 has buffer overrun
| Package(s): | zlib |
CVE #(s): | CAN-2003-0107
|
| Created: | February 25, 2003 |
Updated: | April 29, 2003 |
| Description: |
From this Bugtraq
posting:
"zlib contains a function called gzprintf(). This is similar in
behaviour to fprintf() except that by default, this function will smash the
stack if called with arguments that expand to more than Z_PRINTF_BUFSIZE
(=4096 by default) bytes." |
| Alerts: |
|
Comments (none posted)
Resources
Guardian Digital has announced the availability of its secure mail suite,
which comes packaged with EnGarde Secure Linux. The Secure Mail Suite
offers spam and virus filtering and simplified administration.
Full Story (comments: none)
The February 28 Linux Advisory Watch newsletter from LinuxSecurity.com is
available.
Full Story (comments: none)
Page editor: Jonathan Corbet
Kernel development
Brief items
The current development kernel is 2.5.64, which was
released by Linus on March 4. Changes in
2.5.64 include a
dentry cache performance improvement, code for finding "jiffy wraps," an
ACPI update, some new CPU frequency control code, USB updates, several
kbuild fixes, a number of sysfs tweaks, some module fixes, and, of course,
a great many spelling fixes. The
long-format
changelog has the details, as usual.
As of this writing, Linus's BitKeeper tree includes only some timekeeping
fixes and some SBUS frame buffer patches.
The current stable kernel is 2.4.20. Marcelo released the fifth 2.4.21 prepatch on
February 27; it includes some architecture updates, some IDE fixes,
fixes for the ethernet information leakage vulnerability, a JFS update,
and, of course, lots of other repairs.
Alan Cox released 2.2.24 on March 5.
There is, of course, no active development happening with 2.2, so this
release consists of fixes only - in particular, it includes fixes for the
ethernet information leakage vulnerability.
Comments (none posted)
Kernel development news
Ingo Molnar's new
remap_file_pages() system call was first merged
into the 2.5.46 kernel. The final parts of that are just now circulating
in patch form, however. So it seems like a good time to look at what this
system call does.
Many kinds of applications use mmap() to map a file into virtual
memory. mmap() makes a simple, linear mapping between a region of
virtual memory and a corresponding part of the file on disk. Some
applications, however, have more complicated needs; they typically want to
map several pieces of a file into different parts of memory. This sort of
nonlinear mapping is used, for example, by large database management
systems as a way of managing the movement of data to and from the disk.
Nonlinear mappings can be created on any system which supports
mmap(); it's just a matter of creating a separate mapping for each
piece of the file. Such mappings can be expensive to set up, however, and
even more expensive to use. In the Linux kernel, each mapping creates a
separate virtual memory area (VMA). Each VMA uses kernel memory; the
presence of large numbers of VMAs will also slow down the VM subsystem.
The remap_file_pages() system call addresses these problems by
allowing a process to rearrange the memory mapping of a file on the fly.
It is called as:
int remap_file_pages(unsigned long start, unsigned long size,
unsigned long prot, unsigned long pgoff,
unsigned long flags);
Essentially, this call says that size pages from the file,
starting at page offset pgoff, should be mapped into the process's
virtual memory beginning at start. The file should already be
mapped into a VMA which contains start. Since the system call
works entirely through page table manipulation, it is quite fast. It also
can create complicated nonlinear mappings without needing to create new
VMAs.
remap_file_pages(), as found in the 2.5.64 kernel, only has one
little problem: the remapping information is lost if the page is swapped
out. Users must thus either lock the area in memory (which is generally
not a problem for the "big database management system" scenario, which
tends to perform this locking anyway), or take pains to reestablish the
mapping on swapin. Ingo's latest patch
clears up that last bit of trouble by storing the mapping information into
the page table entry when a page is swapped out. On 32-bit systems, this
technique limits the maximum size of a nonlinear mapping to 1-2TB
(depending on the architecture) because some of the PTE bits are not
available for this use. Given the trouble most 32-bit systems have in
simply addressing that much memory, this limitation is not likely to bother
too many people.
For now, it is not possible to change protections within a single VMA (the
prot parameter to remap_file_pages() is ignored). At
some future point, that could change. Some applications (i.e. memory
debuggers) currently struggle to control memory protection in a
fine-grained manner. Being able to simply set protections on a per-page
basis (without creating new VMAs) would make things much easier.
Comments (none posted)
Development kernels typically go through a stage where half of the patches
seem to be spelling fixes. Correcting misspellings is an easy way for
people to help improve the code base without having to understand locking
rules - or even the C language. For the most part these changes are, at
worst, harmless.
2.5 seems to have inspired a more thorough than usual cleanup effort,
however. People have been fixing punctuation problems, and there is even
a special kernel source spellchecker out
there. All this work has caused some developers to wonder if things aren't
going a little too far, especially the changes start breaking things. As Alan Cox put it:
People are going to far. Fixing typos that are confusing or
blatantly daft is one thing, but if you want to pick over
documentation line by line with a copy of Fowlers in hand the Gnome
and KDE projects would both love to have you working over their
documentation and end user manuals ;)
This is a good point: very few documentation projects complain about having
too many contributors. Improving documentation may not bring the
satisfaction of seeing your name in the kernel changelog, but it could well
be a better use of available time than correcting apostrophe errors in
kernel comments.
Comments (13 posted)
Speaking of improving documentation, Mel Gorman has been working for some
time to document how memory management works in the 2.4.20 kernel. He has
now
released the results of his work in
text, HTML, and PDF formats. There is also an extensive commentary of the
VM code itself. It is a large body of work, and a substantial contribution
to the development community; worth a read.
Comments (none posted)
Driver porting
Below, you will find two new articles on porting drivers (and other kernel
code) to the 2.5 kernel; they discuss interrupt handling and asynchronous
I/O. Also new this week (but not included below) is an article describing
the completion event interface; that article, along with all the others in
this series, may be found on the
LWN
Driver Porting Series page.
Comments (none posted)
The kernel's handling of device interrupts has been massively reworked in
the 2.6 series. Fortunately, very few of those changes are visible to the
rest of the kernel; most well-written code should "just work" (almost) under 2.6.
There are, however, two important exceptions: the return type of interrupt
handlers has changed, and drivers which depend on
being able to globally disable interrupts will require some changes for
2.6.
Interrupt handler return values
Prior to 2.5.69, interrupt handlers returned
void. There is,
however, one useful thing that interrupt handlers can tell the kernel:
whether the interrupt was something they could handle or not. If a device
starts generating spurious interrupts, the kernel would like to respond by
blocking interrupts from that device. If no interrupt handler for a given
IRQ has been registered, the kernel knows that any interrupt on that number
is spurious. When interrupt handlers exist, however, they must tell the
kernel about spurious interrupts.
So, interrupt handlers now return an irqreturn_t value;
void handlers will no longer compile. If your interrupt handler
recognizes and handles a given interrupt, it should return
IRQ_HANDLED. If it knows that the interrupt was not on a device
it manages, it can return IRQ_NONE instead. The macro:
IRQ_RETVAL(handled)
can also be used; handled should be nonzero if the handler could
deal with the interrupt. The "safe" value to return, if, for some reason
you are not sure, is IRQ_HANDLED.
Disabling interrupts
In the 2.6 kernel, it is no longer possible to globally disable
interrupts.
In particular, the
cli(),
sti(),
save_flags(),
and
restore_flags() functions are no longer available. Disabling
interrupts across all processors in the
system is simply no longer done. This behavior has been strongly
discouraged for some
time, so most code
should have been converted by now.
The proper way to do this fixing, of course, is to figure out exactly which
resources were being protected by disabling interrupts. Those resources
can then be explicitly protected with spinlocks instead. The change is
usually fairly straightforward, but it does require an understanding of
what is really going on.
It is still possible to disable all interrupts locally with
local_save_flags() or local_irq_disable(). A single
interrupt can be disabled globally with disable_irq(). Some of the
spinlock operations also disable interrupts on the local processor, of
course. None of these functions are changed (at least, with regard to
their external interface) since 2.4.
Various small changes
One function that
has changed is
synchronize_irq(). In
2.6, this function takes an integer IRQ number as a parameter. It spins
until no interrupt handler is running for the given IRQ. If the IRQ is
disabled prior to calling
synchronize_irq(), the caller will know
that no interrupt handler can be running after that call. The 2.6 version
of
synchronize_irq() only waits for handlers for the given IRQ
number; it is no longer possible to wait until no interrupt handlers at all
are running.
If your code has post-interrupt logic which runs as a bottom half, or out
of a task queue, it will need to be changed for 2.6. Bottom halves are
deprecated, and the task queue mechanism has been removed altogether.
Post-interrupt processing should now be done using tasklets or work queues.
A new function was added in 2.6.1:
int can_request_irq(unsigned int irq, unsigned long flags);
This function returns a true value if the given interrupt allocation
request would succeed, but does not actually allocate anything. Potential
users should always be aware that the situation could change after calling
can_request_irq().
Finally, the declarations of request_irq() and free_irq() have
moved from <linux/sched.h> to
<linux/interrupt.h>.
Comments (none posted)
One of the key "enterprise" features added to the 2.6 kernel is
asynchronous I/O (AIO). The AIO facility allows user processes to initiate
multiple I/O operations without waiting for any of them to complete; the
status of the operations can then be retrieved at some later time. Block
and network drivers are already fully asynchronous, and thus there is
nothing special that needs to be done to them to support the new
asynchronous operations. Character drivers, however, have a synchronous
API, and will not support AIO without some additional work. For most char
drivers, there is little benefit to be gained from AIO support. In a few
rare cases, however, it may be beneficial to make AIO available to your
users.
AIO file operations
The first step in supporting AIO (beyond including
<linux/aio.h>) is the implementation of three new methods
which have been added to the
file_operations structure:
ssize_t (*aio_read) (struct kiocb *iocb, char __user *buffer,
size_t count, loff_t pos);
ssize_t (*aio_write) (struct kiocb *iocb, const char __user *buffer,
size_t count, loff_t pos);
int (*aio_fsync) (struct kiocb *, int datasync);
For most drivers, the real work will be in the implementation of
aio_read() and aio_write(). These functions are
analogous to the standard read() and write() methods,
with a couple of changes: the file parameter has been replaced
with an I/O control
block (iocb), and they (usually) need not complete the requested
operations
immediately. The iocb argument can usually be treated
as an opaque cookie used by the AIO subsystem; if you need the
struct file pointer for this file descriptor, however, you
can find it as iocb->ki_filp.
The aio_ operations can be synchronous. One
obvious example is when the requested operation can be completed without
blocking. If the operation is complete before aio_read() or
aio_write() returns, the return value should be the usual status
or error code. So, the following aio_read() method, while being
pointless, is entirely correct:
ssize_t my_aio_read(struct kiocb *iocb, char __user *buffer,
size_t count, loff_t pos)
{
return my_read(iocb->ki_filp, buf, count, &pos);
}
In some cases, synchronous behavior may actually be required. The
so-called "synchronous iocb's" allow the AIO subsystem to be used
synchronously when need be. The macro:
is_sync_kiocb(struct kiocb *iocb)
will return a true value if the request must be handled synchronously.
In most cases, though, it is assumed that the I/O request will not be
satisfied immediately by aio_read() or aio_write(). In
this case, those functions should do whatever is required to get the
operation started, then return -EIOCBQUEUED. Note that any work
that must be done within the user process's context must be done before
returning; you will not have access to that context later. In order to
access the user buffer, you will probably need to either set up a DMA
mapping or turn the buffer pointer into a series of
struct page pointers before returning.
Bear in mind also that there can be multiple asynchronous I/O requests active at
any given time. A driver which implements AIO will have to include proper
locking (and, probably queueing) to keep these requests from interfering
with each other.
When the I/O operation completes, you must inform the AIO subsystem of the
fact by calling aio_complete():
int aio_complete(struct kiocb *iocb, long res, long res2);
Here, iocb is, of course, the IOCB you were given when the request
was initiated. res is the usual result of an I/O operation: the
number of bytes transfered, or a negative error code. res2 is a
second status value which will be returned to the user; currently (2.6.0-test9),
callers of aio_complete() within the kernel always set
res2 to zero. aio_complete() can be safely called
in an interrupt handler. Once you have called aio_complete(), you
no longer own the IOCB or the user buffer, and should not touch them again.
The aio_fsync() method serves the same purpose as the
fsync() method; its purpose is to ensure that all pending data are
written to disk. As a general rule, device drivers will not need to
implement aio_fsync().
Cancellation
The design of the AIO subsystem includes the ability to cancel outstanding
operations. Cancellation may occur as the result of a specific user-mode
request, or during the cleanup of a process which has exited. It is worth
noting that, as of 2.6.0-test9, no code in the kernel actually performs
cancellation. So cancellation may not work properly, and the interface
could change in the process of making it work. That said, here is how the
interface looks today.
A driver which implements cancellation needs to implement a function for
that purpose:
int my_aio_cancel(struct kiocb *iocb, struct io_event *event);
A pointer to this function can be stored into any IOCB which can be
cancelled:
iocb->ki_cancel = my_aio_cancel;
Should the operation be cancelled, your cancellation function will be
called with pointers to the IOCB and an io_event structure. If it
is possible to cancel (or successfuly complete) the operation prior to
returning from the cancellation function, the result of the operation
should be stored into the res and res2 fields of the
io_event structure, and return zero. A non-zero return value from
the cancellation function indicates that cancellation was not possible.
Comments (1 posted)
Patches and updates
Kernel trees
Build system
Core kernel code
Development tools
Device drivers
Documentation
Filesystems and block I/O
Memory management
Networking
Architecture-specific
Benchmarks and bugs
Miscellaneous
Page editor: Jonathan Corbet
Distributions
News and Editorials
DistroWatch
takes a
look at the RPM Package Manager. RPM was created by Red Hat, but it
has been adopted by many other distributions, including Mandrake and SuSE.
It has become a de facto standard, which might not be so bad except that
various implementations are less than standardized. The article begins
with a description of RPM "dependency hell", and goes on to look at other
methods of package management such as Debian's .deb format and Slackware's
.tgz format. Then there are source based distributions such as Gentoo and
Sorcerer which have their own ways of dealing with packages.
DistroWatch has some solutions for the precieved problem:
- Learn to build your own RPMs.
- Petition the RPM distributions to adhere to common standards.
- Use more advanced package management tools, such as urpmi or
apt-rpm.
- Switch to Debian or Slackware.
- Switch to a source-based Linux distributions, such as Gentoo or
Sorcerer.
Is there a problem? If so what would you do to solve it?
Comments (27 posted)
Distribution News
The
Debian Weekly News for March 4, 2003
laughs at an article on Linux security, announces GNOME 2.2 for Debian
Woody, introduces new mailing lists, and much more.
The Debian Project Leader debate will be
held on freenode at 22:00 UTC on Friday, March 7, 2003, in two channels:
#debian-dpl-debate for the moderated debate, and #debian-dpl-discuss for
unmoderated discussion. Voting begins on Saturday.
Joey Hess announced some changes to debconf
and debhelper.
Comments (none posted)
MandrakeSoft has announced the release of Mandrake Linux 9.1 RC2 for
downloading and testing. This version has a new theme called
"MandrakeGalaxy" and of course, many bug fixes.
Full Story (comments: 8)
As announced on
the Slackware site,
the first release candidate for Slackware 9.0 is available. Features
in this release include a 2.4.20 kernel, KDE 3.1, GNOME 2.2,
XFree86 4.3.0, and more. The
changelog
has the details in an exhaustive, tiny-font format.
Comments (1 posted)
Here's the latest Gentoo Weekly Newsletter, with news about Gentoo Linux at
the Game Developers Conference, Open Developer Positions in the Gentoo
Linux Project, the release of Gentoo Linux 1.4_rc3, and more.
Full Story (comments: none)
Guardian Digital has announced the Guardian Digital Secure Mail Suite,
available with EnGarde Secure Linux v1.5.
Full Story (comments: none)
Red Hat has updated kernel packages for Red Hat Linux 7.1, 7.2, 7.3, and
8.0 available that fix a deadlock with the tg3 driver on certain revisions
of the Broadcom 570x gigabit ethernet series.
Full Story (comments: none)
New Distributions
BlackRhino
GNU/Linux is a free Debian-based GNU/Linux software distribution for
the Sony PlayStation 2. A company called xRhino created the distribution for a commercial
Sony PlayStation 2 title, and has released it in the hopes that it will
help hobbyists create their own games and applications that utilize the
advanced programmable hardware of the PS2.
BlackRhino contains over 1,200 software packages to aid in using and
creating programs for the Sony PlayStation 2 Linux kit. The programs range
in functionality from simple games, to text editors, compilers, web
servers, windowing systems, database systems, graphics packages, mail
servers and a variety of other tools and utilities. Version 1.0 was
released March 4, 2003.
Comments (none posted)
College Linux is made
available by Robert Kennedy College, Delémont, Switzerland to both RKC and non
RKC students. CollegeLinux is a new, stand-alone operating system based on
Slackware. The aim of this experimental Linux distribution is to provide
students with an operating system which is easy to install and use and which
provides an alternative to the traditional commercial operating systems.
Comments (none posted)
Morphix is a modular
distribution, with live-CD support. No configuration is necessary, just
burn the CD and boot it. Morphix is partly based on KNOPPIX, the rest
comes directly from Debian. The initial version,
0.3-2, was released
February 27, 2003.
Comments (none posted)
Minor distribution updates
BBIagent has released
v1.7.0 of the BBIagent
Router. "
Changes: A bootable ISO image including user-defined
settings can be created and downloaded from the router itself when using
the registered version."
Comments (none posted)
Gentoo Linux has released
v1.4_rc3 with major
feature enhancements. "
Changes: This release adds many new "Portage"
features, bugfixes, and code cleanups on the way to 1.4_final. An updated
Live-CD and stages for the Sparc, PPC, and x86 platforms are all available
for this release candidate."
Comments (1 posted)
Phrealon Linux has released
v0.82 with major
feature enhancements. "
Changes: This has quite a few improvements
over the 0.81 release. All of the modules are available, though not all are
autoscanned, so you'll have to do things semi-manually for some
cards. There is an attempt at NFS, but it does not do anything of use
yet. The udp-up, init-up, and nfs-up scripts exist directly on the CD
instead of initrd.img for easier modification."
Comments (1 posted)
SoL has released a diskless
distribution, SoL-diag, for the rescue and analysis of i686 computers. The
36MB image contains over 300 programs, including DVD and MP3 players and
CD-RW buring tools. It is also useful for improving your Linux skills and
benchmarking computers without having to install programs to the hard
drive. The initial version of SoL-diag
1.1 was released March 3,
2003.
Comments (none posted)
uClinux has released
20030226. "
Changes:
This is a beta/testing release. As usual there are lots of new things,
including lots of bugfixes. The dist also supports a number of VM Linux
targets (including x86, ARM/XSCALE, and Hitachi SH3/SH4) as well as all the
existing MMU-less targets. It contains uClinux 2.0.39, uClinux 2.4.20,
glibc 2.2.5, uClibc 0.9.18, and a lot of user app packages. Glibc is
currently only supported on VM targets; don't try to use it for uClinux
targets."
Comments (none posted)
Distribution reviews
IBM developerWorks
reviews Knoppix. "
While Linux adepts often experiment with
bootable media, and many applications rely on data compression, Knoppix
shows a singular level of polish. It's simple, only because Knopper and a
few other project contributors took so much care in constructing it to be
simple."
Comments (none posted)
Page editor: Rebecca Sobol
Development
Version RC3 of
Speex,
an open-source speech codec, has been released.
A codec, short for coder/decoder, is a system for digitizing
and compressing audio speech data. Codecs can be implemented in
both hardware and software. Historically, codecs have their roots
in telephony systems.
The goals of the Speex project are as as follows:
"The Speex project aims to build a patent-free, Open Source/Free Software voice codec. Unlike other codecs like MP3 and Ogg Vorbis, Speex is designed to compress voice at bitrates in the 2-45kbps range. Possible applications include VoIP, internet audio streaming, archiving of speech data (e.g. voice mail), and audio books. In some sense, it is meant to be complementary to the Ogg Vorbis codec."
The Speex
FAQ clarifies
the different goals of Speex and Ogg Vorbis:
"Ogg is a ``container format'' for holding multimedia data. Vorbis is
an audio codec that uses Ogg to store its bit-streams as files, hence the
name Ogg Vorbis. Speex also uses the Ogg format to store its bit-streams
as files, so technically they would be ``Ogg Speex'' files (I prefer to
call them just Speex files). One difference with Vorbis however, is that
Speex is less tied with Ogg."
The Speex site lists the following features:
- Designed for speech compression.
- Optimized for Voice over IP (VoIP) instead of cell phones.
- Free of patents and royalties.
- Licensed under the Xiph.org variant of the BSD license.
- A part of the GNU project.
- Wide and narrow band compression capabilities.
- Supports multiple bitrates, from 2-45 kbps.
- Uses a CELP-based encoding technique.
- Supports Intensity stereo encoding.
- Supports variable bitrate operaton.
- Voice activity detection.
- Discontinuous transmission.
- Works best with hardware floating point support.
The Speex
online manual
explains the various parts of the project.
The
Command-line encoder/decoder utilities speexenc and speexdec
allow conversion from .wav or raw PCM files to and from speex format
files.
Programmers who want to add Speex capabilities to their applications
may want to have a look at the
Programming with Speex (the libspeex API) section of the documentation,
as well as the
Speex API Documentation.
The newly released RC3 version is leading up to version 1.0:
"Just some more bugfixes and tuning are in this release;
If no bugs are found, this may be rebranded Speex 1.0."
Comments (1 posted)
System Applications
Audio Projects
The March 4, 2003 edition of
Ogg Traffic
is available with the latest Ogg Vorbis audio compression software news.
Discussion topics include:
Status Updates, Goals and non-Goals of Vorbis Comments, and
Speex RC3.
Comments (none posted)
Version 0.9.0rc8 of the
ALSA sound driver
is available.
"
It is probably [the] last release before 0.9.0 final.
You will find in the alsa-lib package the dmix plugin which allows
mixing of multiple PCM streams together without the client/server
mechanism."
Comments (none posted)
Database Software
OpenLink Software, Inc. has
announced the release of their OpenLink ODBC Bench and
OpenLink JDBC Bench under the GPL.
"
These cross platform, Open Source benchmarking utilities
enable users to produce their own local empirical data for objective comparison and analysis of the performance and scalability of
ODBC and JDBC Drivers, underlying database engines, and host operating systems."
Comments (none posted)
James A. Duncan
introduces Pixie on IBM's developerWorks.
"
The Pixie module takes a different approach to interfacing your Perl project with a relational database. Throwing away the schema, it allows more flexibility. Sure, there can be some downside to that, but for a large number of projects, you'll find it fits the bill just fine."
Comments (none posted)
Electronics
A new version of
gaf
(gschem and friends) is available from the gEDA project.
Numerous changes have been made to the gaf components, see the
release notes for details.
Comments (none posted)
Embedded Systems
Trolltech has announced the release of Qtopia 1.6, the latest version of
its embedded Linux application platform. New features include Outlook
synchronization, a new plugin framework, a voice recorder, an improved
desktop, and more. The company claims that over 1,000 third-party
applications are available for Qtopia.
Full Story (comments: 1)
Printing
The latest news from
LinuxPrinting.org includes
new drivers for the Epson laser winprinters, the
HP OfficeJet 5110, and the Kyocera KM-1810.
A few bugs have been fixed in the pnm2ppa driver, and
the Kyocera entries in the Foomatic printer support database
have been updated.
Comments (none posted)
Web Site Development
Version 1.0 RC 2 of the Aegir CMS Open Source
Content Management System has been released.
Changes include new translations, new file synchronization,
deletion confirmation, better FHS compatibility, an improved Mozilla
1.3 editor, and bug fixes.
Full Story (comments: none)
The most recent headlines on the
Zope Members News
include: fcForum 0.0.13b Released to the Community,
TTWType - a through-the-web content type for Plone,
ZWiki 0.16.0 released, RenderableCharts 0.5 is out - with MySQL Demo,
COMRack 1.0 released (an alternative ZPatterns Rack implementation),
mxODBC Zope DA 1.0.0 released, New 0.8 version of bislTrayIcon,
and Free Silva Hosting.
Comments (none posted)
Miscellaneous
The LSB has
published the archLSB-PPC64 and archLSB-S390X for public review. The
LSB's Specification Authority will be accepting comments until Friday March
28th, 2003.
Comments (none posted)
Desktop Applications
Desktop Environments
Headlines on the GNOME desktop
FootNotes site include:
GNOME Fifth Toe 2.1.99, 2002 LinuxQuestions.org Members Choice Award Winners,
Gaim 0.60 Screenshots, Dropline GNOME 2.2.1 - Not just for Slackware 8.1
Anymore!, First release of gmodconfig, The Creative Penguin: The GNOME
Art Duo Speak, and more.
Comments (none posted)
The February 28, 2003 edition of the
KDE-CVS-Digest is out, here's the content summary:
"
Large merges from safari. KOffice developers improve the filters and add useful templates. The development tools, Kdevelop and Quanta receive new templates and bug fixes."
Comments (none posted)
Games
Version 0.51 of
PYTAXX
is available from the PyGame site.
"
Pytaxx is a clone of the arcade game Ataxx. Like gataxx from Gnome, but with a wicked recursive AI and cool pygame-powered graphics. It also features downloadable themes."
Comments (none posted)
Graphics
Version 0.96r003 of the Crystal Space Open Source, Multi-Platform
3D Engine is available.
"
This release fixes a few
problems and issues present in the 0.96r002 release."
Full Story (comments: none)
GUI Packages
The latest new software for
FLTK, the Fast, Light ToolKit includes:
fl_connect 1.1, and flcdsim 1.1.
Comments (none posted)
Interoperability
Issue #159 of
Wine Traffic is out. Topics include:
Compiling with MS VC++, CodeWeavers & Taratella, MS Paint,
Threading Work, Commandline MSVC, X11Drv / NTDll Separation,
Libwine Portability, Using Clientside Fonts,
Finding Missing Locks with Smatch, and Making Config Tools.
Comments (none posted)
Version 2.2.8pre2 of
Samba
has been released.
"
This is the second non-production preview release of the upcoming Samba 2.2.8 codebase. It is being provided for testing purposes."
The code and release notes are available for download
here.
Comments (none posted)
Office Applications
The February 26, 2003
OSAF Status Update has been published with news from the
Open Source Application Foundation, with news of the Chandler PIM project.
"
OSAF staff has been focusing on defining our initial release of code, which we've named the 0.1 release. We've been working to figure out what the 0.1 release ought include, what code is required to make this happen, what APIs ought to be described, which areas will not be addressed in this release (such as security), and the steps we need to take to make this release happen."
Comments (none posted)
Web Browsers
The latest
mozillaZine topics include:
A Blogger's Guide to Mozilla, Chimera Renamed to Camino,
Tinderbox Traffic Light Widget for Konfabulator,
French Translation of ChatZilla 0.8.23 Available, and
AppMac Announces Three New Gecko-Based Browsers for OS X.
Comments (none posted)
The March 4, 2003
Mozilla Status Update is out.
Topics include the approaching Mozilla 1.3 final release,
OS/2 work, Calendar presentations, the Rhino JavaScript implementation,
and Staff Meeting Minutes.
Comments (none posted)
Languages and Tools
Caml
The February 25 - March 4, 2003 Caml Weekly News is out
with the latest Caml language news.
Full Story (comments: none)
This week, the new software on
The Caml Light / OCaml Hump includes:
Katmake, OCaml-Lirc, and FFTW-GEL.
Comments (none posted)
Java
Emmanuel Proulx
covers the topic of tools for EJB on O'Reilly.
"
People often ask me "What's the best platform for J2EE development?" There's no clear answer for this question. First, the vendors each provide contradictory facts to prove that their product is the best. Second, each has its zealots who will tell you all of the good things about one server and bad things about the others. Third, there are dozens of products available out there."
Comments (none posted)
Kyle Brown
writes about SDAO on IBM's developerWorks.
"
The Data Access Object pattern has become a standard part of the J2EE developer's arsenal. What most developers don't know is that one of its variations allows for much easier testing. Simulated data access objects bring together the best of DAO, mock objects, and layered testing, letting you simultaneously improve both your testing results and your overall development method. Enterprise Java developer (and resident SDAO guru) Kyle Brown uses code samples and discussion to guide you through the concepts and everyday use of SDAO."
Comments (none posted)
Lisp
Version 0.7.13 of Steel Bank Common Lisp is available.
"
This version adds a contributed
modules system (some contributed modules are also included), changes the
REQUIRE/PROVIDE behavior to support the contribution system, changes the
placement of some system files, makes the compiler more consistent in its
error-checking treatment in certain cases, provides speed and stability
improvements, and fixes several bugs."
Full Story (comments: none)
PHP
Topics on this week's
PHP Weekly Summary
include: Tutorials for C++ extensions, PHP server upgrades, PHP parsers,
4.3.2 release plan, Performance degrading study, Manual translations,
bindlib for Win32, and strip_tags().
Comments (none posted)
Nicholas Chase
writes about streaming XML data in PHP on IBM's developerWorks.
"
While there is no official implementation of the Simple API for XML (SAX) in PHP, PHP does provide a SAX-like method for working with both local and remote XML files. In this article, author Nicholas Chase shows you how to work with XML files in PHP by building and setting handler functions and creating a parser. He demonstrates SAX in PHP with a page-building exercise in which he crafts a page based on the result of an Amazon Web Services query."
Comments (none posted)
Python
The latest Dr. Dobb's Python-URL is available, with weekly news and links
for the Python community.
Full Story (comments: none)
This week's
Daily Python-URL
article topics include:
Create declarative mini-languages, Inside the RSS validator,
Plone, and SimPy: Simulating systems in Python.
Comments (none posted)
Ruby
Topics on this week's
Ruby Weekly News
include: Happy Birthday Ruby, RubyConf(2003), European Ruby Conference,
ThisThread::Encompassed::LateFebruary, and Embedded Documentation, et al,
and lots of new Ruby software releases.
Comments (none posted)
XML
O'Reilly has
an article on Streaming Transformations for XML.
"
This article introduces Streaming Transformations for XML (STX), a template-based XML transformation language that operates on streams of SAX events. STX resembles XSLT 1.0, the tree-driven transformation language for XML, but STX offers unique features and advantages for some applications."
Comments (none posted)
John E. Simpson
discusses
how to deal with ampersands and databases in XML.
"
Is there anything I can do in my stylesheet or elsewhere to ensure that my XSLT will work even if the source data contains an ampersand or apostrophe?"
Comments (none posted)
Profilers
Version 0.5.1 of the
OProfile code profiler
has been released.
"
X86-64 on 2.4 support has been added. Kernel profiles can be separated per-application. A new C++ demangler has been added, which is still experimental. An important daemon crash fix and a number of other bugs have been fixed."
Comments (none posted)
Miscellaneous
Version 3.2pre3 of the
Jext source code editor is available.
"
You can use it to discover the new Decalco plugin which allow to
put any picture in Jext background. This release also ships SQL Console
1.7, Gooey (for Winamp 2.x), FunnyBrackets, the new PHP plugin, the new
PHP highlighting feature, the Jump plugin and ProjectMaster."
Comments (none posted)
Bill Venners
talks to
Andy Hunt and Dave Thomas on keeping code maintenance under control.
"
In the realm of psychology, this actually works. If you do something to keep on top of the small problems, they don't grow and become big problems. They don't inflict collateral damage. Bad code can cause a tremendous amount of collateral damage unrelated to its own function. It will start hurting other things in the system, if you're not on top of it. So you don't want to allow broken windows on your project."
Comments (none posted)
Bill Venners
talks about
the need for programmers to master both a statically typed, and dynamically
typed language.
"
Here's how I would summarize this argument: Python tries hard to get out of your way while you're coding, so you can quickly complete the functionality and start testing the program. Java, by contrast, actually tries to slow you down a bit while you're codingfor your own goodso that when you reach the system-testing phase, you already have a more robust system."
Comments (2 posted)
Page editor: Forrest Cook
Linux in the news
Recommended Reading
Eben Moglen, General Counsel of the Free Software Foundation,
writes
this LinuxUser article looking at Microsoft and free software.
"
Competing with free software is problematic for Microsoft for many
reasons. There's no company to acquire, in the first place, in order to
incorporate or suppress attractive competing products - a strategy that the
monopoly has pursued so often and so successfully in the past. Because free
software is continually modified and improved by all its users, there's no
'evolutionary dead end' argument with which to scare customers: someone
choosing to use free software is never going to be left with an
unserviceable product whose maker has gone out of business, leaving the
code 'orphaned' in the face of constantly shifting technology."
Comments (4 posted)
In this
guest
column at DesktopLinux.com, former SCO evangelist and Samba.org team
leader John H. Terpstra weighs in on market perceptions about Linux and its
suitability for the desktop. "
Interviewing a sample group -- that
included 30 people evenly split in the Linux and MS camps -- Terpstra
discovered each group cited the very same arguments in defending their OS
of choice!"
Comments (8 posted)
Linux Adoption
Here's a
look
at how Linux is taking over local goverenment computing in Australia.
"
Large federal government departments switching to Linux - such as
Veterans Affairs - have hogged the limelight, but local councils have
pioneered the use of the open source OS."
Thanks to Ashwin N
Comments (none posted)
The Financial Express
looks at free software in India. "
For computer technology to
have maximum impact in India, complete support for Indian languages is
required. Government agencies are working towards ensuring that all Indian
languages are properly supported, particularly with free software."
Thanks to Ashwin N
Comments (none posted)
Legal
News.com
reports from the Berkeley Digital Rights Management conference.
"
'There has to be a way between the lunatics at the two extremes,' said Larry Lessig, a law professor at Stanford University and well-known opponent of the DMCA. 'We need to build a layer of reasonable copyright law on top of this background of unreasonable extremism.'"
Comments (none posted)
Interviews
Open for Business
talks
with GNOME art duo Tuomas "Tigert" Kuosmanen and Jakub "Jimmac" Steiner
of Ximian. "
If you've ever admired the beautiful artwork of GNOME,
these are the gentlemen responsible for it. How did they get involved? Why
should you be interested in desktop artwork? They discuss all of this and
more with Open for Business' Timothy R. Butler."
Comments (none posted)
Resources
Here's
a Linux Journal article on ways to build a linux-based video recorder.
"
I don't have one working yet, but I have learned a few things. Here
are notes on the two
approaches that look best for a Linux PVR."
Comments (none posted)
The
March 2003
issue of the Linux Gazette is available; it looks at fonts, Linux-based
telecom, optimizing gcc, and several other topics (along with the latest
"Ecol" comics).
Comments (none posted)
Here is the LinuxDevices.com
Embedded
Linux Newsletter for February 27, 2003.
Comments (none posted)
LinuxDevices.com
analyzes a
recent survey by Evans Data Corp. and finds that Embedded Linux remains
the top embedded OS choice among developers, but that developers are not
particularly satisfied with the available Embedded Linux toolsets.
Comments (none posted)
This Iodynamics article
teaches newbies
about the significance of
root. "
When a user logs on to a
computer running one of the various flavors of Unix, he is prompted to
enter his username and password. The system then checks its roster of users
to determine if the password and username match. If the user logs in with
the username root, using the root password, he will be given permission to
do lots of things that other users aren't allowed to do."
Comments (none posted)
Reviews
In this article on LinuxWorld.com Joe Barr
compares two Optical
Character Recognition packages -- one is free software, the other
proprietary. "
In the legal and medical fields, document management
is a very big deal. In modern office environments, OCR often plays a key
role in solving that problem. Because OCR for Linux is one area I don't
hear or read a lot about, I decided to do some digging and see what I could
find. This week, I'll tell you about two solutions I found: one from the
free-software camp and one proprietary application."
Comments (6 posted)
ComputerWorld
covers
this Linux NetworX cluster. "
Now the system, which had a total cost
of about $100,000, is successfully helping researchers understand past
weather events in Iceland and learn how the country's topography influences
its weather, according to Olafur Rognvaldsson, CEO of the Institute for
Meteorological Research in Reyjavik."
Thanks to Ashwin N
Comments (none posted)
CRN has published
a glowing review of the support available for the MySQL database.
"
The popularity of the product and the large developer community that has cropped up to work with it have made MySQL one of the most stable back-end databases on the market. On small projects with 50 or fewer user connections, MySQL's price/performance actually surpasses that of all of the top database vendors."
Comments (none posted)
Here's
Salon's
take on Desktop Linux, including a mini-review of Linux desktops from
Lycoris and Lindows. "
Still, there's one good thing about having an
alternative to Windows, even if the alternative's a kind of Windows Lite --
Microsoft might have a reason to improve its software. Competition,
finally, is making its way into the world of desktop PCs."
Thanks to Ashwin N
Comments (none posted)
Simon Cozens
reviews the book "Genomic Perl" on O'Reilly.
"
Rex Dwyer has produced a book, Genomic Perl, which bridges the gap. As well as teaching basic Perl programming techniques to biologists, it introduces many useful genetic concepts to those already familiar with programming. Of course, as a programmer and not a biologist, I'm by no means qualified to assess the quality of that side of the book, but I certainly learned a lot from it."
Comments (none posted)
Miscellaneous
ZDNet
reports on the other important recent security hole: a buffer overflow in the Snort intrusion detection system. "
If an attacker can gain access to an IDS they may be able to delete its logs, add false log entries or just shut down the whole system. If the IDS is 'switched off' an attacker can be as indiscreet as they want to without setting the alarm bells ringing..."
Comments (none posted)
Daniel L. Johnson MD has put together
a fable about the origins of open-source software.
"
One Gownie, a brilliant and unkempt thinker, the Man who Stalls,
turned the Townie philosophy upside down. If Intellectual Property
Rights could be used to keep ideas secret and to accumulate Money,
then they could also be used to force ideas into the public and to
accumulate Knowledge."
Comments (none posted)
Page editor: Forrest Cook
Announcements
Non-Commercial announcements
Open Source Development Labs, Inc. has
announced
availability of OSDL-DBT, a suite of open source database workload testing
tools which are a fair use implementation of specific industry-standard
Transaction Processing Performance Council (TPC) benchmarks.
Comments (none posted)
Commercial announcements
O'Reilly has released an updated version of
Practical Unix &
Internet Security. "
Focusing on the four most popular Unix
variants today--Solaris, Mac OS X, Linux, and FreeBSD--this book contains
new information on PAM (Pluggable Authentication Modules), LDAP, SMB/Samba,
anti-theft technologies, embedded systems, wireless and laptop issues,
forensics, intrusion detection, chroot jails, telephone scanners and
firewalls, virtual and cryptographic filesystems, WebNFS, kernel security
levels, outsourcing, legal issues, new internet protocols and cryptographic
algorithms, and much more."
Full Story (comments: 1)
Sony, IBM and Butterfly.net announced the activation of a Linux-based
computing grid that makes it easier and cheaper to run Sony PlayStation 2
games on the Internet. The massive "Butterfly Grid" can support millions of
concurrent PlayStation 2 online users around the world, with no limit to
the number of players who can be on the Grid at one time.
Full Story (comments: 1)
UnitedLinux has
announced that it has completed certification of UnitedLinux Version
1.0 with both Oracle9i Database and its database clustering technology,
Oracle9i Real Application Clusters.
Comments (7 posted)
Ximian, Inc. and SuSE Linux announced a wide-ranging partnership. As part
of the agreement, SuSE will resell Red Carpet Enterprise from Ximian. The
companies will also offer Ximian Connector software to integrate Ximian
Evolution groupware suite for Linux with the SuSE Linux Openexchange
server.
Full Story (comments: none)
Resources
On February 11, 2003
LWN reported that a
company called Reasoning had put out a press release on a defect study it
did of six different TCP/IP stacks. Reasoning has now
announced the availability of the actual report.
Comments (none posted)
Evans Data Corporation has
announced the results of a new Embedded Systems Development Survey
conducted in January 2003. "
Embedded Linux continues to find
converts as over 50% of respondents are targeting the OS in their current
or next project, up 5% from the previous survey. However, the new survey
found that fewer than 20% of developers rated Embedded Linux toolsets
"good" and only 5% rated them "excellent". More than 60% indicated that
their toolsets are "not very good" or "adequate" thus showing a need for
better tools."
Comments (none posted)
The Linux Professional Institute newsletter for the month of February 2003
is now available. Some of the topics for this month include LPI-Brazil;
CeBit in Germany; Hewlett Packard's road shows; and preparing for the
release 2 of Level 1 and resources.
Full Story (comments: none)
A
Russian language version of the MySQL reference manual is now
available online.
Comments (none posted)
Voting for the 2002 LinuxQuestions.org Members Choice Awards is now closed.
Winners include Red Hat as Distribution of the Year, KDE as Desktop
Environment of the Year, Open Office as Office Suite of the Year and many
more. You can view the
announcement
including all of the winners or the complete
results.
Comments (none posted)
Pradeep Chopra offers
some tips on passing IBM's XML certification exam.
"
XML has spread like wildfire throughout the IT industry, creating a broad range of opportunities for developers. What's the best way to take advantage of such opportunities? In the competitive world of software development, it's important to stand above the crowd. Thus, some standard for measuring how much one knows about XML is necessary."
Comments (none posted)
Upcoming Events
Registration is open for the OpenOffice.org Conference
in Hamburg, Germany. The conference will be held on March 20-21,
2003.
Full Story (comments: none)
Proposals are being accepted for the 2003 Linux Symposium, to be held
this summer in Ottawa, Canada.
"
We are now accepting proposals for Bird of a Feather Sessions,
Tutorials, and Working Group meetings at the 2003 Symposium."
Full Story (comments: none)
Use Perl
mentions that the YAPC::Israel::2003 conference has been moved
to a new location and date. The event will be held in Haifa, Israel
on May 11, 2003.
Comments (none posted)
| Date | Event | Location |
| March 12 - 19, 2003 | CeBIT 2003 | (Hannover exhibition center)Hannover, Germany |
| March 17 - 19, 2003 | Open Source for National and Local eGovernment Programs in the U.S. and EU | (The Marvin Center Grand Ballroom, George Washington University)Washington, DC |
| March 20 - 21, 2003 | First OpenOffice.org Conference(OOoCon2003) | (University of Hamburg)Hamburg, Germany |
| March 20 - 21, 2003 | Conference PHP 2003 | (École Polytechnique de Montréal)Montreal, Quebec, Canada |
| March 26 - 28, 2003 | PyCon DC 2003 | (George Washington University)Washington DC |
| March 29, 2003 | First Hungarian PHP Conference | Budapest, Hungary |
| March 31 - April 2, 2003 | 2nd USENIX Conference on File and Storage Technologies(FAST '03) | (Cathedral Hill Hotel)San Francisco, CA |
| April 2 - 3, 2003 | The UK Python Conference | (Holiday Inn Oxford)Oxford, England |
| April 10 - 12, 2003 | MySQL Users Conference & Expo 2003 | (Doubletree Hotel)San Jose, California |
| April 13 - 17, 2003 | RSA Conference 2003 | (Moscone Center)San Francisco, CA |
| April 14 - 15, 2003 | Samba eXPerience 2003 | (Hotel Freizeit)Göttingen, Germany |
| April 15 - 16, 2003 | LinuxUser & Developer Expo 2003 | Birmingham, UK |
| April 22 - 26, 2003 | Embedded Systems Conference(ESC) | (Moscone Convention Center)San Francisco, CA |
| April 22 - 25, 2003 | The O'Reilly Emerging Technology Conference | (Westin, Santa Clara)Santa Clara, CA |
| April 23 - 25, 2003 | PHPCon East 2003 | (Park Central Hotel)New York, NY |
| April 28 - 30, 2003 | Real World Linux 2003 | (Metro Toronto Convention Centre)Toronto, Canada |
Comments (none posted)
Web sites
KDE.News
reports on
the newly redesigned
KDE web site.
"
The KDE Web Team is proud to present a new and exciting
design for the
official KDE site! This is the first overhaul of the flagship homepage since
Kurt's vastly successful update more than two years ago. The KDE Web Team
has maintained a focus on standards-compliance as well as improved the
overall usability and accessibility of the site. Also featured prominently
is an overhaul of the content as well as the implementation of a whole new
design matching the shiny new Keramik/Crystal look from KDE 3.1."
Comments (none posted)
TechTarget has
announced the launch of SearchEnterpriseLinux.com, a new addition to
the TechTarget network of targeted Web sites focused on specific enterprise
IT segments. "
SearchEnterpriseLinux.com will serve the needs of IT
professionals charged with purchasing, implementing, and managing
Linux-based systems in large- and medium-sized businesses."
Comments (none posted)
Software announcements
Here are the software announcements, courtesy of
Freshmeat.net. They are available in
two formats:
Comments (none posted)
Miscellaneous
If you're short on Geek Fashion, the KDE Promo Team have made available
some
Embroidered KDE Shirts.
Comments (none posted)
Page editor: Forrest Cook