<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1873</id>
	<title>Nabble - GnuNet</title>
	<updated>2009-11-19T23:44:11Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/GnuNet-f1873.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GnuNet-f1873.html" />
	<subtitle type="html">GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. A first service implemented on top of the networking layer allows anonymous censorship-resistant file-sharing. GNUnet uses a simple, excess-based economic model to allocate resources. Peers in GNUnet monitor each others behavior with respect to resource usage; peers that contribute to the network are rewarded with better service. GnuNet home is &lt;a href=&quot;http://gnunet.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26455127</id>
	<title>Re: Typo on &quot;papers and related work&quot; webpage</title>
	<published>2009-11-19T23:44:11Z</published>
	<updated>2009-11-19T23:44:11Z</updated>
	<author>
		<name>Christian Grothoff-4</name>
	</author>
	<content type="html">Fixing. Thanks! -Christian
&lt;br&gt;&lt;br&gt;On Thursday 19 November 2009 06:54:50 Sergey Matveev wrote:
&lt;br&gt;&amp;gt; Greetings,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; There is &amp;quot;An Analysis of GNUnet and the Implications for Anonymous,
&lt;br&gt;&amp;gt; Censorship-Resistant Networks&amp;quot; link to book in &amp;quot;Paper about GNUnet&amp;quot;
&lt;br&gt;&amp;gt; section. And &amp;quot;PS&amp;quot; (PostScript) format is in the brackets, but it leads
&lt;br&gt;&amp;gt; to PDF document, instead of PS. Just a small typo.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://grothoff.org/christian/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grothoff.org/christian/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26455127&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Typo-on-%22papers-and-related-work%22-webpage-tp26438963p26455127.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26438963</id>
	<title>Typo on &quot;papers and related work&quot; webpage</title>
	<published>2009-11-18T21:54:50Z</published>
	<updated>2009-11-18T21:54:50Z</updated>
	<author>
		<name>Sergey Matveev</name>
	</author>
	<content type="html">Greetings,
&lt;br&gt;&lt;br&gt;There is &amp;quot;An Analysis of GNUnet and the Implications for Anonymous,
&lt;br&gt;Censorship-Resistant Networks&amp;quot; link to book in &amp;quot;Paper about GNUnet&amp;quot;
&lt;br&gt;section. And &amp;quot;PS&amp;quot; (PostScript) format is in the brackets, but it leads
&lt;br&gt;to PDF document, instead of PS. Just a small typo.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Happy hacking, Sergey Matveev &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; () ASCII Ribbon Campaign
&lt;br&gt;FSF Associate member #5968 | FSFE Fellow #1390 &amp;nbsp;/\ Keep it simple!
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26438963&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Typo-on-%22papers-and-related-work%22-webpage-tp26438963p26438963.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25710531</id>
	<title>Re: Installing</title>
	<published>2009-10-01T14:31:59Z</published>
	<updated>2009-10-01T14:31:59Z</updated>
	<author>
		<name>Nils Durner-4</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt; I think so, does GNUnet work with utorrent?
&lt;br&gt;No.
&lt;br&gt;GNUnet does not anonymize arbitrary TCP streams like Tor but has a
&lt;br&gt;special plugin that allows for anonymous P2P.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Nils
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25710531&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Installing-tp25675143p25710531.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25689554</id>
	<title>Re: Installing</title>
	<published>2009-09-30T14:12:38Z</published>
	<updated>2009-09-30T14:12:38Z</updated>
	<author>
		<name>Nils Durner-4</name>
	</author>
	<content type="html">After you have configured GNUnet (the configuration wizard is also
&lt;br&gt;reachable via the start menu), you can start the background process
&lt;br&gt;gnunetd either as a service (if you checked the option &amp;quot;Launch GNUnet on
&lt;br&gt;computer startup&amp;quot; in the wizard), via the &amp;quot;General&amp;quot; tab in the UI, or
&lt;br&gt;manually via command line:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; cd c:\gnunet\bin
&lt;br&gt;&amp;nbsp; &amp;nbsp; gnunetd -d -L DEBUG
&lt;br&gt;&lt;br&gt;The parameters &amp;quot;-d -L DEBUG&amp;quot; start GNUnet in debug mode, so can see
&lt;br&gt;what's happening.
&lt;br&gt;&lt;br&gt;Do you use the latest version 0.8.0c?
&lt;br&gt;&lt;br&gt;&lt;br&gt;Nils
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Yes, this did solve the problem, but when I open it it still seems to
&lt;br&gt;&amp;gt; be having problems. What is the first thing that should be run after
&lt;br&gt;&amp;gt; installation?
&lt;br&gt;&amp;gt; Thanks!
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Ethan
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Wed, Sep 30, 2009 at 3:39 PM, Nils Durner &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25689554&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ndurner@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;lt;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25689554&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ndurner@...&lt;/a&gt;&amp;gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Hi Ethan,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; which version of Windows is this?
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; If it is Vista, launch the installer as administrator, install into a
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; folder other than c:\program files (&amp;quot;c:\gnunet&amp;quot; for example) and
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; report
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if this solves the problem.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Nils
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25689554&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Installing-tp25675143p25689554.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25689553</id>
	<title>Re: Installing</title>
	<published>2009-09-30T13:39:29Z</published>
	<updated>2009-09-30T13:39:29Z</updated>
	<author>
		<name>Nils Durner-4</name>
	</author>
	<content type="html">Hi Ethan,
&lt;br&gt;&lt;br&gt;which version of Windows is this?
&lt;br&gt;If it is Vista, launch the installer as administrator, install into a
&lt;br&gt;folder other than c:\program files (&amp;quot;c:\gnunet&amp;quot; for example) and report
&lt;br&gt;if this solves the problem.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Nils
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25689553&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Installing-tp25675143p25689553.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25675143</id>
	<title>Installing</title>
	<published>2009-09-29T15:47:31Z</published>
	<updated>2009-09-29T15:47:31Z</updated>
	<author>
		<name>Ethan Gordon</name>
	</author>
	<content type="html">Hello. I installed the GNU setup wizard, and after it ran I cannot find GNU on my system, it seems to have only installed some parts but not their .exe files. &lt;br clear=&quot;all&quot;&gt;Thanks!&lt;br&gt;              Ethan&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25675143&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Installing-tp25675143p25675143.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25651308</id>
	<title>Re: GNUnet-0.8.0c dies with assertion failures</title>
	<published>2009-09-28T10:19:42Z</published>
	<updated>2009-09-28T10:19:42Z</updated>
	<author>
		<name>jayjwa</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;I don't think my messages are getting through. Evidently Spamhaus took control 
