Bart Polot | 11 Apr 2013 15:48
Picon
Favicon

GNUnet <at> Google Summer of Code

Hi all GNUnet hackers!

 

Are you a student in any recognized university and are you interested in hacking on GNUnet and have Google pay you for it? Now it's possible! GNUnet is participating in the Google Summer of Code[1] under the GNU umbrella[2].

The Google Summer of Code gives you the opportunity to work on a GNUnet-related *coding* project with one of the GNUnet developers as your mentor. The current ideas page is up [3] but feel free to suggest your own ideas!


Your mentor will guide you with your project and in becoming part of the GNUnet community. Google pays you 5,000 USD for the three months of your project, so that you can focus on coding as a full time job. "Flip bits, not burgers", as they say.

Did we catch your attention? These are your next steps:

- Go look at the Google Summer of Code FAQ [4] to make sure you are eligible to participate (basically, currently studiyng at any university outside of the US-defined Axis of Evil). Important: if you are currenly working on GNUnet you STILL qualify to continue working on Google's bucks!

- Have a look at our ideas list [3] to see if one of those projects matches your interests.

- If there is no project on that list that you'd want to work on, read the documentation on our website [5] or our bug-tracker [6] (see various feature requests) and make up your own project idea!

- Come to #gnunet on Freenode or send an email to any mentor from the GNUnet ideas page and let us know about your project idea. Communication is essential to success in the summer of code, and we're unlikely to accept students we haven't heard from before reading their application. So really, come talk to us first!

Finally, write down your project idea and submit your application to Google until May 3, 2013 [7].

We are looking forward to discussing your project idea with you!

 

[1]https://www.google-melange.com/gsoc/homepage/google/gsoc2013

[2]https://www.google-melange.com/gsoc/org/google/gsoc2013/gnu

[3] https://gnunet.org/gsoc2013

[4] https://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2013/help_page

[5] https://gnunet.org/project-overview

[6] https://gnunet.org/bugs/main_page.php

[7] https://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2013/help_page#8._When_can_I_apply_for_Google_Summer_of

_______________________________________________
GNUnet-developers mailing list
GNUnet-developers <at> gnu.org
https://lists.gnu.org/mailman/listinfo/gnunet-developers
LRN | 26 Feb 2013 13:28
Picon
Gravatar

NS updates


I'm looking at gnunet-fs-gtk core at the moment, and i don't get it.

It is my understanding that 'next_id' is simply an identifier, and its
presence in metadata indicates that GNUnet client should do a search
for that identifier, and any results should be considered 'updated'
versions of the original. Fairly straightforward.

add_updateable_to_ts() inserts "last_id" value it gets from the
iterator as PSEUDONYM_MC_LAST_ID, while setting PSEUDONYM_MC_NEXT_ID
to an empty string.

GNUNET_GTK_master_publish_dialog_execute_button_clicked_cb() gets
PSEUDONYM_MC_LAST_ID and PSEUDONYM_MC_NEXT_ID and uses them as
"identifier" and "update identifier" respectively.

When populating the treeview, PSEUDONYM_MC_CURRENT_ID_EDITABLE is set
to FALSE for all updateable items, it seems, and TRUE for all "empty"
rows (for new publications that do not update anything).
PSEUDONYM_MC_NEXT_ID_EDITABLE is always TRUE, no matter what.

But. GNUNET_FS_namespace_list_updateable () passes nsn->id as a second
callback argument (which becomes "last_id"), and nsn->update as a last
callback argument (which becomes "next_id").

So. fs-gtk pseudonym threeview seems to have four different item types:
1) "Blanks" - items for new publications, where you can edit both 'id'
and 'next_id'
2) "Leaves" - items for updates, where 'id' is frozen with the value
of 'next_id' from a previous publication, and 'next_id' is editable.
3) "Stems" - items that were inserted during the updateable items
graph walking. Their 'id' is frozen with the value of 'next_id' from a
previous publication, and 'next_id' is editable. They differ from the
leaves in that there already were updates to these items. Updating
them again will sprout more leaves (creating ambiguity, as one stem
will now have >1 possible updates instead of 0 or 1 updates).
4) "Root" - initial publication that started the update graph. Its
'id' is frozen with the value of 'id' (!) from the initial
publication, and 'next_id' is editable. Making "updates" with this
item will, in fact, produce a new publication with the same identifier
(thus increasing ambiguity, as one identifier will now yield multiple
items), and not update anything.

