LWN.net Logo

Advertisement

E-Commerce & credit card processing - the Open Source way!

Advertise here

LWN.net Weekly Edition for September 25, 2008

User manuals for free software

By Jake Edge
September 17, 2008

Documentation for free software is generally a problem area, both for users and developers. But developers at least have the code to consult, whereas most users are left poking around through menu items and consulting multiple web pages. The FLOSS Manuals project is using techniques similar to those used in free software development to produce manuals for users.

The project seeks to create the kind of manuals that users may be used to from proprietary software packages. The project's About page describes the manuals being produced:

FLOSS Manuals make free software more accessible by providing clear documentation that accurately explains their purpose and use. Each manual explains what the software does and what it doesn't do, what the interface looks like, how to install it, how to set the most basic configuration necessary, and how to use its main functions. To ensure the information remains useful and up to date the manuals are regularly developed to add more advanced uses, and to document changes and new versions of the software.

There are a wide variety of manuals in progress, covering graphics and audio tools, OpenOffice, Firefox, WordPress for blogging, and more. The most recent addition is a set of eight manuals for the One Laptop Per Child XO. These were created as part of a XO/Sugar book sprint held in August in Austin, Texas. The manuals cover the XO hardware and Sugar interface as well as six different activities that are available as part of Sugar.

The use of a "sprint" is just part of the adoption of free software development strategies. The project is set up to allow for collaborative development by a community. FLOSS Manuals describes it this way:

The manuals on FLOSS Manuals are written by a community of people, who do a variety of things to keep the manuals as up to date and accurate as possible. Anyone can contribute to a manual – to fix a spelling mistake, to add a more detailed explanation, to write a new chapter, or to start a whole new manual. The way in which FLOSS Manuals are written mirrors the way in which FLOSS (Free, libre open source) software itself is written: by a community who contribute to and maintain the content.

The manuals themselves are available in a variety of formats: HTML, PDF, as well as dead tree. One of the more interesting features is the remix capability. Using an AJAX interface, one can pick and choose from the chapters of existing manuals to create a custom manual that includes only the pieces required for some group of users. Remixers can choose their own cover and title, then export it all as a PDF file. Instead, one can also cut and paste some javascript code into a web page that creates a reader application on the page. In this way, the custom manual will always be up-to-date with the latest changes made to the chapters.

FLOSS manuals clearly fill a niche that is needed in the free software world. The manuals have a rather professional look that will immediately stand out to users. There is a lot of work to be done, but it would appear that the project has made an excellent start. As one might guess, it is always looking for more interested folks to write, edit, and proofread manuals.

(Thanks to LWN reader David Farning for suggesting we look at this project.)

Comments (13 posted)

LPC: Booting Linux in five seconds

September 22, 2008

This article was contributed by Don Marti

At the Linux Plumbers Conference Thursday, Arjan van de Ven, Linux developer at Intel and author of PowerTOP, and Auke Kok, another Linux developer at Intel's Open Source Technology Center, demonstrated a Linux system booting in five seconds. The hardware was an Asus EEE PC, which has solid-state storage, and the two developers beat the five second mark with two software loads: one modified Fedora and one modified Moblin. They had to hold up the EEE PC for the audience, since the time required to finish booting was less than the time needed for the projector to sync.

How did they do it? Arjan said it starts with the right attitude. "It's not about booting faster, it's about booting in 5 seconds." Instead of saving a second here and there, set a time budget for the whole system, and make each step of the boot finish in its allotted time. And no cheating. "Done booting means CPU and disk idle," Arjan said. No fair putting up the desktop while still starting services behind the scenes. (An audience member pointed out that Microsoft does this.) The "done booting" time did not include bringing up the network, but did include starting NetworkManager. A system with a conventional hard disk will have to take longer to start up: Arjan said he has run the same load on a ThinkPad and achieved a 10-second boot time.

Out of the box, Fedora takes 45 seconds from power on to GDM login screen. A tool called Bootchart, by Ziga Mahkovec, offers some details. In a Bootchart graph of the Fedora boot (fig. 1), the system does some apparently time-wasting things. It spends a full second starting the loopback device—checking to see if all the network interfaces on the system are loopback. Then there's two seconds to start "sendmail." "Everybody pays because someone else wants to run a mail server," Arjan said, and suggested that for the common laptop use case—an SMTP server used only for outgoing mail—the user can simply run ssmtp.

[Fedora bootchart]
Figure 1

Another time-consuming process on Fedora was "setroubleshootd," a useful tool for finding problems with Security Enhanced Linux (SELinux) configuration. It took five seconds. Fedora was not to blame for everything. Some upstream projects had puzzling delays as well. The X Window System runs the C preprocessor and compiler on startup, in order to build its keyboard mappings.

Ubuntu's boot time is about the same: two seconds shorter (fig. 2). It spends 12 seconds running modprobe running a shell running modprobe, which ends up loading a single module. The tool for adding license-restricted drivers takes 2.5 seconds—on a system with no restricted drivers needed. "Everybody else pays for the binary driver," Arjan said. And Ubuntu's GDM takes another 2.5 seconds of pure CPU time, to display the background image.

[Ubuntu bootchart]
Figure 2

Both distributions use splash screens. Arjan and Auke agreed, "We hate splash screens. By the time you see it, we want to be done." The development time that distributions spend on splash screens is much more than the Intel team spent on booting fast enough not to need one.

How they did it: the kernel

Step one was to make the budget. The kernel gets one second to start, including all modules. "Early boot" including init scripts and background tasks, gets another second. X gets another second, and the desktop environment gets two.

The kernel has to be built without initrd, which takes half a second with nothing in it. So all modules required for boot must be built into the kernel. "With a handful of modules you cover 95% of laptops out there," Arjan said. He suggested building an initrd-based image to cover the remaining 5%.

Some kernel work made it possible to do asynchronous initialization of some subsystems. For example, the modified kernel starts the Advanced Host Controller Interface (AHCI) initialization, to handle storage, at the same time as the Universal Host Controller Interface (UHCI), in order to handle USB (fig.3). "We can boot the kernel probably in half a second but we got it down to a second and we stopped," Arjan said. The kernel should be down to half a second by 2.6.28, thanks to a brand-new fix in the AHCI support, he added.

[Asynchronous hardware
init]
Figure 3

One more kernel change was a small patch to support readahead. The kernel now keeps track of which blocks it has to read at boot, then makes that information available to userspace when booting is complete. That enables readahead, which is part of the early boot process.

How they did it: readahead and init

Fedora uses Upstart as a replacement for the historic "init" that traditionally is the first userspace program to run. But the Intel team went back to the original init. The order of tasks that init handles is modified to do three things at the same time: first, an "sReadahead" process, to read blocks from disk so that they're cached in memory, second, the critical path: filesystem check, then the D-Bus inter-process communication system, then X, then the desktop. And the third set of programs to start is the Hardware Abstraction Layer (HAL), then the udev manager for hot-plugged devices, then networking. udev is used only to support devices that might be added later—the system has a persistent, old-school /dev directory so that boot doesn't depend on udev.

The arrangement of tasks helps get efficient use out of the CPU. For example, X delays for about half a second probing for video modes, and that's when HAL does its CPU-intensive startup (fig. 4).

[Parallel tasks]
Figure 4

In a graph of disk and CPU use, both are at maximum for most of the boot time, thanks to sReadahead. When X starts, it never has to wait to read from disk, since everything it needs is already in cache. sReadahead is based on Fedora Readahead, but is modified to take advantage of the kernel's new list of blocks read. sReadahead is to be released next week on moblin.org, and the kernel patch is intended for mainline as soon as Arjan can go over it with ext3 filesystem maintainer Ted Ts'o. (Ted, in the audience, offered some suggestions for reordering blocks on disk to speed boot even further.)

