You are here

GNUnet 0.9.0 released

We are pleased to announce the release of GNUnet 0.9.0. This release is a major change of the architecture including a rewrite of most of the system. The new network is completely incompatible with the old 0.8.x network.

Read more Wednesday, November 30, 2011 - 15:30 Christian Grothoff

"libtool: link: `/lib/i386-linux-gnu/' is not a valid libtool archive" (compile error)

The root-cause of the error is a change in your operating system, either due to a package update (i.e. apt-get update) or because you re-installed the entire system. An "older" installation of the respective library package included the '.la' file mentioned in the error message. The "newer" installation of the binary package does not include the ".la" file anymore. This is by itself NOT an issue. The issue is that *some* file (possible multiple) on your system include a reference to the ".la" file and tell libtool to inspect the ".la" file for linker information. So libtool tries to access it and fails.

Read more Tuesday, November 22, 2011 - 09:54 Christian Grothoff

Invitation: Methods for Secure Decentralized Routing in Open Networks

As part of his PhD defense, Nathan Evans will give a talk on Wednesday, 10. August 2011 at 4:00 pm in room 03.07.023 of the FMI-Building, Boltzmannstr. 3 in Garching on the subject

"Methods for Secure Decentralized Routing in Open Networks"

The talk will be in English and is open to the public. Many of the methods developed in this thesis were implemented by Nate in GNUnet.

Read more Monday, August 1, 2011 - 11:17 Christian Grothoff

Dealing with the spam

We've recently been targeted more and more by spammers. Making the captcha's harder doesn't seem to stop them (just makes it nearly impossible for normal humans to submit...), and the automated posts are just too much work to deal with on a daily basis. So we're changing the process for postings by adding another access level: "real" users. After you sign up for an account, you will only be an "authenticated" user, which means you can see some data usually hidden, but posting is restricted to comments, and those are also moderated. If you want to become a "real" user (with the ability to add a broad range of content to the site), post insightful comments ;-).

It goes without saying that since this is an anti-spam policy, moderation is expected to be minimal (spam-filter ONLY) and you're likely to be considered "real" very quickly if you are a human (any delay in this promotion should be due to the finite nature of the administrator-humans, not because "real" user is supposed to be a status to be withheld from anyone but spammers).

Read more Tuesday, April 19, 2011 - 14:08 Christian Grothoff

A new gnunet-setup

We now have an initial draft for a setup tool for the upcoming GNUnet 0.9.0 release. Unlike the Guile-based gnunet-setup from 0.8.x, the new tool uses Glade and Gtk+, making it easier for designers to tweak the UI -- and hopefully easier for developers to add auto-configuration features as well, making the "wizard" mode obsolete.

You can grab a copy of the source from

Read more Saturday, November 6, 2010 - 15:23 Christian Grothoff

GHM Videos online

The last GNU Hackers Meeting had a focus on "building decentralized GNU applications" and video recordings of all talks are now available on

P2P enthusiasts might find the following talks particularly interesting:

  • GNUnet Workshop
    • "Introduction to GNUnet" (Christian Grothoff) (video, slides)
    • "Low level transports and transport selection in GNUnet" (Matthias Wachs) (video, slides)
    • "DHT and routing in GNUnet" (Nathan Evans) (video, slides)
  • "Libchop - a library for distributed storage and data backup" (Ludovic Courtès) (video, slides )
  • "GNU in the Cloud" (Andy Wingo) (video)
Read more Wednesday, August 18, 2010 - 09:23 Nils Durner

GNUnet Hackers at the GNU Hackers Meeting

Several GNUnet hackers are attending the GNU Hackers Meeting and giving presentations this weekend. We'll post the presentations here for those who are interested.

Presentations posted below, as follows:

ghm2010.pdf - Christian Grothoff, extended overview of GNUnet including ECRS, GAP and the new 0.9 implementation.

wachs_ghm_presentation.pdf - Matthias Wachs, details about the transport service and plugin structure as well as challenges for intelligent transport selection.