IMO (4) should not be in the list at all, why does
add_updateable_to_ts() add it? And the need of (3) is debatable as
well, since they break linearity of the update graph. If (3) is to be
offered, it should at least be indicated appropriately (to think of
it, (4) may remain in the tree as well, it just has to be unusable for
publications).
Do we _strive_ for linear update graphs at all?

It'd prefer to encourage users to maintain linear update graphs.
If someone wants branching graphs, we should offer a special widget
for that (you ever seen git commit trees in tutotirals? that's how
that special widget should look like, roughly).
LRN | 16 Feb 2013 13:50
Picon
Gravatar

Namespace creation


Right now namespace creation is synchronous (RSA key is created
synchronously).

With the changes to IPC, it now may be possible to use async RSA key
creation securely, thus making namespace creation also asynchronous.

1) Should API users be exposed to key creation? Right now they have no
idea that namespace uses RSA internally (will it be switched to ECC at
some point?). However, if we expose key creation functions to the API
users, they will be able to create a key (synchronously or
asynchronously), and then (with a new FS API function) create a
namespace around that key. That way it will not be necessary to write
yet another namespace creation function that works asynchronously (it
will be synchronous instead; async key creation will be done by the FS
API user).

2) Should namespace creation API keep the "create always" behaviour?
Right now you can only give namespace a name (key is generated
internally), and if a namespace with that name already exists, the
exiting one will be returned immediately, making the whole thing opaque.
If API users are exposed to key generation, they may also take
advantage of more transparent namespace creation from generated keys.
FS API would fail to create a namespace if another namespace with the
same name exists, UI will let user pick a different name.

3) Should namespaces have user-provided names, or is it OK to generate
their names randomly? Is namespace name (as named by user at the
moment) exposed in advertisements by default? If it is, then maybe
using some kind of generated "Namespace-XXXXXXX" name initially would
be better.
Anyway, from UI point of view it's more convenient to generate things,
since no dialogs need to be shown.
The idea is that only one namespace will be used by default, and
initially one will have to be created. Showing the namespace
management dialog (which is relatively large and multi-functional) at
the initial UI startup may not be a good idea. Just generate a key,
pick a dummy name, and be done with it. And if namespace name is not
advertised by default, it doesn't matter what it's named, and since
most users won't have more than one namespace, they won't be confused
by naming anyway.

Something like that.
Smoratinos | 9 Feb 2013 12:14

gnunet-java classloader issue

Hello,

SVN revision 25955 fix a classloading issue from the Runabout class, but
there is the same problem with the MessageLoader class

Here is a patch : 