&lt;br&gt;of the Internet's mail and is making me pay for something someone else did, 
&lt;br&gt;sans proof.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; ----- The following addresses had permanent fatal errors -----
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651308&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;grothoff@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;(reason: 554 5.7.1 Service unavailable; Client host [67.242.55.204] blocked using zen.spamhaus.org; &lt;a href=&quot;http://www.spamhaus.org/query/bl?ip=67.242.55.204&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.spamhaus.org/query/bl?ip=67.242.55.204&lt;/a&gt;)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; ----- Transcript of session follows -----
&lt;br&gt;... while talking to mailin.informatik.tu-muenchen.de.:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; DATA
&lt;br&gt;&amp;lt;&amp;lt;&amp;lt; 554 5.7.1 Service unavailable; Client host [67.242.55.204] blocked using zen.spamhaus.org; &lt;a href=&quot;http://www.spamhaus.org/query/bl?ip=67.242.55.204&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.spamhaus.org/query/bl?ip=67.242.55.204&lt;/a&gt;&lt;br&gt;554 5.0.0 Service unavailable
&lt;br&gt;&amp;lt;&amp;lt;&amp;lt; 554 5.5.1 Error: no valid recipients
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Reporting-MTA: dns; atr2.ath.cx
&lt;br&gt;Received-From-MTA: DNS; localhost
&lt;br&gt;Arrival-Date: Mon, 28 Sep 2009 12:46:50 -0400
&lt;br&gt;&lt;br&gt;Final-Recipient: RFC822; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651308&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;grothoff@...&lt;/a&gt;
&lt;br&gt;Action: failed
&lt;br&gt;Status: 5.7.1
&lt;br&gt;Remote-MTA: DNS; mailin.informatik.tu-muenchen.de
&lt;br&gt;Diagnostic-Code: SMTP; 554 5.7.1 Service unavailable; Client host [67.242.55.204] blocked using zen.spamhaus.org; &lt;a href=&quot;http://www.spamhaus.org/query/bl?ip=67.242.55.204&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.spamhaus.org/query/bl?ip=67.242.55.204&lt;/a&gt;&lt;br&gt;Last-Attempt-Date: Mon, 28 Sep 2009 12:50:08 -0400
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Date: Mon, 28 Sep 2009 12:46:49 -0400
&lt;br&gt;From: jayjwa &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651308&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jayjwa@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: Christian Grothoff &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651308&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;grothoff@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651308&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;
&lt;br&gt;Subject: Re: [bug-GNUnet] GNUnet-0.8.0c dies with assertion failures
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Thu, 24 Sep 2009, Christian Grothoff wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Wednesday 23 September 2009 02:47:29 jayjwa wrote:
&lt;br&gt;&amp;gt;&amp;gt; The gnunet daemon always dies with the following assertion errors:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sep 22 20:23:09 FATAL: Internal error: assertion failed at mysql.c:427.
&lt;br&gt;&amp;gt;&amp;gt; zsh: abort &amp;nbsp; &amp;nbsp; &amp;nbsp;gnunetd -u daemon -d
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The gnunetd logfiles fill with these messages, but no other info.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hmm. &amp;nbsp;That should happen if the DB contains an entry that is corrupted in a
&lt;br&gt;&amp;gt; particular way (and the code fails to test for it &amp;quot;nicely&amp;quot;). &amp;nbsp;The following
&lt;br&gt;&amp;gt; patch (also now in SVN HEAD) should fix this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; sh-4.0$ svn diff mysql.c
&lt;br&gt;&amp;gt; Index: mysql.c
&lt;br&gt;&amp;gt; ===================================================================
&lt;br&gt;&amp;gt; --- mysql.c &amp;nbsp; &amp;nbsp; (revision 9006)
&lt;br&gt;&amp;gt; +++ mysql.c &amp;nbsp; &amp;nbsp; (working copy)
&lt;br&gt;&amp;gt; @@ -418,6 +418,11 @@
&lt;br&gt;&amp;gt; &amp;nbsp; contentSize = *(unsigned int *) result[0].buffer;
&lt;br&gt;&amp;gt; &amp;nbsp; if (contentSize &amp;lt; sizeof (GNUNET_DatastoreValue))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; return NULL; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* error */
&lt;br&gt;&amp;gt; + &amp;nbsp;if (contentSize &amp;gt; GNUNET_MAX_BUFFER_SIZE)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; GNUNET_GE_BREAK (NULL, 0); /* far too big */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; return NULL;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; contentSize -= sizeof (GNUNET_DatastoreValue);
&lt;br&gt;&amp;gt; &amp;nbsp; type = *(unsigned int *) result[1].buffer;
&lt;br&gt;&amp;gt; &amp;nbsp; prio = *(unsigned int *) result[2].buffer;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Alternatively you could drop the GNUnet database and recreate (but that's
&lt;br&gt;&amp;gt; obviously not a good solution and would not prevent this from happening
&lt;br&gt;&amp;gt; again). &amp;nbsp;With the above patch, you'll still get a warning printed whenever
&lt;br&gt;&amp;gt; this corrupt DB entry is hit (but no more crashes).
&lt;/div&gt;&lt;br&gt;Before getting this reply, I tried the drop database solution and that seems 
&lt;br&gt;to have worked. I just deleted it and then recreated it the same again. It was 
&lt;br&gt;originally made on an older MySQL back when I had an older version. Perhaps 
&lt;br&gt;there's something different about the new version. I'll try the patch as well.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Running the test suite also ends similarly:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sep 22 20:20:57 `lt_dlopenext' failed for library
&lt;br&gt;&amp;gt;&amp;gt; `libgnunetmodule_transport' with error: file not found
&lt;br&gt;&amp;gt;&amp;gt; Sep 22 20:20:57 Internal error: assertion failed at handler.c:840.
&lt;br&gt;&amp;gt;&amp;gt; /bin/sh: line 4: 13511 Aborted &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ${dir}$tst
&lt;br&gt;&amp;gt;&amp;gt; FAIL: identitytest
&lt;br&gt;&amp;gt;&amp;gt; ===================================
&lt;br&gt;&amp;gt;&amp;gt; 1 of 1 tests failed
&lt;br&gt;&amp;gt;&amp;gt; Please report to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651308&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; ===================================
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Which is odd because that file does exist at
&lt;br&gt;&amp;gt;&amp;gt; /usr/lib/GNUnet/libgnunetmodule_transport.so
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That's a completely different error. &amp;nbsp;You need to set &amp;quot;GNUNET_PREFIX=/usr&amp;quot;
&lt;br&gt;&amp;gt; before running the testsuite and then this crash should disappear. &amp;nbsp;Without
&lt;br&gt;&amp;gt; this environment variable, the code does not look in &amp;quot;/usr&amp;quot; and fails to find
&lt;br&gt;&amp;gt; the plugin.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;I thought I set it, but it's quite possible I didn't.
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Since then, I've updated to the most recent versions of MySQL and
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;libmicrohttp and recompiled GNUnet. The problems still presists. The
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;database server appears fine - I can login as the GNUnet user, work with
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;the gnunet database, etc.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; As a side note, I tried to sign up for bug tracking to better follow this
&lt;br&gt;&amp;gt;&amp;gt; issue, but there appears to be errors there too. I enter the confirmation
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;URL, click 'update account' after supplying the requested info, and I only
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;get the follow:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; This account is protected. You are not allowed to access this until the
&lt;br&gt;&amp;gt;&amp;gt; account protection is lifted.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Please use the &amp;quot;Back&amp;quot; button in your web browser to return to the previous
&lt;br&gt;&amp;gt;&amp;gt; page. There you can correct whatever problems were identified in this error
&lt;br&gt;&amp;gt;&amp;gt; or select another action. You can also click an option from the menu bar to
&lt;br&gt;&amp;gt;&amp;gt; go directly to a new section.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Strange, I can see your account but it is not marked as &amp;quot;protected&amp;quot;. &amp;nbsp;I've
&lt;br&gt;&amp;gt; clicked the button for resetting your password. &amp;nbsp;If that does not help, please
&lt;br&gt;&amp;gt; contact me off-list and maybe we can figure it out.
&lt;/div&gt;&lt;br&gt;It seems to be fixed now, thanks.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Since I have no other way to send this, I'm using &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651308&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; No problem, thanks for your report! &amp;nbsp;Let me know if the above patch does not
&lt;br&gt;&amp;gt; fix the problem.
&lt;br&gt;&lt;br&gt;Since the database recreation fixed it for the moment, the patch probably 
&lt;br&gt;won't get a chance to work, but I'll apply it and see if anything further 
&lt;br&gt;happens.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;===[* Spamhaus: Internet terrorists - Don't support them *]=======
&lt;br&gt;(noun; one who hurts innocents without care to further a cause)
&lt;br&gt;&amp;nbsp; Spammers add to your inbox; Spamhaus makes sure you'll never
&lt;br&gt;&amp;nbsp; get your email, period. &amp;nbsp;Now, which one is worse? &amp;nbsp;See why:
&lt;br&gt;&amp;nbsp; &lt;a href=&quot;https://atr2.ath.cx/~jayjwa/RBLs-hurt-innocent-people/abusive-abuse-lists.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://atr2.ath.cx/~jayjwa/RBLs-hurt-innocent-people/abusive-abuse-lists.html&lt;/a&gt;&lt;br&gt;=====[ finger://atr2.ath.cx/jayjwa &amp;nbsp;for contacts, PGP, etc. ]=====
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651308&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GNUnet-0.8.0c-dies-with-assertion-failures-tp25571470p25651308.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25651307</id>
	<title>Re: GNUnet-0.8.0c dies with assertion failures</title>
	<published>2009-09-28T09:46:49Z</published>
	<updated>2009-09-28T09:46:49Z</updated>
	<author>
		<name>jayjwa</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;On Thu, 24 Sep 2009, Christian Grothoff wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Wednesday 23 September 2009 02:47:29 jayjwa wrote:
&lt;br&gt;&amp;gt;&amp;gt; The gnunet daemon always dies with the following assertion errors:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sep 22 20:23:09 FATAL: Internal error: assertion failed at mysql.c:427.
&lt;br&gt;&amp;gt;&amp;gt; zsh: abort &amp;nbsp; &amp;nbsp; &amp;nbsp;gnunetd -u daemon -d
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The gnunetd logfiles fill with these messages, but no other info.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hmm. &amp;nbsp;That should happen if the DB contains an entry that is corrupted in a
&lt;br&gt;&amp;gt; particular way (and the code fails to test for it &amp;quot;nicely&amp;quot;). &amp;nbsp;The following
&lt;br&gt;&amp;gt; patch (also now in SVN HEAD) should fix this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; sh-4.0$ svn diff mysql.c
&lt;br&gt;&amp;gt; Index: mysql.c
&lt;br&gt;&amp;gt; ===================================================================
&lt;br&gt;&amp;gt; --- mysql.c &amp;nbsp; &amp;nbsp; (revision 9006)
&lt;br&gt;&amp;gt; +++ mysql.c &amp;nbsp; &amp;nbsp; (working copy)
&lt;br&gt;&amp;gt; @@ -418,6 +418,11 @@
&lt;br&gt;&amp;gt; &amp;nbsp; contentSize = *(unsigned int *) result[0].buffer;
&lt;br&gt;&amp;gt; &amp;nbsp; if (contentSize &amp;lt; sizeof (GNUNET_DatastoreValue))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; return NULL; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* error */
&lt;br&gt;&amp;gt; + &amp;nbsp;if (contentSize &amp;gt; GNUNET_MAX_BUFFER_SIZE)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; GNUNET_GE_BREAK (NULL, 0); /* far too big */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; return NULL;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; contentSize -= sizeof (GNUNET_DatastoreValue);
&lt;br&gt;&amp;gt; &amp;nbsp; type = *(unsigned int *) result[1].buffer;
&lt;br&gt;&amp;gt; &amp;nbsp; prio = *(unsigned int *) result[2].buffer;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Alternatively you could drop the GNUnet database and recreate (but that's
&lt;br&gt;&amp;gt; obviously not a good solution and would not prevent this from happening
&lt;br&gt;&amp;gt; again). &amp;nbsp;With the above patch, you'll still get a warning printed whenever
&lt;br&gt;&amp;gt; this corrupt DB entry is hit (but no more crashes).
&lt;/div&gt;&lt;br&gt;Before getting this reply, I tried the drop database solution and that seems 
&lt;br&gt;to have worked. I just deleted it and then recreated it the same again. It was 
&lt;br&gt;originally made on an older MySQL back when I had an older version. Perhaps 
&lt;br&gt;there's something different about the new version. I'll try the patch as well.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Running the test suite also ends similarly:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sep 22 20:20:57 `lt_dlopenext' failed for library
&lt;br&gt;&amp;gt;&amp;gt; `libgnunetmodule_transport' with error: file not found
&lt;br&gt;&amp;gt;&amp;gt; Sep 22 20:20:57 Internal error: assertion failed at handler.c:840.
&lt;br&gt;&amp;gt;&amp;gt; /bin/sh: line 4: 13511 Aborted &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ${dir}$tst
&lt;br&gt;&amp;gt;&amp;gt; FAIL: identitytest
&lt;br&gt;&amp;gt;&amp;gt; ===================================
&lt;br&gt;&amp;gt;&amp;gt; 1 of 1 tests failed
&lt;br&gt;&amp;gt;&amp;gt; Please report to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651307&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; ===================================
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Which is odd because that file does exist at
&lt;br&gt;&amp;gt;&amp;gt; /usr/lib/GNUnet/libgnunetmodule_transport.so
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That's a completely different error. &amp;nbsp;You need to set &amp;quot;GNUNET_PREFIX=/usr&amp;quot;
&lt;br&gt;&amp;gt; before running the testsuite and then this crash should disappear. &amp;nbsp;Without
&lt;br&gt;&amp;gt; this environment variable, the code does not look in &amp;quot;/usr&amp;quot; and fails to find
&lt;br&gt;&amp;gt; the plugin.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;I thought I set it, but it's quite possible I didn't.
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Since then, I've updated to the most recent versions of MySQL and
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;libmicrohttp and recompiled GNUnet. The problems still presists. The
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;database server appears fine - I can login as the GNUnet user, work with
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;the gnunet database, etc.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; As a side note, I tried to sign up for bug tracking to better follow this
&lt;br&gt;&amp;gt;&amp;gt; issue, but there appears to be errors there too. I enter the confirmation
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;URL, click 'update account' after supplying the requested info, and I only
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;get the follow:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; This account is protected. You are not allowed to access this until the
&lt;br&gt;&amp;gt;&amp;gt; account protection is lifted.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Please use the &amp;quot;Back&amp;quot; button in your web browser to return to the previous
&lt;br&gt;&amp;gt;&amp;gt; page. There you can correct whatever problems were identified in this error
&lt;br&gt;&amp;gt;&amp;gt; or select another action. You can also click an option from the menu bar to
&lt;br&gt;&amp;gt;&amp;gt; go directly to a new section.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Strange, I can see your account but it is not marked as &amp;quot;protected&amp;quot;. &amp;nbsp;I've
&lt;br&gt;&amp;gt; clicked the button for resetting your password. &amp;nbsp;If that does not help, please
&lt;br&gt;&amp;gt; contact me off-list and maybe we can figure it out.
&lt;/div&gt;&lt;br&gt;It seems to be fixed now, thanks.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Since I have no other way to send this, I'm using &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651307&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; No problem, thanks for your report! &amp;nbsp;Let me know if the above patch does not
&lt;br&gt;&amp;gt; fix the problem.
&lt;br&gt;&lt;br&gt;Since the database recreation fixed it for the moment, the patch probably 
&lt;br&gt;won't get a chance to work, but I'll apply it and see if anything further 
&lt;br&gt;happens.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25651307&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GNUnet-0.8.0c-dies-with-assertion-failures-tp25571470p25651307.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25596040</id>
	<title>Re: GNUnet-0.8.0c dies with assertion failures</title>
	<published>2009-09-24T07:09:24Z</published>
	<updated>2009-09-24T07:09:24Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">On Wednesday 23 September 2009 02:47:29 jayjwa wrote:
&lt;br&gt;&amp;gt; The gnunet daemon always dies with the following assertion errors:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sep 22 20:23:09 FATAL: Internal error: assertion failed at mysql.c:427.
&lt;br&gt;&amp;gt; zsh: abort &amp;nbsp; &amp;nbsp; &amp;nbsp;gnunetd -u daemon -d
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The gnunetd logfiles fill with these messages, but no other info.
&lt;br&gt;&lt;br&gt;Hmm. &amp;nbsp;That should happen if the DB contains an entry that is corrupted in a 
&lt;br&gt;particular way (and the code fails to test for it &amp;quot;nicely&amp;quot;). &amp;nbsp;The following 
&lt;br&gt;patch (also now in SVN HEAD) should fix this:
&lt;br&gt;&lt;br&gt;sh-4.0$ svn diff mysql.c
&lt;br&gt;Index: mysql.c
&lt;br&gt;===================================================================
&lt;br&gt;--- mysql.c &amp;nbsp; &amp;nbsp; (revision 9006)
&lt;br&gt;+++ mysql.c &amp;nbsp; &amp;nbsp; (working copy)
&lt;br&gt;@@ -418,6 +418,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;contentSize = *(unsigned int *) result[0].buffer;
&lt;br&gt;&amp;nbsp; &amp;nbsp;if (contentSize &amp;lt; sizeof (GNUNET_DatastoreValue))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return NULL; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* error */
&lt;br&gt;+ &amp;nbsp;if (contentSize &amp;gt; GNUNET_MAX_BUFFER_SIZE)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; GNUNET_GE_BREAK (NULL, 0); /* far too big */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; return NULL;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;contentSize -= sizeof (GNUNET_DatastoreValue);
&lt;br&gt;&amp;nbsp; &amp;nbsp;type = *(unsigned int *) result[1].buffer;
&lt;br&gt;&amp;nbsp; &amp;nbsp;prio = *(unsigned int *) result[2].buffer;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Alternatively you could drop the GNUnet database and recreate (but that's 
&lt;br&gt;obviously not a good solution and would not prevent this from happening 
&lt;br&gt;again). &amp;nbsp;With the above patch, you'll still get a warning printed whenever 
&lt;br&gt;this corrupt DB entry is hit (but no more crashes).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Running the test suite also ends similarly:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sep 22 20:20:57 `lt_dlopenext' failed for library
&lt;br&gt;&amp;gt; `libgnunetmodule_transport' with error: file not found
&lt;br&gt;&amp;gt; Sep 22 20:20:57 Internal error: assertion failed at handler.c:840.
&lt;br&gt;&amp;gt; /bin/sh: line 4: 13511 Aborted &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ${dir}$tst
&lt;br&gt;&amp;gt; FAIL: identitytest
&lt;br&gt;&amp;gt; ===================================
&lt;br&gt;&amp;gt; 1 of 1 tests failed
&lt;br&gt;&amp;gt; Please report to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25596040&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;
&lt;br&gt;&amp;gt; ===================================
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Which is odd because that file does exist at
&lt;br&gt;&amp;gt; /usr/lib/GNUnet/libgnunetmodule_transport.so
&lt;/div&gt;&lt;br&gt;&lt;br&gt;That's a completely different error. &amp;nbsp;You need to set &amp;quot;GNUNET_PREFIX=/usr&amp;quot; 
&lt;br&gt;before running the testsuite and then this crash should disappear. &amp;nbsp;Without 
&lt;br&gt;this environment variable, the code does not look in &amp;quot;/usr&amp;quot; and fails to find 
&lt;br&gt;the plugin.
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Since then, I've updated to the most recent versions of MySQL and
&lt;br&gt;&amp;gt; &amp;nbsp;libmicrohttp and recompiled GNUnet. The problems still presists. The
&lt;br&gt;&amp;gt; &amp;nbsp;database server appears fine - I can login as the GNUnet user, work with
&lt;br&gt;&amp;gt; &amp;nbsp;the gnunet database, etc.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; As a side note, I tried to sign up for bug tracking to better follow this
&lt;br&gt;&amp;gt; issue, but there appears to be errors there too. I enter the confirmation
&lt;br&gt;&amp;gt; &amp;nbsp;URL, click 'update account' after supplying the requested info, and I only
&lt;br&gt;&amp;gt; &amp;nbsp;get the follow:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This account is protected. You are not allowed to access this until the
&lt;br&gt;&amp;gt; account protection is lifted.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Please use the &amp;quot;Back&amp;quot; button in your web browser to return to the previous
&lt;br&gt;&amp;gt; page. There you can correct whatever problems were identified in this error
&lt;br&gt;&amp;gt; or select another action. You can also click an option from the menu bar to
&lt;br&gt;&amp;gt; go directly to a new section.
&lt;/div&gt;&lt;br&gt;Strange, I can see your account but it is not marked as &amp;quot;protected&amp;quot;. &amp;nbsp;I've 
&lt;br&gt;clicked the button for resetting your password. &amp;nbsp;If that does not help, please 
&lt;br&gt;contact me off-list and maybe we can figure it out.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; Since I have no other way to send this, I'm using &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25596040&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;No problem, thanks for your report! &amp;nbsp;Let me know if the above patch does not 
&lt;br&gt;fix the problem.
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Versions:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; GNUnet-0.8.0c
&lt;br&gt;&amp;gt; libmicrohttpd-0.4.2 (also tried with previous version)
&lt;br&gt;&amp;gt; mysql-5.1.39 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(also tried with mysql-5.1.37)
&lt;br&gt;&amp;gt; libtool-2.2.6
&lt;br&gt;&amp;gt; gcc-4.4.1
&lt;br&gt;&amp;gt; glibc-2.10.1
&lt;br&gt;&amp;gt; linux-2.6.30.5
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Any help would be greatly appreciated.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Bug-GNUnet mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25596040&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://grothoff.org/christian/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grothoff.org/christian/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25596040&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GNUnet-0.8.0c-dies-with-assertion-failures-tp25571470p25596040.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25606585</id>
	<title>Re: GNUnet-0.8.0c dies with assertion failures</title>
	<published>2009-09-24T06:50:53Z</published>
	<updated>2009-09-24T06:50:53Z</updated>
	<author>
		<name>Christian Grothoff-4</name>
	</author>
	<content type="html">On Wednesday 23 September 2009 02:47:29 jayjwa wrote:
&lt;br&gt;&amp;gt; The gnunet daemon always dies with the following assertion errors:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sep 22 20:23:09 FATAL: Internal error: assertion failed at mysql.c:427.
&lt;br&gt;&amp;gt; zsh: abort &amp;nbsp; &amp;nbsp; &amp;nbsp;gnunetd -u daemon -d
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The gnunetd logfiles fill with these messages, but no other info.
&lt;br&gt;&lt;br&gt;Hmm. &amp;nbsp;That should happen if the DB contains an entry that is corrupted in a 
&lt;br&gt;particular way (and the code fails to test for it &amp;quot;nicely&amp;quot;). &amp;nbsp;The following 
&lt;br&gt;patch (also now in SVN HEAD) should fix this:
&lt;br&gt;&lt;br&gt;sh-4.0$ svn diff mysql.c
&lt;br&gt;Index: mysql.c
&lt;br&gt;===================================================================
&lt;br&gt;--- mysql.c &amp;nbsp; &amp;nbsp; (revision 9006)
&lt;br&gt;+++ mysql.c &amp;nbsp; &amp;nbsp; (working copy)
&lt;br&gt;@@ -418,6 +418,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;contentSize = *(unsigned int *) result[0].buffer;
&lt;br&gt;&amp;nbsp; &amp;nbsp;if (contentSize &amp;lt; sizeof (GNUNET_DatastoreValue))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return NULL; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* error */
&lt;br&gt;+ &amp;nbsp;if (contentSize &amp;gt; GNUNET_MAX_BUFFER_SIZE)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; GNUNET_GE_BREAK (NULL, 0); /* far too big */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; return NULL;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;contentSize -= sizeof (GNUNET_DatastoreValue);
&lt;br&gt;&amp;nbsp; &amp;nbsp;type = *(unsigned int *) result[1].buffer;
&lt;br&gt;&amp;nbsp; &amp;nbsp;prio = *(unsigned int *) result[2].buffer;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Alternatively you could drop the GNUnet database and recreate (but that's 
&lt;br&gt;obviously not a good solution and would not prevent this from happening 
&lt;br&gt;again). &amp;nbsp;With the above patch, you'll still get a warning printed whenever 
&lt;br&gt;this corrupt DB entry is hit (but no more crashes).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Running the test suite also ends similarly:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sep 22 20:20:57 `lt_dlopenext' failed for library
&lt;br&gt;&amp;gt; `libgnunetmodule_transport' with error: file not found
&lt;br&gt;&amp;gt; Sep 22 20:20:57 Internal error: assertion failed at handler.c:840.
&lt;br&gt;&amp;gt; /bin/sh: line 4: 13511 Aborted &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ${dir}$tst
&lt;br&gt;&amp;gt; FAIL: identitytest
&lt;br&gt;&amp;gt; ===================================
&lt;br&gt;&amp;gt; 1 of 1 tests failed
&lt;br&gt;&amp;gt; Please report to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25606585&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;
&lt;br&gt;&amp;gt; ===================================
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Which is odd because that file does exist at
&lt;br&gt;&amp;gt; /usr/lib/GNUnet/libgnunetmodule_transport.so
&lt;/div&gt;&lt;br&gt;&lt;br&gt;That's a completely different error. &amp;nbsp;You need to set &amp;quot;GNUNET_PREFIX=/usr&amp;quot; 
&lt;br&gt;before running the testsuite and then this crash should disappear. &amp;nbsp;Without 
&lt;br&gt;this environment variable, the code does not look in &amp;quot;/usr&amp;quot; and fails to find 
&lt;br&gt;the plugin.
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Since then, I've updated to the most recent versions of MySQL and
&lt;br&gt;&amp;gt; &amp;nbsp;libmicrohttp and recompiled GNUnet. The problems still presists. The
&lt;br&gt;&amp;gt; &amp;nbsp;database server appears fine - I can login as the GNUnet user, work with
&lt;br&gt;&amp;gt; &amp;nbsp;the gnunet database, etc.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; As a side note, I tried to sign up for bug tracking to better follow this
&lt;br&gt;&amp;gt; issue, but there appears to be errors there too. I enter the confirmation
&lt;br&gt;&amp;gt; &amp;nbsp;URL, click 'update account' after supplying the requested info, and I only
&lt;br&gt;&amp;gt; &amp;nbsp;get the follow:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This account is protected. You are not allowed to access this until the
&lt;br&gt;&amp;gt; account protection is lifted.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Please use the &amp;quot;Back&amp;quot; button in your web browser to return to the previous
&lt;br&gt;&amp;gt; page. There you can correct whatever problems were identified in this error
&lt;br&gt;&amp;gt; or select another action. You can also click an option from the menu bar to
&lt;br&gt;&amp;gt; go directly to a new section.
&lt;/div&gt;&lt;br&gt;Strange, I can see your account but it is not marked as &amp;quot;protected&amp;quot;. &amp;nbsp;I've 
&lt;br&gt;clicked the button for resetting your password. &amp;nbsp;If that does not help, please 
&lt;br&gt;contact me off-list and maybe we can figure it out.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; Since I have no other way to send this, I'm using &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25606585&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;No problem, thanks for your report! &amp;nbsp;Let me know if the above patch does not 
&lt;br&gt;fix the problem.
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Versions:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; GNUnet-0.8.0c
&lt;br&gt;&amp;gt; libmicrohttpd-0.4.2 (also tried with previous version)
&lt;br&gt;&amp;gt; mysql-5.1.39 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(also tried with mysql-5.1.37)
&lt;br&gt;&amp;gt; libtool-2.2.6
&lt;br&gt;&amp;gt; gcc-4.4.1
&lt;br&gt;&amp;gt; glibc-2.10.1
&lt;br&gt;&amp;gt; linux-2.6.30.5
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Any help would be greatly appreciated.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Bug-GNUnet mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25606585&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://grothoff.org/christian/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grothoff.org/christian/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25606585&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GNUnet-0.8.0c-dies-with-assertion-failures-tp25571470p25606585.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25571470</id>
	<title>GNUnet-0.8.0c dies with assertion failures</title>
	<published>2009-09-22T17:47:29Z</published>
	<updated>2009-09-22T17:47:29Z</updated>
	<author>
		<name>jayjwa</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;The gnunet daemon always dies with the following assertion errors:
&lt;br&gt;&lt;br&gt;Sep 22 20:23:09 FATAL: Internal error: assertion failed at mysql.c:427.
&lt;br&gt;zsh: abort &amp;nbsp; &amp;nbsp; &amp;nbsp;gnunetd -u daemon -d
&lt;br&gt;&lt;br&gt;The gnunetd logfiles fill with these messages, but no other info.
&lt;br&gt;&lt;br&gt;Running the test suite also ends similarly:
&lt;br&gt;&lt;br&gt;Sep 22 20:20:57 `lt_dlopenext' failed for library
&lt;br&gt;`libgnunetmodule_transport' with error: file not found
&lt;br&gt;Sep 22 20:20:57 Internal error: assertion failed at handler.c:840.
&lt;br&gt;/bin/sh: line 4: 13511 Aborted &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ${dir}$tst
&lt;br&gt;FAIL: identitytest
&lt;br&gt;===================================
&lt;br&gt;1 of 1 tests failed
&lt;br&gt;Please report to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25571470&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;
&lt;br&gt;===================================
&lt;br&gt;&lt;br&gt;Which is odd because that file does exist at 
&lt;br&gt;/usr/lib/GNUnet/libgnunetmodule_transport.so
&lt;br&gt;&lt;br&gt;Since then, I've updated to the most recent versions of MySQL and libmicrohttp 
&lt;br&gt;and recompiled GNUnet. The problems still presists. The database server 
&lt;br&gt;appears fine - I can login as the GNUnet user, work with the gnunet database, 
&lt;br&gt;etc.
&lt;br&gt;&lt;br&gt;As a side note, I tried to sign up for bug tracking to better follow this 
&lt;br&gt;issue, but there appears to be errors there too. I enter the confirmation URL, 
&lt;br&gt;click 'update account' after supplying the requested info, and I only get the 
&lt;br&gt;follow:
&lt;br&gt;&lt;br&gt;&lt;br&gt;This account is protected. You are not allowed to access this until the
&lt;br&gt;account protection is lifted.
&lt;br&gt;&lt;br&gt;Please use the &amp;quot;Back&amp;quot; button in your web browser to return to the previous
&lt;br&gt;page. There you can correct whatever problems were identified in this error
&lt;br&gt;or select another action. You can also click an option from the menu bar to
&lt;br&gt;go directly to a new section.
&lt;br&gt;&lt;br&gt;Since I have no other way to send this, I'm using &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25571470&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bug-gnunet@...&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;Versions:
&lt;br&gt;&lt;br&gt;GNUnet-0.8.0c
&lt;br&gt;libmicrohttpd-0.4.2 (also tried with previous version)
&lt;br&gt;mysql-5.1.39 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(also tried with mysql-5.1.37)
&lt;br&gt;libtool-2.2.6
&lt;br&gt;gcc-4.4.1
&lt;br&gt;glibc-2.10.1
&lt;br&gt;linux-2.6.30.5
&lt;br&gt;&lt;br&gt;Any help would be greatly appreciated.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25571470&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GNUnet-0.8.0c-dies-with-assertion-failures-tp25571470p25571470.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25535040</id>
	<title>Re: Debian Dependency</title>
	<published>2009-09-20T12:27:13Z</published>
	<updated>2009-09-20T12:27:13Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;br&gt;Why do you believe that? &amp;nbsp;We use libgcrypt, not OpenSSL. &amp;nbsp;Note that you can 
&lt;br&gt;have CURL installations using either libgcrypt or libssl, but that's an 
&lt;br&gt;*indirect* dependency which we don't list anyway (otherwise the list would be 
&lt;br&gt;*very* long).
&lt;br&gt;&lt;br&gt;If you would provide a more specific (compiler/linker) error message, I might 
&lt;br&gt;be able to say more.
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;On Saturday 19 September 2009 02:31:22 Kris Carlson wrote:
&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; &amp;nbsp; I'm not sure but I believe libssl-dev is also required to compile gnunet
&lt;br&gt;&amp;gt; for Debian Squeeze.
&lt;br&gt;&amp;gt; ~Kris
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25535040&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Debian-Dependency-tp25526516p25535040.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25526516</id>
	<title>Debian Dependency</title>
	<published>2009-09-18T17:31:22Z</published>
	<updated>2009-09-18T17:31:22Z</updated>
	<author>
		<name>Kris Carlson</name>
	</author>
	<content type="html">Hello,&lt;br&gt;  I&amp;#39;m not sure but I believe libssl-dev is also required to compile gnunet for Debian Squeeze.&lt;br&gt;~Kris&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Bug-GNUnet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25526516&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Bug-GNUnet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/bug-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/bug-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Bugs-f1874.html&quot; embed=&quot;fixTarget[1874]&quot; target=&quot;_top&quot; &gt;GnuNet - Bugs&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Debian-Dependency-tp25526516p25526516.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25450065</id>
	<title>Re: New GNUnet publication program</title>
	<published>2009-09-15T00:56:05Z</published>
	<updated>2009-09-15T00:56:05Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">On Monday 14 September 2009 17:38:46 you wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;gt; This is interesting, in part because I recently did a similar split into
&lt;br&gt;&amp;gt; &amp;gt; two steps for the new 0.9.x FS publishing API. Now, what is not yet
&lt;br&gt;&amp;gt; &amp;gt; possible with that API is the serialization into a specification file for
&lt;br&gt;&amp;gt; &amp;gt; the end-user between the two stages, but that might be a possibility. The
&lt;br&gt;&amp;gt; &amp;gt; main problem I see is that the new API allows for &amp;quot;files&amp;quot; to be published
&lt;br&gt;&amp;gt; &amp;gt; that are not on disk (the caller would just have to specify a function
&lt;br&gt;&amp;gt; &amp;gt; for how to get the data); that kind-of conflicts with the ability to
&lt;br&gt;&amp;gt; &amp;gt; serialize to a human-readable file.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I haven't seen anything about the new API on the web site; do you
&lt;br&gt;&amp;gt; have a draft written yet?
&lt;/div&gt;&lt;br&gt;Yes: &lt;a href=&quot;https://gnunet.org/svn/gnunet/src/include/gnunet_fs_service.h&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://gnunet.org/svn/gnunet/src/include/gnunet_fs_service.h&lt;/a&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; The way I handle files that are not on disk is to write them to files
&lt;br&gt;&amp;gt; at the same time the specification file is written. &amp;nbsp;Basicly, if you give
&lt;br&gt;&amp;gt; a specification file name &amp;quot;a/b/c&amp;quot;, then the specification is written
&lt;br&gt;&amp;gt; to that file, and any data that isn't already in files is written to files
&lt;br&gt;&amp;gt; named &amp;quot;a/b/0001.dat&amp;quot;, &amp;quot;a/b/0002.gnd&amp;quot;, and so on. &amp;nbsp;In order to make
&lt;br&gt;&amp;gt; this a bit more convenient to put each specification file in its own
&lt;br&gt;&amp;gt; directory, the directory &amp;quot;a/b&amp;quot; is created if it does not exist. &amp;nbsp;If higher
&lt;br&gt;&amp;gt; level directories (such as the directory &amp;quot;a&amp;quot; in &amp;quot;a/b/c&amp;quot;) do not exist,
&lt;br&gt;&amp;gt; that is treated as an error.
&lt;br&gt;&lt;br&gt;Right, one should write them to disk. &amp;nbsp;Now, I'm not sure about why you need to 
&lt;br&gt;generate errors (never good) if higher-leveld dirs don't exist; since this 
&lt;br&gt;would be all relative to the location of the specification file, we could just 
&lt;br&gt;create those dirs.
&lt;br&gt;&lt;br&gt;&amp;gt; The other issue with files is that the current working directory of a
&lt;br&gt;&amp;gt; process which reads a specification file might be different than the
&lt;br&gt;&amp;gt; current working directory of the program that wrote the file. &amp;nbsp;So
&lt;br&gt;&amp;gt; relative file names in a specification file are relative to the directory
&lt;br&gt;&amp;gt; containing the specification file.
&lt;br&gt;&lt;br&gt;I agree, good thing to remember when writing that code...
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://grothoff.org/christian/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grothoff.org/christian/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25450065&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/New-GNUnet-publication-program-tp25235631p25450065.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25485619</id>
	<title>Re: New GNUnet publication program</title>
	<published>2009-09-15T00:40:08Z</published>
	<updated>2009-09-15T00:40:08Z</updated>
	<author>
		<name>Christian Grothoff-4</name>
	</author>
	<content type="html">On Monday 14 September 2009 17:38:46 you wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;gt; This is interesting, in part because I recently did a similar split into
&lt;br&gt;&amp;gt; &amp;gt; two steps for the new 0.9.x FS publishing API. Now, what is not yet
&lt;br&gt;&amp;gt; &amp;gt; possible with that API is the serialization into a specification file for
&lt;br&gt;&amp;gt; &amp;gt; the end-user between the two stages, but that might be a possibility. The
&lt;br&gt;&amp;gt; &amp;gt; main problem I see is that the new API allows for &amp;quot;files&amp;quot; to be published
&lt;br&gt;&amp;gt; &amp;gt; that are not on disk (the caller would just have to specify a function
&lt;br&gt;&amp;gt; &amp;gt; for how to get the data); that kind-of conflicts with the ability to
&lt;br&gt;&amp;gt; &amp;gt; serialize to a human-readable file.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I haven't seen anything about the new API on the web site; do you
&lt;br&gt;&amp;gt; have a draft written yet?
&lt;/div&gt;&lt;br&gt;Yes: &lt;a href=&quot;https://gnunet.org/svn/gnunet/src/include/gnunet_fs_service.h&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://gnunet.org/svn/gnunet/src/include/gnunet_fs_service.h&lt;/a&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; The way I handle files that are not on disk is to write them to files
&lt;br&gt;&amp;gt; at the same time the specification file is written. &amp;nbsp;Basicly, if you give
&lt;br&gt;&amp;gt; a specification file name &amp;quot;a/b/c&amp;quot;, then the specification is written
&lt;br&gt;&amp;gt; to that file, and any data that isn't already in files is written to files
&lt;br&gt;&amp;gt; named &amp;quot;a/b/0001.dat&amp;quot;, &amp;quot;a/b/0002.gnd&amp;quot;, and so on. &amp;nbsp;In order to make
&lt;br&gt;&amp;gt; this a bit more convenient to put each specification file in its own
&lt;br&gt;&amp;gt; directory, the directory &amp;quot;a/b&amp;quot; is created if it does not exist. &amp;nbsp;If higher
&lt;br&gt;&amp;gt; level directories (such as the directory &amp;quot;a&amp;quot; in &amp;quot;a/b/c&amp;quot;) do not exist,
&lt;br&gt;&amp;gt; that is treated as an error.
&lt;br&gt;&lt;br&gt;Right, one should write them to disk. &amp;nbsp;Now, I'm not sure about why you need to 
&lt;br&gt;generate errors (never good) if higher-leveld dirs don't exist; since this 
&lt;br&gt;would be all relative to the location of the specification file, we could just 
&lt;br&gt;create those dirs.
&lt;br&gt;&lt;br&gt;&amp;gt; The other issue with files is that the current working directory of a
&lt;br&gt;&amp;gt; process which reads a specification file might be different than the
&lt;br&gt;&amp;gt; current working directory of the program that wrote the file. &amp;nbsp;So
&lt;br&gt;&amp;gt; relative file names in a specification file are relative to the directory
&lt;br&gt;&amp;gt; containing the specification file.
&lt;br&gt;&lt;br&gt;I agree, good thing to remember when writing that code...
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://grothoff.org/christian/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grothoff.org/christian/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25485619&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/New-GNUnet-publication-program-tp25235631p25485619.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25438162</id>
	<title>RE: New GNUnet publication program</title>
	<published>2009-09-14T08:38:46Z</published>
	<updated>2009-09-14T08:38:46Z</updated>
	<author>
		<name>Kenneth Almquist</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt; This is interesting, in part because I recently did a similar split into two
&lt;br&gt;&amp;gt; steps for the new 0.9.x FS publishing API. Now, what is not yet possible with
&lt;br&gt;&amp;gt; that API is the serialization into a specification file for the end-user between
&lt;br&gt;&amp;gt; the two stages, but that might be a possibility. The main problem I see is
&lt;br&gt;&amp;gt; that the new API allows for &amp;quot;files&amp;quot; to be published that are not on disk (the
&lt;br&gt;&amp;gt; caller would just have to specify a function for how to get the data); that
&lt;br&gt;&amp;gt; kind-of conflicts with the ability to serialize to a human-readable file.
&lt;br&gt;&lt;br&gt;I haven't seen anything about the new API on the web site; do you
&lt;br&gt;have a draft written yet?
&lt;br&gt;&lt;br&gt;The way I handle files that are not on disk is to write them to files
&lt;br&gt;at the same time the specification file is written. &amp;nbsp;Basicly, if you give
&lt;br&gt;a specification file name &amp;quot;a/b/c&amp;quot;, then the specification is written
&lt;br&gt;to that file, and any data that isn't already in files is written to files
&lt;br&gt;named &amp;quot;a/b/0001.dat&amp;quot;, &amp;quot;a/b/0002.gnd&amp;quot;, and so on. &amp;nbsp;In order to make
&lt;br&gt;this a bit more convenient to put each specification file in its own
&lt;br&gt;directory, the directory &amp;quot;a/b&amp;quot; is created if it does not exist. &amp;nbsp;If higher
&lt;br&gt;level directories (such as the directory &amp;quot;a&amp;quot; in &amp;quot;a/b/c&amp;quot;) do not exist,
&lt;br&gt;that is treated as an error.
&lt;br&gt;&lt;br&gt;The other issue with files is that the current working directory of a
&lt;br&gt;process which reads a specification file might be different than the
&lt;br&gt;current working directory of the program that wrote the file. &amp;nbsp;So
&lt;br&gt;relative file names in a specification file are relative to the directory
&lt;br&gt;containing the specification file.
&lt;br&gt;&lt;br&gt;&lt;br&gt;_________________________________________________________________
&lt;br&gt;Hotmail: Free, trusted and rich email service.
&lt;br&gt;&lt;a href=&quot;http://clk.atdmt.com/GBL/go/171222984/direct/01/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clk.atdmt.com/GBL/go/171222984/direct/01/&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25438162&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/New-GNUnet-publication-program-tp25235631p25438162.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25396677</id>
	<title>Re: NAT library (Was: towards gnunet 0.9.x)</title>
	<published>2009-09-11T00:56:17Z</published>
	<updated>2009-09-11T00:56:17Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">On Thursday 10 September 2009 19:22:26 Milan Bouchet-Valat wrote:
&lt;br&gt;&amp;gt; Hi!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I've worked a little on the NAT front, and I've come to something that
&lt;br&gt;&amp;gt; basically builds. Now, I need to rework most of the generic code around
&lt;br&gt;&amp;gt; UPnP and NAT-PMP actual implementations, since Transmission was working
&lt;br&gt;&amp;gt; on a very different basis than ours. But there are a few things that I
&lt;br&gt;&amp;gt; don't really understand (see below).
&lt;br&gt;&lt;br&gt;I'll try to answer below.
&lt;br&gt;&amp;nbsp;
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Le dimanche 31 mai 2009 à 12:31 -0600, Christian Grothoff a écrit :
&lt;br&gt;&amp;gt; &amp;gt; No, we don't need that type of centralization: we now support having
&lt;br&gt;&amp;gt; &amp;gt; *multiple* IP addresses. &amp;nbsp;This is required for proper IPv6 support
&lt;br&gt;&amp;gt; &amp;gt; anyway. &amp;nbsp;So all that will really happen is that the UPnP/PMP library
&lt;br&gt;&amp;gt; &amp;gt; should allow us to register a callback which will be called whenever
&lt;br&gt;&amp;gt; &amp;gt; there is an external IP address to be added to (or removed from) our IP
&lt;br&gt;&amp;gt; &amp;gt; list. &amp;nbsp;I've thought about it a bit more and here is what I'm thinking of
&lt;br&gt;&amp;gt; &amp;gt; for the API right now:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; // add_remove: YES: add, NO: remove
&lt;br&gt;&amp;gt; &amp;gt; // addr: see man 2 bind
&lt;br&gt;&amp;gt; &amp;gt; void (*GNUNET_NAT_AddressCallback)(void *cls, int add_remove,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const struct sockaddr *addr,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; socklen_t addrlen)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; struct GNUNET_NAT_Handle;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; struct GNUNET_NAT_Handle *
&lt;br&gt;&amp;gt; &amp;gt; GNUNET_NAT_register (struct GNUNET_SCHEDULER_Handle *sched,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; struct GNUNET_CONFIGURATION_Handle *cfg,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const struct sockaddr *addr, socklen_t
&lt;br&gt;&amp;gt; &amp;gt; addrlen, GNUNET_NAT_AddressCallback callback, void *callback_cls);
&lt;br&gt;&amp;gt; &amp;gt; void
&lt;br&gt;&amp;gt; &amp;gt; GNUNET_NAT_unregister (struct GNUNET_NAT_Handle *h);
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Calling &amp;quot;register&amp;quot; is asking for the given IP address (which can be v4 or
&lt;br&gt;&amp;gt; &amp;gt; v6) to be made available &amp;quot;more globally&amp;quot; (mapped by the NAT box). &amp;nbsp;If
&lt;br&gt;&amp;gt; &amp;gt; such a &amp;quot;more global&amp;quot; address becomes available, the callback should be
&lt;br&gt;&amp;gt; &amp;gt; invoked with the address other peers should bind to. &amp;nbsp;If the mapping
&lt;br&gt;&amp;gt; &amp;gt; changes, the callback would be called with &amp;quot;NO&amp;quot; (on the old address) and
&lt;br&gt;&amp;gt; &amp;gt; then &amp;quot;YES&amp;quot; on the updated address.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; From what I know of UPnP and NAT-PMP, I understand that you cannot
&lt;br&gt;&amp;gt; choose the addresses (nor internal nor external) for which the
&lt;br&gt;&amp;gt; redirection is performed: the internal address we used to send the
&lt;br&gt;&amp;gt; request will be used for internal redirection, and the external address
&lt;br&gt;&amp;gt; is chosen by the NAT box. So we can't take a sockaddr, but merely a port
&lt;br&gt;&amp;gt; number. Moreover, isn't NAT kind of obsolete on IPv6? My knowledge in
&lt;br&gt;&amp;gt; this realm is very limited, though.
&lt;/div&gt;&lt;br&gt;Yes, you are right in that the NAT box has little choice as far as the 
&lt;br&gt;internal address goes. &amp;nbsp;However, imagine you have a PC with two Ethernet 
&lt;br&gt;cards, both connected to a NAT box:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PC
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; eth0 (10.1.0.1) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;eth1( 10.2.0.1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NAT (global: 1.2.3.4) &amp;nbsp; &amp;nbsp; &amp;nbsp; NAT (global: 5.6.7.8)
&lt;br&gt;&lt;br&gt;With the above API, you can specifically ask either NAT to create a port 
&lt;br&gt;mapping. &amp;nbsp;You may ask for &amp;quot;10.1.0.1:42&amp;quot; and are told &amp;quot;1.2.3.4:401&amp;quot;, and then 
&lt;br&gt;you could ask for &amp;quot;10.2.0.1:55&amp;quot; and are told &amp;quot;5.6.7.8:421&amp;quot;. &amp;nbsp;Naturally, in 
&lt;br&gt;most cases the system will only have one IP address (or the caller could leave 
&lt;br&gt;it at all-zeros for &amp;quot;unknown&amp;quot;) and then the given struct sockaddr is really 
&lt;br&gt;effectively only a port number. &amp;nbsp;And as long as your implementation doesn't 
&lt;br&gt;support multiple network interfaces, you may just choose to only take the port 
&lt;br&gt;anyway.
&lt;br&gt;&lt;br&gt;As far as IPv6 goes, yes, sane people think that it should eliminate NAT but 
&lt;br&gt;there are people that try to combine NAT with IPv6. &amp;nbsp;So in case that insanity 
&lt;br&gt;prevails, our API would at least be prepared. &amp;nbsp;Not to mention that you may 
&lt;br&gt;have IPv6 between you and the NAT box and then have an IPv4 address from NAT 
&lt;br&gt;to the outside world (imagine your internal network moved entirely to IPv6, 
&lt;br&gt;not dual-stack, and your NAT box did 6over4 magic and stuff like that). &amp;nbsp;So 
&lt;br&gt;multiple scenarios are conceivable where IPv6 support can make sense. &amp;nbsp;
&lt;br&gt;&lt;br&gt;And of course an implementation (of my proposed API) is always allowed to just 
&lt;br&gt;return NULL to say &amp;quot;couldn't do that&amp;quot; / &amp;quot;not yet supported&amp;quot;.
&lt;br&gt;&lt;br&gt;Final remark: we may need to add an additinal argument to specify a protocol 
&lt;br&gt;type (UDP, TCP, etc.) in the &amp;quot;GNUNET_NAT_register&amp;quot; call, I forgot about that 
&lt;br&gt;last time.
&lt;br&gt;&amp;nbsp;
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;gt; Note that &amp;quot;register&amp;quot; could be called on a range of IP addresses
&lt;br&gt;&amp;gt; &amp;gt; (127.0.0.1,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;::1, 192.168.1.42) and ports (2086, 1080, ...). &amp;nbsp;The NAT could would
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;:: have to
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; decide if that address was somehow &amp;quot;mappable&amp;quot; (and do nothing if not) and
&lt;br&gt;&amp;gt; &amp;gt; for those that are do the right thing.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; You mean called several times, once for each address/port? That means we
&lt;br&gt;&amp;gt; need a GNUNET_NAT_Handler_Init() function, and then pass the struct to
&lt;br&gt;&amp;gt; register(). But I can't see how we could pass addresses, as I said
&lt;br&gt;&amp;gt; above.
&lt;/div&gt;&lt;br&gt;Yes, the intend was that we would call it as often as needed (once for each 
&lt;br&gt;mapping). &amp;nbsp;I don't see why you would need some kind of &amp;quot;init&amp;quot; function; I'd 
&lt;br&gt;just do the full handshake with the NAT box (or PMP-box) for each mapping that 
&lt;br&gt;is being installed. &amp;nbsp;I don't think efficiency is a concern here to the point 
&lt;br&gt;that doing this once for each port (and keeping state for each mapping) would 
&lt;br&gt;be an issue.
&lt;br&gt;&lt;br&gt;&amp;gt; Other than that, I could not find the cron jobs API that was in GNUnet
&lt;br&gt;&amp;gt; 0.8. I'd need some kind of timers to regularly check that the NAT is
&lt;br&gt;&amp;gt; still working. I'd also need a basic list support if we want to use
&lt;br&gt;&amp;gt; several ports, though I can use a custom singly-linked list if nothing
&lt;br&gt;&amp;gt; exists.
&lt;br&gt;&lt;br&gt;Cron-ish stuff *is* there. &amp;nbsp;GNUNET_SCHEDULER_add_delayed replaces &amp;quot;cron&amp;quot;. The 
&lt;br&gt;only major difference is that at the end of your &amp;quot;cron&amp;quot; function (or its 
&lt;br&gt;continuation) you have to (explicitly / manually) schedule your cron-task 
&lt;br&gt;*again* (each time). &amp;nbsp;
&lt;br&gt;&lt;br&gt;As for list support, you can obviously write your own custom singly-linked 
&lt;br&gt;lists in C easily. &amp;nbsp;However, I still think the answer here is to have one NAT 
&lt;br&gt;handle per port and to have each NAT handle have its own &amp;quot;cron&amp;quot; task with the 
&lt;br&gt;scheduler (also helps keep each individual task short). &amp;nbsp;Tasks with the 
&lt;br&gt;scheduler should be considered &amp;quot;cheap&amp;quot; -- they are not threads! -- but they 
&lt;br&gt;also are expected to run &amp;quot;quickly&amp;quot;.
&lt;br&gt;&lt;br&gt;I hope this clarifies things.
&lt;br&gt;&lt;br&gt;Happy hacking!
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://grothoff.org/christian/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grothoff.org/christian/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25396677&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/towards-gnunet-0.9.x-tp23772719p25396677.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25387551</id>
	<title>NAT library (Was: towards gnunet 0.9.x)</title>
	<published>2009-09-10T10:22:26Z</published>
	<updated>2009-09-10T10:22:26Z</updated>
	<author>
		<name>Milan Bouchet-Valat</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;br&gt;I've worked a little on the NAT front, and I've come to something that
&lt;br&gt;basically builds. Now, I need to rework most of the generic code around
&lt;br&gt;UPnP and NAT-PMP actual implementations, since Transmission was working
&lt;br&gt;on a very different basis than ours. But there are a few things that I
&lt;br&gt;don't really understand (see below).
&lt;br&gt;&lt;br&gt;&lt;br&gt;Le dimanche 31 mai 2009 à 12:31 -0600, Christian Grothoff a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; No, we don't need that type of centralization: we now support having 
&lt;br&gt;&amp;gt; *multiple* IP addresses. &amp;nbsp;This is required for proper IPv6 support anyway. &amp;nbsp;So 
&lt;br&gt;&amp;gt; all that will really happen is that the UPnP/PMP library should allow us to 
&lt;br&gt;&amp;gt; register a callback which will be called whenever there is an external IP 
&lt;br&gt;&amp;gt; address to be added to (or removed from) our IP list. &amp;nbsp;I've thought about it a 
&lt;br&gt;&amp;gt; bit more and here is what I'm thinking of for the API right now:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; // add_remove: YES: add, NO: remove
&lt;br&gt;&amp;gt; // addr: see man 2 bind
&lt;br&gt;&amp;gt; void (*GNUNET_NAT_AddressCallback)(void *cls, int add_remove, 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const struct sockaddr *addr,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; socklen_t addrlen)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; struct GNUNET_NAT_Handle;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; struct GNUNET_NAT_Handle *
&lt;br&gt;&amp;gt; GNUNET_NAT_register (struct GNUNET_SCHEDULER_Handle *sched,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; struct GNUNET_CONFIGURATION_Handle *cfg,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const struct sockaddr *addr, socklen_t addrlen,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GNUNET_NAT_AddressCallback callback, 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void *callback_cls);
&lt;br&gt;&amp;gt; void
&lt;br&gt;&amp;gt; GNUNET_NAT_unregister (struct GNUNET_NAT_Handle *h);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Calling &amp;quot;register&amp;quot; is asking for the given IP address (which can be v4 or v6) 
&lt;br&gt;&amp;gt; to be made available &amp;quot;more globally&amp;quot; (mapped by the NAT box). &amp;nbsp;If such a &amp;quot;more 
&lt;br&gt;&amp;gt; global&amp;quot; address becomes available, the callback should be invoked with the 
&lt;br&gt;&amp;gt; address other peers should bind to. &amp;nbsp;If the mapping changes, the callback 
&lt;br&gt;&amp;gt; would be called with &amp;quot;NO&amp;quot; (on the old address) and then &amp;quot;YES&amp;quot; on the updated 
&lt;br&gt;&amp;gt; address.
&lt;br&gt;&amp;gt;From what I know of UPnP and NAT-PMP, I understand that you cannot
&lt;/div&gt;choose the addresses (nor internal nor external) for which the
&lt;br&gt;redirection is performed: the internal address we used to send the
&lt;br&gt;request will be used for internal redirection, and the external address
&lt;br&gt;is chosen by the NAT box. So we can't take a sockaddr, but merely a port
&lt;br&gt;number. Moreover, isn't NAT kind of obsolete on IPv6? My knowledge in
&lt;br&gt;this realm is very limited, though.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Note that &amp;quot;register&amp;quot; could be called on a range of IP addresses (127.0.0.1,
&lt;br&gt;&amp;gt; &amp;nbsp;::1, 192.168.1.42) and ports (2086, 1080, ...). &amp;nbsp;The NAT could would have to 
&lt;br&gt;&amp;gt; decide if that address was somehow &amp;quot;mappable&amp;quot; (and do nothing if not) and for 
&lt;br&gt;&amp;gt; those that are do the right thing.
&lt;br&gt;You mean called several times, once for each address/port? That means we
&lt;br&gt;need a GNUNET_NAT_Handler_Init() function, and then pass the struct to
&lt;br&gt;register(). But I can't see how we could pass addresses, as I said
&lt;br&gt;above.
&lt;br&gt;&lt;br&gt;Other than that, I could not find the cron jobs API that was in GNUnet
&lt;br&gt;0.8. I'd need some kind of timers to regularly check that the NAT is
&lt;br&gt;still working. I'd also need a basic list support if we want to use
&lt;br&gt;several ports, though I can use a custom singly-linked list if nothing
&lt;br&gt;exists.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25387551&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/towards-gnunet-0.9.x-tp23772719p25387551.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25367513</id>
	<title>Re: New GNUnet publication program</title>
	<published>2009-09-09T08:10:16Z</published>
	<updated>2009-09-09T08:10:16Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;br&gt;This is interesting, in part because I recently did a similar split into two 
&lt;br&gt;steps for the new 0.9.x FS publishing API. &amp;nbsp;Now, what is not yet possible with 
&lt;br&gt;that API is the serialization into a specification file for the end-user between 
&lt;br&gt;the two stages, but that might be a possibility. The main problem I see is 
&lt;br&gt;that the new API allows for &amp;quot;files&amp;quot; to be published that are not on disk (the 
&lt;br&gt;caller would just have to specify a function for how to get the data); that 
&lt;br&gt;kind-of conflicts with the ability to serialize to a human-readable file. &amp;nbsp;But 
&lt;br&gt;by serializing to a human-readable file + archive with embedded files this can 
&lt;br&gt;be supported sufficiently well. &amp;nbsp; So the idea is clearly worthwhile, I just 
&lt;br&gt;think it should not be done with hand-hacked clients but within the FS 
&lt;br&gt;library.
&lt;br&gt;&lt;br&gt;Also, I think (/hope) you're wrong about IBlocks not being deleted by gnunet-
&lt;br&gt;unindex. &amp;nbsp;That'd certainly not be by design. &amp;nbsp;Finally, I wonder if the ability 
&lt;br&gt;to delete KBlocks is really all that important since I suspect users won't 
&lt;br&gt;keep the specification files around. &amp;nbsp;But maybe I'm wrong about that, and it is 
&lt;br&gt;certainly a reasonable idea, especially if we integrate it with a way to 
&lt;br&gt;trigger unindexing from tools like gnunet-auto-share (where code may control 
&lt;br&gt;the generation and management of those specs).
&lt;br&gt;&lt;br&gt;&lt;br&gt;My 2 cents
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;On Tuesday 01 September 2009 09:33:00 Kenneth Almquist wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I've written a variant of gnunet-insert, which I've named gnunet-pub.
&lt;br&gt;&amp;gt; The key idea is to split the publishing operation into two steps:
&lt;br&gt;&amp;gt; 1) &amp;nbsp;Determine precisely what to publish, and
&lt;br&gt;&amp;gt; 2) &amp;nbsp;Actually publish it.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; A given call to gnunet-pub can perform one or both of these steps.
&lt;br&gt;&amp;gt; If you say
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; gnunet-pub -o spec file...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; gnunet-pub will write a publication specification to the file spec.
&lt;br&gt;&amp;gt; You can then say
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; gnunet-pub -i spec -P
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; where the -P option tells gnunet-pub to actually publish the files
&lt;br&gt;&amp;gt; to GNUnet. &amp;nbsp;The command
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; gnunet-pub -P file...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; will perform both operations in one step.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This has a number of benefits.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The first is transparency. &amp;nbsp;The user can create a specification file
&lt;br&gt;&amp;gt; and then see exactly what will be published, before performing the
&lt;br&gt;&amp;gt; publication. &amp;nbsp;I feel that this is quite important because publishing
&lt;br&gt;&amp;gt; is an irreversible operation.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The second benefit is that the front end (the part of gnunet-pub
&lt;br&gt;&amp;gt; which generates the specification) can easily be replaced. &amp;nbsp;There
&lt;br&gt;&amp;gt; is no need to use a programming language that can interface to C;
&lt;br&gt;&amp;gt; any programming language that is capable of writing a text file
&lt;br&gt;&amp;gt; can be used. &amp;nbsp;And testing is straightforward, because all you have
&lt;br&gt;&amp;gt; to do is look at the text file generated by the front end to see
&lt;br&gt;&amp;gt; if it is correct.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; A third benefit is that, if the user retains the specification file
&lt;br&gt;&amp;gt; and the published data files, the published content can be recreated.
&lt;br&gt;&amp;gt; This makes it simple to re-publish content if the GNUnet server's
&lt;br&gt;&amp;gt; data base ever crashes.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The ability to recreate published content has other possible uses.
&lt;br&gt;&amp;gt; Currently, you can unindex a file, but the IBlocks and search records
&lt;br&gt;&amp;gt; pointing to the file will still be in your data base. &amp;nbsp;With a
&lt;br&gt;&amp;gt; spacification file, it would be possible to delete all of the
&lt;br&gt;&amp;gt; published blocks using the DELETE message in the FS client-server
&lt;br&gt;&amp;gt; protocol.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Conversely, you might want to be sure that the blocks you have
&lt;br&gt;&amp;gt; published are still in the server data base, and haven't been pushed
&lt;br&gt;&amp;gt; out by other content, or deleted due to software bugs or hardware
&lt;br&gt;&amp;gt; glitches. &amp;nbsp;If the FS client-server protocol were enhanced to include
&lt;br&gt;&amp;gt; a query to determine whether a block was in the data base, you could
&lt;br&gt;&amp;gt; periodically check whether all of the data you published was still in
&lt;br&gt;&amp;gt; the data base.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; To get the code, documentation, and test cases:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 1) &amp;nbsp;Go to a directory containing the GNUnet source, then cd to
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; src/applications/fs.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2) &amp;nbsp;Download &lt;a href=&quot;http://mysite.verizon.net/vzeefhzu/gnunet-pub.tar.bz2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mysite.verizon.net/vzeefhzu/gnunet-pub.tar.bz2&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 3) &amp;nbsp;Untar the file. &amp;nbsp;This will create src/applications/fs/gnunet-pub.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; There are probably a number of issues with this code due to the lack
&lt;br&gt;&amp;gt; of a complete design before coding. &amp;nbsp;On the other hand, I think that
&lt;br&gt;&amp;gt; the set of test cases is large enough to ensure basic usability. &amp;nbsp;All
&lt;br&gt;&amp;gt; feedback welcome.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;- Kenneth Almqist
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _________________________________________________________________
&lt;br&gt;&amp;gt; Windows Live: Keep your friends up to date with what you do online.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://windowslive.com/Campaign/SocialNetworking?ocid=PID23285::T:WLMTAGL:O&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://windowslive.com/Campaign/SocialNetworking?ocid=PID23285::T:WLMTAGL:O&lt;/a&gt;&lt;br&gt;&amp;gt; N:WL:en-US:SI_SB_online:082009
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; GNUnet-developers mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25367513&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://grothoff.org/christian/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grothoff.org/christian/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25367513&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/New-GNUnet-publication-program-tp25235631p25367513.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25293698</id>
	<title>Looking for PhD students</title>
	<published>2009-09-04T03:34:52Z</published>
	<updated>2009-09-04T03:34:52Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">Dear all,