There's a hard limit of 75MB of reads in order to boot, set by the maximum transfer speed of the Flash storage: 3 seconds of I/O at 25MB/s. So, "We don't read the whole file. We read only the pieces of the file we actually use," Arjan said. sReadahead uses the "idle" I/O scheduler, so that if anything else needs the disk it gets it. With readahead turned off, the system boots in seven seconds, but with readahead, it meets the target of five.

X is still problematic. "We had to do a lot of damage to X," Arjan said. Some of the work involved eliminating the C compiler run by re-using keyboard mappings, but other work was more temporary. The current line of X development, though, puts more of the hardware detection and configuration into the kernel, which should cut the total startup time. Since part of the kernel's time budget is already spent waiting for hardware to initialize, and it can initialize more than one thing at a time, it's a more efficient use of time to have the kernel initialize the video hardware at the same time it does USB and ATA. X developer Keith Packard, in the audience and also an Intel employee, offered help. Setting the video mode in the kernel would not let the kernel initialize it at the same time as the rest of the hardware, as shown in figure 3. The fast-booting system does not use GDM but boots straight to a user session, running the XFCE desktop environment. Instead of GDM, Arjan said later, a distribution could boot to the desktop session of the last user, but start the screensaver right away. If a different user wanted to log in, he or she could use the screensaver's "switch user" button.

[5 second boot]
Figure 5

In conclusion, Arjan said, "Don't settle for 'make boot faster.' It's the wrong question. The question is 'make boot fast'." And don't make all users wait because a few people run a filesystem that requires a module or sendmail on their laptops. "Make it so you only pay the price if you use the feature." Distributions shouldn't have to maintain separate initrd-based and initrd-free kernel packages, he said later. The kernel could try to boot initrd-free, then fall back if for whatever reason it couldn't see /sbin/init, as might happen if it's missing the module needed to mount the root filesystem.

PowerTOP spawned a flurry of power-saving hacks from all areas of the Linux software scene. The combination of Bootchart, readahead, and a five-second target looks likely to set off a friendly boot time contest among Linux people as well. At the conference roundup Friday, speaker Kyle McMartin announced that both Fedora and Ubuntu have fixed some delays in their boot process, and there was much applause.

FIGURE CREDIT: Arjan van de Ven and Auke Kok, Intel

Comments (166 posted)

The Linux Plumbers Conference: a summary

By Jonathan Corbet
September 23, 2008
Back in the early days of Linux, a developer wishing to meet his or her peers at a conference had a relatively small number of alternatives. Two of those - Linux Expo and the Atlanta Linux Showcase - were held in the United States. But it has been a long time since the US has hosted a serious developer-oriented conference - especially for developers who are working on the lower layers of the system. The US-based conferences died out as a result of a combination of a number of factors, including poor management, competition from the Ottawa Linux Symposium and (yes, really) LinuxWorld, and a feeling among certain developers that becoming the next Dmitry Sklyarov would not be a fun way to spend the rest of the year.

There is a certain appeal to overseas events, but that appeal fades more quickly than one might expect. The need for long-haul travel also excludes US-based developers who are unable to arrange funding. So, for some years, [Kristen Accardi] the development community in the US has been wishing for a local conference. More recently, a dedicated group of Portland-based developers led by Kristen Carlson Accardi, with some help from the Linux Foundation, decided to do something about it. The result was the first edition of the Linux Plumbers Conference, held September 17 to 19. Staging this conference in a world which does not lack for conferences was a bit of a risk, and the organizers added a few risks of their own to the mix. Looking back, your editor can say that those risks were well repaid; the first Linux Plumbers Conference was a great success.

The "plumbing" focus of this event was well chosen. While it is still possible to run a system with a bare kernel and a shell as the init process, Linux systems used for real work increasingly have a layer of user-space software tightly wrapped around the kernel. Quite a bit of kernel-based functionality only works properly in the presence of a tightly-coupled user-space component; examples include system initialization, 3D graphics, and much more. The kernel, along with its collection of user-space software, makes up the "plumbing" layer which makes everything else work. Kernel developers have had ample opportunities to get together in recent years, but there has been no concerted effort to bring together the developers for the full plumbing layer until now.

The other significant change made by the LPC organizers was to do away with the "everybody delivers a paper" format used by most conferences. Instead, the conference was planned as a series of 2.5-hour "microconferences," each with a specific focus. Each microconference, which had its own "runner," was able to select its own mode of operation. They generally included a certain number of presentations on relevant topics; in this sense, the microconferences resemble the topic-specific tracks found at many academic gatherings.

Where things differ, though, is that most of the microconferences were explicitly oriented toward discussion and problem solving. The best speakers did not (just) talk about their own project; they raised challenges for the group as a whole to address. It worked spectacularly well. Throughout the event, your editor saw rooms full of people who were fully engaged in the work at hand. The discussions had wide participation, most of the necessary people were generally in the room, and there were relatively few bored people checking email. And, most importantly, a lot of real work got done. Developers came out of the sessions with a clear idea of what needs to be done, agreement with others on how it was to be done, and, sometimes, working code.

So, what did all of these developers talk about?

  • Developers interested in storage talked about the iogrind tool and a number of outstanding problems; some notes from the session have been posted.

  • The Audio microconference covered a wide range of issues; see this LWN article for a summary.

  • A session on tracing saw presentations by developers of a number of competing technologies, followed by a focused effort to design a unified low-level shared relay buffer.

  • The video input session, for all practical purposes, continued on and off through the entire conference; that group of developers, which had never met before, set in motion some major redesign efforts for the Video4Linux layer.

  • The bootstrap and initialization session was dominated by Arjan van de Ven's five-second boot demonstration; having been given that challenge, developers from multiple distributions set about the task of getting their systems to boot quickly.

  • A session on server management looked for solutions to a number of challenges facing Linux administrators.

  • Kernel/user-space APIs were the topic of another lively session which, while perhaps concluding little, raised a lot of issues on how those APIs should be designed.

  • The power management session concluded that the suspend/resume problem is solved ("if you disagree, you bought the wrong hardware") and made progress on a number of other problems; now, they say, all that is left is the coding.

  • The "future displays" session pounded out the path toward kernel-based graphics mode setting and quite a bit more.

  • And the desktop integration session, while reaching "not a lot of conclusions," examined a number of relevant issues; the discussion on Upstart from that session will be covered here separately.

Beyond that, LPC attendees could choose from a handful of more traditional presentations, a provocative keynote from Greg Kroah-Hartman, a rather less provocative kernel [Linus] update from your editor, a git tutorial taught by some guy named Linus, and no shortage of evening celebrations. All told, the Linux Plumbers Conference was one of the most productive, interesting, and generally worthwhile events your editor has been to in quite some time - and your editor has been to rather more than the usual number of events. There will be a lot of interesting developments kicked off by this gathering, once the exhausted attendees get some rest. This conference is off to a good start.

And it is just a start; the organizers are already working on the 2009 edition. It will, once again, be held in Portland. The general format will likely remain the same, but there will be no kernel summit before the 2009 event (the summit will be in October 2009 in Tokyo). Instead, there is a reasonable chance that a more traditional, presentation-oriented conference will be planned to coincide with the 2009 Plumbers Conference. With this new event, the active local community, and the success of this year's conference, LPC2009 looks promising already.

After 2009, the Plumbers team hopes to take a page from the linux.conf.au playbook and pass the event onto a new set of volunteer organizers somewhere else in North America. This form of organization has helped to keep linux.conf.au vital and interesting for many years; it makes sense to do something similar with the Linux Plumbers Conference. Now might be a good time for any North American community which would like to host this event in 2010 to start thinking about how it could be done.

Comments (18 posted)

Leo Laporte on open micro-blogging

September 24, 2008

This article was contributed by Tina Gasperson

Radio talk show and podcast host Leo Laporte doesn't think operating systems or network infrastructures should ever be proprietary. He's the host of The Tech Guy radio show, which airs every weekend on stations around the United States, and of FLOSS Weekly, a regular podcast in which Laporte discusses different aspects of the Free, Libre, and Open Source software community. On The Tech Guy show, Laporte answers questions from computer users who call in to get advice and find ways to make their computers run better. Most of his callers are Windows users, but Laporte usually finds a way to mention Linux and other open source software during the course of his show.