Index: src/org/gnunet/construct/MessageLoader.java
===================================================================
--- src/org/gnunet/construct/MessageLoader.java	(révision 26052)
+++ src/org/gnunet/construct/MessageLoader.java	(copie de travail)
 <at>  <at>  -159,7 +159,7  <at>  <at> 

      <at> SuppressWarnings("unchecked")
     private static Class<? extends MessageUnion> loadClass(String
className) {
-        ClassLoader cl = ClassLoader.getSystemClassLoader();
+        ClassLoader cl =
Thread.currentThread().getContextClassLoader();
         Class<MessageUnion> msgClass;
         try {
             msgClass = (Class<MessageUnion>) cl.loadClass(className);

#############
This patch is needed by the GNUnetWebUI app.
https://gnunet.org/bugs/view.php?id=2769

Thank you

_______________________________________________
GNUnet-developers mailing list
GNUnet-developers <at> gnu.org
https://lists.gnu.org/mailman/listinfo/gnunet-developers
Smoratinos | 8 Feb 2013 20:28

FS - file uri max size

Hello,

I study a solution to fix the issue gnunet-webui 0002765: length URI
search result 
https://gnunet.org/bugs/view.php?id=2765

What is the max size of the URI on a search result ?
Smoratinos | 2 Feb 2013 00:31

GNUnetWebUI website

Hello,

The GNUnetWebUI website is up.
http://gnunetwebui.site44.com

It's a prototype.
It isn't GNUnet website replacement, it is the future
website dedicated only to the GnunetWebUI subproject.

The hosting solution is temporary (dropbox + site.44.com).

It use static content, angular.js javascript library
and bootstrap twitter css library. 
The source code is open : 
https://gitorious.org/gnunet-webui/gnunet-webui-site

The GNUnet-logo was too little and I didn't find it with a
big enough resolution, that's why I use a different logo.
It is based on the "Joseph W. Reiss GNU head"
http://www.gnu.org/graphics/reiss-gnuhead.html

I have made some others logo, with different colors, 
if you are interested, tell me :) 

I am working on a web page, which details 
the project strategy.

All comments are welcome !
Christian Grothoff | 21 Dec 2012 19:43

GNUnet 0.9.5 released

Dear all,

We are pleased to announce the release of GNUnet 0.9.5. This release
focuses on fixing various bugs, but also includes for the first time
non-anonymous multi-hope file transfers using the stream and mesh
subsystems that were refined in the previous versions.  We also improved
some performance aspects and improved the graphical user interfaces (in
particular gnunet-setup and gnunet-fs-gtk).  As far as we know, this
release is fully protocol-compatible with GNUnet 0.9.4.

About GNUnet
============

GNUnet is a framework for secure peer-to-peer networking. GNUnet's
primary design goals are to protect the privacy of its users and to
guard itself against attacks or abuse. At this point, GNUnet offers two
primary applications on top of the framework:

The file-sharing service allows anonymous censorship-resistant
file-sharing. Files, searches and search results are encrypted to make
it hard to control, track or censor users. GNUnet's anonymity protocol
(gap) is designed to make it difficult to link users to their
file-sharing activities. Users can also individually trade-off between
performance and anonymity. Despite providing anonymity, GNUnet's
excess-based economy rewards contributing users with better performance.

The VPN service allows offering of hidden services within GNUnet (using
a .gnunet TLD) and can be used to tunnel IPv4 and IPv6 traffic over the
P2P network. The VPN can also be used for IP protocol translation
(6-to-4, 4-to-6) and it is possible to tunnel IP traffic over GNUnet
(6-over-4, 4-over-6).

The GNUnet Naming System (GNS) provides a fully-decentralized and
censorship resistant replacement for DNS. GNS can be used alongside DNS
and can be integrated with legacy applications (such as traditional
browsers) with moderate effort. GNS provides censorship-resistance,
memorable names and cryptographic integrity protection for the records.

Other applications are still under development.

Key features of GNUnet include:

* Works on GNU/Linux, FreeBSD, OS X and W32
* P2P communication over TCP, UDP, HTTP (IPv4 or IPv6) or WLAN
* Communication can be restricted to friends (F2F mode)
* Includes a general-purpose, secure distributed hash table

* NAT traversal using UPnP, ICMP or manual hole-punching (possibly in
combination with DynDNS)

* Small memory footprint (specifics depend on the configuration)

For developers, GNUnet offers:

* Access to all subsystems via clean C APIs
* Mostly written in C, but extensions possible in other languages
* Multi-process architecture for fault-isolation between components
* Use of event loop and processes instead of threads for ease of development
* Extensive logging and statistics facilities

* Integrated testing library for automatic deployment of large-scale
experiments with tens of thousands of peers

Noteworthy improvements in 0.9.5
================================

* non-anonymous multi-hope file transfers
* improved zone editing in gnunet-setup
* improved download user interface in gnunet-fs-gtk
* retired old testing library
* various improvements to APIs
* fixed incorrect display of probe results in gnunet-fs-gtk
* fixed various crashes and assertion failures
* CPU performance improvements in regular expression library
  (only relevant for complex exit policies, like 100k+ regexes)

Availability
============

The GNUnet 0.9.5 source code is available from all GNU FTP mirrors. The
GTK frontends (which includes the gnunet-setup tool) are a separate
download.

All known releases
    https://gnunet.org/current-downloads
GNUnet on a FTP mirror near you
    http://ftpmirror.gnu.org/gnunet/gnunet-0.9.5.tar.gz
GNUnet GTK on an FTP mirror near you
    http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.9.5.tar.gz
GNUnet on the primary GNU FTP server
    ftp://ftp.gnu.org/pub/gnu/gnunet/gnunet-0.9.5.tar.gz
GNUnet GTK on the primary GNU FTP server
    ftp://ftp.gnu.org/pub/gnu/gnunet/gnunet-gtk-0.9.5.tar.gz

Note that GNUnet is now started using "gnunet-arm -s"; the old gnunetd
binary is no more. GNUnet should be stopped using "gnunet-arm -e".

Further Information

GNUnet Homepage
    https://gnunet.org/
GNUnet Forum
    https://gnunet.org/forum
GNUnet Bug tracker
    https://gnunet.org/bugs/
IRC
    irc://irc.freenode.net/#gnunet

Thank you for your attention.

Happy hacking!

Christian Grothoff
hypothesys | 6 Dec 2012 22:03

Idea for file storage in GNUnet


Hello GNUnet Developers,

First of all I apologize if this is not the correct place for discussing a
possible new feature to GNUnet and since I am not from the IT field I cannot
even attempt to implement it. Still, perhaps if you find this feature
valuable you would consider implementing it so I wanted to share it. Please
bear in mind that I am no expert and this may not be feasible for technical
reasons not obvious to me. In that case please say so and I will not take
more of your time.

Some time ago I had the idea that gnunet (as well as other projects) could
benefit from increased disk space for storage and that using the free space
on disk should be a technically possible if difficult task.

On many OS filesystems, when a file is deleted, it is not truly erased, in
the FAT filesystem for example, the list of disk clusters occupied by the
file be erased from the file allocation table marking those sectors
available. On other filesystems I do not know how that is handled but, for
the sake of argument let's say that a header is instead applied to the file
indicating that the file portion of the hard disk is available to be
overwritten.

/header/ data block Nº1; /header/ data block Nº2; /header/ data block
Nº3;...

If gnunet was able to split the file data into data blocks (encrypted of
course) and subsequently delete the data, while keeping both a checksum for
the data block and record of its disk location, the free disk space of
computers on which gnunet was installed could be used for storage without
compromising normal functioning of said computer.

This program, perhaps to be named gnunet-str (storage) would at the moment
of storage of data, create a checksum for every encrypted data block and for
every "contiguous" data group, as follows:

/block1/block2/block3/block4/block5/block6/block7/block8...
=>checksum1/checksum2/checksum3/checksum4/...

but also

/block1/block2/block3/block4/block5/block6/block7/block8...=>checksum1+2/checksum3+4/checksum5+6/checksum7+8...

and also

/block1/block2/block3/block4/block5/block6/block7/block8...=>checksum1+2+3+4/checksum5+6+7+8/checksum9+10+11+12...

and continuing...

In this way, it would be possible to (quickly? - by going from the checksums
for the agglomerations of blocks to the individual blocks) ascertain which
data was corrupt (by usage of the main OS, or a disk defrag) and had to be
replaced. It would then signal to other GNUnet nodes "Of the data stored
only 70% (for example) is still not corrupted. I can share this 70% but give
me the 30% back, or new files to store in this space".

Such a solution would allow big amounts of storage - in theory, if all free
space in the the hard drive of host computer. Due to its nature it would not
be possible to rely on the data not being compromised without implementing
redundancy. If this gnunet-str made x copies of file y for example, the
probability of data corruption and loss could be greatly diminished.
Tahoe-Lafs and gnunet are based on this principle (although I could be wrong
as I'm no expert), redundancy of storage between multiple peers on the net.
If this redundancy could also be implemented locally, the total storage for
GNUnet would increase.

Alternatively to providing a greater amount of data storage, perhaps such a
feature could instead be used to boost GNUnet's efficiency as parts of a
file on a distant node could also be made available on more nodes
diminishing the distance between the "asking node" and the node who actually
has the file. 

Do you think such a feature could be useful for GNUnet? Once again do not
hesitate to say this idea is unfeasible for some reason, I just shared it in
the hopes of it being useful to an improved gnunet.

-- hypothesys
--

-- 
View this message in context: http://old.nabble.com/Idea-for-file-storage-in-GNUnet-tp34768221p34768221.html
Sent from the GnuNet - Dev mailing list archive at Nabble.com.

_______________________________________________
GNUnet-developers mailing list
GNUnet-developers <at> gnu.org
https://lists.gnu.org/mailman/listinfo/gnunet-developers
LRN | 24 Nov 2012 13:56
Picon
Gravatar

Camouflage


This is the idea that i've been thinking on.
It should be possible for GNUnet node operator to hide the fact that
his machine runs a GNUnet node.

Ways to achieve this:

1) Fake HELLO messages.
AFAIU, right now anyone can collect HELLO messages (by running a node,
or by querying a hostlist server), and then claim (with certain degree
of sureness) that GNUnet nodes run on all addresses listed in these
messages. Companies that track torrent users do this for BitTorrent.
They may then proceed to actually connect to listed addresses to
verify them, but that is quite another story.
The solution is to spread fake HELLOs with fake public keys and fake
addresses.
A node should use its private key (key K) as a seed to generate a set
fake of addresses (set A). Then use K and A themselves to generate
fake public key (key F) for each A, thus getting a complete HELLO
message. The use of K as a seed ensures that the node will keep lying
about the same set of addresses (how large that set should be is an
open question) with the same keys, making the fakes more believable
(observer might think that these are real nodes, maintaining their
real HELLOs over time; failure to validate any of them might be blamed
on firewalls, etc).
Address sets will intersect (A1 and A2 generated from K1 and K2 may
share some elements), obviously, although that might not be true for
IPv6 addresses...
I expect that address generator will apply some rules to generate
believable addresses (i.e. don't generate invalid IP addresses, like
10.1.0.255).
As an extra, a node could validate generated addresses and do
non-agressive portscanning (or something similar - we're not speaking
only of tcp) on them, to be able to add ports (or other parts of the
address) that look believable to observers.

AFAIU, right now nodes won't gossip about fake HELLOs (i.e. a node
will never tell another node about a HELLO it got, unless it validated
that HELLO). That might need to be changed to allow nodes to choose a
random subset of invalid HELLOs and gossip about them as well.
Otherwise only the node that generated them will be able to spread them.
Not sure about hostlists.