&lt;br&gt;&lt;br&gt;I am now looking for PhD students interested in developing new secure and 
&lt;br&gt;efficient routing algorithms (and P2P applications using those) for open and 
&lt;br&gt;heterogeneous networks at the TU Muenchen. The resulting work will be made 
&lt;br&gt;available as free software (including as part of GNUnet). 
&lt;br&gt;&lt;br&gt;In order to be admissable you will need an MS-degree (most likely with thesis) 
&lt;br&gt;in computer science or a closely related field and be fluent in C and either 
&lt;br&gt;English or German. 
&lt;br&gt;&lt;br&gt;If you are interested, please send me a resume and/or CV via e-mail.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks for your time!
&lt;br&gt;&lt;br&gt;Christian Grothoff
&lt;br&gt;--
&lt;br&gt;&lt;a href=&quot;http://grothoff.org/christian/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grothoff.org/christian/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25293698&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Looking-for-PhD-students-tp25293698p25293698.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25235631</id>
	<title>New GNUnet publication program</title>
	<published>2009-09-01T00:33:00Z</published>
	<updated>2009-09-01T00:33:00Z</updated>
	<author>
		<name>Kenneth Almquist</name>
	</author>
	<content type="html">&lt;br&gt;I've written a variant of gnunet-insert, which I've named gnunet-pub.