Laporte says he has been writing software for decades, and that he has always shared the source code, even before he had a notion of open source. "It was public domain then. But even then, I understood that if you're programming, the most interesting part is to see other people's code and be able to modify it. That's just a natural way to work." His first shot at installing Linux was back in 1994 when he got his hands on a copy of Slackware. "It was murder — but it opened my eyes to the growing open source world."

At the time, Laporte was the host of a cable television show called Tech TV. "We were the first television show to install Linux live." On that show, Laporte hosted some of the biggest names in FLOSS, including Linus Torvalds and Richard Stallman, during Tech TV's run. "The longer I worked as a computer journalist, the more obvious it became to me that proprietary software is a bad idea. It's not natural to be secretive and it doesn't make sense." Laporte says that especially in the enterprise, the technological infrastructure should be open. "That should never be proprietary. Protocols, standards, and code need to be open."

When it comes to applications, Laporte is a bit more flexible. "If you want to write an app that is closed source, I can see there are reasons why one might want to do that and that's fine with me. But closing the operating system makes no sense, and it is bad for everybody."

Laporte, a Twitter user with over fifty-five thousand followers, recently announced he would no longer use Twitter, but would instead now throw his support behind Laconica, the open source micro-blogging platform on which Identi.ca is built. Laporte spoke extensively about Laconica on FLOSS Weekly last month when he chatted with Evan Prodromou, the original author of Laconica and the person who maintains identi.ca.

"Laconica is identical to Twitter, but it's open, which is huge, and, more than open just in terms of it being open source." Laporte says open standards are just as important in this case, and that the protocols for micro-blogging should become commoditized so that others can build on top of the infrastructure instead of having to start from scratch. Laconica also offers users the option to release all their micro-posts under a Creative Commons attribution license, making the service about as "open as you could hope for," writes Dan Brickley, co-founder of the Friend of a Friend project (FOAF).

With Laconica, different micro-blogging services can communicate with each other since the platform is open, unlike Twitter's service. This makes it possible for different communities to form their own branded services in which users can still search for and follow users in other communities, tying them together in what has become known as a "federation." Right now, Laconica is running on dozens of disparate servers, whose users can all subscribe to each others' updates. Laconica is built using the OpenMicroBlogging specification, which is completely open, free, and independent of any one central maintenance authority, unlike Twitter's proprietary protocol.

Laporte believes that this kind of federation, which could be called distributed micro-blogging, is the key to overcoming scalability issues that have plagued Twitter, resulting in frequent outages for the popular service. "If you can't scale, that's another reason to have a more distributed system. Maybe we shouldn't have two million people on one Twitter. Maybe we should have five thousand people on four hundred 'twitters.' I have three thousand people on my system, and that's just about right."

Laporte's system is called the TWiT Army, [Note that the web site is currently down] named after another of his podcasts known as This Week in Tech, or TWiT. "The conversation [there] has been very cohesive. The conversation is with people you know. With Twitter, it turns into a broadcast medium instead of a conversation. Now, it is a very useful way to get a message out to all those people. But I would love to have all those people all in their own communities, able to search across the federation by keyword, and if I post something of interest they'll find out about it."

Laporte says he is not trying to go "head to head" against Twitter. But he is convinced that Laconica is a better way to do micro-blogging. "One of my problems with Twitter is that I contribute a lot of content and they shut down access to it. I want to be part of an open platform — that's where the innovation is going to occur."

Laporte says that features Twitter previously offered but has shut down, including instant messaging and "track," are two of the most valuable features that Twitter offered. "Comcast realized a huge value from Track," he says. Comcast customer service agents were tracking Twitter posts to monitor complaints or issues posted by users, and then following up directly with those people. "Twitter was saying, 'well it's too demanding,' but the conspiracy theory is that they realize this is where the real value of Twitter is and they want to try to monetize it." With Laconica, Laporte says, these types of features can remain open and accessible, not subject to the whims of proprietary ownership.

Laporte, Prodromou, and others including RSS pioneer Dave Winer, are talking about a collaborative effort to standardize and open the protocols for micro-blogging. The group is planning a conference for all who are interested in the concept of open micro-blogging, called the BearhugCamp. Laporte says, "we would very much like to encourage Twitter to become a part. The idea is to get all the players to the table and encourage them to support the Extensible Messaging and Presence Protocol (XMPP) (developed by Jabber). We're creating a new messaging medium with emerging open standards, in new and exciting ways. It's not really about Twitter at all – Twitter gave us this idea of micro-blogging, and now we're onto the next thing: let's make it open."

Comments (1 posted)

Page editor: Jonathan Corbet

Security

Mobile phone or penetration tool?

By Jake Edge
September 24, 2008

The NeoPwn is a pocket-sized network penetration tool based on Linux and free software. The form factor should be familiar to anyone that has paid attention to the Linux mobile phone market as NeoPwn is based on the OpenMoko Neo FreeRunner. When the device starts shipping, users will be able to do network monitoring and penetration testing from an unobtrusive platform—then call home with it.

NeoPwn comes with an impressive array of free software security tools, including things like Metasploit, Aircrack-ng, WifiZoo, Wireshark, and many others. They all run on top of a customized Linux 2.6.24 kernel—sources to be released when the hardware ships, which is scheduled for October 1—from the microSD flash module. A full Debian distribution is included on a flash filesystem that has been optimized for performance and size.

The company behind NeoPwn has also created a GUI interface to the system for hardware control as well as attack automation. The interface is meant to reduce the need for using the command line for the most common types of attacks. Using the tools, Wired Equivalent Privacy (WEP) keys can be cracked in 5 to 14 minutes depending on whether the network has clients connected or not. The NeoPwn is not set up to crack Wifi Protected Access (WPA) keys on the device itself, but it can capture the handshake for use by programs on more powerful systems.

There are several different options for purchasing the NeoPwn—all of them rather pricey. The basic model is $699 for the phone (normally $399), software, and some useful accessories. One can also just purchase the software on a 2GB microSD card for $79. The website has a prominent warning that might deter some, however: "Please be advised that if you do not choose a complete system, you will have to program the phone's bootloader manually for the correct microSD bootloader entry, to the NAND memory. This can be dangerous if you do not know what you are doing!"

The standard FreeRunner Wifi has firmware limitations that will not allow monitoring or packet injection—pretty important capabilities for a network security tool—so various USB Wifi cards come with the NeoPwn. Also, since a custom kernel is used, one cannot make phone calls and do penetration testing at the same time. At boot time, one must choose between the two modes. Even with those limitations, the FreeRunner seems like an excellent choice as a platform.

For those puzzled by the name, "pwn" is used for the word "own" in the "leetspeak" used by many in the security community—both white and black hat. Breaking into and controlling a network or system is then "pwning" it. NeoPwn is not alone in using the term. Metasploit author H D Moore's iPwn Mobile makes UMPC-based penetration testing devices.

Both the NeoPwn and iPwn Mobile's Infiltrator look like useful devices for those needing an off-the-shelf solution, but because they are based on free software, the core capabilities are available to those with a lower budget. By showing what can be done with open mobile phones like the FreeRunner, NeoPwn is doing a great service for both OpenMoko and the free software community. Undoubtedly various malicious folks will get their hands on devices like this, so it is important that security researchers and professionals have access to them as well.

Comments (1 posted)

New vulnerabilities

ed: heap-based buffer overflow

Package(s):ed CVE #(s):CVE-2008-3916
Created:September 23, 2008 Updated:October 30, 2008
Description: From the Mandriva advisory: A heap-based buffer overflow was found in GNU ed that allowed context-dependent or user-assisted attackers to execute arbitrary code via a long filename
Alerts:
Mandriva MDVSA-2008:200 2007-09-22
Gentoo 200809-15 2008-09-23
Red Hat RHSA-2008:0946-01 2008-10-21
CentOS CESA-2008:0946 2008-10-21
Fedora FEDORA-2008-9236 2008-10-30
Fedora FEDORA-2008-9263 2008-10-30