Extra yummy feature - add user-configurable fake templates, which
could have addresses only, or addresses and private keys. GNUnet node
will use templates from time to time (configurable) instead of
generated addresses, and will generate missing template elements.
It would be neat to be able to tell the world that 65.55.58.201 [1]
runs a GNUnet http_server transport on port 80...

2) Transport disguise.
Modify the protocol to allow clients to ignore initial data sent by
the server, and require clients to be the first ones to speak GNUnet
protocol after connecting (i'm not sure how the protocol works right
now; what a GNUnet node sends to the connected party immediately after
accepting an incoming connection? Does it send anything at all?).
A node should send fake data that looks like, say, FTP greeting,
faking a real-life FTP server.
This will prevent casual observers from identifying the node as GNUnet
node.
Non-casual observer should not follow the fake protocol, but proceed
to send a normal GNUnet handshake.
If the node doesn't get a GNUnet handshake as a reply to its fake
greeting, it might either drop the connection, or use some kind of
bogus access control error as an excuse to drop it (i.e. ask for ftp
login/password combo, and then reject all such combos and drop
"clients" that failed to "authenticate" this way).

Or a node should simply remain silent until it gets incoming handshake
message.

3) Handshake-first protocol
Besides (2), which may or may not be implemented, don't identify
yourself as GNUnet node until incoming peer sends a handshake, then
drop it, if it doesn't match one of your friends, if you're running in
F2F-only mode. You will be able to hide the fact that you're a GNUnet
node, since only friends will get _anything_ out of you. Other
non-friend (normal or malicious) GNUnet clients will have their
connections dropped after their handshake message.