&lt;br&gt;The key idea is to split the publishing operation into two steps:
&lt;br&gt;1) &amp;nbsp;Determine precisely what to publish, and
&lt;br&gt;2) &amp;nbsp;Actually publish it.
&lt;br&gt;&lt;br&gt;A given call to gnunet-pub can perform one or both of these steps.
&lt;br&gt;If you say
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; gnunet-pub -o spec file...
&lt;br&gt;&lt;br&gt;gnunet-pub will write a publication specification to the file spec.
&lt;br&gt;You can then say
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; gnunet-pub -i spec -P
&lt;br&gt;&lt;br&gt;where the -P option tells gnunet-pub to actually publish the files
&lt;br&gt;to GNUnet. &amp;nbsp;The command
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; gnunet-pub -P file...
&lt;br&gt;&lt;br&gt;will perform both operations in one step.
&lt;br&gt;&lt;br&gt;This has a number of benefits.
&lt;br&gt;&lt;br&gt;The first is transparency. &amp;nbsp;The user can create a specification file
&lt;br&gt;and then see exactly what will be published, before performing the
&lt;br&gt;publication. &amp;nbsp;I feel that this is quite important because publishing
&lt;br&gt;is an irreversible operation.
&lt;br&gt;&lt;br&gt;The second benefit is that the front end (the part of gnunet-pub
&lt;br&gt;which generates the specification) can easily be replaced. &amp;nbsp;There
&lt;br&gt;is no need to use a programming language that can interface to C;
&lt;br&gt;any programming language that is capable of writing a text file
&lt;br&gt;can be used. &amp;nbsp;And testing is straightforward, because all you have
&lt;br&gt;to do is look at the text file generated by the front end to see
&lt;br&gt;if it is correct.
&lt;br&gt;&lt;br&gt;A third benefit is that, if the user retains the specification file
&lt;br&gt;and the published data files, the published content can be recreated.
&lt;br&gt;This makes it simple to re-publish content if the GNUnet server's
&lt;br&gt;data base ever crashes.
&lt;br&gt;&lt;br&gt;The ability to recreate published content has other possible uses.
&lt;br&gt;Currently, you can unindex a file, but the IBlocks and search records
&lt;br&gt;pointing to the file will still be in your data base. &amp;nbsp;With a
&lt;br&gt;spacification file, it would be possible to delete all of the
&lt;br&gt;published blocks using the DELETE message in the FS client-server
&lt;br&gt;protocol.
&lt;br&gt;&lt;br&gt;Conversely, you might want to be sure that the blocks you have
&lt;br&gt;published are still in the server data base, and haven't been pushed
&lt;br&gt;out by other content, or deleted due to software bugs or hardware
&lt;br&gt;glitches. &amp;nbsp;If the FS client-server protocol were enhanced to include
&lt;br&gt;a query to determine whether a block was in the data base, you could
&lt;br&gt;periodically check whether all of the data you published was still in
&lt;br&gt;the data base.
&lt;br&gt;&lt;br&gt;&lt;br&gt;To get the code, documentation, and test cases:
&lt;br&gt;&lt;br&gt;1) &amp;nbsp;Go to a directory containing the GNUnet source, then cd to
&lt;br&gt;&amp;nbsp; &amp;nbsp; src/applications/fs.
&lt;br&gt;&lt;br&gt;2) &amp;nbsp;Download &lt;a href=&quot;http://mysite.verizon.net/vzeefhzu/gnunet-pub.tar.bz2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mysite.verizon.net/vzeefhzu/gnunet-pub.tar.bz2&lt;/a&gt;&lt;br&gt;&lt;br&gt;3) &amp;nbsp;Untar the file. &amp;nbsp;This will create src/applications/fs/gnunet-pub.
&lt;br&gt;&lt;br&gt;There are probably a number of issues with this code due to the lack
&lt;br&gt;of a complete design before coding. &amp;nbsp;On the other hand, I think that
&lt;br&gt;the set of test cases is large enough to ensure basic usability. &amp;nbsp;All
&lt;br&gt;feedback welcome.
&lt;br&gt;&lt;br&gt;&amp;nbsp;- Kenneth Almqist
&lt;br&gt;&lt;br&gt;&lt;br&gt;_________________________________________________________________
&lt;br&gt;Windows Live: Keep your friends up to date with what you do online.
&lt;br&gt;&lt;a href=&quot;http://windowslive.com/Campaign/SocialNetworking?ocid=PID23285::T:WLMTAGL:ON:WL:en-US:SI_SB_online:082009&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://windowslive.com/Campaign/SocialNetworking?ocid=PID23285::T:WLMTAGL:ON:WL:en-US:SI_SB_online:082009&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25235631&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/New-GNUnet-publication-program-tp25235631p25235631.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24896913</id>
	<title>Re: number of connected peers 1</title>
	<published>2009-08-10T02:38:08Z</published>
	<updated>2009-08-10T02:38:08Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">1) Make sure you're using 0.8.0c or a similar version; running older clients 