Comments (3 posted)

firefox: multiple vulnerabilities

Package(s):firefox CVE #(s):CVE-2008-3837 CVE-2008-4058 CVE-2008-4060 CVE-2008-4061 CVE-2008-4062 CVE-2008-4063 CVE-2008-4064 CVE-2008-4065 CVE-2008-4067 CVE-2008-4068
Created:September 24, 2008 Updated:October 9, 2008
Description: The firefox browser (and related packages) suffer from several vulnerabilities fixed by the 3.0.2 and 2.0.0.17 releases.
Alerts:
Red Hat RHSA-2008:0879-01 2008-09-23
CentOS CESA-2008:0879 2008-09-24
CentOS CESA-2008:0882 2008-09-24
Red Hat RHSA-2008:0882-01 2008-09-23
Ubuntu USN-645-1 2008-09-24
Ubuntu USN-645-2 2008-09-24
Mandriva MDVSA-2008:205 2008-09-25
Ubuntu USN-645-3 2008-09-25
Ubuntu USN-647-1 2008-09-26
Fedora FEDORA-2008-8399 2008-09-27
Mandriva MDVSA-2008:206 2008-09-26
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8399 2008-09-27
Fedora FEDORA-2008-8401 2008-09-27
Fedora FEDORA-2008-8429 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Fedora FEDORA-2008-8425 2008-09-27
Red Hat RHSA-2008:0908-01 2008-10-01
CentOS CESA-2008:0908 2008-10-06
SuSE SUSE-SA:2008:050 2008-10-08
Debian DSA-1649-1 2008-10-08

Comments (none posted)

havp: denial of service

Package(s):havp CVE #(s):CVE-2008-3688
Created:September 22, 2008 Updated:September 24, 2008
Description:

From the Gentoo advisory:

Peter Warasin reported an infinite loop in sockethandler.cpp when connecting to a non-responsive HTTP server.

A remote attacker could send requests to unavailable servers, resulting in a Denial of Service.

Alerts:
Gentoo 200809-11 2008-09-21

Comments (none posted)

horde3: cross-site scripting

Package(s):horde3 CVE #(s):CVE-2008-3823
Created:September 22, 2008 Updated:September 24, 2008
Description:

From the Debian advisory:

Will Drewry discovered that the Horde, allows remote attackers to send an email with a crafted MIME attachment filename attribute to perform cross site scripting.

Alerts:
Debian DSA-1642-1 2008-09-20

Comments (none posted)

mantis: multiple vulnerabilities

Package(s):mantis CVE #(s):CVE-2008-3331 CVE-2008-3332 CVE-2008-3333
Created:September 22, 2008 Updated:September 24, 2008
Description:

From the Gentoo advisory:

Antonio Parata and Francesco Ongaro reported a Cross-Site Scripting vulnerability in return_dynamic_filters.php (CVE-2008-3331) and an insufficient input validation in adm_config_set.php (CVE-2008-3332). A directory traversal vulnerability in core/lang_api.php (CVE-2008-3333) has also been reported.

Alerts:
Gentoo 200809-10 2008-09-21

Comments (none posted)

mercurial: remote information exposure

Package(s):mercurial CVE #(s):
Created:September 18, 2008 Updated:September 24, 2008
Description: Mercurial has a remote information exposure vulnerability. From the rPath advisory: Previous versions of the mercurial package do not properly honor "allowpull" permissions when serving a repository using hgweb.
Alerts:
rPath rPSA-2008-0276-1 2008-09-17

Comments (none posted)

newsbeuter: execution of arbitrary code

Package(s):newsbeuter CVE #(s):CVE-2008-3907
Created:September 23, 2008 Updated:September 24, 2008
Description: From the Gentoo advisory: J.H.M. Dassen reported that the open-in-browser command does not properly escape shell metacharacters in the URL before passing it to system().
Alerts:
Gentoo 200809-12 2008-09-22

Comments (none posted)

phpmyadmin: multiple vulnerabilities

Package(s):phpmyadmin CVE #(s):CVE-2008-3197 CVE-2008-3456 CVE-2008-3457 CVE-2008-4096
Created:September 22, 2008 Updated:September 24, 2008
Description:

From the Debian advisory:

CVE-2008-4096: Remote authenticated users could execute arbitrary code on the host running phpMyAdmin through manipulation of a script parameter.

CVE-2008-3457: Cross site scripting through the setup script was possible in rare circumstances.

CVE-2008-3456: Protection has been added against remote websites loading phpMyAdmin into a frameset.

CVE-2008-3197: Cross site request forgery allowed remote attackers to create a new database, but not perform any other action on it.

Alerts:
Debian DSA-1641-1 2008-09-20
Mandriva MDVSA-2008:202 2008-09-23

Comments (none posted)

twiki: arbitrary code execution

Package(s):twiki CVE #(s):CVE-2008-3195
Created:September 22, 2008 Updated:September 24, 2008
Description:

From the Debian advisory:

It was discovered that twiki, a web based collaboration platform, didn't properly sanitize the image parameter in its configuration script. This could allow remote users to execute arbitrary commands upon the system, or read any files which were readable by the webserver user.

Alerts:
Debian DSA-1639-1 2008-09-19

Comments (none posted)

Page editor: Jake Edge

Kernel development

Release status

Kernel release status

The current 2.6 development kernel is 2.6.27-rc7, released on September 21. "All the changes are small - the biggest individual ones are literally things like a few m68k defconfig changes and the trivial cleanups in the MAINTAINERS file." Details can be found in the long-format changelog.

Several dozen fixes have been merged into the mainline git repository since the 2.6.27-rc7 release.

The linux-next tree has abruptly taken a break; it is expected to return around October 13.

Comments (none posted)

Kernel development news

Quotes of the week

And exactly as in the theory of relativity, two people on different CPU's can actually validly _disagree_ about the ordering of the same event. There are things that act as "light-cones" and are borders for what everybody can agree on, but basically, in the absence of explicit locks, it is very possible that no such thing as "ordering" may even exist.
-- Linus Torvalds

-	early_printk("Kernel really alive\n");
+	early_printk("Kernel really alive! It's alive! IT'S ALIIIIIIIIIVE!\n");
-- Bill Nottingham

Still experimental, not for inclusion, but given that I am now finding more bugs in the rest of Linux than in this code, I suspect that it is getting close.
-- Paul McKenney (Thanks to Steven Rostedt)

Comments (1 posted)

e1000e and the joy of development kernels

By Jonathan Corbet
September 24, 2008
The 2.6.27-rc regression list posted on September 21 contains - deep within the list - an entry reading "e1000e: 2.6.27-rc1 corrupts EEPROM/NVM". One might be forgiven for missing it; the list of regressions is still (unfortunately) long, and there is nothing there to indicate that it is a notable problem. But it is: this particular bug goes beyond breaking networking; when it bites, it corrupts the EEPROM on the device, causing it to cease to function forevermore (or, at least, until the user can manage to flash the EEPROM with working code). This is a problem which is worth fixing.

As of this writing, though, nobody seems to know what the problem is. There was some confusion resulting from the fact that the related e1000 driver also suffered from an EEPROM corruption problem - but that turns out to have been an entirely different bug. The e1000 problem was fixed by putting a lock around accesses to the EEPROM, preventing corruption caused by concurrent access. But something else is going on with the e1000e.

Figuring out what that "something else" is appears to be a challenge. The problem is not readily reproducible, and there is this little problem that triggering the bug more than once requires the replacement of the affected hardware. It's not even clear which kernel versions are affected, though it appears that only the 2.6.27 development series shows the bug. There is some correlation between e1000e corruptions and graphics driver crashes, leading David Miller to pursue a hypothesis that the real culprit is changes to the X server, but that idea has not, yet been proven. Other developers suspect a concurrency-related problem similar to the e1000 bug.

