The GNU General Public License places strong requirements on anybody who
distributes code derived from GPL-licensed source: the derived code, too,
must be released under the GPL. The Linux kernel's license states
explicitly that programs running in user mode and making use of kernel
system calls are
not derived works, and may thus be proprietary.
The situation with loadable kernel modules has always been a little more
fuzzy, however. The legal status of proprietary Linux kernel modules may
heading toward a long-term resolution, however; the news may not be good
for vendors of such modules.
User-space programs run in a separate address space, in a different
processor mode, and communicate with the kernel via special instructions.
There is a clear boundary between the two. Loadable modules, however, are
linked into the kernel itself; they run in kernel mode, access the kernel
address space, and require (GPL-licensed) header files to build. For all
practical purposes, they look like part of the kernel itself, and thus
should perhaps be seen as derived works.
Linus Torvalds's longstanding policy - never actually written down
anywhere - has been that binary-only kernel modules were permissible
as long as they restricted themselves to the (never really defined) kernel
API. That has been interpreted to mean that modules which use only
explicitly exported symbols can be proprietary, and numerous such modules
have been shipped over the years. Linus is not the only copyright holder
on the Linux kernel, however, and quite a few other kernel developers have
been known to mumble that they had never agreed that their code
could be linked to proprietary modules.
This situation has thus always been a little unstable. It came up again in
recent times when Christoph Hellwig posted a
patch which explicitly made the Linux Security Module functionality
available only to modules licensed under the GPL. People were, says
Christoph, using the LSM hooks to change the behavior of system calls, and
that went further than he thought was appropriate. In a separate posting, Christoph stated:
My argument is that I want this flag as a hint for authors of
proprietary security modules that I'm going to sue them if they use
hooks called from code I have copyright on. This includes such
central parts as vfs_read/vfs_write.
This is, of course, an explicit shot across the bow of anybody who
distributes proprietary kernel modules. Linus, then, sent out his current view on binary-only
modules:
There is NOTHING in the kernel license that allows modules to be
non-GPL'd. The _only_ thing that allows for non-GPL modules is
copyright law, and in particular the "derived work" issue. A vendor
who distributes non-GPL modules is _not_ protected by the module
interface per se, and should feel very confident that they can show
in a court of law that the code is not derived.
This is a more restrictive view than has been seen in the past. Linus
would likely argue that his position has not changed, but he has not been
quite so clear before. One possible reason for a change in attitude
can be seen in another quote from the same posting:
The original binary-only modules were for things that were
pre-existing works of code, ie drivers and filesystems ported from
other operating systems, which thus could clearly be argued to not
be derived works, and the original limited export table also acted
somewhat as a barrier to show a level of distance.
What's different now? Certainly one relevant point is that far more kernel
functionality is exported to loadable modules. Proprietary modules, once,
didn't have the access to kernel internals that they have now. But there
may be a more important message here: years ago, binary-only modules were
useful
for bringing in capabilities that nobody had, yet, been able to write as
free software. As the kernel has developed, the role of this sort of
imported code has diminished.
In other words, we may be seeing a harder line against proprietary kernel
modules for the simple, pragmatic reason that we don't need them anymore.
Linux has evolved from a small, struggling system into one of the most
capable systems available. Proprietary module vendors now have little to
offer the kernel. Over the coming years, it would not be surprising to see
the policy on binary-only modules harden further, until one day they are
explicitly forbidden.
Comments (15 posted)
One might be forgiven for a certain sense of déja vù: a group of longtime
industry people, with names like Andy Hertzfeld, gets together with a pile
of money to redefine the desktop experience. The story is a little
different this time, so a quick look at the
Open Source Application Foundation
(OSAF) is worthwhile.
The OSAF has actually been operating since the summer of 2001, but it has
only recently made its existence known to the rest of the world. The
Foundation has been funded by Mitch Kapor, the founder of Lotus and a
co-founder of the Electronic Frontier Foundation; its mission is to
"Create and gain wide adoption of Open Source application software
of uncompromising quality."
The Foundation differs from the venture-funded exercises of the past few
years, however. It is a non-profit organization, funded by donations.
Thus far, it appears to be working mainly from a big donation from
Mr. Kapor; there is a donations
page for those who would like to add their support as well. The OSAF
thus looks more like the Free Software Foundation than a company like
Eazel, but there is no confusing the two. There appears to be no political
agenda to the OSAF's activities beyond the production of high-quality free
software. The Foundation also foresees ways of revenue generation
("fee-based license for proprietary developers who do not
redistribute source code, the fees fund our core development") that
the FSF would not approve of.
The first project is ambitious, the creation of an "interpersonal
information manager" which will handle email, calendars, contacts, etc. It
will be built on top of a number of established free software technologies:
Python, wxWindows, the Zope Object Database, Jabber, Mozilla, etc. The
calendar component, it is hoped, will be released by the end of the year.
The project is seen by many as an alternative to Outlook, though its
backers see it as something entirely new. Rather than try to clone
Outlook, the OSAF people want to try some different approaches. From a
design description posted by Mr. Kapor:
Recent open source groupware products & projects (Evolution,
Kroupware) use Outlook as the baseline for design and
functionality, an approach which benefits users by being familiar,
but doesn't take design risks which could have big pay-offs for
users in power and simplicity. We're trying to re-think the PIM in
fundamental ways and expect to be judged in terms of our success in
achieving that goal.
It is, frankly, a relief to see that the project is trying to do something
new, rather than chasing the taillights of proprietary application
vendors. As they say, we will have to see what they come up with to see if
they succeed, but the goal is right.
The days of high-flying companies using venture capital to take over the
world with a great new free software platform are done; the likes of Eazel
or Zelerate will not be seen again anytime soon. Much of the excess of the
dotcom boom will not be missed, but it would be nice if we could retain
some of the focused (and funded!) development that those companies
created. With luck, the OSAF will do that, at least for one piece of the
application space.
Comments (4 posted)
As of this writing, the LWN.net subscriber count has just passed 2100.
That's a far cry from our (near-term) goal of 4000, but the trend is in the
right direction. Many thanks to all of you who have subscribed, you have
gone a long way toward putting LWN on a solid financial foundation. For
the rest of you, will you consider
subscribing
now?
For those of you who took out monthly subscriptions: we are now one month
into the subscription experiment, so the first round of automatic billing
is beginning to happen. We have recently added a transaction list to the
"My Account" area; if you have bought a subscription from LWN you can see
a summary of all charges there. It is also possible to generate a
printable receipt should you need one.
We are continuing work on the site code to better support the subscription
features and our readers. Near-term plans include a gift certificate
capability and the integration of the text ad system into the main LWN
server. There have been a few requests for a stable (constant) link to the
most recent, freely available Weekly Edition; we will be hacking that one
up shortly. (Remember also that there is a mailing list available for
those who want to know when content becomes free; you can sign up in the
"My Account" area). Oh, yes, we haven't forgotten the search engine
problem either. Before too long, however, we want to start putting
less effort into site code hacking and more into providing the best content
we can.
For those of you wishing to pay with American Express: we have an AX
merchant account now, but the process of getting it connected up to our
credit card gateway is taking a little longer than we had hoped. With
luck, that will get sorted out soon.
That is where things stand for this week. Thanks to all of you for your
support.
Comments (11 posted)
Page editor: Jonathan Corbet
Security
Brief items
This article on
Linuxguru.net is worth a look. It describes the travails of a Linux user
who found that WINE can, perhaps, emulate Windows a little too well. By
way of KMail's MIME processing code and an integrated desktop, this user
fell victim to the KLEZ worm.
This is, of course, the sort of problem that Linux users are more inclined
to be smug about than worry about. After all, our mail readers
aren't vulnerable to all those bits of email-based malware that create such
trouble for users of that other, proprietary operating system. As this
example shows, however, life is not quite that easy. Linux users may not
be as invulnerable as they think; maybe we've just been lucky so far.
The problem here, of course, has nothing to do with WINE. Mail readers can
be configured to do all sorts of things with different kinds of
attachments. It is nice to be able to view those family pictures your
brother sent, or hear that audio clip, or, perhaps, even view that
closed-format document. But when we set up a mail reader to do that sort
of processing, we are trusting not only an external application, but also
the interaction between that application and the mail reader. Any sort of
vulnerability in an external application used by mail readers, and any kind
of misunderstanding between the mail reader and the application, can become
an open door for all kinds of nasty stuff.
Sooner or later, Linux users are going to get burned by this sort of
vulnerability. Our security may be better, but it's far from perfect;
eventually our luck will run out, somebody will code up an exploit, and a
number of Linux users will lose that smug smile. Meanwhile, be careful
with those email attachments.
Comments (9 posted)
New vulnerabilities
kernel: several security issues fixed
| Package(s): | kernel |
CVE #(s): | |
| Created: | October 22, 2002 |
Updated: | November 22, 2002 |
| Description: |
A number of security fixes have gone out for the 2.2 and 2.4 kernels. There are no known exploits at this time, but upgrading will make sense anyway. As always with kernel updates, read the distributor instructions carefully; there is usually more involved than just installing a new package. |
| Alerts: |
|
Comments (none posted)
mod_ssl: cross site scripting problem
| Package(s): | mod_ssl, libapache-mod-ssl |
CVE #(s): | CAN-2002-1157
|
| Created: | October 22, 2002 |
Updated: | December 12, 2002 |
| Description: |
Joe Orton discovered a cross site scripting problem in mod_ssl, an
Apache module that adds Strong cryptography (i.e. HTTPS support) to
the webserver. The module will return the server name unescaped in
the response to an HTTP request on an SSL port.
Like the other recent Apache XSS bugs, this only affects servers using
a combination of "UseCanonicalName off" and wildcard DNS. This is very
unlikely to happen, though. Apache 2.0/mod_ssl is not vulnerable since it
already escapes this HTML. |
| Alerts: |
|
Comments (none posted)
PAM: password validation error
| Package(s): | pam |
CVE #(s): | |
| Created: | October 23, 2002 |
Updated: | October 23, 2002 |
| Description: |
Paul Aurich and Samuele Giovanni Tonon discovered a serious security
violation in PAM. Disabled passwords (i.e. those with '*' in the
password file) are treated as if they were empty and access to such
accounts is granted through the regular login procedure (getty,
telnet, ssh). This works for all such accounts whose shell field in
the password file does not refer to /bin/false. Only version 0.76 of
PAM seems to be affected by this problem. |
| Alerts: |
|
Comments (none posted)
ypserv: NIS information leak
| Package(s): | nis, ypserv |
CVE #(s): | CAN-2002-1232
|
| Created: | October 21, 2002 |
Updated: | December 5, 2002 |
| Description: |
Thorsten Kukuck discovered a problem in the ypserv program which is
part of the Network Information Services (NIS). A memory leak in all
versions of ypserv prior to 2.5 is remotely exploitable. When a
malicious user could request a non-existing map the server will leak
parts of an old domainname and mapname. |
| Alerts: |
|
Comments (none posted)
Updated vulnerabilities
Apache shared memory scoreboard vulnerabilities
| Package(s): | apache |
CVE #(s): | CAN-2002-0839
|
| Created: | October 9, 2002 |
Updated: | December 18, 2002 |
| Description: |
Versions of Apache prior to 1.3.27 contain a couple of scoreboard-related
vulnerabilities which can be exploited by local users running under the
Apache user ID. In-server scripting languages, such as PHP, are the most
likely means of carrying out the attacks. One vulnerability causes the
server to fork off new processes, leading to denial of service scenarios;
the other allows an attacker to send SIGUSR1 to any process as root,
probably killing that process. See this
iDEFENSE advisory for the details. |
| Alerts: |
|
Comments (3 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)
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)
Potential unauthorized root access vulnerability in dietlibc
| Package(s): | dietlibc |
CVE #(s): | CAN-2002-0391
|
| Created: | August 14, 2002 |
Updated: | December 5, 2002 |
| Description: |
Felix von Leitner, discovered a
potential division by zero bug in
code derived from the SunRPC library with is used in
dietlibc, a libc optimized for small size.
The bug could be exploited to gain unauthorized root
access to software linking to dietlibc.
CERT/CC Vulnerability Note VU#192995 Integer
overflow in xdr_array() function when deserializing the XDR stream |
| 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)
Ethereal buffer overflow, infinite loop and memory management vulnerabilities
| Package(s): | ethereal |
CVE #(s): | CAN-2002-0012
CAN-2002-0013
CAN-2002-0353
CAN-2002-0401
CAN-2002-0402
CAN-2002-0403
CAN-2002-0404
|
| Created: | June 12, 2002 |
Updated: | October 27, 2002 |
| Description: |
Ethereal 0.9.4
was released
on May 19, 2002 fixing four potential security issues in Ethereal 0.9.3:
- The SMB dissector could potentially dereference a NULL pointer in two cases.
- The X11 dissector could potentially overflow a buffer while parsing keysyms.
- The DNS dissector could go into an infinite loop while reading a malformed packet.
- The GIOP dissector could potentially allocate large amounts of memory.
No known exploits exist "in the wild" at the present time for any of these issues.
Ethereal 0.9.2 has several packet handling vulnerabilities
that are best avoided by upgrading to 0.9.4.
The PROTOS test
suite found some flaws in SNMP and LDAP protocols support.
Malformed packets could also crash ethereal 0.9.2 due to a
ASN.1 zero-length g_malloc problem.
The zlib "double free" vulnerability
was addressed by the updates for that bug from many distributors. |
| 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)
Another set of fetchmail buffer overflows
| Package(s): | fetchmail fetchmail-ssl |
CVE #(s): | |
| Created: | October 1, 2002 |
Updated: | December 17, 2002 |
| Description: |
e-matters GmbH has issued an advisory
warning of a new set of buffer overflows in the fetchmail header parsing
code. The vulnerabilities have been fixed in fetchmail 6.1.0. |
| Alerts: |
|
Comments (none 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)
Buffer overflow in groff
| Package(s): | groff |
CVE #(s): | CAN-2002-0003
|
| Created: | May 21, 2002 |
Updated: | December 9, 2002 |
| Description: |
The groff package has a buffer overflow
vulnerability; if it is used with the print system, it is conceivably
exploitable remotely.
|
| Alerts: |
|
Comments (none posted)
Buffer overflow in gv
| Package(s): | gv |
CVE #(s): | CAN-2002-0838
|
| Created: | October 1, 2002 |
Updated: | November 25, 2002 |
| Description: |
gv, a graphical front end to ghostscript, has a buffer overflow
vulnerability which can be exploited by a properly crafted PostScript or
PDF file. If a user can be tricked into viewing such a file, arbitrary
code can be executed with that user's privileges. See this iDEFENSE advisory for the details. |
| Alerts: |
|
Comments (none posted)
heartbeat: remotely exploitable buffer overflow
| Package(s): | heartbeat |
CVE #(s): | |
| Created: | October 16, 2002 |
Updated: | November 6, 2002 |
| Description: |
The heartbeat failover system has a remotely exploitable buffer overflow
vulnerability; versions prior to 0.4.9e and 0.4.9.2 are affected. Any
system that is worth running heartbeat on is worth upgrading. See the advisory for the details. |
| Alerts: |
|
Comments (none posted)
Buffer overflows in heimdal
| Package(s): | heimdal |
CVE #(s): | |
| Created: | October 1, 2002 |
Updated: | October 17, 2002 |
| Description: |
A SuSE security team audit of the heimdal Kerberos implementation turned up sever buffer overflow vulnerabilities. No exploits are known as of this writing, but these vulnerabilities are almost certainly possible for a remote attacker to exploit; if you are running heimdal, you should upgrade at the first opportunity. |
| Alerts: |
|
Comments (none posted)
UW imapd remotely exploitable buffer overflow
| Package(s): | imap |
CVE #(s): | CAN-2002-0379
|
| Created: | June 5, 2002 |
Updated: | December 20, 2002 |
| Description: |
UW imapd versions 2000c and prior allow remote authenticated users to execute code via a buffer overflow. A malicious user can craft
a request to run commands on the server under their UID and GID.
(First LWN report: May 23). |
| Alerts: |
|
Comments (2 posted)
Cross-site scripting vulnerability in Konqueror for KDE 3.0.3
| Package(s): | kdelibs |
CVE #(s): | |
| Created: | September 17, 2002 |
Updated: | November 18, 2002 |
| Description: |
Konqueror for KDE 3.0.3, and earlier versions, is subject to
this cross-site
scripting vulnerability.
Since the problem is in kdelibs, any other application which
uses the KHTML renderer is also vulnerable.
Javascript code running in one frame can
access other frames which should be inaccessible. The problem is
fixed in kdelibs 3.0.3a. |
| Alerts: |
|
Comments (2 posted)
Kerberos 5 unauthorized root access to KDC host vulnerability
| Package(s): | krb5 |
CVE #(s): | |
| Created: | August 14, 2002 |
Updated: | October 29, 2002 |
| Description: |
A bug in the Kerberos 5 remote
administration service, "kadmind", could be
exploited to gain unauthorized root access to a KDC host.
It is believed that the attacker needs to be able to
authenticate to the kadmin daemon for this attack to be successful.
Felix von Leitner, discovered this
potential division by zero bug in
code derived from the SunRPC library which is used
in many places, including the Kerberos 5 administration system.
Updating now is recommended.
CERT/CC Vulnerability Note VU#192995 Integer
overflow in xdr_array() function when deserializing the XDR stream
|
| Alerts: |
|
Comments (none posted)
LPRng accepts jobs from any host.
| Package(s): | LPRng |
CVE #(s): | CAN-2002-0378
|
| Created: | June 12, 2002 |
Updated: | October 31, 2002 |
| Description: |
Matthew Caron pointed out that LPRng's default configuration accepts job submissions from any host.
This could be an especially annoying vulnerability for adminstrators
with systems exposed to the general public.
|
| Alerts: |
|
Comments (none posted)
Cross-site scripting vulnerability in mhonarc
| Package(s): | mhonarc |
CVE #(s): | CAN-2002-0738
CAN-2002-1307
CAN-2002-1388
|
| Created: | September 11, 2002 |
Updated: | January 3, 2003 |
| Description: |
Mhonarc is an HTML formatter for electronic mail; it can be vulnerable to cross-site scripting problems when presented with maliciously crafted messages. This problem is fixed in mhonarc version 2.5.3, but it is not clear that all possible vulnerabilities have been fixed. See the Debian advisory below for information on how to disable text/html attachment support in mhonarc, which may be a more secure solution. |
| Alerts: |
|
Comments (none posted)
PHP Remote Compromise/DOS Vulnerability
| Package(s): | mod_php4 |
CVE #(s): | |
| Created: | July 22, 2002 |
Updated: | February 18, 2003 |
| Description: |
PHP 4.2.0 and 4.2.1 have an error in the handling of POST requests which
can lead to the corruption of memory, and the usual bad consequences. According to this alert, the vulnerability can only be used for denial of service on x86 systems - there is no way to get it to run exploit code. SPARC/Solaris systems are apparently vulnerable to full remote compromise.
According to the CERT Advisory,
almost every Linux distributor, it seems, ships older (and thus not vulnerable) versions of PHP.
Note that, sometimes, systems thought to be safe from remote compromise turn out to be vulnerable to a modified attack, so x86 users should not relax too much. The solution, for those systems with PHP
4.2.0 or 4.2.1 installed,
is to upgrade to PHP 4.2.2.
For more information see the alert from
the discover of the vulnerability, Stefan Esser of e-matters GmbH,
or the security
advisory from the php team.
CERT Advisory: CA-2002-21 Vulnerability in PHP |
| Alerts: |
|
Comments (1 posted)
Mozilla XMLHttpRequest file disclosure vulnerability
| Package(s): | mozilla |
CVE #(s): | CAN-2002-0354
|
| Created: | May 21, 2002 |
Updated: | October 18, 2002 |
| Description: |
This XMLHttpRequest security
bug impacts all Mozilla-based browsers. "The bug is found in versions of
Mozilla from 0.9.7 to 0.9.9 on various operating
system platforms, and in Netscape versions 6.1 and
higher."
(First LWN
report: May 2).
|
| Alerts: |
|
Comments (none posted)
Buffer overflow in nss_ldap
| Package(s): | nss_ldap |
CVE #(s): | CAN-2002-0825
CAN-2002-0374
|
| Created: | October 9, 2002 |
Updated: | December 11, 2002 |
| Description: |
The nss_ldap package has a buffer overflow which can be exploited when the
module configures itself from information in DNS. The problem is fixed in
nss_ldap-199 and later. |
| Alerts: |
|
Comments (none posted)
String format bug in pam_ldap logging
| Package(s): | nss_ldap |
CVE #(s): | CAN-2002-0374
|
| Created: | June 5, 2002 |
Updated: | October 29, 2002 |
| Description: |
The nss_ldap package includes the pam_ldap module for
authenticating a user with an LDAP database.
Pam_ldap versions prior to 144 have a string format
bug in the logging mechanism. |
| Alerts: |
|
Comments (none posted)
Remotely exploitable vulnerability in pine
| Package(s): | pine |
CVE #(s): | CAN-2002-0014
|
| Created: | May 21, 2002 |
Updated: | November 27, 2002 |
| Description: |
Pine has an
unpleasant
vulnerability in URL handling vulnerability which can lead to
command execution by remote attackers.
(First LWN report: January 17th).
This vulnerability is remotely exploitable; updating is a good idea.
Note: If an update isn't yet available for your distribution,
setting enable-msg-view-urls to "off" in pine's setup will
avoid the vulnerability. (Thanks to Greg Herlein).
|
| Alerts: |
|
Comments (none posted)
Buffer overflow vulnerabilities in PostgreSQL
| Package(s): | PostgreSQL |
CVE #(s): | |
| Created: | August 21, 2002 |
Updated: | January 27, 2003 |
| Description: |
PostgreSQL 7.2.2 has been released in response to a number of buffer
overrun vulnerabilities which have been identified recently. "...it
should be noted that these vulnerabilities are only critical on 'open' or
'shared' systems, as they require the ability to be able to connect to the
database before they can be exploited."
Buffer overflow vulnerabilities fixed include those reported by
"Sir Mordred The Traitor" in the cash_words,
repeat, and lpad
and rpad functions. |
| Alerts: |
|
Comments (none posted)
PXE server denial of service vulnerability
| Package(s): | pxe |
CVE #(s): | CAN-2002-0835
|
| Created: | September 4, 2002 |
Updated: | November 11, 2002 |
| Description: |
The PXE server can be crashed using DHCP packets from
some Voice Over IP (VOIP) phones. Maliciously formed
DHCP packets could be used by a remote attacker to effect a
denial of service attack.
The PXE package contains the PXE (Preboot eXecution Environment)
server and code needed for Linux to boot from a boot disk image on a
Linux PXE server.
|
| Alerts: |
|
Comments (none 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)
sendmail smrsh bypass vulnerability
| Package(s): | sendmail |
CVE #(s): | CAN-2002-1165
|
| Created: | October 2, 2002 |
Updated: | November 29, 2002 |
| Description: |
iDEFENSE has posted an advisory warning of a
couple of ways of bypassing the restrictions imposed by the sendmail
"smrsh" utility. smrsh puts limits on which programs a user may run out of
a .forward file; this vulnerability could give a local user
undesired access to the mail server system. A patch has
been made available from sendmail.org which closes the vulnerability. |
| Alerts: |
|
Comments (none posted)
Sharutils potential privilege escalation using uudecode
| Package(s): | sharutils |
CVE #(s): | CAN-2002-0178
|
| Created: | May 21, 2002 |
Updated: | October 31, 2002 |
| Description: |
According to the CVE entry,
"uudecode, as available in the sharutils package before 4.2.1, does not
check whether the filename of the uudecoded file is a pipe or symbolic
link, which could allow attackers to overwrite files or execute commands."
(First LWN
report: May 16).
|
| Alerts: |
|
Comments (none posted)
Multiple vulnerabilities fixed in Squid-2.4.STABLE7
| Package(s): | squid |
CVE #(s): | |
| Created: | July 8, 2002 |
Updated: | November 15, 2002 |
| Description: |
Here is the security advisory for the Squid proxy server reporting several vulnerabilities in versions up to and including 2.4.STABLE7.
Several of the bugs are believed to allow remote code execution.
The security advisory lists the following
changes:
- Several bugfixes and cleanup of the Gopher client, both
to correct some security issues and to make Squid properly
render certain Gopher menus.
- Security fixes in how Squid parses FTP directory listings into
HTML
- FTP data channels are now sanity checked to match the address
of the requested FTP server. This to prevent theft or injection
of data. See the new ftp_sanitycheck directive if this sanity
check is not desired.
- The MSNT auth helper has been updated to v2.0.3+fixes for
buffer overflow security issues found in this helper.
- A security issue in how Squid forwards proxy authentication
credentials has been fixed
|
| Alerts: |
|
Comments (none posted)
squirrelmail: cross-site scripting vulnerability
| Package(s): | squirrelmail |
CVE #(s): | CAN-2002-1131
CAN-2002-1132
|
| Created: | October 16, 2002 |
Updated: | January 2, 2003 |
| Description: |
The Squirrelmail web mail package has a cross-site scriptinog vulnerability; versions 1.2.7 and prior are affected. See the advisory for details. |
| Alerts: |
|
Comments (none posted)
syslog-ng: buffer overflow vulnerability
| Package(s): | syslog-ng |
CVE #(s): | |
| Created: | October 16, 2002 |
Updated: | November 14, 2002 |
| Description: |
Versions 1.4.15 and 1.5.20 (and prior) of the syslog-ng system logging package have a remotely exploitable buffer overflow vulnerability; 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)
Tomcat 4.x JSP source code exposure vulnerability
| Package(s): | tomcat |
CVE #(s): | |
| Created: | September 25, 2002 |
Updated: | January 29, 2003 |
| Description: |
Rossen Raykov reports that Tomcat 4.0.5 and 4.1.12 fix a JSP source code exposure vulnerability
in "Tomcat 4.0.4 and 4.1.10 (probably all other earlier versions also).".
The current version of Tomcat is available here.
|
| Alerts: |
|
Comments (none posted)
Local root vulnerability in chfn
| Package(s): | util-linux |
CVE #(s): | CAN-2002-0638
|
| Created: | July 30, 2002 |
Updated: | October 31, 2002 |
| Description: |
chfn (change finger information) is one of the utilities in
the util-linux package.
The BindView RAZOR Team has discovered a local root vulnerability
in chfn which is described in the Bindview Advisory.
Under certain conditions, "a
carefully crafted attack sequence can be performed to exploit a
complex file locking and modification race present in this utility,
and, as a result, alter /etc/passwd to escalate privileges in the
system." The conditions include a password file, /etc/passwd, over 4 kilobytes and locating the attacker's account record in any
but the last 4 kB chunk of the file.
CERT/CC Vulnerability Note VU#405955 util-linux package vulnerable to privilege escalation when "ptmptmp" file is not removed properly when using "chfn" utility |
| Alerts: |
|
Comments (none posted)
webalizer: reverse DNS buffer overflow vulnerability
| Package(s): | webalizer |
CVE #(s): | |
| Created: | May 21, 2002 |
Updated: | January 27, 2003 |
| Description: |
The cause is a buffer overflow bug.
This one sounds nasty.
If reverse DNS lookups are enabled in webalizer,
"an attacker with control over the victims DNS may spoof responses thus
triggering a buffer overflow, potentially leading to a root compromise."
Webalizer 2.01-10 "fixes this and a few
other buglets that have been discovered in the last month or so".
(First LWN report: April 18th, 2002).
|
| Alerts: |
|
Comments (none posted)
Webmin/Usermin vulnerabilities
| Package(s): | webmin |
CVE #(s): | |
| Created: | May 21, 2002 |
Updated: | January 10, 2003 |
| Description: |
Webmin is a web-based interface for
system administration for Unix.
Webmin has cross-site scripting and
session ID spoofing vulnerabilities
which are fixed in the May 6, 2002 release of version 0.970.
(First LWN
report: May 9).
This one is scary. The session ID
spoofing vulnerability allows the "possibility that arbitrary
commands may be executed with root privileges."
Upgrading is strongly recommended. At a minimum avoid the
"preconditions for a successful exploit" by disabling
password timeouts under Webmin->Configuration->Authentication.
|
| Alerts: |
|
Comments (1 posted)
Multiple vulnerabilities in wordtrans
| Package(s): | wordtrans |
CVE #(s): | CAN-2002-0837
|
| Created: | September 11, 2002 |
Updated: | February 4, 2003 |
| Description: |
The "wordtrans" interface to multilingual dictionaries suffers from input validation and cross-site scripting vulnerabilities; versions through 1.1pre8 are vulnerable. See this Guardent advisory for details. |
| 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)
Local privilege escalation vulnerability in XFree86
| Package(s): | xf86 xfree86 |
CVE #(s): | |
| Created: | September 18, 2002 |
Updated: | October 27, 2002 |
| Description: |
XFree86 version 4.2.1 fixes a problem in
Xlib that made it possible to execute arbitrary code in privileged clients.
Other libraries are dynamically loaded by libX11.so as needed.
When linking against a setuid program, arbitrary code
could be loaded and executed from a pathname controlled by the user.
|
| Alerts: |
|
Comments (none posted)
Denial of service vulnerability in xinetd
| Package(s): | xinetd |
CVE #(s): | |
| Created: | August 14, 2002 |
Updated: | December 3, 2002 |
| Description: |
A file descriptor leak into services started from xinetd
may be used, by programs it stats, to crash xinetd.
Xinetd is a replacement for the BSD derived inetd. |
| Alerts: |
|
Comments (none posted)
Resources
The October 21 Linux Security Week newsletter from LinuxSecurity.com is
available.
Full Story (comments: none)
The second edition of the LinuxSecurity Brasil Magazine is now available
online; click below for the details.
Full Story (comments: none)
Cameron Laird
looks
at security on a Linux server in this IBM developerWorks article.
"
It's certainly possible to rely on /etc/passwd. It's been patched
and tweaked enough to handle surprising workloads. It shouldn't have to,
though. If you move user accounts into a dedicated datastore, such as an
LDAP (lightweight directory access protocol) or even an RDBMS (relational
database management system) datastore, you gain advantages in scalability,
security, and maintenance. Restrict /etc/passwd to the few developers and
administrators who truly need logins."
Comments (none posted)
Page editor: Jonathan Corbet
Kernel development
Brief items
The current development kernel is 2.5.44, which was
released by Linus on October 18.
This one contains more
read-copy-update work, lots of filesystem and block driver patches from
Alexander Viro, a PowerPC64 update, the x86 BIOS enhanced disk drive patch,
some SCSI work, a lot of device model patches, and many other fixes and
updates. See
the long-format changelog for all the details.
After releasing 2.5.44, Linus headed off to cruise in the Caribbean; thus,
there are no new changes in his BitKeeper tree, and there will be no more
official development kernel releases until after the 27th.
The current development kernel prepatch from Alan Cox is 2.5.44-ac2. This one makes some more
wide-ranging changes, including the incorporation of interrupt stack
support, an updated LVM2, and numerous other fixes and updates.
The current 2.5 Kernel Status Summary from
Guillaume Boissiere is dated October 23.
The current stable kernel is 2.4.19; no 2.4.20 prepatches have been
released in the last week.
Comments (none posted)
Kernel development news
Linus is spending the week cruising through the Caribbean; when he returns,
just a few days will remain before the Halloween feature freeze date.
There has been a lively discussion of the patches which will be waiting for
him when he gets back. Rob Landley has compiled
a list of 2.5 merge candidates based on those
discussions. The list is a good summary of what's still waiting in the
wings, but it assumes the reader understands what the various
patches are. So here's an annotated version:
- The new kernel configuration system. The new configuration
code has been generally well received; even the Qt-based graphical
configuration tool hasn't drawn a lot of complaints. Merging seems
likely, perhaps without the graphical tools, which, Linus thinks,
might be better off outside the kernel. (Covered here October 10).
- Extended attributes and ACLs for ext2 and ext3. Ted Ts'o has
taken on the work of fixing up and submitting this patch set. There
has been some concern, based on Red Hat's having evidently pulled the
ACL patches from their 8.0 kernel during the beta stage. But it would
be surprising if this patch did not get in in some form; access
control lists are a fairly basic requirement for a lot of users. Some
Linux filesystems (JFS, XFS) already support ACLs.
- Linux Trace Toolkit. LTT is a general tool for the tracing of
events in a Linux system, in both user and kernel space. It's not
clear whether this one will get in; not everybody is convinced that
this patch needs to be in the mainline kernel. (Covered briefly on April 18).
- LVM2 and/or EVMS. The 2.5 kernel currently lacks a working
logical volume manager, but there is little consensus on which of
these two developments should fill that gap. It is possible (though
unlikely) that the next stable kernel could ship without any volume
manager at all. (Covered here last
week).
- Shared page tables. This patch, originally by Daniel Phillips,
has since been picked up by Dave McCracken and fixed up for
inclusion. Shared page tables have a couple of benefits: they reduce
the time taken by the fork() system call (since page tables
and rmap structures need not be copied), and they reduce page table
overhead for systems (i.e. databases) using very large shared
segments. The patch has been slow to stabilize, and may appear too
risky for inclusion at this late date, but one never knows. (Covered
back in January).
- Large page support is another way of reducing overhead for
very large shared segments. A large page patch went into the kernel a
little while back (covered August 10), but it is difficult for
applications to use and does not work with shared segments, which is
where people really want this capability. A number of patches
currently exist in Andrew Morton's "-mm" tree which address these
problems.
- Dynamic probes/KProbes. This patch allows the placement of
debugger-style breakpoints at arbitrary locations within the kernel.
There is some pressure to get this one merged, but Linus has not taken
it so far.
- High-resolution timers. This longstanding patch by George
Anzinger implements the POSIX
timers specification. There are some concerns about how this
patch is implemented, and recently an
alternative version of the patch has surfaced. There is demand
for this capability; with luck some version of the patch will get in.
- Linux Kernel Crash Dumps. This is another patch which has been
around for a long time; it allows the creation of a full dump of the
kernel's state when it crashes. The purpose, of course, is to enable
vendors to debug crashes remotely. (First LWN mention: November 18, 1999).
- Console layer rewrite. This is mostly a massive cleanup
project which is getting a lot of the ancient cruft out of the console
layer while adding some new features. Parts of this work have just been finished recently.
- kexec. This relatively new patch adds a kexec()
system call that allows booting another kernel directly from Linux.
With this patch, one can reboot (possibly into another operating
system) without having to go through the whole BIOS startup routine
again. This patch is quite new and has some open issues; it may be a
better candidate for the next development series.
- USAGI IPv6. The USAGI project has been working in improved
IPv6 support for some time, and has released a comprehensive set of
patches. The word from David Miller,
however, is that the networking developers want to take a different
direction for IPv6 support (and CryptoAPI and IPSec as well).
"We will be incorporating lots of ideas and small code pieces
from USAGI's work, but most of the core engine will be a new
implementation." They intend to have this work complete and
ready for merging by Linus's return. That will be a big pile of new
code, however, that few people have seen.
- uClinux. This is the classic patch for running Linux on
systems with no memory management unit. It has recently been ported
forward to 2.5 and proposed for submission; Alan Cox has merged it
into his tree. New architectures are usually not that hard to get in,
and there has not been much opposition to this one.
- sys_epoll. This is the new incarnation of the
/dev/epoll patch, which seeks to make a faster, more scalable
poll() interface. The patch has been reworked into system
call form now, and might just get past Linus this time.
- New CD burning patch. This brand-new patch from Jens Axboe
(finally) allows the use of DMA operations when burning CDs. It also
turns burning into a zero-copy operation. The result should be
faster, more reliable CD writing. (Patch posted on October 23).
- In-kernel module loader. Rusty Russell's in-kernel module
loader patch is advertised as being safer and more capable than the
old, user-space implementation while simultaneously requiring less
kernel code. (Covered here September 26).
- Boot/module parameter rework. This patch made Rob's list,
but there has been little work in this area recently. Many of the
ideas from this work have been folded into the device model code.
(Covered here in June as part of the
Kernel Summit writeup).
- Hotplug CPU. This is another Rusty Russell patch which has
been around for a while. It seems to work, but has few users - most
of us don't pull processors out of running systems. Its application,
of course, is for high-availability systems and such.
- The unlimited groups patch. This is a recent patch which would
allow the kernel to support very large numbers of groups - the
developers have tested it with 10,000 at a time.
- Initramfs. This patch allows a disk image to be appended
directly to the kernel executable; it would then contain much of the
bootstrap code that is now found in the kernel itself. This patch
reduces the size of the kernel itself while making it far easier for
users to customize the early bootstrap process; it could be especially
useful for embedded systems. Much of this code has been ready for
some time; it has mostly been a matter of getting the user-space side
of things into shape. (Covered here August, 2001 and January, 2002).
- ReiserFS 4. This is a completely new version of the Reiser
filesystem; almost nobody has seen it, but it is supposed to show up
shortly in condition for merging.
- A larger dev_t. Supporting larger numbers of devices was high
on the list of things to do before the 2.5 series even started, but
the enlargement of the dev_t type still has not happened.
This one is on Alexander Viro's plate; he has been pushing through
other changes (in the block layer, mostly) that are prerequisites to
the dev_t change. (Covered here December, 2001).
That, of course, is a rather lengthy list. Much of this stuff is clearly
not going to get in to the 2.5 kernel - at least, not if the feature freeze
holds as intended. At this point, it's mostly a matter of waiting until
Linus returns and seeing what he decides to do.
Comments (6 posted)
Linus and numerous other kernel developers dislike the
ioctl()
system call, seeing it as an uncontrolled way of adding new system calls to
the kernel. Putting new files into
/proc is also discouraged,
since that area is seen as being a bit of a mess. Developers who populate
their code with
ioctl() implementations or
/proc files
are often encouraged to create a standalone virtual filesystem instead.
Filesystems make the interface explicit and visible in user space; they
also make it easier to write scripts which perform administrative
functions. But the writing of a Linux filesystem can be an intimidating
task. A developer who has spent some time just getting up to speed on the
driver interface can be forgiven for balking at having to learn the VFS API
as well.
The 2.6 kernel, as of the 2.5.7 release, contains a set of routines called
"libfs" which is designed to make the task of writing virtual filesystems
easier. libfs handles many of the mundane tasks of implementing the Linux
filesystem API, allowing non-filesystem developers to concentrate (mostly)
on the specific functionality they want to provide. What it lacks,
however, is documentation. Your author decided to take a little time away
from subscription management code to play a bit with libfs; the following
describes the basics of how to use this facility.
The task I undertook was not particularly ambitious: export a simple
filesystem (of type "lwnfs") full of counter files. Reading one of these
files yields the current value of the counter, which is then incremented.
This leads to the following sort of exciting interaction:
# cat /lwnfs/counter
0
# cat /lwnfs/counter
1
# ...
Your author was able to amuse himself well into the thousands this way;
some users may tire of this game sooner, however. The impatient can get to
higher values more quickly by writing to the counter file:
# echo 1000 > /lwnfs/counter
# cat /lwnfs/counter
1000
#
OK, so it's not going to be at the top of the list
of things for Linus to merge once he returns, tanned, rested, and ready,
from his Caribbean cruise, but it's OK
as a way of showing the simplest possible filesystem. Numerous code
samples will be shown below; the full module is also available on this page.
Initialization and superblock setup
So let's get started.
A loadable module which implements a filesystem must, at load time,
register that filesystem with the VFS layer. The lwnfs module
initialization code is simple:
static int __init lfs_init(void)
{
return register_filesystem(&lfs_type);
}
module_init(lfs_init);
The lfs_type argument is a structure which is set up as follows:
static struct file_system_type lfs_type = {
.owner = THIS_MODULE,
.name = "lwnfs",
.get_sb = lfs_get_super,
.kill_sb = kill_litter_super,
};
This is the basic data structure which describes a filesystem time to the
kernel; it is declared in <linux/fs.h>. The owner
field is used to manage the module's reference count, preventing unloading
of the module while the filesystem code is in use. The name is
what eventually ends up on a mount command line in user space.
Then there are two functions for managing the filesystem's superblock - the
root of the filesystem data structure. kill_litter_super() is a
generic function provided by the VFS; it simply cleans up all of the
in-core structures when the filesystem is unmounted; authors of simple
virtual filesystems need not worry about this aspect of things. (It
is necessary to unregister the filesystem at unload time, of course;
see the source for the lwnfs exit function).
The creation of the superblock must be done by the filesystem
programmer. The task has gotten simpler, but still involves a bit of
boilerplate code. In this case, lfs_get_super() hands off the task
as follows:
static struct super_block *lfs_get_super(struct file_system_type *fst,
int flags, const char *devname, void *data)
{
return get_sb_single(fst, flags, data, lfs_fill_super);
}
Once again, get_sb_single() is generic code which handles much of
the superblock creation task. But it will call lfs_fill_super(),
which performs setup specific to our particular little filesystem. It's
prototype is:
static int lfs_fill_super (struct super_block *sb, void *data, int silent);
The in-construction superblock is passed in, along with a couple of other
arguments that we can ignore. We do have to fill in some of the superblock
fields, though. The code starts out like this:
sb->s_blocksize = PAGE_CACHE_SIZE;
sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
sb->s_magic = LFS_MAGIC;
sb->s_op = &lfs_s_ops;
All virtual filesystem implementations have something that looks like this;
it's just setting up the block size of the filesystem, a "magic number" to
recognize superblocks by, and the superblock operations. These operations
need not be written for a simple virtual filesystem - libfs has the stuff
that is needed. So lfs_s_ops is defined (at the top file level) as:
static struct super_operations lfs_s_ops = {
.statfs = simple_statfs,
.drop_inode = generic_delete_inode,
};
Creating the root directory
Getting back into
lfs_fill_super(), our big remaining task
is to create and populate the root directory for our new filesystem. The
first step is to create the inode for the directory:
root = lfs_make_inode(sb, S_IFDIR | 0755);
if (! root)
goto out;
root->i_op = &simple_dir_inode_operations;
root->i_fop = &simple_dir_operations;
lfs_make_inode() is a boilerplate function that we will look at
eventually; for now, just assume that it returns a new, initialized inode
that we can use. It needs the superblock and a mode argument,
which is just like the mode value returned by the stat() system
call. Since we passed S_IFDIR, the
returned inode will describe a directory. The file and directory
operations that we assign to this inode are, again, taken from libfs.
This directory inode must be put into
the directory cache (by way of a "dentry" structure)
so that the VFS can find it; that is done as follows:
root_dentry = d_alloc_root(root);
if (! root_dentry)
goto out_iput;
sb->s_root = root_dentry;
Creating files
The superblock now has a fully initialized root directory. All of the
actual directory operations will be handled by libfs and the VFS layer, so
life is easy.
What libfs cannot do, however, is actually put anything of interest into
that root directory – that's our job. So the final thing that
lfs_fill_super() does before returning is to call:
lfs_create_files(sb, root_dentry);
In our sample module, lfs_create_files() creates one counter file
in the root directory of the filesystem, and another in a subdirectory.
We'll look mostly at the root-level file.
The counters are implemented as atomic_t
variables; our top-level counter (called, with great imagination,
"counter") is set up as follows:
static atomic_t counter;
static void lfs_create_files (struct super_block *sb, struct dentry *root)
{
/* ... */
atomic_set(&counter, 0);
lfs_create_file(sb, root, "counter", &counter);
/* ... */
}
lfs_create_file does the real work of making a file in a
directory. It has been made about as simple as possible, but there are
still a few steps to be performed. The function starts out as:
static struct dentry *lfs_create_file (struct super_block *sb,
struct dentry *dir, const char *name,
atomic_t *counter)
{
struct dentry *dentry;
struct inode *inode;
struct qstr qname;
Arguments include the usual superblock structure, and dir, the
dentry for the directory that will contain this file. In this case,
dir will be the root directory we created before, but it could be
any directory within the filesystem.
Our first task is to create a directory entry for the new file:
qname.name = name;
qname.len = strlen (name);
qname.hash = full_name_hash(name, qname.len);
dentry = d_alloc(dir, &qname);
The setting up of qname just hashes the filename so that it can be
found quickly in the dentry cache. Once that's done, we create the entry
within our parent dir. The file also needs an inode, which we
create as follows:
inode = lfs_make_inode(sb, S_IFREG | 0644);
if (! inode)
goto out_dput;
inode->i_fop = &lfs_file_ops;
inode->u.generic_ip = counter;
Once again, we call lfs_make_inode (which we will look at shortly,
honest), but this time we use it to create a regular file. The key to the
creation of special-purpose files in virtual filesystems is to be found in
the other two assignments:
- The i_fop field is set up with our file operations which will
actually implement reads and writes on the counter.
- We use the u.generic_ip pointer in the inode to stash aside a
pointer to the atomic_t counter associated with this file.
In other words, i_fop defines the behavior of this particular
file, and u.generic_ip is the file-specific data. All virtual
filesystems of interest will make use of these two fields to set up the
required behavior.
The last step in creating a file is to add it to the dentry cache:
d_add(dentry, inode);
return dentry;
Putting the inode into the dentry cache allows the VFS to find the file
without having to consult our filesystem's directory operations. And that,
in turn, means our filesystem does not need to have any directory
operations of interest. The entire structure of our virtual filesystem
lives in the kernel's cache structure, so our module need not remember the
structure of the filesystem it has set up, and it need not implement a
lookup operation. Needless to say, that makes life easier.
Inode creation
Before we get into the actual implementation of the counters, it's time to
look at
lfs_make_inode(). The function is pure boilerplate; it
looks like:
static struct inode *lfs_make_inode(struct super_block *sb, int mode)
{
struct inode *ret = new_inode(sb);
if (ret) {
ret->i_mode = mode;
ret->i_uid = ret->i_gid = 0;
ret->i_blksize = PAGE_CACHE_SIZE;
ret->i_blocks = 0;
ret->i_atime = ret->i_mtime = ret->i_ctime = CURRENT_TIME;
}
return ret;
}
It simply allocates a new inode structure, and fills it in with values that
make sense for a virtual file. The assignment of mode is of
interest; the resulting inode will be a regular file or a directory (or
something else) depending on how mode was passed in.
Implementing file operations
Up to this point, we have seen very little that actually makes the counter
files work; it's all been VFS boilerplate so that we have a little
filesystem to put those counters into. Now the time has come to see how
the real work gets done.
The operations on the counters
themselves are to be found in the file_operations structure that
we associate with the counter file inodes:
static struct file_operations lfs_file_ops = {
.open = lfs_open,
.read = lfs_read_file,
.write = lfs_write_file,
};
A pointer to this structure, remember, was stored in the inode by
lfs_create_file().
The simplest operation is open:
static int lfs_open(struct inode *inode, struct file *filp)
{
filp->private_data = inode->u.generic_ip;
return 0;
}
The only thing this function need do is move the pointer to the
atomic_t pointer over into the file structure, which
makes it a bit easier to get at.
The interesting work is done by the read function, which must
increment the counter and return its value to the user space program. It
has the usual read operation prototype:
static ssize_t lfs_read_file(struct file *filp, char *buf,
size_t count, loff_t *offset)
It starts by reading and incrementing the counter:
atomic_t *counter = (atomic_t *) filp->private_data;
int v = atomic_read(counter);
atomic_inc(counter);
This code has been simplified a bit; see the module source for a couple of
grungy, irrelevant details. Some readers will also notice a race condition
here: two processes could read the counter before either increments it; the
result would be the same counter value returned twice, with certain dire
results. A serious module would probably serialize access to the counter
with a spinlock. But this is supposed to be a simple demonstration.
So anyway, once we have the value of the counter, we
have to return it to user space. That means encoding it into character
form, and figuring out where and how it fits into the user-space buffer.
After all, a user-space program can seek around in our virtual file.
len = snprintf(tmp, TMPSIZE, "%d\n", v);
if (*offset > len)
return 0;
if (count > len - *offset)
count = len - *offset;
Once we've figured out how much data we can copy back, we just do it,
adjust the file offset, and we're done.
if (copy_to_user(buf, tmp + *offset, count))
return -EFAULT;
*offset += count;
return count;
Then, there is lfs_write_file(), which allows a user to set the
value of one of our counters:
static ssize_t lfs_write_file(struct file *filp, const char *buf,
size_t count, loff_t *offset)
{
atomic_t *counter = (atomic_t *) filp->private_data;
char tmp[TMPSIZE];
if (*offset != 0)
return -EINVAL;
if (count >= TMPSIZE)
return -EINVAL;
memset(tmp, 0, TMPSIZE);
if (copy_from_user(tmp, buf, count))
return -EFAULT;
atomic_set(counter, simple_strtol(tmp, NULL, 10));
return count;
}
That is just about it. The module also defines lfs_create_dir,
which creates a directory in the filesystem; see the full source for how
that works.
Conclusion
The libfs code, as demonstrated here, is sufficient for a wide variety of
driver-specific virtual filesystems. Further examples can be found in the
2.5 kernel source in a few places:
- drivers/hotplug/pci_hotplug_core.c
- drivers/usb/core/inode.c
- drivers/oprofile/oprofilefs.c
- fs/ramfs/inode.c
...and in a few other spots – grep is your friend.
Keep in mind,
that the 2.5 driver model code makes it easy for drivers to export
information within its own virtual filesystem; for many applications, that
will be the preferred way of making information available to user space.
For cases where only a custom filesystem will do, however, libfs makes the
task (relatively) easy.
Comments (25 posted)
The Linux Security Module patches have been having a rough time of it
recently. The latest indignity came along when Christoph Hellwig
noticed the sys_security() system call
and promptly sent out a patch to remove it.
sys_security() is defined as:
int sys_security(unsigned int id, unsigned call,
unsigned long *args);
Its purpose is to allow security modules to provide specific services
without the need to register their own system calls. In the case of
SELinux, sys_security() replaces what would otherwise be 52
different system calls.
So why remove sys_security()? There are two reasons, both
relating to a dislike of ioctl()-style calls. This style of call
uses an integer parameter (call, in this case) to choose between
several different operations; the arguments passed in are different for
every operation and have no well-defined type or meaning. This type of
system call argument creates problems for certain architectures, especially
those which have a 64-bit kernel space and a 32-bit user space (such as the
Sparc). On such systems, system call parameters must be converted between
the two views of the world, and there is no way to reliably do that
conversion if the types of the arguments are not known.
But even without that issue sys_security() would be in trouble.
This sort of "multiplexor" system call allows modules to add almost any
sort of functionality imaginable, without any sort of review. That freedom
leads to inconsistent messes, as is the case with many ioctl()
calls, or to the addition of functionality that perhaps should not be
there.
The word from the kernel developers seems to be that each security module
which needs system calls should register them separately. That way each
system call can be judged on its own merits. This approach partially
defeats the purpose of the LSM patch, which was intended to make security
regimes interchangeable. But the kernel developers, many of whom do not
much like the LSM patch to begin with, seem willing to pay that price.
Comments (none posted)
The OSDL
Data Center Linux
Project has set out to:
Develop and evangelize the roadmap for a Linux platform software
that supports commercial software products and corporate IT
requirements, enabling developers to create Linux based solutions
for the data center market segment.
If that does not contain enough marketing-speak for you, there are white
papers available on the project web site. For the rest of us, what may be
of more interest is the first DCL kernel release, 2.5.44-dcl1. In addition to a few fixes, this
patch includes the Linux Kernel Crash Dump patch, EVMS, an enhanced NUMA
scheduler, and a few other tweaks. The project plans to add the shared
page table and high-resolution timers patches before too long. The -dcl
patches will show up in the "kernel trees" part of the patches section at
the bottom of this page.
Comments (none posted)
Patches and updates
Kernel trees
Build system
Core kernel code
- john stultz: linux-2.5.34_vsyscall_A0. "<span>This is a port of Andrea's x86-64 vsyscall(userspace) gettimeofday to
i386. Its fairly untested, but it works here!</span>"
(October 18, 2002)
Development tools
Device drivers
Documentation
Filesystems and block I/O
Janitorial
Memory management
Networking
Architecture-specific
Security-related
Benchmarks and bugs
Miscellaneous
Page editor: Jonathan Corbet
Distributions
News and Editorials
Xandros has
announced
the availability of "Xandros Desktop OS". Although this is the first
release for
Xandros, this
distribution has a long history.
Xandros acquired the Corel Linux Business Division's software development
team in 2001. Corel Linux, many will remember, was Debian 2.2 (potato)
based. The distribution relied heavily on Wine to run Microsoft applications,
including other Corel software products. ZDNet wrote about the
launch of Corel Linux in November 1999: "Corel Linux is
file-compatible with Windows. With its graphical file manager, users can
wander a Windows 9x like file manager that enables users to access floppy
drives, CD-ROMs, Simple Message Block (SMB), Network File System (NFS),
file transfer protocol (ftp) sites and normal local Unix file systems as
easily as Windows users can wander about their network neighborhood. In
particular, new Linux users will never need to know the pain of having to
mount floppy and CD-ROMs before using them."
It wasn't long, however, before Corel realized that making a Linux
distribution wasn't all that profitable. Over the next couple of years the
distribution languished. Regular updates and prompt security patches went
from rare to none at all. By 2001 Linux advocate and Corel CEO Michael
Copeland was out, along with the entire Linux division.
For nearly a year Xandros has been updating and improving Corel's
distribution, to create a Linux desktop to tempt the diehard Windows user.
A partnership with CodeWeavers created "CrossOver
for Xandros", to run Microsoft applications on this Desktop OS.
CodeWeavers CrossOver technology is not open-source. It does utilize Wine, and while CodeWeavers is a stanch
supporter of the Wine Project, free software purists will find this a
major drawback to Xandros.
eWeek notes that
LindowsOS also uses CrossOver technology, but says the Xandros version is
better. "While this is not the first time Windows compatibility
technologies from CodeWeavers have found their way into Linux -- they were
included last year in the Lindows operating system from Lindows.com
Inc. [CodeWeavers CEO Jeremy] White said the CrossOver technologies
integrated in Xandros Linux are more advanced and robust and work better
than those built for Lindows.com."
Xandros plans to release a server version. Says Xandros VP for software
development Ming Poon in this Consulting
Times interview, "We will do a server version, and we will
develop enterprise management tools to help large corporations to deploy
the desktop installation."
Will Xandros live up to all the hype? Can it compete with big names like
Red Hat, SuSE and Mandrake, or even with small names like Lycoris? Time
will tell.
Comments (1 posted)
Distribution News
The
Debian Weekly News for October 22, 2002
has items by Matt Black, Andre Lehovich and Tollef Fog Heen. Also the
NASA's FlightLinux project which uses a real-time variation of the Linux
Kernel for onboard spacecraft use; a geek ski-trip; and much more.
The Debian Desktop subproject is a group of
volunteers who want to create the best possible operating system for home
and corporate workstation use. Our motto is "Software which Just Works". In
short, our goal is to bring Debian, GNU, and Linux to the mainstream world.
A new Debian installer is in the works, but Progeny has one available now. The i386 Debian 3.0 (woody)
installer image is based on PGI, the Progeny Graphical Installer.
LinuxOrbit.com looks
at how to use GRUB on a Debian system. "Why use GRUB instead of
LILO? Well, if you're reading this HOWTO, you're likely to already have
your reasons for switching. But to give a couple quick reasons, you only
install GRUB in your MBR once, it doesn't need to be reinstalled each
kernel change like LILO, and you can also edit the boot entries, etc. from
GRUB itself without having to boot first and change the config file. These
are just some of my reasons, you can find more for yourself - but how do
you set it up the Debian way?"
Comments (none posted)
The
Mandrake Linux Community Newsletter for
October 17, 2002 highlights some of the benefits of Mandrake Club. The
business case of the week looks at Mandrake Linux as a conference server;
and much more.
MandrakeSoft has released new devfsd
packages fixing a problem in how ida devices are handled. The harddrake
program does not display unknown hardware in the tree list and the Danish
translation for the drakxtools is broken. This update for drakxtools corrects both problems.
Comments (1 posted)
Red Hat has updated kernel packages to fix DB2 and IBM JDK problems.
Full Story (comments: none)
There have plenty of changes on the
Slackware current tree. See the
change log
for full details.
Comments (none posted)
SuSE Linux announced that SuSE Linux 8.1 is now available in the US and
Canada. Check your favorite stores for the SuSE 8.1 Pro-Office CD with
StarOffice 6.0..
Full Story (comments: none)
Trustix has issued a bug fix advisory for
freeswan. Trustix recommends an upgrade for
versions prior to 1.98b.
Gerald Dachs found a problem in the /etc/pam.d configuration file, and his
fix has been implemented in the TSL 1.5 ppp
package.
Comments (none posted)
Minor distribution updates
GENDIST has released
v1.4.6 with minor feature
enhancements.
Comments (none posted)
KNOPPIX has released
v3.1-16-10-2002 with minor
bugfixes. Version 3.1-22-10-2002 was released shortly after. This
releases fixes typos, removes the apt-available database (due to a space
problem), adds tuxpaint, bonnie++, and smartsuite, removes gpc, and adds
g++, gcc, and gcj 3.0. XFree has been updated to version 4.2.1-3.
Comments (none posted)
Lonix has released
v1.0rc4 with major feature
enhancements. "
Changes: sendmail, procmail, fetchmail, and mutt were
added. Two new compilers were added. Partition managing aplications like
partimage were added. Problems in pppsetup and lonixconfig were
fixed."
Comments (none posted)
MoviX has released
v0.6pre3 with major
feature enhancements. "
Changes: MPlayer has been recompiled with
smarter flags and using gcc 3.2 to speed it up. Support for Dxr3/H+ cards
and for the "aa" (ASCII art) driver has been added. The kernel config has
been modified to make vmlinuz as small as possible. This is to make it
possible to produce a MoviX floppy boot disk (FB support is now available
as a module). A bug in mkmovixcd concerning isolinux.bin has been fixed. A
patch for the Rage128 has been applied to mplayer, so maybe now it will
display movies again in full color. Finally, the movix.pl script has been
updated to take care of all the new stuff."
Comments (none posted)
PXES Linux Thin Client has
released
v0.5.1-4 with
minor feature enhancements. "
Changes: Hardware autodetection has
been improved and is now supported for network cards and sound. You're now
allowed to build a common image for a set of supported thin clients,
independently of the hardware details. This has been achieved with a
patched version of pciutils (the patch has been sent to the pciutils
maintainer)."
Comments (none posted)
uClinux has released
v2.5.44uc0 with major
feature enhancements. "
Updated the kernel, merged in nommu and mm,
and made lots of cleanups."
Comments (none posted)
Distribution reviews
ExtremeTech
reviews
Mandrake Linux 9.0. "
Mandrake is particularly appealing because a
person who is unfamiliar with Linux software can learn a little at a time
with this distribution, yet Mandrake still offers features that the
experienced user and administrator will also appreciate. Mandrake offers a
complete graphical interface through which the user will learn to
manipulate and use the system while learning more and more, much like
Windows would be to someone newly initiated to the PC."
Comments (none posted)
eWeek
reviews Red
Hat Linux 8.0. "
eWeek Labs' tests of Version 8.0 of Red Hat Inc.'s
eponymous Linux distribution, which shipped late last month, showed this
operating system raises the bar for design polish among desktop Linux
options without sacrificing Linux's valuable flexibility."
Comments (none posted)
ExtremeTech
reviews
SuSE 8.1, the lastest release from SuSE Linux. "
The new YaST (Yet
another Setup Tool) excels both in the graphical environment as well as on
the command line. Improved hardware detection, the latest SuSE kernel,
tested versions of important system components, the automated installation
of external software, and the YaST Online Update (YOU) enable you to keep
your system up to date."
Comments (none posted)
NewsForge
reviews
the Xandros Desktop. "
Xandros seems to be what Lindows could
have been if it had stayed true to its Linux roots, both product-wise and
philosophically. I like Xandros; I like the ease of use combined with
common-sense security options and configurability; I like that it reaches
out to Windows users without alienating the Linux community; it may just
end up becoming the main distribution in my house."
Comments (none posted)
Page editor: Rebecca Sobol
Development
Version 4.1.5 of the
HylaFAX
fax modem software package
has been released.
New features include:
- Better command line option checking.
- NSF recognition for most FAX codes.
- Support for additional USR, Digi, and Lucent/Agere modems.
- A "force archiving" option for faxqclean.
- Caller-ID support for faxanswer.
- New Class1MsgRecvHack, Class1ResponseWaitCmd, and RingExtended config options.
- Probemodem options that allow the sending of single commands.
- A number of bug fixes.
Users of versions older than 4.1.3 should upgrade due to some
previously fixed security issues. Red Hat 7.3 users should also
upgrade to this version to get rid of some known bugs.
Comments (none posted)
System Applications
Audio Projects
Release candidate #4 of the ALSA sound driver development release
is available for testing.
Comments (1 posted)
Education
Issue #81 of the
Linux in Education Report is out. Topics include
the Linux Education Generic User Programs (LEG-UP) CD,
the ByteBack Curriculum Project, a new question bank server,
a school admin package, Linux for a computer arts program,
concept mapping software, and many new applications.
Comments (none posted)
Electronics
The
gEDA News site
lists new versions of GTKWave and Icarus Verilog.
Comments (none posted)
Embedded Systems
Version 0.60.4 of
BusyBox, a condensed pack of Unix
utilities for embedded systems, has been released.
"
This is primarily a bugfix release for the stable series to address all the problems that have turned up since the last release. This will be the last release for the 0.60.x series."
Comments (none posted)
Printing
AFPL Ghostscript version 7.31 beta
has been announced.
"
The major new feature is DeviceN color spaces, supporting mixes of spot colors and process colors up to 8 colorants total. Many other bugfixes and performance enhancements have been added, especially in pdfwrite."
Comments (none posted)
The
LinuxPrinting.org site
has announcements for a new version of the Foomatic printer support database
(version 2.0.2), and version 4.2.3 of
GIMP-Print, which now features support for custom paper sizes.
Comments (none posted)
Science
Cameron Laird
introduces several useful open-source graphic and scientific packages on IBM's developerWorks, and promotes the benefits of non-commercial software.
"
Science and engineering laboratories have long depended on proprietary products for daily data analysis chores. Now, many labs are turning to open source products and development languages for specific technical benefits the conventional products don't give them."
Comments (none posted)
Web Site Development
The October 17, 2002 Midgard Weekly News is out, the table of
contents topics include Editors Notes, IRC back online, a
Mailinglist Summary, and a Bugtracker Summary.
Full Story (comments: none)
Zope version 2.6.0
has been released.
Some of the new features include
gzip content compression when serving pages,
a ZCTextIndex plug-in index, Signal Handling and Log Rotation,
Addition of a new default view setting ability,
New profiling abilities, an Improved daemon mode,
Enhanced text indexing, Improved object cache control,
Automatic browser ID string embedding in URLs,
Major improvments to the BTree and Catalog code,
i18n translation support for TAL, lots of bug fixes, and more.
Comments (none posted)
The most recent headlines on the
Zope Members News
include: Python Version 2.2.2, the New York Zope Users Group,
CMFPortlets 0.5,
the Zope 3 mini-newsletter, the release of Zope 2.6.0, Plone1.0 beta2,
and CMF Relation Product.
Comments (none posted)
Web Services
Roger Costello has published
an online tutorial that illustrates the
building of XML-based Web Services.
Comments (none posted)
Miscellaneous
Version 1.0 of the Twisted Developer Platform is out.
"
With the 1.0.0 release, Twisted is finalizing several core interfaces important
to server and client developers. While some areas of Twisted are still under
active development, the event loop and all associated APIs are now stable and
ready for third-party developers to use."
Full Story (comments: 1)
Æleen Frisch
writes about LDAP, the Light weight Directory Access Protocol,
on O'Reilly.
"
LDAP has been a hot new topic in system administration for several years now. LDAP provides a directory service which can be used for storing and querying information about the individuals in an organization (e.g., employees). The range of information that can be made available in this way is quite broad: traditional telephone or other institutional directory data (office location, phone numbers, and the like), Unix user account data, more personal data such as home telephone numbers and photographs, along with any other site-specific data that may be appropriate. In this installment, we'll look at the services that LDAP can provide."
Comments (none posted)
Desktop Applications
Audio Applications
Version 0.5.9 of the Sweep audio editor/playback tool has
been released.
"
This release also includes improved handling of the main volume and pitch controls, contributed by Zenaan Harkness."
Sweep 0.5.8 was also released earlier this week, with more changes.
Full Story (comments: none)
Desktop Environments
The October 13-19, 2002 GNOME Summary is out.
Topics include:
Sodipodi to the people, GNOME Print joins the fontconfig family,
GNOME Media start getting GStreamer love,
GnuCash releases first alpha towards 1.8.0 release,
Network Neighbourhood anyone?,
Interview with Havoc Pennington and Owen Taylor,
Batch of GStreamer news, New Gnomemeeting on the way,
Translated GNOME summaries, Hacker Activity, Gnome Bug Hunting Activity, and
New and Updated Software.
Full Story (comments: none)
Topics on the GNOME desktop
FootNotes site include:
the Debian Desktop Project, Dropline GNOME 1.2 and Mozilla with Xft,
together at last!, The Captains of Nautilus, Don't do this at home:
Xft2 + GTK+ 1.x, the 2002 Helen Keller Achievement Award,
Gaim v0.59.5 released, Mozilla 1.2beta with GTK theme support and more.
Comments (none posted)
Issue #44 of
Kernel Cousin KDE is out, with the latest KDE development
news. Topics include a KMail Roadmap, a New GPG frontend,
KDE 3.0.4, Kopete rework, Qt GStreamer bindings, and a
Developer Newsflash.
Comments (none posted)
Christian Schaller
interviews Nautilus maintainers
Alexander Larsson and Dave Camp on Linux Orbit.
"
The official GNOME filemanager Nautilus was originally developed by Eazel as part of their plan to bring usability and beauty to the Unix desktop. Today Nautilus is maintained by veteran GNOME hackers Alexander Larsson and Dave Camp. Being such a core application in the GNOME desktop it is the topic of many discussions in and around GNOME. In a recent survey on gnomedesktop.org an interview about Nautilus was at the top of the wishlist. So to let everyone get the inside scope on what is happening with Nautilus currently I got hold of Alexander and Dave for a small interview."
Comments (none posted)
GUI Packages
Version 1.1.1 of FLTK, the Fast, Light ToolKit
is available.
Change documentation is in the source code.
Comments (none posted)
Interoperability
Samba 2.2.6 has been released with lots of bug fixes, particularly in
printing and winbind.
Full Story (comments: none)
Issue #140 of
Kernel Cousin Wine is out.
Topics include Xandros & CodeWeavers, a Listview Update,
a Windows Code Migration Guide, Adding -DSTRICT Capability,
Using wineconsole, Threading In Winelib Apps, and
Large Screen Buffers for the Debugger.
Comments (none posted)
Office Applications
Issue #114 of the
AbiWord Weekly News
is out with the latest AbiWord word processor development news,
and even includes a
yo mama joke, gratis.
Comments (none posted)
The GTK+-2 port of the Bluefish graphical HTML editor tool
is nearing completion. Testers are needed.
Comments (none posted)
Web Browsers
Version 1.2b of Mozilla
has been released.
Improvements include type ahead find, GTK theme pickups,
link prefetching, filter after the fact capabilities for Mozilla Mail,
the ability to show toolbars as text, icons, and both,
launching with multiple tabs defined, XFT support, and more.
Comments (none posted)
The latest
mozillaZine topics
include an article on XML-Based GUIs, the upcoming Phoenix 0.4 Release,
finding Phoenix bugs, Xft Antialiased Font Support for Linux,
Bugzilla Search Defaults Changing, Mozilla 1.2 Beta News Articles,
the growing Phoenix Community, and more.
Comments (none posted)
The October 17, 2002 edition of the
Mozilla Status Update is out. Topics include
Phoenix 0.3, Minotaur, prefetching issues, the release of Mozilla 1.2b,
Xft/fontconfig, Palm sync, a tree lockdown for the 1.2 release,
Independent project status updates, and more.
Comments (none posted)
Languages and Tools
Caml
Topics on this week's Caml Weekly News include
IFAD-1.0.2, MLdonkey 2.00, Operator overloading,
a OCaml-SOAP library bug fix, and the
ICFP 2002 Programming Contest Write-up.
Full Story (comments: none)
This week, the new software on
The Caml Hump includes GlSurf, a program that draws surfaces
from their implicit equations.
Comments (none posted)
Java
Vikram Goyal
illustrates FOP on O'Reilly.
"
Formatting Objects Processor (FOP) is an open source Java API that can convert your XML data into reports in PDF format, as well as such other relevant formats as TXT, SVG, AWT, MIF, and PS. The software is developed under the Apache XML project and is free to use.
This article shows your how to get started with FOP. The primary advantage of FOP is its ability to convert XML data into reports in the PDF format, using a formatting tree. Most of the examples we'll cover will concentrate on this particular conversion, but we will also cover converting XML data to the Java AWT format."
Comments (none posted)
IBM developerWorks has
an article on Java 2 reference classes.
"
The Java 2 platform introduced the java.lang.ref package, which contains classes that allow you to refer to objects without pinning them in memory. The classes also provide a limited degree of interaction with the garbage collector. In this article, Peter Haggar examines the functionality and behavior of the SoftReference, WeakReference, and PhantomReference classes and recommends programming idioms for their use."
Comments (none posted)
Perl
The October 14-20, 2002 edition of
This Week on perl5-porters
includes a charnames patch follow-up,
a discussion on how to leak scalars with threads,
and lots of bug fix reports.
Comments (none posted)
The O'Reilly
This week on Perl 6 for October 7-14 is out.
Topics include
The Pumpking Is Dead, Long Live the Pumpking!, Variables Have Three Parts,
Line Number Metadata, a New Array Base, Parrot_sprintf, Nuke dem opcodes,
a Getting Started Guide, Larry Explains All, the Perl6 OO Cookbook,
and more.
Comments (none posted)
PHP
Topics on this week's
PHP Weekly Summary
include 4.3.0 pre2, a new PHP for Netware, a Ming and Streams
incompatibility bug,
removing apidoc.txt, a ZIP extension fix, PHP XML flexibility, a fix for
parse_url() problems, removing short tags, $_GET, $_POST, $_COOKIE,
$_FILES == $_REQUEST?, and an Oracle extension talk.
Comments (none posted)
Python
Here's the latest Python-URL with all your weekly Python news and links.
Full Story (comments: none)
This week's
Daily Python-URL
looks at articles on the Relationship Manager pattern class,
how ActiveState manages to work in both the proprietary and Open Source worlds, Beginning Python for bioinformatics, Streamlining DOM XML
processing with Python, XIST 2.0, A Tour of 4Suite, TextIndexNG Extensions 1.05, and more.
Comments (none posted)
Ruby
Topics on this week's
Ruby Weekly News
include an experimental FAQ facility, Ruby and the Linux kernel,
and a collaborative Ruby book.
New Ruby software includes FXRuby-1.0.14, MIME::Types 1.003 for Ruby, RDE0.9.8.0, Text::Format 1.003 for Ruby, and Rimport 0.0.1.13.
Comments (none posted)
Scheme
The Scheme Weekly News for October, 21, 2002 is out.
The topic list includes:
Paper added to ReadScheme library, Quack 0.14, SISC 1.6.1 beta,
dotLisp, Implementation of MD5, Gauche 0.6.4, and Serveez 0.1.4.
Full Story (comments: none)
Tcl/Tk
The October 21, 2002 Dr. Dobb's Tcl-URL! is out
with lots of Tcl development news.
Full Story (comments: none)
XML
Uche Ogbuji
writes about the 4Suite project on O'Reilly.
"
Mike Olson and I began the 4Suite project in 1998 with the release of 4DOM, and it quickly picked up an XPath and XSLT implementation. It has grown to include Python implementations of many other XML technologies, and it now provides a large library of Python APIs for XML as well as an XML server and repository system. In this article and the next, I'll introduce just the basic Python library portion of 4Suite, which includes facilities for XML parsing (complementing PyXML), RELAX NG, XPath, XPatterns, XSLT, RDF, XUpdate and more."
Comments (none posted)
Dr. Dobb's Journal has
an online list of XML and Web Services resources
with pointers to lots of interesting articles.
Comments (none posted)
Rich Salz
writes about BEEP
on O'Reilly.
"
This article is the last in a series examining how one might go about sending binary data as part of a SOAP message. This month we look at BEEP, the Blocks Extensible Exchange Protocol."
Comments (none posted)
Jared Jackson
talks about XSL recursion on IBM developerWorks.
"
Using XSL transformations effectively and efficiently requires understanding how to use XSL as a functional language, and this means understanding recursion. This article introduces the key concepts of recursion and its particular use in XSL. Techniques for optimizing XML translations and avoiding errors while using recursion are also explained. Each concept and technique is accompanied with example code for the reader's reference."
Comments (none posted)
Per Bothner
writes about XQuery on O'Reilly.
"
The W3C is finalizing the XQuery specification, aiming for a final release in late 2002. XQuery is a powerful and convenient language designed for processing XML data. That means not only files in XML format, but also other data including databases whose structure -- nested, named trees with attributes -- is similar to XML.
XQuery is an interesting language with some unusual ideas. This article provides a high level view of XQuery, introducing the main ideas you should understand before you go deeper or actually try to use it."
Comments (2 posted)
Page editor: Forrest Cook
Linux in the news
Recommended Reading
The Register
says Xbox
security measures have been broken by Linux hackers. "
The
complex new security system, which was thought to disable the operation of
all previously existing mod chips, was broken in under a week of work by a
UK-based group of enthusiasts keen to get the Linux operating system
running on Xbox hardware."
Comments (none posted)
This
ZDNet article about certification is written by an author who used to
recommend Red Hat's RHCE, but who now thinks that
Linux Professional Institute has a better
product. "
The open source movement emphasises community
participation. The concept of ownership by a single vendor goes against the
Linux grain, and several distributions vie for attention. It's natural,
then, that a vendor-independent Linux certification will appeal to members
of the open source community. A vendor-independent exam is a natural
fit."
Comments (8 posted)
ZDNet has
discovered that managing free software projects can be difficult.
"
What some managers don't realize is that by taking on a project, you must essentially remove yourself from the developer's chair whenever the community needs your attention. Responsibility has to be delegated and information shared, or the bustling Bazaar will become a headless mob that could kill the project."
Comments (1 posted)
Richard Koman
covers the tour of the Internet Bookmobile on O'Reilly.
"
Cruising in a high-tech-equipped bus, Richard Koman joined Brewster Kahle on a cross-country crusade in the Internet Bookmobile to provide lessons to school kids in the applications of the public domain. Read their experiences as they stopped at various schools--taking ASCII text versions of public domain works available online and letting the kids turn them into books."
Comments (none posted)
Companies
News.com
looks at IBM's quarterly results.
"
...sales of new computing capacity increased 7 percent, 45 percent of that driven by customers using the Linux operating system, IBM said."
Comments (none posted)
IBM is now
providing web hosting
for the samba.org site.
Comments (none posted)
News.com covers a
partnership between Linux
NetworX and Fraunhofer Institute. "
Under the partnership
announced Thursday, Linux NetworX and the institute will jointly research
technologies for linking Linux systems into a supercomputer "cluster." In
addition, the center will help the company support European customers such
as the Netherlands branch of Shell Oil or the Boehringer Ingelheim
pharmaceutical company in Germany."
Comments (none posted)
The Register
reports on
Microsoft president Steve Ballmer's recent trip to Australia, and what he
thinks of Xbox hackers. "
Linux? No, no matter how heroic the team
from the Xbox Linux Project is, Microsoft is not going to lose huge swathes
of revenue because all the purchasers run Linux instead and don't buy any
games. Its Xbox software licensing regime will be disrupted (as is the case
already for many players in the entertainment business) if it becomes less
possible or impossible to divvy up licences by territory and police it via
regionalisation, but one does wonder why the law should have to shore up
something as daft and artificial as regionalisation."
Comments (6 posted)
eWeek covers a
Novell
announcement that MySQL will be included in future releases of
NetWare. "
Some Novell customers agree. Deutsche Lufthansa AG
approached Novell some time ago and suggested it provide Apache, MySQL and
PHP on NetWare.
"There is strong demand from companies, like Lufhansa, who want to run
these applications on a platform that can provide strong support while
offering time-tested reliability and performance," said Antonio
Mastrolorito, who works for Lufthansa Systems Infratec, the airline's IT
infrastructure solutions group." See also this
press
release. (Thanks to Lenz Grimmer)
Comments (2 posted)
Prometric and the Linux Professional Institute (LPI) have
joined
forces to offer a US$20. discount for those who take LPI's Level One
and Level Two exams at any Prometric North American test center.
Comments (1 posted)
News.com
reports on
Red Hat's acquisition of NOCpulse, a start-up whose server-monitoring
software is expected to bolster the services offered through the Red Hat
Network. "
The move helps advance Red Hat in a popular area of the
computing industry: letting customers administer large groups of computers
en masse instead of one-by-one as a way to cut administrative costs. This
vision includes automated policies that ensure performance, move jobs from
one computer to another to accommodate changing demands, or shut down
malfunctioning equipment--features that all require monitoring software
such as that provided by NOCpulse."
Comments (none posted)
The San Jose Mercury News
reports on losses and layoffs at Sun Microsystems. "
The Santa
Clara computer maker announced the layoffs as it reported a net loss of
$111 million, or 4 cents a share, for the first fiscal quarter ended
Sept. 29, compared with a $180 million loss, or 6 cents a share, for the
same period a year earlier. Revenue was $2.75 billion, down 4 percent from
$2.86 billion a year earlier and down 20 percent from the previous
quarter."
Comments (none posted)
News.com reports that SuSE and Turbolinux
announced a strategic
agreement to jointly develop Linux operating system products, based on
SuSE's Enterprise Server software, for IBM's higher-end servers.
"
UnitedLinux also put SuSE's software at the core, but that
partnership only involved Intel processor-based servers. The new alliance
covers IBM's mainframe zSeries systems, its Unix pSeries systems and its
mid-range iSeries systems."
Comments (none posted)
Business
Here's
another analyst pronouncement on News.com; this one is from Forrester Research, and it is highly positive.
"
Long thought of as a fledgling operating system, Linux is now ready for prime time. CIOs have many new reasons to be confident that they'll get quality Linux support from their largest application vendors and systems integrators."
Comments (1 posted)
Here is a Computerworld article about the
growing
use of Linux on Wall Street. "
With a handful of key Wall Street
Brokerage firms acting as icebreakers, Linux is quickly gaining ground on
Unix and Windows as a mission-critical operating system within the
securities industry. The attractions: its flexibility across systems and
the savings it yields through the use of comodity hardware."
Comments (none posted)
News.com
reports on
the DaimlerChrysler purchase of 108 dual-processor Linux workstations from
IBM to run car-crash simulations. "
DaimlerChrysler has been using
computers to simulate crashes since the early 1990s, first with single
supercomputers, then with clusters of systems running Unix. Now the company
is switching to less-expensive systems with Intel processors running Red
Hat's version of the Linux operating system, DaimlerChrysler said."
(See also this
press
release).
Comments (none posted)
Linux Journal
looks into India's
commitment to Linux. "
Is India serious about Linux in education,
or just setting the stage to ask Microsoft founder Bill Gates for a handout
when he visits in November? Economic Times, India's most influential
business newspaper, has dropped hints of government plans to push a
"countrywide drive" to promote GNU/Linux as the "platform of choice". But
Indian enthusiasts of Free/Libre Software and open source are treating the
promises with skepticism, if not downright suspicion."
Comments (none posted)
Legal
The ElcomSoft trial has been delayed
according to this News.com
article. "
The trial, the first criminal test of the Digital
Millennium Copyright Act, was originally scheduled to start Monday in San
Jose, Calif. It is now slated to begin Dec. 2, to give lawyers time to get
permission from immigration authorities for ElcomSoft programmer Dmitry
Sklyarov and CEO Alex Katalov to enter the United States."
Comments (none posted)
Interviews
The Consulting Times
interviews
Ming Poon, the Xandros VP for software development. "
We're
trying to key up to a desktop where people can just install and start doing
work, as opposed to the competition where you install it and half of the
things on the desktop may not work or they are very hard to use.
Corporations also want us to provide them with end-to-end solutions. They
call one phone number to get all their support from one place. They ask,
'Do you have a server solution too'? We will do a server version, and we
will develop enterprise management tools to help large corporations to
deploy the desktop installation."
Comments (none posted)
Consulting Times has
an interview with Jeremy White, CEO of CodeWeavers.
"
Xandros is incorporating customized versions of CodeWeavers CrossOver Office and CrossOver Plugin solutions into its long-awaited Linux distribution, slated for release around the end of October. This CrossOver for Xandros package allows users to easily install and use critical office programs -- most notably Microsoft Office -- directly under Linux, without the need to purchase a Microsoft Windows license.
To get a take on what this alliance means for the future of the Linux desktop, ConsultingTimes contacted Jeremy White, CodeWeavers founder and CEO. What resulted was a fascinating and wide-ranging discussion on a number of questions, including What will Microsoft do to retaliate?"
Thanks to Steve Harris.
Comments (3 posted)
Resources
The October 17, 2002 LinuxDevices Embedded Linux Newsletter
is out with the week's embedded Linux news.
Full Story (comments: none)
LinuxOrbit.com
looks
at how to use GRUB on a Debian system. "
Why use GRUB instead of
LILO? Well, if you're reading this HOWTO, you're likely to already have
your reasons for switching. But to give a couple quick reasons, you only
install GRUB in your MBR once, it doesn't need to be reinstalled each
kernel change like LILO, and you can also edit the boot entries, etc. from
GRUB itself without having to boot first and change the config file. These
are just some of my reasons, you can find more for yourself - but how do
you set it up the Debian way?"
Comments (none posted)
Linux Journal
asks the
question, "
Could the command-line tools you've forgotten or never
knew save time and some frustration?"
Comments (none posted)
Reviews
ZDNet
reviews
KDE 3.1.
"
KDE 3.1 is due at the beginning of November, and the visual difference from its predecessor--version 3.0--will be immediately obvious, the group hopes. The software will ship with an icon set called Crystal and a new theme called Keramik, both of which have hints of Apple's Aqua interface in Mac OS X and Microsoft's Windows XP styling. It will use a new theme manager and windows will have drop-shadows to give the desktop a three-dimensional look."
Comments (1 posted)
Sys Admin Magazine
reviews OpenPKG.
"
In this article, we will explore OpenPKG, a software development and packaging project initiated by Cable & Wireless, an international Internet Service Provider. The OpenPKG project began in November 2000 and has grown into a collaborative software development effort managed and maintained by many. The project aims to create a modular and flexible UNIX subsystem for cross-platform software packaging and installation."
Thanks to Ralf S. Engelschall.
Comments (none posted)
TechWeb
reviews
SuSE's Linux Openexchange Server product.
"
Linux software vendor SuSE Linux on Wednesday introduced the SuSE Linux Openexchange Server, an open-source e-mail/collaboration platform it's pitching as a cheap alternative to Microsoft and Lotus programs. It's designed to serve organizations with 10 to 500 users, the company said."
Comments (none posted)
The Philadelphia Inquirer gives a fairly mixed
review of Wall Mart's under-$200 Sysmar Linux PC.
"
As admirable as this operating system is, it is virtually inaccessible to anyone who does not understand coding and programming. Looking at its list of
directories, files and utilities is like gazing upon the inscriptions
on an Egyptian tomb."
Comments (2 posted)
Linux Journal
reviews two Linux voice recognition systems, IBM's commercial
ViaVoice and the GPL licensed XVoice.
"
Conversing with a computer has long been a staple of science fiction.
Such conversations are still largely in the realm of fiction, but
voice recognition technology has improved significantly over the last
decade. A number of voice recognition and control products are
available on various platforms. Many people don't realize, however,
that it is possible to control the Linux desktop by voice, and it has
been possible for some time."
Comments (1 posted)
Miscellaneous
The Register
covers what
they say will be the "trusted computing face-off of the year", a debate
between John Manferdelli, Ross Anderson and Alan Cox. "
It is of
course possible that they'll all agree, although if so it's not immediately
obvious about what. John Manferdelli is general manager of Microsoft's
Palladium business unit, and you can get an idea of where he's coming from
here, while some of Ross Anderson of Cambridge Computer Labs' fears and
doubts about TCPA/Palladium are expressed here. Lead Linux kernel developer
Alan Cox you probably know about too, and he'll be dealing with the issue
as regards open source."
Comments (none posted)
The Register
reports that
Linux and Opera users are barred from Scottish Power's online services.
"
OK so then he tried using a Mozilla browser, with cookies enabled,
only to be told he couldn't use a Linux machine either. So then he tried
Opera on a Windows PC. Still no good."
Comments (10 posted)
Page editor: Forrest Cook
Announcements
Commercial announcements
Dell has sent out a press release on its latest Linux cluster deployment: a
128-node system at the University of Utah
dedicated to modeling the handling of hazardous materials.
The company also cites a new IDC study stating that Dell is now the largest
vendor of Linux clusters, with 40% of the market.
Full Story (comments: none)
HP has
announced
that the Ohio Supercomputer Center (OSC) will deploy an HP supercomputer
based on a cluster of more than 150 Intel(R)Itanium(R) 2-based HP
Workstation zx6000 systems. The HP cluster will use Myricom's Myrinet
high-speed interconnect and run the Red Hat Linux Advanced Workstation, a
64-bit Linux operating system.
Comments (none posted)
Lycoris and Transgaming have announced a partnership "
to bring
unprecedented cross-platform gaming into the hands of Desktop/LX
users."
Full Story (comments: none)
MySQL AB
announced that
its quarterly sales period ending September 30, 2002, was the most
profitable in the company's history.
Comments (none posted)
OpenMFG, LLC announced the launch of its first product, a fully integrated
manufacturing, distribution and finance software suite aimed directly at
small entrepreneurial manufacturers (SEMs). The product is built with the
Linux operating system, the PostgreSQL database and the "Qt" toolkit for
C++.
Full Story (comments: 1)
The Support Net Division of Arrow Electronics, Inc. has
announced
a cooperative marketing agreement with IBM and eOne Group, a vertically
focused ISV. "
In the YKK implementation, IBM's eServer iSeries
offering on a Linux platform was selected because of Linux's growing
popularity in online retail POS environments and its expanding credibility
for web-serving applications. Additionally, an open source code like that
of Linux offers the customer flexibility, along with a low-cost
solution."
Comments (none posted)
LynuxWorks has
announced support for the specifications of the Open Source Development
Lab's Carrier-Grade Linux specification (CGL) v1.0. LynuxWorks also
announced plans to integrate the feature set of CGL v1.0 into
next-generation versions of LynuxWorks' embedded Linux operating system,
BlueCat(R) Linux, in early 2003.
Comments (none posted)
MandrakeSoft
consolidated revenues for fiscal year 2001-2002 increased by 28% to 4.6
MEuro. This performance, during a time of particularly difficult market
conditions throughout the software industry, is the result of successful
new product lines.
Comments (none posted)
The Danish Board of Technology released a report about the economic
potential in using Open Source software in the public administration which
showed a potential at 3.7 billions Danish Kroners (500 million EUR) over
four years.
Full Story (comments: 1)
Resources
IBM editors have
selected these Linux resources from developerWorks and IBM product
sites. "
This collection includes Web-based tutorials, on-demand
Webcasts, classes in your area, offers for developerWorks CDs with Linux
tools, as well information and links where you can download IBM tools and
middleware direct from WebSphere, DB2, and Lotus. All of these resources
are available free of charge."
Comments (none posted)
LinuxDevices has posted an updated version of its
Linux PDAs Quick Reference Guide.
"
LinuxDevices.com is pleased to announce a major update to our highly
popular Linux PDAs Quick Reference Guide. The guide provides a
comprehensive survey of Linux-based handheld computers and PDAs for both
general purpose and specialized mobile computing applications, that are
either newly released or in various stages of development."
Comments (none posted)
The Ecasound audio tool
online documentation has been updated.
"
Latest versions of Ecasound User's Guide, Ecasound Programmer's Guide and Ecasound Control Interface Guide are now online in both PDF and HTML formats. The online source-code documentation is also updated."
Comments (none posted)
For the unemployed Perl hackers, usePerl
mentions that there are many Perl jobs available now.
"
Ask writes "jobs.perl.org had job 500 submitted today. That's a bit more than one per day in the time we have had the site.""
Comments (none posted)
Upcoming Events
A call for participation has been issued for the
Lightweight Languages Worshop 2002 (LL2), to be held on
November 9, 2002 at MIT in Cambridge, MA.
Full Story (comments: none)
Lilax will be holding
a special meeting
featuring Zak Greant, on October 26, 2002 in Torrance, CA.
"
Lilax is pleased to annouce an additional special session! Zak Greant
from MySQL puts on a full day seminar covering this popular open
source database. The sessions will also include introductory and
advanced topics in PHP, Apache, MySQL development and much more."
Comments (none posted)
Bruce Momjian will be teaching a class on the PostgreSQL database
in Atlanta, GA. on January 20-24, 2003.
Full Story (comments: none)
An event known as The Solutions Show, the
third midwest Linux regional expo and conference,
will be held in Toledo, Ohio, on October 30-31, 2002.
Full Story (comments: none)
A Linux Kernel Network Programming course will be offered by
Axian, Inc. and the Oregon Graduate Institute Center for Professional
Development. The course will be held in December, 2002 and Februrary,
2003.
Full Story (comments: none)
A Linux install-fest has been scheduled for November 23, 2002
in Victoria (Australia).
Also, check out
the coverage of a recent installfest that took place in LaPaz, Bolivia
at 11,000 feet, possibly a new altitude record for group Linux installation.
Comments (none posted)
| Date | Event | Location |
| October 24 - 25, 2002 | PHPCon 2002 | (The Clarion Hotel SFO)Millbrae, California |
| October 28 - 31, 2002 | International Lisp Conference 2002 - The Art of Lisp | San Francisco, CA |
| October 30 - 31, 2002 | Think-Linux, The Solutions Show | (The Pinnacle)Toledo OH |
| November 1 - 3, 2002 | 2nd Annual Ruby Conference(RubyConf 2002) | (Washington State Trade and Convention Center)Seattle, Washington |
| November 2, 2002 | Southern CaliforniA Linux Expo 2002(SCALE) | (Davidson Conference Center, University of Southern California)Los Angeles, CA |
| November 3 - 6, 2002 | International PHP 2002 conference | Frankfurt, Germany |
| November 3 - 8, 2002 | 16th System Administration Conference(Lisa '02) | Philadelphia, PA |
| November 14 - 15, 2002 | The Open Source Health Care Alliance(OSHCA) | (UCLA Medical Center)Los Angeles, CA |
| November 18 - 21, 2002 | Embedded Systems Conference, Boston | (Hynes Convention Center)Boston, Mass |
| December 3 - 5, 2002 | Linux Bangalore/2002 | (J.N.Tata Auditorium)Bangalore, India |
Comments (none posted)
Web sites
LinuxFr.org has changed its website. It
is now xhtml 1.0 valid, and it features a new template system (
Templeet) which made the load
much smaller.
It has taken months of developement. LinuxFR is still completly
independant and a good source of Linux news in the French language.
Comments (2 posted)
Users of the mnoGoSearch web site search engine may want to register
their sites with the
mnoGoSearch users mapping project.
Comments (none posted)
Software announcements
Here are the software announcements, courtesy of
Freshmeat.net. They are available in
two formats:
Comments (none posted)
Miscellaneous
The Free Software Foundation temporarily lost its T1 connection in its main
offices due to a flood. They are back up now, but they are asking for help
to insure that this won't happen again.
Full Story (comments: 1)
Page editor: Forrest Cook