&lt;br&gt;may prevent you from connecting to the network
&lt;br&gt;&lt;br&gt;2) Run &amp;quot;gnunet-transport-check -p&amp;quot; to gauge if your network is configured 
&lt;br&gt;correctly (you'll need to stop gnunetd first).
&lt;br&gt;&lt;br&gt;3) Once &amp;quot;gnunet-stats&amp;quot; shows that you have 4+ connections, try to search for 
&lt;br&gt;some of the test-files (gpl, alien). &amp;nbsp;Also, search for mime-types, that 
&lt;br&gt;usually works pretty well (once your configuration is working).
&lt;br&gt;&lt;br&gt;4) If this does not work, make sure to report your OS, version, network setup, 
&lt;br&gt;etc. &amp;nbsp;so that we may be able to diagnose the problem...
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;Am Sunday 09 August 2009 17:44:45 schrieb Udo Rauler:
&lt;br&gt;&amp;gt; number of connected peers 1
&lt;br&gt;&amp;gt; I can´t find anything
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Help-gnunet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24896913&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-gnunet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/help-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/help-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Help-f1876.html&quot; embed=&quot;fixTarget[1876]&quot; target=&quot;_top&quot; &gt;GnuNet - Help&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/number-of-connected-peers-1-tp24894321p24896913.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24894321</id>
	<title>number of connected peers 1</title>
	<published>2009-08-09T08:44:45Z</published>
	<updated>2009-08-09T08:44:45Z</updated>
	<author>
		<name>Udo Rauler</name>
	</author>
	<content type="html">number of connected peers 1  &lt;br&gt;I can´t find anything&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Help-gnunet mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24894321&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Help-gnunet@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/help-gnunet&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/help-gnunet&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Help-f1876.html&quot; embed=&quot;fixTarget[1876]&quot; target=&quot;_top&quot; &gt;GnuNet - Help&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/number-of-connected-peers-1-tp24894321p24894321.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24872826</id>
	<title>Re: How do updates work?</title>
	<published>2009-08-07T15:17:42Z</published>
	<updated>2009-08-07T15:17:42Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">Am Thursday 06 August 2009 01:01:41 schrieb Kenneth Almquist:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I've been trying to understand how namespaces are supposed to support