As of this writing, the bulk of what is known can be found in this advisory from Mandriva. Kernel developers are adding information to the kernel bugzilla entry as they find it.

It has been suggested that anybody running 2.6.27 on a potentially affected system might want to save a copy of the current EEPROM contents with a command like:

    ethtool -e eth0 > eth0.eeprom

(That assumes, of course, that the relevant device is eth0 on your system). With the saved data, it should be possible to recover the device if the worst happens; without, chances are that victims will have to return their systems to the vendor.

In one sense, this bug demonstrates that the system works. It was caught while the kernel was still in the stabilization phase; one can be certain that it will be obliterated somehow before any stable 2.6.27 release comes out. On the other hand, the first report of this problem hit the net on August 8; the problem was known for over a month before distributors started responding to it and the all-out hunt for the cause began. That is a long time for any regression to persist, but it is especially long when one is dealing with a regression which has the ability to regress hardware back to a stone-age state.

The distributors have now responded; most of them have withdrawn kernels with the affected drivers. So far, nobody has posted tools to help affected users recover their hardware (suggestions to use ibautil should be ignored and forgotten about as soon as possible). Such a tool is forthcoming, but it would be hard to blame the relevant engineers for focusing on fixing the problem first. With any luck at all, the root cause will have been isolated by the time you read this.

There is one thing that will not have changed, though. Testers of unstable software - especially the kernel - have often been warned that said software can do all kinds of terrible things to their systems. It is easy to ignore those warnings; even -rc1 kernels actually work for most people, most of the time. But, as we have seen in this case, the potential for catastrophic bugs is real. Development code can brick your network adapter, scramble your filesystems, open up severe security holes, or save your documents as OOXML. When experimenting with unstable code - even if it has been neatly packaged by your distributor - it is always prudent to have good backups and an even better sense of humor.

Comments (14 posted)

LPC: The future of Linux graphics

By Jonathan Corbet
September 24, 2008
On the final day of the Linux Plumbers Conference, Keith Packard ran a microconference dedicated to future displays. A number of topics were discussed there, but the key session had to do with the near-term future of Linux video drivers. Longtime LWN readers will be more than familiar with the story: Linux has multiple subsystems charged with managing graphics hardware, the user-space driver model adopted by XFree86 leads to all kinds of problems, support for 3D graphics is not what it should be, etc. That whole story was recounted here, but with a notable difference: solutions are in the final stabilization stages, and these problems will soon be history.

[Display session] There are two major components to the work which is being done: graphics memory management and kernel-based mode setting. A contemporary graphics processor (GPU) is really a CPU in all respects, including the possession of a sophisticated memory management unit. Managing the sharing of memory between user space, the kernel, and the GPU is fundamental to the implementation of correct, high-performance graphics. One year ago, the TTM subsystem looked like the solution to the memory management problem, but TTM grew increasingly unworkable as the understanding of the problem improved. So now the Graphics Execution Manager (GEM) code looks like the way forward; it is currently being prepared for merging into the mainline kernel.

Kernel-based mode setting, instead, is meant to get user-space code out of the business of messing around directly with the hardware. Putting the kernel in charge of the configuration of the video adapter has a long list of advantages. Suspend and resume have a much better chance of working, for example. Once the X server stops accessing hardware directly, it no longer needs to run as root; having that much untrusted code running with full privileges has made people nervous for many years. In the current scheme, the kernel cannot change the graphics mode if it needs to; that means that, for example, if the system panics, a graphical user will never see the message. With kernel-based mode setting, the kernel can switch to a different mode and allow the user to frantically try to read the message before it scrolls off the screen. Kernel-based mode setting will also make fast user switching work much better, without the need to use a separate virtual terminal for each user session.

One of the first topics of discussion was: how does the kernel decide when to switch to the panic screen to show the user an important message? There are quite a few different paths by which the kernel can indicate distress; should a kernel message be presented every time a WARN_ON() condition is encountered? There would appear to be a need to unify the error paths in the kernel to help simplify this kind of decision. Linus Torvalds Jesse Barnes suggested that the kernel could simply switch on every message emitted with printk(), on the theory that such a policy would lead to a rapid and welcome reduction in kernel verbosity.

The real debate in this session, though, had to do with development process. As has been discussed previously on LWN, much of the video driver work is done outside of the mainline kernel tree. We are now seeing a big chunk of that work being prepared for a merge. But the new mode setting interface is a big API change which will require adjustments from user space; a new kernel expecting to handle mode setting may not give the best results when run with an older user space X server. So there will be a big flag day of sorts when everything changes and all of the new code gets run for the first time.

Linus is not pleased with the notion of a video graphics flag day; he made a long appeal for a more incremental approach to fixing the video driver work. In his opinion, the flag day will lead to a whole bunch of untested code being made active all at once; there will certainly be design mistakes which show up, and the whole thing will fail to work properly. At which point another flag day will be required. Linus was not impressed by the claim that Fedora users have selflessly been testing this code for everybody; in his view, the kernel developers are not doing this testing. He sees the whole thing as a recipe for disaster.

The real problem - and the reason for the out-of-tree development - is that all of this work requires the creation of a number of new, complex user-space ABIs. That is true for both mode setting and memory management, and the two cannot be easily separated from each other. Until the combination as a whole is seen to work, the video driver developers simply cannot commit themselves to a stable user-space interface - and that means that their code cannot be merged.

As an example, TTM was cited. Had that code been pushed when it looked like the right solution, there would now be even bigger problems to solve.

In summary, the graphics developers believe that the approach they are taking is as incremental as they can make it. Whether they convinced Linus of that fact is unclear, but he eventually seemed to accept the plan. He did ask for them to push the mode setting code upstream first, but that code cannot work without memory management support. So GEM will go into the mainline ahead of kernel-based mode setting. Once everything is in the kernel, it will be possible to boot a system with either kernel-based or user-space mode setting, so both new and old distributions will be supported. Someday, in the distant future, support for mode setting in user space can be removed. Much sooner than that, though, we should all be running much-improved graphics code and will have long since forgotten how things used to be.

Comments (10 posted)

Newer kernels and older SELinux policies

By Jake Edge
September 24, 2008

A subtle change in 2.6.25 recently left Andrew Morton with a less than completely functioning system, but it also demonstrated a user-space interface that may sometimes be overlooked: SELinux. The problem stemmed from a change to facilitate containers by making /proc/net into a symbolic link, which tripped up SELinux policies that had been written for earlier kernels. Putting policy into user space is a guiding principle of kernel development, but that can sometimes lead to an unexpected synchronization required between those policies and the kernel.

The change itself was fairly minor, making /proc/net be a symbolic link to /proc/self/net so that containers would only see their network devices, rather than those of the enclosing system. But when Morton ran a recent kernel on his Fedora Core 5 and 6 systems, he got:

    sony:/home/akpm> ifconfig -a
    Warning: cannot open /proc/net/dev (Permission denied). Limited output.
Further investigation found that even ls got permission errors when looking at /proc/net. As is usual with mysterious "permission denied" errors, SELinux was the underlying cause.

When the change was made, back in March, it was reviewed by the SELinux developers, but no one noticed that it would cause an additional permission check—on the symbolic link itself. So, when resolving things like /proc/net/dev or other entries in that directory, the "labels" on the symbolic link were checked. Of course, /proc is a synthetic filesystem, so the labels are generated from SELinux code rather than retrieved from extended attributes (xattrs).

Distributions have updated their policies to allow access to the symbolic link—probably by noticing the SELinux denial in log messages—so most folks never saw the problem. As Morton found out, though, existing distribution policy files (those shipped with FC5 and FC6 for example) would still disallow the access. Morton regularly runs newer kernels with older distributions to try to catch exactly this kind of error; he is probably one of very few, perhaps the only one, doing that.

Because the distribution-supplied kernel was being changed, some argued that requiring users to update their SELinux policies is not an onerous requirement. Paul Moore puts it this way:

Maybe I'm in the minority here, but in my mind once you step away from the distro supplied kernel (also applies to other packages, although those are arguably less critical) you should also bear the responsibility to make sure you upgrade/tweak/install whatever other bits need to be fixed.

Morton did not buy that argument saying:

Nope. Releasing a non-backward-compatible kernel.org kernel is a big deal.

We'll do it sometimes, with long notice, much care and much deliberation.

We did it this time by sheer accident. That's known in the trade as a "bug".

But SELinux developer Stephen Smalley points out that permissions checks are not normally considered part of the kernel to user space interface. It is something of a gray area, though. Clearly the standard UNIX permission checks are part of that interface, at least partially because the kernel does handle the policy for those checks. Since the policies that govern the decisions about SELinux access denial come from user space, it is a bit hard to argue that changes to the kernel will not ripple out. Smalley describes the problem:

I should note here that for changes to SELinux, we have gone out of our way to avoid such breakage to date through the introduction of compatibility switches, policy flags to enable any new checks, etc (albeit at a cost in complexity and ever creeping compatibility code). But changes to the rest of the kernel can just as easily alter the set of permission checks that get applied on a given operation, and I don't think we are always going to be able to guarantee that new kernel + old policy will Just Work.

One possible solution to the immediate problem was floated by Smalley: SELinux could change the label that it returns for symbolic links under /proc. It is not clear that anyone really wants that change, and there has been no movement to add it. As Morton says, "people who are shipping 2.6.25- and 2.6.26-based distros probably wouldn't want such a patch in their kernels anyway."

Longer term, Eric Biederman asks about supporting xattrs for /proc. That would allow user space to label the proc filesystem appropriately, removing one of the special cases. Unfortunately, doing so would create yet another incompatibility between newer kernels and older user spaces.

In the end, because the bug was only seen by Morton, many months after it was introduced, it may just be ignored. The larger issue of how permissions checks fit into the kernel to user space interface, though, may rear its head again.

Comments (4 posted)

Patches and updates

Kernel trees

Core kernel code

Development tools

Device drivers

Documentation

Filesystems and block I/O

Memory management

Networking

Architecture-specific

Security-related

Virtualization and containers

Benchmarks and bugs

Miscellaneous

Page editor: Jonathan Corbet

Distributions

News and Editorials

LPC: Upstart 1.0 plans: manifesto for a new init

September 24, 2008

This article was contributed by Don Marti

Let's make two things clear about Upstart, a proposed replacement for the Linux "init" process. First, it's not there to speed up boot, and second, it's not intended to parallelize startup. "Upstart is not for what most people think it is for," said its author, Scott James Remnant, in a talk in the dbus miniconference at the Linux Plumbers Conference. What it is there for is to expand the capabilities of "init" on Linux, replace some scripts and workarounds with rules that are intended to be easier to understand and modify, and enable future improvements. Remnant is a Canonical employee, and Upstart is in Fedora as of version 9, making it a welcome example of a Canonical-sponsored project finding its way into other distributions.

While Greg Kroah-Hartman mentioned a list of core software on the Linux platform in his Plumbers Conference talk, "the one thing he never put in there was init," Remnant said. The Linux init, originally by Miquel van Smoorenburg, has been unchanged for years, and is modeled on the System V Unix init, which is even older. Instead of updating it, Remnant says that, for too long, distributions have just worked around it. The startup process has traditionally consisted of shell scripts, started by init, but containing workarounds and extensions accumulated over the years. For example, Debian has a wrapper program called start-stop-daemon, that manages PID files, to keep track of what process ID a daemon process ends up with. Upstart handles that itself.

Current features of upstart include sending notifications for system events, for example, when a service starts; eliminating race conditions, by offering dependency tracking; and removing some service startups from the critical path for boot, again by handling dependencies. Upstart allows a distribution or sysadmin to spell out the critical path in a script, and also specify dependencies. Tracking dependencies allows distributions to eliminate "sleep" loops from the boot sequence, and instead take actions based on events.

Events are not limited to the runlevel changes familiar to sysvinit users, but can depend on other things on the system. But what other things? Future directions for Upstart could be ambitious. For 1.0, Remnant is considering adding the ability to do tasks based on cron-like criteria such as "hourly." But should upstart really replace cron? Another possibly useful direction would be an "idle" event. The Common Unix Printing System (CUPS) is a service that makes sense to start "30 seconds before the user thinks of clicking on the print button," he said. CUPS is not in the critical path for boot, but needs to be running to detect printers before the user needs them. Should it be possible to start non-critical services when the system becomes idle?

Even though fast boot isn't the goal of upstart, Remnant is optimistic about being able to help. Some of the slow booting problems that Arjan van de Ven and Auke Kok identified at the conference are deep in the weeds of nested scripts, and might be smoked out by a simpler init layout. "To make boot fast we have to do a bunch of different stuff. it makes it easy for us to do the real work," Remnant said.

Comments (8 posted)

New Releases

Information on the e1000e corruption bug

Mandriva has sent out an advisory on the e1000e corruption bug which, by virtue of being the best compilation of information on this problem so far, is of interest far beyond the Mandriva user community. If you have an e1000e adapter and run 2.6.27-rc kernels, you probably want to take a look.

Comments (13 posted)

Introducing Foresight Kids Edition

The Foresight Linux Project has announced the first release of the Foresight Kids Edition. "Foresight Kids Edition is a Linux distribution for children that features a number of education and entertainment applications, as well as the benefits of the Foresight GNOME Edition: a rolling release schedule that always keeps your desktop up to date; a revolutionary package manager, Conary; a customized GNOME desktop environment and an innovative set of excellent, up to date software applications."

Full Story (comments: none)

openSUSE 11.1 Beta 1 now available

The first beta version of openSUSE 11.1 is now available. It contains new versions of GNOME (2.24), KDE (4.1.x), and the kernel (2.6.27-rc5). It also has basic support for SELinux along with a raft of other enhancements detailed in the announcement below. "Please remember that this is a beta release, and is not suitable for use on production systems. However, this release is ready for widespread testing, and we're encouraging everyone to download and test the beta release. Please run the release through your usual routine, and let us know about any bugs or other issues that you find."

Update: See this warning before installing on a system with an Intel e1000e network card.

Full Story (comments: 1)

Orange Sombrero 9 Released - based on Fedora

Orange Sombrero 9 has been announced. Orange Sombrero is basically Fedora 9 with a couple of patches that make it a derivative of Fedora. "Why bother? Trademark guidelines right now say a derivative distribution cannot use "based on Fedora" -which is bad, and Orange Sombrero is now raising some red flags about it. Work is well on it's way to improve that situation though, for which I thank everyone involved. I hope soon, very soon, derivative's of Fedora pop up everywhere, like mushrooms in autumn."

Full Story (comments: 7)

Intrepid Alpha 6 released

Ubuntu has release Alpha 6 of the Intrepid Ibex (v8.10). This release is also available in the Ubuntu Education Edition, Kubuntu, Xubuntu, and UbuntuStudio editions.

Full Story (comments: none)

Distribution News

Fedora

Fedora 10 likely to slip again

Though the change has not yet been approved, it looks like the Fedora 10 release will be delayed again. "The Release Engineering team is recommending a slip of the Beta release date to Tuesday Sept 30th. To go along with this slip, we recommend that all further points of the Fedora 10 schedule slip out a week as well, which would put the Fedora 10 release date at November 25th."

Full Story (comments: none)

Fedora intrusion update

The latest status report from the Fedora project tells us the work on the infrastructure has returned to normal. Updates for F8 and F9 are flowing and Rawhide and other Fedora Hosted sites are back to normal. "At this time, however, we believe Fedora's recovery efforts are complete. To reiterate our previous statement, we have not found any security vulnerabilities in any Fedora software as a result of our efforts. The security investigation into the intrusion is still in progress. When that investigation is completed, the Fedora Project's intention is to publish a more detailed report on the matter."

Full Story (comments: 12)

Fedora Board Recap 2008-SEP-16

