Developer Documentation of the Week: GNUnet's IDENTITY subsystem

I've just finished the developer handbook chapter on GNUnet's IDENTITY subsystem. The IDENTITY subsystem is used for identity management, and here identies is about users, not peers. User identities in GNUnet are also called Egos, which are essentially public-private key pairs over Curve25519 using ECDSA. Identities are used for zones in the GNU Name System and as pseudonyms in file-sharing, and thus represent a fundamental building block for many GNUnet applications.

Project Status in November 2013

As it has been three months since the last project status, I figured it was time for an update.

First of all, the short version is still: GNUnet is not yet ready for production use.

Special-Use Domain Names of Peer-to-Peer Name Systems

We just submitted our draft for "Special-Use Domain Names of Peer-to-Peer Name Systems" to IETF. The intention is to reserve the TLDs ".exit", ".i2p", ".gnu", ".onion" and ".zkey" for use by the GNUnet, I2P and Tor peer-to-peer overlay networks. You can find the draft here.

Developer Documentation of the Week: GNUnet's PEERINFO subsystem

For the interested reader, the latest edition in GNUnet's "Documentation of the Week" is finally available. I am honoured to present:

The GNUnet PEERINFO subsystem

Developer Documentation of the Week: The GNS Namecache

I've now finished the chapter on the NAMECACHE subsystem, which is used as a local cache by the GNU Name System to avoid having to repeatedly query the DHT for the same records.

TESTING library

Continuing with the weekly documentation series, this week I wrote about the GNUnet's TESTING library. It is available here.


libgnurl is a fork of libcurl, which is mostly for GNUnet but it might be usable for others, hence we're releasing the code on this website to the general public. Please read the README for instructions, as you must supply the correct options to configure to get a proper build of libgnurl. In addition to the source as a TAR, we also offer the changes we made against libcurl's Git repository to create libgnurl. In the following, I will explain the motiviations behind this fork.

Conference Slides: On the Feasibility of a Censorship Resistant Decentralized Name System

After having the great opportunity to present GNS at FPS 2013, here the slides for the people interested. Enjoy!

You can find more information about GNS here:

Sorting out the stat thing

The way 64/32 bit switching for stat and its siblings is handled in mingw-w64 is a bit complicated, and when gcc starts to complain that incompatible stat types are being used, it's not entirely obvious what to do.

This post documents my explanation (mostly for myself) of how stat types get to be the way they are.


Subscribe to GNUnet RSS