&lt;br&gt;&amp;gt; updates.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; As I understand it, a namespace advertisement contains a string called
&lt;br&gt;&amp;gt; the root, which can be used in a namespace search. &amp;nbsp;A result of a
&lt;br&gt;&amp;gt; search of a namespace may contain a string which can be used for a
&lt;br&gt;&amp;gt; subsequent search, and it looks like the search code will initiate
&lt;br&gt;&amp;gt; a search using this string automatically.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thus one could post a file under the keyword A with next_id set
&lt;br&gt;&amp;gt; to B, and subsequently publish a file under keyword B with next_id
&lt;br&gt;&amp;gt; set to C, and finally publish a file under keyword C. &amp;nbsp;This would
&lt;br&gt;&amp;gt; allow someone to find all three files using repeated searches starting
&lt;br&gt;&amp;gt; with A. &amp;nbsp;The question is: &amp;nbsp;how does this differ from publishing all
&lt;br&gt;&amp;gt; three files under the keyword A?
&lt;/div&gt;&lt;br&gt;Good question. &amp;nbsp;The answer is simple: you could tell people (for example, in 
&lt;br&gt;an updated namespace announcement) that they should search for &amp;quot;B&amp;quot;. &amp;nbsp;Then 
&lt;br&gt;they would never see &amp;quot;A&amp;quot;. &amp;nbsp;Or you could use an informal system:
&lt;br&gt;&lt;br&gt;MyContent-2007 &amp;nbsp;update: MyContent-2008
&lt;br&gt;&lt;br&gt;Someone may then guess that the next update will be &amp;quot;MyContent-2009&amp;quot; and 
&lt;br&gt;jump-ahead manually. &amp;nbsp;Those who don't know the system would find the 2009 
&lt;br&gt;version as you describe it. &amp;nbsp;With more years (or finer granularity) this may 
&lt;br&gt;become more useful.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; In terms of speed, a single search 
&lt;br&gt;&amp;gt; for A is likely to be faster than performing a series of searches
&lt;br&gt;&amp;gt; starting with A. &amp;nbsp;In terms of completeness, the answer is less clear.
&lt;br&gt;&amp;gt; Possibly a chain of searches would be more likely to locate all the
&lt;br&gt;&amp;gt; files, because each search only has to produce one result. &amp;nbsp;On the
&lt;br&gt;&amp;gt; other hand, a single failed search in the middle of chain means that
&lt;br&gt;&amp;gt; none of the files in the rest of the chain will be found, so I would
&lt;br&gt;&amp;gt; suspect that the odds of the search finding *most* of the files would
&lt;br&gt;&amp;gt; be higher with a single keyword search than with a chain once the
&lt;br&gt;&amp;gt; chain reached a certain length.
&lt;/div&gt;&lt;br&gt;Well, who said you need to do chains? &amp;nbsp;The system supports publishing multiple 
&lt;br&gt;results under &amp;quot;A&amp;quot;, so you could say that &amp;quot;B&amp;quot; updates &amp;quot;A&amp;quot; initially, and then 
&lt;br&gt;later you can ALSO publish that &amp;quot;Z&amp;quot; updates &amp;quot;A&amp;quot;. &amp;nbsp;Then, a search would follow 
&lt;br&gt;both chains (presumably A-&amp;gt;B-&amp;gt;D-&amp;gt;...-&amp;gt;Z and A-&amp;gt;Z). The real question in this 
&lt;br&gt;case is of course if the GUI support for this is adequate (and I'm sure the 
&lt;br&gt;answer is &amp;quot;no&amp;quot;).
&lt;br&gt;&lt;br&gt;&amp;gt; If the above mechanism provides a way to perform updates, I don't see
&lt;br&gt;&amp;gt; it. &amp;nbsp;When the ECRS paper states that, &amp;quot;since SBlocks are signed, it
&lt;br&gt;&amp;gt; is possible to allow updates,&amp;quot; the point is that updating an existing
&lt;br&gt;&amp;gt; file involves deleting the old version, so we want the originator of
&lt;br&gt;&amp;gt; the content to be able to do that, without allowing anyone else to do
&lt;br&gt;&amp;gt; so.
&lt;br&gt;&lt;br&gt;Ah, well, maybe the paper is not precise here. &amp;nbsp;The idea was always to support 
&lt;br&gt;finding of &amp;quot;more recent&amp;quot; versions, but always without the ability to 
&lt;br&gt;remove &amp;quot;older&amp;quot; revisions. &amp;nbsp;We never intended to support deletions.
&lt;br&gt;&lt;br&gt;&amp;gt; A scheme to do this might work as follows: 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Allow an SBlock to include a 16 bit version number. &amp;nbsp;(For backward
&lt;br&gt;&amp;gt; compatibility, the version number is optional, and an omitted version
&lt;br&gt;&amp;gt; number is equivalent to a version number of zero.) &amp;nbsp;The rules for
&lt;br&gt;&amp;gt; dealing with version numbers are:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1) &amp;nbsp;Any time a host sees an SBlock with a given version number, it
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; gets rid of versions of the SBlock with lower version numbers.
&lt;br&gt;&lt;br&gt;So the version &amp;nbsp;number would have to be stored in plaintext, which is likely 
&lt;br&gt;fine. &amp;nbsp;Now, we may want to allow multiple (valid/current) SBlocks per 
&lt;br&gt;namespace, so we would need to refine this to say &amp;quot;lower version numbers&amp;quot; for 
&lt;br&gt;SBlocks with the same identifier. &amp;nbsp;But identifiers are encrypted, so hosts 
&lt;br&gt;can not tell if two SBlocks have the same identifier =&amp;gt; oops.
&lt;br&gt;&lt;br&gt;&amp;gt; 2) &amp;nbsp;A host does not earn trust for supplying an obsolete version.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; This means that if a host is doing a search, gets one version
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; of an SBlock, and then receives a later version, it should
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; revoke the trust credited to the host that provided the older
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; version and give it to the host that provided the newer
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; version. &amp;nbsp;This rule means that there is no incentive for
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; hosts to keep old versions around.
&lt;br&gt;&lt;br&gt;Other intermediaries would most likely not be able to tell that the version is 
&lt;br&gt;obsolete. &amp;nbsp;Or worse: a host could deliberately keep the older versions, first 
&lt;br&gt;supply the oldest (cash in), then the second-oldest (cash in again), etc.. &amp;nbsp;
&lt;br&gt;Combined with providing low expiration times this would give peers an 
&lt;br&gt;incentive to keep older revisions (assuming the namespace is popular) and 
&lt;br&gt;hand them out first.
&lt;br&gt;&lt;br&gt;&amp;gt; 3) &amp;nbsp;If a host receives an obsolete version of an SBlock, it can
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; request a refund of the trust expended on the search by
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; sending a more recent version of the SBlock. &amp;nbsp;This requires
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; a new message type. &amp;nbsp;This rule means that hosts which have
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; cached obsolete SBlocks are likely to be provided with updated
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; versions of those SBlocks. &amp;nbsp;(Otherwise, a host might cache
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; an obsolete version of an SBlock indefinitely, since it would
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; receive periodic search requests that matched it.)
&lt;br&gt;&lt;br&gt;To ask for a refund, you would have to supply proof (more recent SBlock), 
&lt;br&gt;which would cost both peers bandwidth (more than the search query!) and IO 
&lt;br&gt;(need to look up the block) and, possibly worse, might allow peers to abuse 
&lt;br&gt;the system: the author of the namespace could just always make up a new 
&lt;br&gt;revision and then ask for a refund from peers storing his SBlocks. So I'm not 
&lt;br&gt;sure this can be done cleanly and efficiently. &amp;nbsp;Not to mention that asking 
&lt;br&gt;for a refund would require peers to keep a charge-history (maybe the peer 
&lt;br&gt;returned the SBlock without charging in the first place?), which would again 
&lt;br&gt;increase costs. 
&lt;br&gt;&lt;br&gt;Finally, given that the sqstore provides long-term soft-state storage, we have 
&lt;br&gt;some expiration of old, obsolete versions anyway. &amp;nbsp;So I'm not convinced that 
&lt;br&gt;deletions in general are necessary.
&lt;br&gt;&lt;br&gt;&amp;gt; To allow a user with a given version of a file to see if a more recent
&lt;br&gt;&amp;gt; version of the file exists, we need a variant of the keyword search
&lt;br&gt;&amp;gt; which specifies the minimum version number that is being searched for.
&lt;br&gt;&amp;gt; It would be conceptually simplest to say that a search with a version
&lt;br&gt;&amp;gt; number of N would return any version greater than or equal to N. &amp;nbsp;To
&lt;br&gt;&amp;gt; allow for reasonably efficent Bloomfield filtering, I would suggest
&lt;br&gt;&amp;gt; that a search specifying version number 0 should query the data base
&lt;br&gt;&amp;gt; for any version of the file, and a search with a nonzero version
&lt;br&gt;&amp;gt; number N should query for versions N through at least N+4.
&lt;br&gt;&lt;br&gt;You can already do this: simply use version numbers for your identifiers. &amp;nbsp;
&lt;br&gt;Use &amp;quot;0&amp;quot; for your root, then publish 1 as the first update, 2 for the second, 
&lt;br&gt;etc. &amp;nbsp;Then if some user wants to query for versions &amp;gt; N, he just has to use N 
&lt;br&gt;for the identifier. &amp;nbsp;So if you want a simple, linear versioning system, this 
&lt;br&gt;would certainly be a good identifier-convention to use. &amp;nbsp;If you want to 
&lt;br&gt;publish on a regular basis, using some date-format would likely be better. &amp;nbsp;
&lt;br&gt;The current use of user-defined strings is in this respect a very flexible 
&lt;br&gt;way to choose identifiers that can be adapted (by humans, not software) to 
&lt;br&gt;fit many needs. &amp;nbsp;The only thing you don't get is deletion of older versions, 
&lt;br&gt;but as a VCS-addict I tend to think of this as a good thing.
&lt;br&gt;&lt;br&gt;&amp;gt; Versioning only applies to search records. &amp;nbsp;Since DBlocks and IBlocks
&lt;br&gt;&amp;gt; may be shared by different files, I don't see any way to explicitly
&lt;br&gt;&amp;gt; get rid of the IBlocks and DBlocks from an obsolete version of a file.
&lt;br&gt;&lt;br&gt;That's where it is nice that sqstore is soft-state: DBlocks, IBlocks, SBlocks 
&lt;br&gt;all will eventually be &amp;quot;expired&amp;quot; by the sqstore (and typically at the same 
&lt;br&gt;time). &amp;nbsp;
&lt;br&gt;&lt;br&gt;&amp;gt; Once the obsolete version of the file no longer shows up in searches,
&lt;br&gt;&amp;gt; there will be no more requests for the IBlocks and DBocks (unless
&lt;br&gt;&amp;gt; they are, in fact, shared by a different file), and they can be pushed
&lt;br&gt;&amp;gt; out of caches to make space for blocks thare are being requested.
&lt;br&gt;&lt;br&gt;That would also be true (we expire by expiration and popularity). 
&lt;br&gt;&lt;br&gt;Anyway, please take this just as comments and clarifications, this is a good 
&lt;br&gt;discussion to have at this point in time (before 0.9.0's FS APIs are too far 
&lt;br&gt;along...).
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24872826&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-do-updates-work--tp24842615p24872826.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24842615</id>
	<title>How do updates work?</title>
	<published>2009-08-05T16:01:41Z</published>
	<updated>2009-08-05T16:01:41Z</updated>
	<author>
		<name>Kenneth Almquist</name>
	</author>
	<content type="html">&lt;html&gt;
&lt;head&gt;

&lt;/head&gt;
&lt;body class='hmmessage'&gt;
I've been trying to understand how namespaces are supposed to support&lt;br&gt;updates.&lt;br&gt;&lt;br&gt;As I understand it, a namespace advertisement contains a string called&lt;br&gt;the root, which can be used in a namespace search.&amp;nbsp; A result of a&lt;br&gt;search of a namespace may contain a string which can be used for a&lt;br&gt;subsequent search, and it looks like the search code will initiate&lt;br&gt;a search using this string automatically.&lt;br&gt;&lt;br&gt;Thus one could post a file under the keyword A with next_id set&lt;br&gt;to B, and subsequently publish a file under keyword B with next_id&lt;br&gt;set to C, and finally publish a file under keyword C.&amp;nbsp; This would&lt;br&gt;allow someone to find all three files using repeated searches starting&lt;br&gt;with A.&amp;nbsp; The question is:&amp;nbsp; how does this differ from publishing all&lt;br&gt;three files under the keyword A?&amp;nbsp; In terms of speed, a single search&lt;br&gt;for A is likely to be faster than performing a series of searches&lt;br&gt;starting with A.&amp;nbsp; In terms of completeness, the answer is less clear.&lt;br&gt;Possibly a chain of searches would be more likely to locate all the&lt;br&gt;files, because each search only has to produce one result.&amp;nbsp; On the&lt;br&gt;other hand, a single failed search in the middle of chain means that&lt;br&gt;none of the files in the rest of the chain will be found, so I would&lt;br&gt;suspect that the odds of the search finding *most* of the files would&lt;br&gt;be higher with a single keyword search than with a chain once the&lt;br&gt;chain reached a certain length.&lt;br&gt;&lt;br&gt;If the above mechanism provides a way to perform updates, I don't see&lt;br&gt;it.&amp;nbsp; When the ECRS paper states that, &quot;since SBlocks are signed, it&lt;br&gt;is possible to allow updates,&quot; the point is that updating an existing&lt;br&gt;file involves deleting the old version, so we want the originator of&lt;br&gt;the content to be able to do that, without allowing anyone else to do&lt;br&gt;so.&amp;nbsp; A scheme to do this might work as follows:&lt;br&gt;&lt;br&gt;Allow an SBlock to include a 16 bit version number.&amp;nbsp; (For backward&lt;br&gt;compatibility, the version number is optional, and an omitted version&lt;br&gt;number is equivalent to a version number of zero.)&amp;nbsp; The rules for&lt;br&gt;dealing with version numbers are:&lt;br&gt;&lt;br&gt;1)&amp;nbsp; Any time a host sees an SBlock with a given version number, it&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gets rid of versions of the SBlock with lower version numbers.&lt;br&gt;&lt;br&gt;2)&amp;nbsp; A host does not earn trust for supplying an obsolete version.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; This means that if a host is doing a search, gets one version&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; of an SBlock, and then receives a later version, it should&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; revoke the trust credited to the host that provided the older&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; version and give it to the host that provided the newer&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; version.&amp;nbsp; This rule means that there is no incentive for&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hosts to keep old versions around.&lt;br&gt;&lt;br&gt;3)&amp;nbsp; If a host receives an obsolete version of an SBlock, it can&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; request a refund of the trust expended on the search by&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sending a more recent version of the SBlock.&amp;nbsp; This requires&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a new message type.&amp;nbsp; This rule means that hosts which have&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cached obsolete SBlocks are likely to be provided with updated&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; versions of those SBlocks.&amp;nbsp; (Otherwise, a host might cache&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; an obsolete version of an SBlock indefinitely, since it would&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; receive periodic search requests that matched it.)&lt;br&gt;&lt;br&gt;To allow a user with a given version of a file to see if a more recent&lt;br&gt;version of the file exists, we need a variant of the keyword search&lt;br&gt;which specifies the minimum version number that is being searched for.&lt;br&gt;It would be conceptually simplest to say that a search with a version&lt;br&gt;number of N would return any version greater than or equal to N.&amp;nbsp; To&lt;br&gt;allow for reasonably efficent Bloomfield filtering, I would suggest&lt;br&gt;that a search specifying version number 0 should query the data base&lt;br&gt;for any version of the file, and a search with a nonzero version&lt;br&gt;number N should query for versions N through at least N+4.&lt;br&gt;&lt;br&gt;Versioning only applies to search records.&amp;nbsp; Since DBlocks and IBlocks&lt;br&gt;may be shared by different files, I don't see any way to explicitly&lt;br&gt;get rid of the IBlocks and DBlocks from an obsolete version of a file.&lt;br&gt;Once the obsolete version of the file no longer shows up in searches,&lt;br&gt;there will be no more requests for the IBlocks and DBocks (unless&lt;br&gt;they are, in fact, shared by a different file), and they can be pushed&lt;br&gt;out of caches to make space for blocks thare are being requested.&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;hr /&gt;Get free photo software from Windows Live &lt;a href='http://www.windowslive.com/online/photos?ocid=PID23393::T:WLMTAGL:ON:WL:en-US:SI_PH_software:082009' target='_new' rel=&quot;nofollow&quot;&gt;Click here.&lt;/a&gt;&lt;/body&gt;
&lt;/html&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24842615&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-do-updates-work--tp24842615p24842615.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24665285</id>
	<title>Re: Specifying file names for uploaded files</title>
	<published>2009-07-26T02:25:36Z</published>
	<updated>2009-07-26T02:25:36Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">I agree. &amp;nbsp;The rationale for removing the *extracted* filename was that it can 