The September 16th meeting of the Fedora Advisory Board included discussions about Fedora EMEA update, Beta Freeze and Upcoming Release, Beta Release Meeting, Codecs and a Trademark Update.

Full Story (comments: none)

Mandriva Linux

Mandriva announces a new solution for netbooks: Mandriva Mini

Mandriva has announced the first release of Mandriva Mini, a version for netbooks. "Netbooks, small in size and cost, are big in functionality. The market is growing fast, rising from a million units in 2007 to industry forecasts of over 50 million by 2010. The products are attractive for emerging markets where they help provide Internet access to the largest number of users, and to highly developed markets where they are seen as mobile tools or a second PC."

Comments (none posted)

SUSE Linux and openSUSE

openSUSE Build Service did it!

The openSUSE project announced that openSUSE 11.1 beta 1 is the first release to built using the openSUSE Build Service, without any help from the SUSE internal AutoBuild service.

Full Story (comments: none)

Serious e1000e Driver Issue in SLE 11 Beta 1 and openSUSE 11.1 Beta 1

openSUSE is warning of nasty interaction between Intel e1000e network cards and the driver in SUSE 11.1 betas. They are asking users with that hardware not to run either openSUSE 11.1 beta 1 and SLE 11.1 beta 1 while SUSE and Intel investigate the problem. The driver "might have a serious issue with the potential to damage the network card in a way that it cannot be used any longer." Click below for the full announcement.

Full Story (comments: 9)

Ubuntu family

Serious, potentially hardware-damaging e1000e driver issue on Intrepid

Ubuntu has also posted a warning about the e1000e ethernet driver for Intel GigE chipsets, as included upstream in Linux 2.6.27.

Full Story (comments: none)

Distribution Newsletters

Ubuntu Weekly Newsletter #109

The Ubuntu Weekly Newsletter for September 20, 2008 covers: Intrepid Ibex Alpha 6 released, Codecs & DVD playback in Intrepid for all users, Xubuntu News, New Kubuntu Team, MOTU Team News, SFD: Ubuntu-VE, Ubuntu-NI and Ubuntu NO, Ubuntu-ZA leadership change, Launchpad 2.1.9 released, Ubuntu Mozilla Team summary, and much more.

Full Story (comments: none)

OpenSUSE Weekly News/39

This issue of the OpenSUSE Weekly News covers the Board election, OpenOffice_org 3.0rc1 available, Call for SUSE Linux Enterprise and openSUSE Beta Testers, Duncan Mac-Vicar: Extremely easy driver installation, Distribution status, and much more.

Comments (none posted)

Fedora Weekly News #144

The Fedora Weekly News for September 20, 2008 is out. "In this action packed issue Announcements reminds you of important Fedora 10 freeze dates and the latest on the post security scare clean-up. PlanetFedora muses on some "Legal" issues. Our new Marketing beat-writer Svetoslav Chukov unveils the "Beauty found in Fedora". Developments reveals "Fedora not Free Enough for GNU". News of imminent deadlines in Translations is brought to you by another new writer Runa Bhattacharjee. Infrastructure alerts you to "More Puppet Training!". Artwork offers "Freedom for a Game" and SecurityAdvisories brings you the weeks latest in one handy spot. Virtualization shares information on "Migration Support in Virt-manager GUI"."

Full Story (comments: none)

DistroWatch Weekly, Issue 271

The DistroWatch Weekly for September 22, 2008 is out. "The feature story of the this week's issue is package management or, more precisely, an attempt to create a command-line package management cheatsheet that would cover just about any Linux distribution available today. The first quick version is out today, but we hope to bring you a much improved and more detailed one after this week's feedback and suggestions. In the news section, OpenSolaris releases first test images for its upcoming version 2008.11, Fedora provides a further update on the recent compromise of its servers, Ubuntu responds to the accusations that it contributes little to the Linux kernel, and Phoronix runs a performance benchmark on four different Linux distributions installed on the ASUS Eee PC. Also worth a read, an interesting interview with a senior OpenSolaris engineer and further evidence that Gentoo Linux is no longer that innovative and trend-setting distribution it was just five years ago. Finally, a very happy GNOME 2.24 release week to all the fans of the popular desktop!"

Comments (none posted)

Distribution meetings

FUDCon Brno 2008 (Red Hat Magazine)

Red Hat Magazine has an article by Max Spevack on the Fedora Users and Developers Conference recently held in Brno, Czech Republic. "The first talk that I attended was Jeroen van Meeuwen's session on custom spins. It was a workshop-style session, in which people who were trying different customization projects talked about the problems that they were running into. About 20 people attended the session. I took a few notes, and the primary takeaway is that there is still a huge amount of confusion about the Spins Bureaucracy in general-technical approval, trademark approval, what is needed when, etc. I think the work that Paul Frields is currently doing on revamping our trademark guidelines will help to clarify these questions, but the sooner that is rolled out, the better."

Comments (none posted)

Distribution reviews

ASUS Eee PC 901 / Intel Atom: Linux Distribution Comparison (Phoronix)

Phoronix test drives four distributions for the ASUS Eee PC 901. "The Linux distributions we used included the ASUS-optimized Xandros operating system that ships with the Eee PC 901, Fedora 10 Alpha, Ubuntu 8.10 Alpha 4 with daily updates as of August 26, and Mandriva 2009 Beta 2. The Xandros OS ships with the Linux 2.6.21 kernel, X Server 1.4.0.90, and uses GCC 4.1.2. Fedora 10 Alpha uses the Linux 2.6.27-rc0 kernel, X Server 1.4.99.905, and GCC 4.3.1. Ubuntu 8.10 Alpha 4 with the daily updates still uses the Linux 2.6.26 kernel, X Server 1.4.99.905, and GCC 4.3.1. Finally, Mandriva 2009 Beta 2 is using the Linux 2.6.26 kernel, X Server 1.4.2, and GCC 4.3.1."

Comments (5 posted)

Page editor: Rebecca Sobol

Development

LPC: Linux audio: it's a mess

September 18, 2008

This article was contributed by Don Marti

Audio is a fitting topic for the first day of the Linux Plumbers Conference. Users want sound to Just Work, and there's lots of working code in individual projects. But so far, it seems like nobody has everything quite plumbed together in an annoyance-free way.

Lennart Poettering, a lead developer of PulseAudio and Red Hat employee, moderated the miniconference and started with a summary of the state of Linux audio: "it's a mess." The audio miniconference came up with two steps toward cleaning up the mess, though. First, come up with a coherent story for application developers on what sound API to use, and how. Second, clean up the often-confusing array of user-visible audio level controls.

PulseAudio first appeared to regular users in Fedora, starting with version 8, and now, as Lennart puts it, is for up-to-date users, "the software that currently breaks your audio." PulseAudio is a sound server that mixes audio from multiple applications and passes it along to the sound hardware. It offers advanced features such as network transparency: an application can play a sound on a remote system, and PulseAudio makes it come out the speakers on the remote machine where the user is working. Supporting it shouldn't be a big change for most application developers to handle. It will handle applications written to the kernel's maintained audio API, ALSA, using the PulseAudio backend for alsa-lib. So the PulseAudio transition has been relatively painless for the distributions.

An earlier sound server project, the Enlightened Sound Daemon (ESD) sound server, is falling out of favor and Media Application Server (MAS) has never really caught on. However, one of the competing sound servers looks likely to remain. On the pro audio side, the low-latency sound server JACK is the recommended option. JACK, the "Jack Audio Connection Kit," as Dave Phillips writes, "holds the keys to the kingdom" for connecting studio applications such as the Ardour digital audio workstation and the Rosegarden MIDI sequencer. "If you want all of the features, no one audio system supports all of them," Lennart said.

Apple and Microsoft each have a single sound server that does both desktop and pro audio, but nobody at the session seemed to have much interest in that direction for Linux. PulseAudio is optimized for general desktop use and power savings, and supports scheduling features that should minimize wakeups but still allow for reasonably low-latency playback of streaming audio. It's also network-transparent and supports features such as placing desktop sound events based on mouse position. Network audio and desktop effects don't tempt pro audio users. JACK's uncompromising approach toward latency means it's likely to hog too much power to be acceptable to battery-life-watching desktop users, but fine for a studio with a rack full of gear. So two sound servers, one for pro and one for the masses, seems to be fine with both sets of users.