evans_ghm_presentation.pdf - Nathan Evans, information on DHT routing and Distance Vector transport in GNUnet.

Read more Friday, July 23, 2010 - 04:21 Christian Grothoff

Bootstrapping GNUnet 0.9.x

The first (!) hostlist for GNUnet 0.9.x has been setup to begin bootstrapping of the new network. At this point, don't expect any content to be available, we're just trying to see if peers connect nicely to each other and maintain connections in a reasonable way. Once file-sharing is working, content should be shared under the keyword "test" for testing (as usual). In order to connect to the network bootstrap hostlist server, you must set the entry "SERVERS" in section "hostlist" to "" (this is the default in SVN HEAD for now).

Anyone trying to connect to the 0.9.x network must run at least the current SVN HEAD version (and would likely be well-advised to frequently update). The bootstrap node is initially started as TCP-with-IPv4-only without NAT support. We expect to support UDP, IPv6 and NAT traversal before releasing 0.9.0pre0.

Read more Wednesday, March 10, 2010 - 12:45 Christian Grothoff

Welcome to the GNUnet 0.9.x Website

This is the website for what will become GNUnet 0.9.x. Just as we are doing radical changes to the code base itself, the website has also undergone significant changes, moving from i18nHTML in Subversion to the Drupal CMS.

At this point, the code for GNUnet 0.9.x is still under heavy development and likely not too useful for most end-users. You can find the webpage for the running GNUnet 0.8.x network at A hostlist for GNUnet 0.8.x can be found at If you are still interested in learning more about GNUnet 0.9.x, the rest of this article will give an overview about the current state of the implementation.

First of all, GNUnet 0.9.x is incompatible with GNUnet 0.8.x. Most importantly, GNUnet 0.9.x peers will not be able to connect to the GNUnet 0.8.x network. GNUnet 0.9.x is a major redesign of the entire system. The main goals of the redesign are:

Improve scalability of the development process
The old code was modular, but effects of bugs were not encapsulated in the modules.
In GNUnet 0.9.x, we use a multi-process architecture which restricts issues such
as heap corruption to the respective process. Processes are expected to tolerate
buggy behaviour by other components. Using processes also makes it easier to
contribute code in languages other than C/C++.
Coding style causing bugs and maintenance issues
The old code used particular paradigms which were known to be problematic. The
biggest one was the use of threads (causing the potential for deadlocks and data
races). Also, a number of smaller problems like the use of unsigned long long
to represent time values (confusing the notions of relative and absolute time values)
were not helping the speedy development of good code. These and other known issues are
being addressed by using new basic APIs that prevent them categorically.
Legacy APIs and message formats
Various APIs had been written with use-cases in mind that were insufficient to
handle new requirements that had come up. For example, the old HELLO
format could not handle multiple addresses nicely, causing us to transmit
more data than strictly needed (especially an issue for hostlist servers). Another
big example was that the DV code (introduced in 0.8.1) could not take advantage of
the existing session key exchange logic. New APIs have been designed to eliminate
those restrictions.

It should be noted that 0.9.x so far does not (intentionally) change anything related to
cryptography or high-level protocol design issues (such as how anonymous routing is done).
We still expect significant performance gains through better utilization of bandwidth and
more event-driven processing. There will also be a few new features, they will be documented as they mature in the respective GNUnet handbooks.

The following traditional GNUnet features are believed to already work for GNUnet 0.9.x:

  • TCP and UDP transport
  • Hostlist (offering, downloading)
  • Encrypted P2P communication
  • Basic topology management
  • Local file-sharing operations

The next steps in development are expected to provide:

  • P2P file-sharing (command-line tools only)
  • Public hostlist server (bootstrap the network)

After this, the plan is to mature the file-sharing implementation, provide some basic configuration functionality and after some more testing release a GUI-less 0.9.0pre0.

If you are interested in helping (and you do not need to be a hacker to help!), please read the respective FAQ.

Read more Thursday, February 18, 2010 - 13:54 Christian Grothoff


Subscribe to Front page feed