&lt;br&gt;be of the form /home/$USER/somedir/somefile.ext and having $USER in there 
&lt;br&gt;would cause obvious problems with anonymity. &amp;nbsp;Hence we cut it down 
&lt;br&gt;to &amp;quot;somefile.ext&amp;quot;. &amp;nbsp;That the user might have manually changed 
&lt;br&gt;EXTRACTOR_FILENAME is something I clearly overlooked.
&lt;br&gt;&lt;br&gt;I'll make sure this is taken care of for 0.9.x; I can not think of an easy fix 
&lt;br&gt;for 0.8.x that would avoid the above problem of potentially exposing $USER.
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;Am Sunday 26 July 2009 04:07:26 schrieb Kenneth Almquist:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; In GNUnet-0.8.0c/src/applications/fs/fsui/upload.c, the function
&lt;br&gt;&amp;gt; GNUNET_FSUI_uploadThread deletes any EXTRACTOR_FILENAME entries from the
&lt;br&gt;&amp;gt; metadata, and then inserts a EXTRACTOR_FILENAME entry containing the last
&lt;br&gt;&amp;gt; part of the path name of the file on the local host. &amp;nbsp;What this means is
&lt;br&gt;&amp;gt; that if the user specifies the value of the filename metadata field (using
&lt;br&gt;&amp;gt; the -m option of gnunet-insert), the value specified by the user will be
&lt;br&gt;&amp;gt; ignored.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I can think of a number of reasons why a user might want to publish a file
&lt;br&gt;&amp;gt; under a different name than the one used in the local file system. &amp;nbsp;If a
&lt;br&gt;&amp;gt; file has already been published on another network, it might have been
&lt;br&gt;&amp;gt; renamed to embed keywords in the file name. &amp;nbsp;You might want to publish the
&lt;br&gt;&amp;gt; file under its original name on GNUNET. &amp;nbsp;Another possibility is that you
&lt;br&gt;&amp;gt; might want to give a file an innocuous or misleading name on the local
&lt;br&gt;&amp;gt; system to make it more difficult for intruders, but still publish under a
&lt;br&gt;&amp;gt; meaningful name on GNUNET. &amp;nbsp;I can't see any conceptual reason why GNUNET
&lt;br&gt;&amp;gt; shouldn't support this.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Because publishing to GNUNET is not an operation that can be undone, I
&lt;br&gt;&amp;gt; think that it is important to let the user find out what keywords and
&lt;br&gt;&amp;gt; metadata will be generated without actually publishing. &amp;nbsp;The gnunet-gtk
&lt;br&gt;&amp;gt; publishing interface has the right idea: &amp;nbsp;when the user publishes a file
&lt;br&gt;&amp;gt; the metadata and keywords are displayed in a window, and the user can edit
&lt;br&gt;&amp;gt; them if desired before publishing. &amp;nbsp;Unfortunately, the data displayed is
&lt;br&gt;&amp;gt; not necessarily what will be published, because GNUNET_FSUI_uploadThread
&lt;br&gt;&amp;gt; alters a bunch of metadata fields (not just the filename field) before
&lt;br&gt;&amp;gt; publishing.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I would suggest that GNUNET_FSUI_uploadThread really shouldn't be altering
&lt;br&gt;&amp;gt; metadata. &amp;nbsp;If the functionality is necessary, it can be split out into a
&lt;br&gt;&amp;gt; separate routine which gnunet-gtk can call before displaying the metadata
&lt;br&gt;&amp;gt; to the user.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _________________________________________________________________
&lt;br&gt;&amp;gt; Bing™ brings you maps, menus, and reviews organized in one place. Try it
&lt;br&gt;&amp;gt; now.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.bing.com/search?q=restaurants&amp;form=MLOGEN&amp;publ=WLHMTAG&amp;crea=TXT_&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.bing.com/search?q=restaurants&amp;form=MLOGEN&amp;publ=WLHMTAG&amp;crea=TXT_&lt;/a&gt;&lt;br&gt;&amp;gt;MLOGEN_Local_Local_Restaurants_1x1
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24665285&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Specifying-file-names-for-uploaded-files-tp24664615p24665285.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24664615</id>
	<title>Specifying file names for uploaded files</title>
	<published>2009-07-25T19:07:26Z</published>
	<updated>2009-07-25T19:07:26Z</updated>
	<author>
		<name>Kenneth Almquist</name>
	</author>
	<content type="html">&lt;html&gt;
&lt;head&gt;

&lt;/head&gt;
&lt;body class='hmmessage'&gt;
In GNUnet-0.8.0c/src/applications/fs/fsui/upload.c, the function GNUNET_FSUI_uploadThread deletes any EXTRACTOR_FILENAME entries from the metadata, and then inserts a EXTRACTOR_FILENAME entry containing the last part of the path name of the file on the local host.&amp;nbsp; What this means is that if the user specifies the value of the filename metadata field (using the -m option of gnunet-insert), the value specified by the user will be ignored.&lt;br&gt;&lt;br&gt;I can think of a number of reasons why a user might want to publish a file under a different name than the one used in the local file system.&amp;nbsp; If a file has already been published on another network, it might have been renamed to embed keywords in the file name.&amp;nbsp; You might want to publish the file under its original name on GNUNET.&amp;nbsp; Another possibility is that you might want to give a file an innocuous or misleading name on the local system to make it more difficult for intruders, but still publish under a meaningful name on GNUNET.&amp;nbsp; I can't see any conceptual reason why GNUNET shouldn't support this.&lt;br&gt;&lt;br&gt;Because publishing to GNUNET is not an operation that can be undone, I think that it is important to let the user find out what keywords and metadata will be generated without actually publishing.&amp;nbsp; The gnunet-gtk publishing interface has the right idea:&amp;nbsp; when the user publishes a file the metadata and keywords are displayed in a window, and the user can edit them if desired before publishing.&amp;nbsp; Unfortunately, the data displayed is not necessarily what will be published, because GNUNET_FSUI_uploadThread alters a bunch of metadata fields (not just the filename field) before publishing.&lt;br&gt;&lt;br&gt;I would suggest that GNUNET_FSUI_uploadThread really shouldn't be altering metadata.&amp;nbsp; If the functionality is necessary, it can be split out into a separate routine which gnunet-gtk can call &lt;i&gt;before&lt;/i&gt; displaying the metadata to the user.&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;hr /&gt;Bing™ brings you maps, menus, and reviews organized in one place. &lt;a href='http://www.bing.com/search?q=restaurants&amp;form=MLOGEN&amp;publ=WLHMTAG&amp;crea=TXT_MLOGEN_Local_Local_Restaurants_1x1' target='_new' rel=&quot;nofollow&quot;&gt;Try it now.&lt;/a&gt;&lt;/body&gt;
&lt;/html&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24664615&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Specifying-file-names-for-uploaded-files-tp24664615p24664615.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24334145</id>
	<title>Re: Build issues with 0.9</title>
	<published>2009-07-04T05:24:12Z</published>
	<updated>2009-07-04T05:24:12Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">Am Monday 29 June 2009 14:06:09 schrieb Milan Bouchet-Valat:
&lt;br&gt;&amp;gt; Hi! I'm trying to get GNUnet 0.9 building to work on UPnP and NAT-PMP,
&lt;br&gt;&amp;gt; but I'm experiencing errors.
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; First, current SVN produces and error when running make:
&lt;br&gt;&amp;gt; Making all in datastore
&lt;br&gt;&amp;gt; make[3]: entrant dans le répertoire
&lt;br&gt;&amp;gt; « /home/milan/Dev/gnunet/src/datastore »
&lt;br&gt;&amp;gt; /bin/bash ../../libtool --tag=CC &amp;nbsp; --mode=compile gcc -DHAVE_CONFIG_H
&lt;br&gt;&amp;gt; -I. -I../.. -I../../src/include &amp;nbsp; &amp;nbsp;-fno-strict-aliasing -Wall -g -O2 -MT
&lt;br&gt;&amp;gt; datastore_api.lo -MD -MP -MF .deps/datastore_api.Tpo -c -o
&lt;br&gt;&amp;gt; datastore_api.lo datastore_api.c
&lt;br&gt;&amp;gt; libtool: compile: &amp;nbsp;gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/include
&lt;br&gt;&amp;gt; -fno-strict-aliasing -Wall -g -O2 -MT datastore_api.lo -MD -MP
&lt;br&gt;&amp;gt; -MF .deps/datastore_api.Tpo -c datastore_api.c &amp;nbsp;-fPIC -DPIC
&lt;br&gt;&amp;gt; -o .libs/datastore_api.o
&lt;br&gt;&amp;gt; datastore_api.c: In function ‘transmit_drop’:
&lt;br&gt;&amp;gt; datastore_api.c:135: erreur: expected ‘;’ before ‘)’ token
&lt;br&gt;&amp;gt; datastore_api.c:135: erreur: expected statement before ‘)’ token
&lt;br&gt;&amp;gt; datastore_api.c: In function ‘GNUNET_DATASTORE_put’:
&lt;br&gt;&amp;gt; datastore_api.c:255: erreur: incompatible type for argument 1 of
&lt;br&gt;&amp;gt; ‘GNUNET_htonll’
&lt;br&gt;&amp;gt; datastore_api.c:255: erreur: incompatible types in assignment
&lt;br&gt;&amp;gt; make[3]: *** [datastore_api.lo] Erreur 1
&lt;br&gt;&amp;gt; make[3]: quittant le répertoire « /home/milan/Dev/gnunet/src/datastore »
&lt;br&gt;&amp;gt; make[2]: *** [all-recursive] Erreur 1
&lt;br&gt;&amp;gt; make[2]: quittant le répertoire « /home/milan/Dev/gnunet/src »
&lt;br&gt;&amp;gt; make[1]: *** [all-recursive] Erreur 1
&lt;br&gt;&amp;gt; make[1]: quittant le répertoire « /home/milan/Dev/gnunet »
&lt;br&gt;&amp;gt; make: *** [all] Erreur 2
&lt;/div&gt;&lt;br&gt;I've fixed those in the meantime (my mistake, sorry).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Then, when I try to #include &amp;quot;gnunet_util_lib.h&amp;quot; in my new upnp.c file,
&lt;br&gt;&amp;gt; I get this (roughly translated for some messages):
&lt;br&gt;&amp;gt; In file included from ../../src/include/gnunet_util_lib.h:39,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from upnp.c:25:
&lt;br&gt;&amp;gt; ../../src/include/gnunet_common.h:243: erreur: expected declaration
&lt;br&gt;&amp;gt; specifiers or ‘...’ before ‘socklen_t’
&lt;br&gt;&amp;gt; ../../src/include/gnunet_common.h:243: attention : ‘struct sockaddr’
&lt;br&gt;&amp;gt; declared inside parameter list
&lt;br&gt;&amp;gt; ../../src/include/gnunet_common.h:243: attention : only visible from
&lt;br&gt;&amp;gt; this definition or declaration, which is probably not what you want
&lt;br&gt;&amp;gt; In file included from ../../src/include/gnunet_client_lib.h:40,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from ../../src/include/gnunet_util_lib.h:40,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from upnp.c:25:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Help welcome! ;-)
&lt;/div&gt;&lt;br&gt;Each &amp;quot;.c&amp;quot; file should #include &amp;quot;platform.h&amp;quot; before any other header. &amp;nbsp;I 
&lt;br&gt;suspect that this will resolve your problem(s).
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24334145&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Build-issues-with-0.9-tp24252996p24334145.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24252996</id>
	<title>Build issues with 0.9</title>
	<published>2009-06-29T05:06:09Z</published>
	<updated>2009-06-29T05:06:09Z</updated>
	<author>
		<name>Milan Bouchet-Valat</name>
	</author>
	<content type="html">Hi! I'm trying to get GNUnet 0.9 building to work on UPnP and NAT-PMP,
&lt;br&gt;but I'm experiencing errors.
&lt;br&gt;&lt;br&gt;&lt;br&gt;First, current SVN produces and error when running make:
&lt;br&gt;Making all in datastore
&lt;br&gt;make[3]: entrant dans le répertoire
&lt;br&gt;« /home/milan/Dev/gnunet/src/datastore »
&lt;br&gt;/bin/bash ../../libtool --tag=CC &amp;nbsp; --mode=compile gcc -DHAVE_CONFIG_H
&lt;br&gt;-I. -I../.. -I../../src/include &amp;nbsp; &amp;nbsp;-fno-strict-aliasing -Wall -g -O2 -MT
&lt;br&gt;datastore_api.lo -MD -MP -MF .deps/datastore_api.Tpo -c -o
&lt;br&gt;datastore_api.lo datastore_api.c
&lt;br&gt;libtool: compile: &amp;nbsp;gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/include
&lt;br&gt;-fno-strict-aliasing -Wall -g -O2 -MT datastore_api.lo -MD -MP
&lt;br&gt;-MF .deps/datastore_api.Tpo -c datastore_api.c &amp;nbsp;-fPIC -DPIC
&lt;br&gt;-o .libs/datastore_api.o
&lt;br&gt;datastore_api.c: In function ‘transmit_drop’:
&lt;br&gt;datastore_api.c:135: erreur: expected ‘;’ before ‘)’ token
&lt;br&gt;datastore_api.c:135: erreur: expected statement before ‘)’ token
&lt;br&gt;datastore_api.c: In function ‘GNUNET_DATASTORE_put’:
&lt;br&gt;datastore_api.c:255: erreur: incompatible type for argument 1 of
&lt;br&gt;‘GNUNET_htonll’
&lt;br&gt;datastore_api.c:255: erreur: incompatible types in assignment
&lt;br&gt;make[3]: *** [datastore_api.lo] Erreur 1
&lt;br&gt;make[3]: quittant le répertoire « /home/milan/Dev/gnunet/src/datastore »
&lt;br&gt;make[2]: *** [all-recursive] Erreur 1
&lt;br&gt;make[2]: quittant le répertoire « /home/milan/Dev/gnunet/src »
&lt;br&gt;make[1]: *** [all-recursive] Erreur 1
&lt;br&gt;make[1]: quittant le répertoire « /home/milan/Dev/gnunet »
&lt;br&gt;make: *** [all] Erreur 2
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Then, when I try to #include &amp;quot;gnunet_util_lib.h&amp;quot; in my new upnp.c file,
&lt;br&gt;I get this (roughly translated for some messages):
&lt;br&gt;In file included from ../../src/include/gnunet_util_lib.h:39,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from upnp.c:25:
&lt;br&gt;../../src/include/gnunet_common.h:243: erreur: expected declaration
&lt;br&gt;specifiers or ‘...’ before ‘socklen_t’
&lt;br&gt;../../src/include/gnunet_common.h:243: attention : ‘struct sockaddr’
&lt;br&gt;declared inside parameter list
&lt;br&gt;../../src/include/gnunet_common.h:243: attention : only visible from
&lt;br&gt;this definition or declaration, which is probably not what you want
&lt;br&gt;In file included from ../../src/include/gnunet_client_lib.h:40,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from ../../src/include/gnunet_util_lib.h:40,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from upnp.c:25:
&lt;br&gt;&lt;br&gt;Help welcome! ;-)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24252996&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Build-issues-with-0.9-tp24252996p24252996.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24236190</id>
	<title>Re: Approximate Searches</title>
	<published>2009-06-27T13:01:34Z</published>
	<updated>2009-06-27T13:01:34Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">On Thursday 25 June 2009 02:05:41 leo stone wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; There are two considerations.How many typos are likely and how is the local