To make it work both ways, GNUnet should establish a generic session
with TLS encryption first. Again, it's not uncommon for services to
have ports on which clients are expected to connect with an SSL/TLS
session (instead of connecting normally and then issuing StartTLS).
The point here is to use common TLS certificates and TLS connections
for initial authentication (friend nodes will know TLS certificates of
each other in advance). Otherwise your node will not be able to
connect to any of your friends without revealing that it's a GNUnet
node (friend won't identify itself as a GNUnet node initially, until
you send a handshake, thus preventing you from verifying that you've
connected to your friend, not to some man in the middle; and if you
send a GNUnet handshake, you will reveal yourself as GNUnet node to
the other end of the connection, not knowing who might be there). TLS
allows authentication without revealing that nodes are using GNUnet.
And using TLS itself is, thankfully, not illegal yet (and, hopefully,
will never be).

This will have to be a separate transport, since

A) that is somewhat incompatible with existing tcp transport, which
does not rely in TLS at all, AFAIK.
B) Your friend might not be running in F2F-mode only, in which case
you will reveal that you run GNUnet by connecting to your friend on
the same port that other nodes connect to. If there's a separate port,
which only accepts TLSed sessions, and only accepts known friends on
them (at TLS level), it will be much more difficult for non-friends to
identify you. If you make a TLS connection on port A to a machine that
_also_ runs GNUnet on port B, that will not immediately prove that you
are running GNUnet in F2F-only mode.

We already discussed (3) in the past, AFAIR, just making sure that
this discussion sticks somewhere.

[1] That's what microsoft.com resolves to, for me.
SMoratinos | 22 Nov 2012 20:32

Gnunet Web UI

Hello,

I'm creating a new User Interface for my Gnunet server, a web user 
interface.

My Gnunet Node is running on a linux server with no X-server.
So a webUI is more user friendly than the shell command.

Right now, it's for my needs, but maybe are you interested in a webui ?
Before publishing something, I wanted your opinion.

