[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gnunet] Questions on latest version
From: |
Tom Barnes-Lawrence |
Subject: |
Re: [Help-gnunet] Questions on latest version |
Date: |
Mon, 1 Sep 2003 06:21:50 +0100 |
User-agent: |
Mutt/1.3.28i |
On Sun, Aug 31, 2003 at 04:27:35PM -0500, Christian Grothoff wrote:
> > So basically, did Nils' patch get included in the end?
>
> Yes, but it was recently (post 0.5.5) moved to the libextractor CVS. It will
> be in the next libextractor relase and was part of 0.5.5. The 0.5.5 default
> config file has the appropriate line:
>
> EXTRACTORS = libextractor_filename:-libextractor_split:-libextractor_lower
Aha! So the automatic extraction supplies lower case versions of keywords
(all keywords?)... but the AFS system itself doesn't actually convert
keywords itself?
I suppose as long as there aren't keywords that are hard-to-find because
of case variations (except by people who are actively trying to make
their content hard to find), that should be fine.
> > -So I understand that it's namespaces that allow updates, and it's
> > directories that allow you to create heirarchies.
> > But how do the directories reference stuff?
>
> They contain RBlocks or SBlocks in plaintext (the file-identification plus
> meta-data). Insert a bunch of files and go into gnunet-gtk. Build a directory
> "by hand", you should see that it is quite easy.
I tend not to bother with gnunet-gtk much, I'm afraid; I had another
look this release, but it didn't seem any more stable. So I'm still
working with gnunet-insert- or hoping to.
BTW, yeah, I remember some months back saying *I'd* try to write some
client-side stuff... I haven't given up on that, I just, er, got
sidetracked when I started writing a game :P It didn't help that almost
every approach I'd wanted to take, countless obstacles seemed to get in
my way. But other projects I got working on recently helped me think
of solutions for some of those things, so I could mebbe have another go.
(I'm making no promises this time, if it happens it happens)
> > I'm basically wondering, if I make a directory entry that links to a
> > directory in someone else's namespace, when that remote directory gets
> > *updated*, will the reference to it from my directory access the one
> > it found originally, or the newly updated one??
>
> Ok, someone else has a directory D in a namespace X under the namespace-key
> K. Now when you create your own directory O which can contain either a
> direct link to D (which means that if D is updated, your link will still
> point to the OLD contents, which is what you may want); or you can link to K
> in X, which means that your directory will point to the updateable version of
> the directory.
Um, lets see. "the namespace-key K", would be the key for the directory D,
rather than a key used with everything in X? And K would be the Sblock?
Just before writing this email, I tried having a go at creating a
pseudonym, to see if I could learn a bit in the process. Gnunetd wasn't
running (because I was offline), and it just sat there, even though the
pseudonym utilities didn't mention they needed it (some things obviously
need it, but not *all* of them do, right?). When I reconnected and started
gnunetd again, I then tried creating the pseudonym again...
and it segfaulted.
[New Thread 1024 (LWP 3014)]
Sep 1 05:28:37 WARNING: No password supplied
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 3014)]
0x4002c04f in rndlinux_gather_random (add=0x4002ba7c <add_randomness>,
requester=2, length=120, level=1) at rndlinux.c:131
131 FD_SET(fd, &rfds);
Don't know if that's enough for you to do anything with (or if you've
already seen this bug).
Well, in the meantime, it'd be interesting to know, gnunet-insert's
manpage says:
-t ID, --this=ID
Specifies the ID of the SBlock. This (snip)
I don't understand what this is referring to, or what this flag will
do. I can see it's to do with namespaces, and maybe is about updateable
content, but otherwise... *shrug*
The manpage continues:
The ID can be given in HEX notation, otherwise the HEX
code is derived by hashing the given ID string.
Where would I get either of these things? Are these what get returned
from gnunet-pseudonym-create, when it works? I suspect not, but it's
just not that clear.
> Essentially, every directory (and file) can be accessed in two ways; with an
> RBlock (the old, keyword, immutable mechanism) or via an SBlock (the new,
> additional, optionally updateable, signed mechanism). Directories can refer
> to both RBlocks and SBlocks.
>
> Does that help? (Note that gnunet-gtk's visualization of the difference
> between RBlocks and SBlocks is, well, lacking.)
It helps to at least know that both those types of reference are
technically possible, even if the docs make my eyes water ;)
Perhaps it would help if the CLI programs separated what they did
somewhat- I notice some manpages point to the non-existant manpage for
the non-existant program "gnunet-insert-sblock", but now all content
insertion operations seem to be integrated into gnunet-insert.
I suppose that if you make a directory, you'll want to insert it
(maybe you'd want to make separate directories to create heirarchies
by hand, rather than relying on the -r flag, but it'd be no use without
having all the directories published), but when you try to create/
insert the directory at the same time as inserting what it refers to,
it all gets a bit unclear what's going on IMHO.
And then the addition of namespaces/updatable content seems to make it
even less clear: EG, what if you're making an updatable directory that
references some non-updatable content that you're inserting now, plus
some updatable content that's already been inserted, etc etc.
I expect gnunet-insert is able to do all this, I'm just saying that
maybe a more modular interface could be easier to understand. Or
perhaps it wouldn't.
Tomble
PS- Sorry if I've been rambling here :P
- Re: [Help-gnunet] Questions on latest version,
Tom Barnes-Lawrence <=