&lt;br&gt;&amp;gt; filtering done.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If the local result filtering is not relaxed about typos of the sort &amp;quot;Woh&amp;quot;
&lt;br&gt;&amp;gt; than it would make no sense at all
&lt;br&gt;&amp;gt; to sort the consonants since non matching results would get filtered out
&lt;br&gt;&amp;gt; anyway.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If the local filtering can handle those typos it's still a question of COST
&lt;br&gt;&amp;gt; vs. GAIN, and this decision will be left to your guts.
&lt;/div&gt;&lt;br&gt;We can certainly do some kind of local filtering in the end that can handle 
&lt;br&gt;typos; I am just not really willing to decide on sorting or not just based on 
&lt;br&gt;guts and without any facts.
&lt;br&gt;&lt;br&gt;&amp;gt; One should consider though that most of the typos will probably happen
&lt;br&gt;&amp;gt; during search input rather
&lt;br&gt;&amp;gt; than when inserting a file. And I must say, if a program is smart enough to
&lt;br&gt;&amp;gt; handle my search typos
&lt;br&gt;&amp;gt; I am likely to be very pleased. You have a much better idea about the
&lt;br&gt;&amp;gt; impact on the net so I can't
&lt;br&gt;&amp;gt; really say anything about that.
&lt;br&gt;&lt;br&gt;Well, I wonder if a better alternative to dealing with typos would not be to 
&lt;br&gt;simply run a spell-checker when the keyword is entered. &amp;nbsp;That would take care 
&lt;br&gt;of permutations and eliminate the problem of transmitting results that then 
&lt;br&gt;need to be filtered later. 
&lt;br&gt;&lt;br&gt;&amp;gt; regards leo
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ps: I am wondering if you have an opinion about the matters that i am
&lt;br&gt;&amp;gt; trying to talk about in the forum.
&lt;br&gt;&lt;br&gt;I do, it usually takes me longer to get to the forum, but I've now added some 
&lt;br&gt;comments there.
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Wed, Jun 24, 2009 at 8:15 PM, Christian Grothoff
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24236190&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&amp;gt; &amp;gt; I like this idea (at least as an option that should likely be the
&lt;br&gt;&amp;gt; &amp;gt; default) and
&lt;br&gt;&amp;gt; &amp;gt; have added it to the list of things to change for 0.9.x. &amp;nbsp;What I wonder
&lt;br&gt;&amp;gt; &amp;gt; if sorting the consonants should be omitted or not. &amp;nbsp;Some statistics on
&lt;br&gt;&amp;gt; &amp;gt; bad collisions with and without sorting would probably be nice to have...
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Christian
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; On Tuesday 23 June 2009 07:27:17 leo stone wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; I believe the biggest factor on how we judge a system for future
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; usability
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; is how many results we get if we are looking for &amp;quot;something&amp;quot; like
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;quot;something&amp;quot;.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Imagine a shoe shop, with only two pair of shoes in it. And one with a
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; few
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; hundreds.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; The result in the end might be the same you leave both shop's not
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; finding what you want, but most people will consider
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; the shop with a hundred pairs more promising and worth spending time
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; next time they try to find some shoes.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; So making sure people are getting results in their searches is probably
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; one
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; of the more important issues, after
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; my doubts about how the routing is handled.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Even though it might mean some significant overhead, i would consider
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; doing
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; something like normalizing keywords.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; If it must be, per language but in the beginning English should be
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; enough.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; So if i wanted to share the following file, and i would like it public,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; so
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; people can find it, why not store it such:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;quot;Woh_the.fuck_is ALICe(2008).divx.avi.WMV&amp;quot; &amp;nbsp;=&amp;gt; &amp;nbsp;{ HW , HT , CFK , S ,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; CL
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 2008 , DVX , V , &amp;nbsp;MVW }
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Put the file under the hash's of those nine &amp;quot;key words&amp;quot;.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; When i seach now for &amp;quot;fuck alice&amp;quot; &amp;nbsp;=&amp;gt; &amp;nbsp; { CFK , CL }
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; search h(CFK) &amp;nbsp;AND h(CL) &amp;nbsp;will return a lot of wrong similar results
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; but them one can filter locally in a more elaborate way.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; It might even be more selective than search &amp;nbsp;h(video/x-msvideo)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; At least it returns results, whereas &amp;quot;Woh_the.fuck_is
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; ALICe(2008).divx.avi.WMV&amp;quot; as a key word is very unlikely that any one
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; would think to search for and therefore never be found, never be spread
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; ....., except by chance of course.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; regards leo
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24236190&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Approximate-Searches-tp24166258p24236190.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24198844</id>
	<title>Re: Approximate Searches</title>
	<published>2009-06-25T01:05:41Z</published>
	<updated>2009-06-25T01:05:41Z</updated>
	<author>
		<name>leo stone</name>
	</author>
	<content type="html">There are two considerations.&lt;div&gt;How many typos are likely and how is the local filtering done.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If the local result filtering is not relaxed about typos of the sort &amp;quot;Woh&amp;quot; than it would make no sense at all&lt;/div&gt;
&lt;div&gt;to sort the consonants since non matching results would get filtered out anyway. &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If the local filtering can handle those typos it&amp;#39;s still a question of COST vs. GAIN, and this decision will be left to your guts. &lt;/div&gt;
&lt;div&gt;One should consider though that most of the typos will probably happen during search input rather&lt;/div&gt;&lt;div&gt;than when inserting a file. And I must say, if a program is smart enough to handle my search typos&lt;/div&gt;&lt;div&gt;
I am likely to be very pleased. You have a much better idea about the impact on the net so I can&amp;#39;t &lt;/div&gt;&lt;div&gt;really say anything about that.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;regards leo&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;ps: I am wondering if you have an opinion about the matters that i am trying to talk about in the forum. &lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Jun 24, 2009 at 8:15 PM, Christian Grothoff &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24198844&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
I like this idea (at least as an option that should likely be the default) and&lt;br&gt;
have added it to the list of things to change for 0.9.x.  What I wonder if&lt;br&gt;
sorting the consonants should be omitted or not.  Some statistics on bad&lt;br&gt;
collisions with and without sorting would probably be nice to have...&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;&lt;br&gt;
Christian&lt;br&gt;
&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
On Tuesday 23 June 2009 07:27:17 leo stone wrote:&lt;br&gt;
&amp;gt; I believe the biggest factor on how we judge a system for future usability&lt;br&gt;
&amp;gt; is how many results we get if we are looking for &amp;quot;something&amp;quot; like&lt;br&gt;
&amp;gt; &amp;quot;something&amp;quot;.&lt;br&gt;
&amp;gt; Imagine a shoe shop, with only two pair of shoes in it. And one with a few&lt;br&gt;
&amp;gt; hundreds.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; The result in the end might be the same you leave both shop&amp;#39;s not finding&lt;br&gt;
&amp;gt; what you want, but most people will consider&lt;br&gt;
&amp;gt; the shop with a hundred pairs more promising and worth spending time next&lt;br&gt;
&amp;gt; time they try to find some shoes.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; So making sure people are getting results in their searches is probably one&lt;br&gt;
&amp;gt; of the more important issues, after&lt;br&gt;
&amp;gt; my doubts about how the routing is handled.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Even though it might mean some significant overhead, i would consider doing&lt;br&gt;
&amp;gt; something like normalizing keywords.&lt;br&gt;
&amp;gt; If it must be, per language but in the beginning English should be enough.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; So if i wanted to share the following file, and i would like it public, so&lt;br&gt;
&amp;gt; people can find it, why not store it such:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;quot;Woh_the.fuck_is ALICe(2008).divx.avi.WMV&amp;quot;  =&amp;gt;  { HW , HT , CFK , S , CL ,&lt;br&gt;
&amp;gt; 2008 , DVX , V ,  MVW }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Put the file under the hash&amp;#39;s of those nine &amp;quot;key words&amp;quot;.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; When i seach now for &amp;quot;fuck alice&amp;quot;  =&amp;gt;   { CFK , CL }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; search h(CFK)  AND h(CL)  will return a lot of wrong similar results but&lt;br&gt;
&amp;gt; them one can filter locally in a more elaborate way.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; It might even be more selective than search  h(video/x-msvideo)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; At least it returns results, whereas &amp;quot;Woh_the.fuck_is&lt;br&gt;
&amp;gt; ALICe(2008).divx.avi.WMV&amp;quot; as a key word is very unlikely that any one&lt;br&gt;
&amp;gt; would think to search for and therefore never be found, never be spread&lt;br&gt;
&amp;gt; ....., except by chance of course.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; regards leo&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24198844&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Approximate-Searches-tp24166258p24198844.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24190107</id>
	<title>Re: Approximate Searches</title>
	<published>2009-06-24T11:15:41Z</published>
	<updated>2009-06-24T11:15:41Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">I like this idea (at least as an option that should likely be the default) and 
&lt;br&gt;have added it to the list of things to change for 0.9.x. &amp;nbsp;What I wonder if 
&lt;br&gt;sorting the consonants should be omitted or not. &amp;nbsp;Some statistics on bad 
&lt;br&gt;collisions with and without sorting would probably be nice to have...
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;On Tuesday 23 June 2009 07:27:17 leo stone wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I believe the biggest factor on how we judge a system for future usability
&lt;br&gt;&amp;gt; is how many results we get if we are looking for &amp;quot;something&amp;quot; like
&lt;br&gt;&amp;gt; &amp;quot;something&amp;quot;.
&lt;br&gt;&amp;gt; Imagine a shoe shop, with only two pair of shoes in it. And one with a few
&lt;br&gt;&amp;gt; hundreds.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The result in the end might be the same you leave both shop's not finding
&lt;br&gt;&amp;gt; what you want, but most people will consider
&lt;br&gt;&amp;gt; the shop with a hundred pairs more promising and worth spending time next
&lt;br&gt;&amp;gt; time they try to find some shoes.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So making sure people are getting results in their searches is probably one
&lt;br&gt;&amp;gt; of the more important issues, after
&lt;br&gt;&amp;gt; my doubts about how the routing is handled.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Even though it might mean some significant overhead, i would consider doing
&lt;br&gt;&amp;gt; something like normalizing keywords.
&lt;br&gt;&amp;gt; If it must be, per language but in the beginning English should be enough.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So if i wanted to share the following file, and i would like it public, so
&lt;br&gt;&amp;gt; people can find it, why not store it such:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;Woh_the.fuck_is ALICe(2008).divx.avi.WMV&amp;quot; &amp;nbsp;=&amp;gt; &amp;nbsp;{ HW , HT , CFK , S , CL ,
&lt;br&gt;&amp;gt; 2008 , DVX , V , &amp;nbsp;MVW }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Put the file under the hash's of those nine &amp;quot;key words&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; When i seach now for &amp;quot;fuck alice&amp;quot; &amp;nbsp;=&amp;gt; &amp;nbsp; { CFK , CL }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; search h(CFK) &amp;nbsp;AND h(CL) &amp;nbsp;will return a lot of wrong similar results but
&lt;br&gt;&amp;gt; them one can filter locally in a more elaborate way.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It might even be more selective than search &amp;nbsp;h(video/x-msvideo)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; At least it returns results, whereas &amp;quot;Woh_the.fuck_is
&lt;br&gt;&amp;gt; ALICe(2008).divx.avi.WMV&amp;quot; as a key word is very unlikely that any one
&lt;br&gt;&amp;gt; would think to search for and therefore never be found, never be spread
&lt;br&gt;&amp;gt; ....., except by chance of course.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; regards leo
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24190107&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Approximate-Searches-tp24166258p24190107.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24166258</id>
	<title>Approximate Searches</title>
	<published>2009-06-23T06:27:17Z</published>
	<updated>2009-06-23T06:27:17Z</updated>
	<author>
		<name>leo stone</name>
	</author>
	<content type="html">I believe the biggest factor on how we judge a system for future usability is how many results we get if we are looking for &amp;quot;something&amp;quot; like &amp;quot;something&amp;quot;.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Imagine a shoe shop, with only two pair of shoes in it. And one with a few hundreds.&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The result in the end might be the same you leave both shop&amp;#39;s not finding what you want, but most people will consider&lt;/div&gt;&lt;div&gt;the shop with a hundred pairs more promising and worth spending time next time they try to find some shoes.&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;So making sure people are getting results in their searches is probably one of the more important issues, after &lt;/div&gt;&lt;div&gt;my doubts about how the routing is handled.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Even though it might mean some significant overhead, i would consider doing something like normalizing keywords.&lt;/div&gt;
&lt;div&gt;If it must be, per language but in the beginning English should be enough.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;So if i wanted to share the following file, and i would like it public, so people can find it, why not store it such:&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;quot;Woh_the.fuck_is ALICe(2008).divx.avi.WMV&amp;quot;  =&amp;gt;  { HW , HT , CFK , S , CL , 2008 , DVX , V ,  MVW }  &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Put the file under the hash&amp;#39;s of those nine &amp;quot;key words&amp;quot;.&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;When i seach now for &amp;quot;fuck alice&amp;quot;  =&amp;gt;   { CFK , CL }  &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;search h(CFK)  AND h(CL)  will return a lot of wrong similar results but them one can filter locally in a more elaborate way.&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;It might even be more selective than search  h(video/x-msvideo) &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;At least it returns results, whereas &amp;quot;Woh_the.fuck_is ALICe(2008).divx.avi.WMV&amp;quot; as a key word is very unlikely that any one &lt;/div&gt;
&lt;div&gt;would think to search for and therefore never be found, never be spread ....., except by chance of course.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;regards leo&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;
&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24166258&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Approximate-Searches-tp24166258p24166258.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24120594</id>
	<title>Re: Economic System</title>
	<published>2009-06-19T17:12:14Z</published>
	<updated>2009-06-19T17:12:14Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt; here I meant in the sense that D will direct requests with the same chances
&lt;br&gt;&amp;gt; to E than to the other
&lt;br&gt;&amp;gt; longer existing nodes.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; But since trust is not used for routing this is irrelevant.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Basically a node uses trust only to decide if it &amp;quot;opens the letter&amp;quot;, in the
&lt;br&gt;&amp;gt; case it is to busy to open all.
&lt;br&gt;&amp;gt; For how it acts upon an opened letter trust doesn't play a role anymore.
&lt;br&gt;&amp;gt; Is that correct?
&lt;/div&gt;&lt;br&gt;Almost. &amp;nbsp;A node that has multiple replies may send only a few back to a peer 
&lt;br&gt;that has low trust and more to a peer that has high trust (where the exact 
&lt;br&gt;definition of &amp;quot;a few&amp;quot; and &amp;quot;more&amp;quot; depends on the load of the node and the size 
&lt;br&gt;of the individual responses). &amp;nbsp;Similarly, the query may be forwarded to more 
&lt;br&gt;other peers for high-trust inquiries. &amp;nbsp;But the distinction is always load-
&lt;br&gt;based and for an idle node the result would be exactly the same.
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24120594&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Economic-System-tp24099166p24120594.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24120410</id>
	<title>Re: Same Key - different content</title>
	<published>2009-06-19T16:41:58Z</published>
	<updated>2009-06-19T16:41:58Z</updated>
	<author>
		<name>Christian Grothoff</name>
	</author>
	<content type="html">On Friday 19 June 2009 04:02:06 pm leo stone wrote:
&lt;br&gt;&amp;gt; I have yet another question. This is more in regard to the file system.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; From what i've read it is not clear to me what happens
&lt;br&gt;&amp;gt; if different content is inserted under the same keyword.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; How does gnunet handle this situation if it encounters a key that exists
&lt;br&gt;&amp;gt; already? Does it just update?
&lt;br&gt;&amp;gt; Or does it store two entries under the same hash.
&lt;br&gt;&lt;br&gt;Stores two entries.
&lt;br&gt;&lt;br&gt;&amp;gt; If i was to insert something with the keys &amp;quot;gnunet&amp;quot; and &amp;quot;network&amp;quot;
&lt;br&gt;&amp;gt; and later something with &amp;quot;apache&amp;quot; and &amp;quot;network&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; what happens for the &amp;quot;network&amp;quot; entry? what would a search for &amp;quot;network&amp;quot;
&lt;br&gt;&amp;gt; yield?
&lt;br&gt;&amp;gt; would it return both entries or just one?
&lt;br&gt;&lt;br&gt;Both.
&lt;br&gt;&lt;br&gt;&amp;gt; how about returning replies to such requests, return all results, gaining
&lt;br&gt;&amp;gt; trust multiple times for just one request?
&lt;br&gt;&lt;br&gt;First responder gains trust, rest goes home empty-handed (but they don't know 
&lt;br&gt;that).
&lt;br&gt;&lt;br&gt;&amp;gt; this couldn't really work since there are routing entries in between that
&lt;br&gt;&amp;gt; get removed after the first reply.
&lt;br&gt;&lt;br&gt;No, peers mark them as &amp;quot;removable&amp;quot; if they are short on space (and reset 
&lt;br&gt;trust-to-be-earned to zero), but they don't entirely remove the entry 
&lt;br&gt;immediately.
&lt;br&gt;&lt;br&gt;&amp;gt; or just returning the freshest entry? well as i say i lost it a bit here.
&lt;br&gt;&lt;br&gt;No, if a particular peer has multiple, one or more randomly-selected entries 
&lt;br&gt;are returned.
&lt;br&gt;&lt;br&gt;&amp;gt; Anyway to this, are there already plans or ideas to allow for better
&lt;br&gt;&amp;gt; search capabilities?
&lt;br&gt;&amp;gt; Exact key words and you'll never find what you are after ....
&lt;br&gt;&lt;br&gt;Yes, doing approximate searches would be very nice, but given that we like to 
&lt;br&gt;keep our search terms private and essentially only transmit a hash of the 
&lt;br&gt;search term, this would be really hard (but nice). &amp;nbsp;Good line of research for 
&lt;br&gt;those working on hash functions...
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;GNUnet-developers mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24120410&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GNUnet-developers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/gnunet-developers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/gnunet-developers&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/GnuNet---Dev-f1875.html&quot; embed=&quot;fixTarget[1875]&quot; target=&quot;_top&quot; &gt;GnuNet - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Same-Key---different-content-tp24119470p24120410.html" />
</entry>

</feed>