Abusing ALSA

PulseAudio, however, can't give applications direct access to the hardware, and currently only about 70% of ALSA applications use the API in a PulseAudio-safe way, Lennart said. Some high-profile applications are among those doing audio wrong. "Flash and Skype are really really broken applications, especially Flash," he said. Adobe split out the parts of its code that talk to the audio subsystem, and certain other plumbing, into an open-source library, libflashsupport. But Flash remains broken. The proprietary Flash library talks to libflashsupport from multiple threads, and one thread calls a destructor while another continues to send data. "It works until you close the browser window and then you get a race," Lennart said.

Developers who want to play audio have a sometimes-confusing choice of tools, including PortAudio and GStreamer. (PortAudio is cross-platform, which is likely why the popular cross-platform audio editing application Audacity uses it.) GStreamer is relatively feature-intense and heavyweight, also handling video and transcoding. (Write a player with Gstreamer and you get the ability to play your collection of C64 SID files for free.)

If someone comes and says, 'I want to write an audio application. Which API should I use?' I don't have a good answer

"If someone comes and says, 'I want to write an audio application. Which API should I use?' I don't have a good answer," Lennart said. The current best answer seems to be to write to the PulseAudio-safe subset of ALSA. Jeff Licquia of the Linux Standard Base (LSB), in the audience, mentioned that ALSA is on track for inclusion in LSB 4.0, and is a trial use module for 3.2. LSB aims to define a compatibility standard for Linux applications, and aims to do the kind of application developer education that Linux audio developers seem to need. Applications seeking LSB certification must run all of the LSB tests, but can fail anything tagged as trial use. "We're only keeping the stuff that we hope will be around for the long term," he said. If the LSB-safe subset of ALSA fits into the PulseAudio-safe subset of ALSA, application developers could write to ALSA and test with LSB.

"I would like to be able to tell people to use libsydney," Lennart said. Libsydney, in progress, is intended to be a networking-friendly general-purpose audio API.

ALSA and the HD-Audio widget problem

In ALSA, the hardware/software interface is in good shape, but software to user interface needs some work. Takashi Iwai, a core ALSA developer and Novell employee, pointed out in a talk that the line count for /sound code in the kernel is actually shrinking, except for ASoC (system on a chip) and HD-audio. "There will be no more sound cards, especially PCI," he said. The one exception is the SoundBlaster X-FI for gamers, which is currently not supported well in ALSA. Creative announced proprietary drivers in 2006, but one ALSA developer recently did get access to a data sheet under NDA.

The new audio standard, HD-Audio, is commonly found on new systems, and it's well-supported at the kernel level. However, it's based on "widgets" with vendor-configurable I/O pins. A driver can't tell how the HD-Audio part is connected, so some Linux plumbing work is required to identify which of the many exposed level controls is the right one to show the user. An audience member pointed out the need to tweak multiple level settings on his hardware, to get the right level without distortion. Linux will need more information on how each machine has its HD-Audio hardware hooked up in order to reliably give the user a useful volume control.

Comments (143 posted)

System Applications

Clusters and Grids

zc.async 1.5.0 released

Version 1.5.0 of zc.async has been announced. "The ``zc.async`` package provides an easy-to-use Python tool that schedules work persistently and reliably across multiple processes and machines."

Full Story (comments: none)

Database Software

LiquiBase: 1.8.0 Released (SourceForge)

Version 1.8.0 of LiquiBase has been announced, it includes new features and bug fixes. The software is: "A tool to manage database changes and refactorings. All changes to a database are stored in XML files that are stored in version control with other source code. A graphical IDE is also available".

Comments (none posted)

PostgreSQL 8.3.4, 8.2.10, etc. update release announced

Update releases 8.3.4, 8.2.10, 8.1.14, 8.0.18 and 7.4.22 of the PostgreSQL DBMS are available. "Updates for all maintained versions of PostgreSQL are available today: 8.3.4, 8.2.10, 8.1.14, 8.0.18 and 7.4.22. These releases fix more than thirty minor issues reported and patched over the last three months. As some of these issues carry a risk of data loss, administrators of production applications should upgrade in their next possible scheduled downtime."

Full Story (comments: none)

PostgreSQL Weekly News

The September 21, 2008 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

SQLite release 3.6.3 announced

Version 3.6.3 of SQLite has been announced. "SQLite version 3.6.3 fixes a bug in SELECT DISTINCT that was introduced by the previous version. No new features are added. Upgrading is recommended for all applications that make use of DISTINCT."

Comments (none posted)

ZMySQLDA 3.0 for Zope 2

ZMySQLDA 3.0 for Zope 2 has been announced. "MySQL Database Adapter for Zope 2. Extensively reworked for stability and compatibility with versions 2.8+ and modern MySQL versions. New features from auto-creating database to limited Unicode support."

Full Story (comments: none)

Web Site Development

Introducing the Django Debug Toolbar

Rob Hudson has published an introductory document for the Django web platform Debug Toolbar. "I liked the fact that Symfony's Debug Toolbar was made up of distinct panels, each of which had their own rendering methods. I created the Django Debug Toolbar similarly with a single toolbar that contained many panels. The toolbar itself is a piece of middleware that instantiates each panel object on request, and performs processing and rendering as the response is being written back to the browser. In this way it is essentially a set of middleware classes (the panels) grouped together to display a single toolbar. Each panel subclasses a base panel class and overrides a few methods to render the toolbar."

Comments (none posted)

WSO2 Web Service Framework for Jython 1.0-alpha released

Version 1.0-alpha of the WSO2 Web Service Framework for Jython has been released. "WSO2 WSF/Jython provides an amazingly simple approach to create (Code First) and consume Web Services in Jython. This framework integrates the Apache Axis2 web services engine into Jython. Thus, providing all the power and versatility of the Axis2 engine to the Jython user. Now, with just a few lines of code, Jython users can enjoy the benefits of Service Oriented Architecture using Web Services in their applications."

Full Story (comments: none)

Miscellaneous

Rockbox 3.0 released

At long last, Rockbox 3.0 is out. Rockbox, of course, is a free firmware replacement for a number of portable music players; see this LWN article for more information on the 3.0 release.

Full Story (comments: 1)

Desktop Applications

Desktop Environments

GNOME 2.24 available

The GNOME 2.24 release is out. There's a lot of new stuff, of course, including the "Empathy" instant messaging client, Ekiga 3.0, better XRandR support, some GTK+ 3.0 forward compatibility support, and the first release of the GNOME mobile development platform. See the release notes for screenshots and details.

Full Story (comments: 11)

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at gnomefiles.org.

Comments (none posted)

KDE Commit-Digest for 14th September 2008 (KDE.News)

The , 2008 edition of the KDE Commit-Digest has been announced. The content summary says: ""Shortcut Scheme" support allows creation of shortcut themes (Emacs, etc.) for use in KDE applications. A "Media Player" runner (with support for Amarok 2), more work on panel hiding, and support for text zoom in the "Web Browser" Plasmoid in Plasma. The "Weather Station" applet moves to kdereview. More refinements in PowerDevil, in preparation for a move to kdebase. Lots more functionality in Attica, the Open Collaboration Services desktop client. Start of session support in KDevPlatform (the basis of KDevelop 4). A "McCabe cyclomatic complexity metric engine" in KDevelop 4..."

Comments (none posted)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at kde-apps.org.

Comments (none posted)

X.org 7.4 released

X.org 7.4 is out. Changes include the addition of support for ATI Radeon r[567]00 chipsets, lots of performance improvements, better automatic configuration. the XACE security framework, and a lot more. Some details can be found in the release notes.

Comments (27 posted)

Xorg Software Announcements

The following new Xorg software has been announced this week