This is some expected features :

* Web User Interface :
     - Standard client technologies HTML5 + CSS3 + Javascript.
     - Responsive web design, from desktop computer monitors to mobile 
phones

* Server Logic :
     - Java language

* Multi-User :
     - Access control, authorization, authentification

* Control Gnunet (via shell command) :
     - start stop arm and other service

* Read statistics (via gnunet-java) :
     - graphic, real time (websocket)

* File-Sharing (via shell because gnunet-java don't have fs) :
     - search, download, publish

* Administration :
     - modify configuration files

* External API :
     - REST, JSON + XML

* MultiPlatform/ MultiLanguage :
     - all platform, datastore, languages than Gnunet support,
        but at the beginning at least debian/postgresql/english.

I would share my project via Github on the beginning
  (because it's easy for me), but later I can change, naturally.

I planned to share my project (licence GPL like Gnunet),
  can I use the name GnunetWebUI ?

What do you think about this project ?
sngh | 9 Nov 2012 02:05
Picon

compilation of 0.9.4 on x64 opensuse doesnt follow proper lib(64) directory path names (tries /usr/local/lib/gnunet... instead of /usr/local/lib64/gnunet....)

compilation of 0.9.4 on x64 opensuse doesnt follow proper lib
directory path names (tries /usr/local/lib/gnunet... instead of
/usr/local/lib64/gnunet....)

just compiled 0.9.4 on x64 opensuse according to README

sudo -u gnunet gnunet-arm -s
gnunet's password:
Nov 09 02:00:16-370194 util-23964 WARNING `access' failed on file
`/usr/local/lib/gnunet/libexec/gnunet-service-arm' at
os_installation.c:652 with error: No such file or directory
Operation failed.
testuser <at> linux:~/Downloads/gnunet-0.9.4> ls /usr/local/lib
lib/   lib64/
testuser <at> linux:~/Downloads/gnunet-0.9.4> ls /usr/local/lib/gnunet
ls: cannot access /usr/local/lib/gnunet: No such file or directory
testuser <at> linux:~/Downloads/gnunet-0.9.4> ls /usr/local/lib64/gnunet
libexec                        libgnunet_plugin_block_mesh.la
libgnunet_plugin_datacache_template.so
libgnunet_plugin_transport_http_client.la
libgnunet_plugin_transport_tcp.so
libgnunet_plugin_block_dht.la  libgnunet_plugin_block_mesh.so
libgnunet_plugin_datastore_sqlite.la
libgnunet_plugin_transport_http_client.so
libgnunet_plugin_transport_template.la
libgnunet_plugin_block_dht.so  libgnunet_plugin_block_template.la
libgnunet_plugin_datastore_sqlite.so
libgnunet_plugin_transport_https_client.la
libgnunet_plugin_transport_template.so
libgnunet_plugin_block_dns.la  libgnunet_plugin_block_template.so
libgnunet_plugin_datastore_template.la
libgnunet_plugin_transport_https_client.so
libgnunet_plugin_transport_udp.la
libgnunet_plugin_block_dns.so  libgnunet_plugin_block_test.la
libgnunet_plugin_datastore_template.so
libgnunet_plugin_transport_http_server.la
libgnunet_plugin_transport_udp.so
libgnunet_plugin_block_fs.la   libgnunet_plugin_block_test.so
libgnunet_plugin_namestore_sqlite.la
libgnunet_plugin_transport_http_server.so
libgnunet_plugin_transport_unix.la
libgnunet_plugin_block_fs.so   libgnunet_plugin_datacache_sqlite.la
libgnunet_plugin_namestore_sqlite.so
libgnunet_plugin_transport_https_server.la
libgnunet_plugin_transport_unix.so
libgnunet_plugin_block_gns.la  libgnunet_plugin_datacache_sqlite.so
libgnunet_plugin_test.la
libgnunet_plugin_transport_https_server.so
libgnunet_plugin_transport_wlan.la
libgnunet_plugin_block_gns.so  libgnunet_plugin_datacache_template.la
libgnunet_plugin_test.so
libgnunet_plugin_transport_tcp.la
libgnunet_plugin_transport_wlan.so

too bad. :(
config files or something not lib64 proof?
this is currently opensuse-12.3-x64-milestone1

uname -a
Linux linux 3.6.3-8-desktop #1 SMP PREEMPT Sun Oct 21 22:15:08 UTC
2012 (c367f31) x86_64 x86_64 x86_64 GNU/Linux

Gmane