{% extends "_layout.html" %} {% block title %}I2P Development Meeting 26{% endblock %} {% block content %}

I2P (invisiblenet) Development Meeting 26

Courtesy of the wayback machine.

--- Log opened Tue Jan 14 22:44:57 2003

22:45 -!- Topic for #iip-dev: IIP Meeting - logfiles: http://mids.student.utwente.nl/~mids/iip/

22:45 [Users #iip-dev]

22:45 [ logger] [ pox]

22:45 -!- Irssi: #iip-dev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]

22:45 -!- Irssi: Join to #iip-dev was synced in 3 secs

23:48 -!- StoVoKor|away is now known as StoVoKor

23:58 < mids> Tue Jan 14 22:58:16 UTC 2003

23:59 < mids> 1 minute

--- Day changed Wed Jan 15 2003

00:00 < mids> Tue Jan 14 23:00:00 UTC 2003

00:00 < mids> Welcome to the 26th IIP meeting

00:00 < mids> I didn't get any agenda items from anybody, so I'll just propose my own:

00:00 < mids> - Release of 1.1-final

00:00 < mids> do you guys have anything else to add?

00:00 < hezekiah> (I propose an agenda item: What's the current major feature being worked on in IIP 1.2 dev?)

00:01 < mids> great

00:01 < FillaMent> I have a couple suggestions for additions to anonymail

00:01 < mids> ok

00:01 < mids> Agenda:

00:02 < mids> - What's the current major feature being worked on in IIP 1.2 dev

00:02 < mids> - Anonymail suggestions

00:02 < mids> - Release of 1.1-final

00:02 < mids> .

00:02 * mids hands the microphone to hezekiah

00:02 < FillaMent> Also like to note a project that I'm working on that uses IIP

00:02 < hezekiah> I have no clue. It was actually a question. :) Nop?

00:02 * hezekiah hands the microphone to nop.

00:02 < nop> hi

00:02 < nop> ok

00:02 < nop> welcome

00:03 < nop> ok on the agenda

00:03 < nop> mids take it away

00:04 < mids> no, you tell what the status of 1.2 is

00:04 < nop> ok

00:04 < nop> well

00:04 < nop> lots of grindy stuff

00:04 < nop> mainly taking care of the grunt stuff

00:04 < hezekiah> (Ahmen!)

00:04 < nop> getting the core ready for hardcore decentralization and crypto, we're in the midst of deciding crypto libraries, we think cryptlib and GnuMP

00:05 < nop> and are looking at a few possibilities for routing, either the listener route concept, or possibly chord type routing

00:05 < nop> and that's mainly it for right now

00:05 < nop> for 1.2

00:05 < mids> cool

00:05 < nop> 1.1 status, is if no one has any bugs in a weeks time

00:06 < nop> then we will probably move to defcon 1.1

00:06 < nop> ;)

00:06 < nop> meaning 1.1 Release

00:06 < mids> stick to the agenda nop

00:06 < mids> anonymail features are first

00:06 < nop> I didn't see an agenda

00:06 < mids> :p

00:06 < hezekiah> Mids, behave! :)

00:06 < hezekiah> ;-)

00:06 < nop> ok

00:06 < nop> I guess anonymail suggestions

00:06 < mids> - Anonymail suggestions

00:06 < nop> take it away whoever that was

00:06 < mids> FillaMent?

00:06 < FillaMent> Okay, I just have two quick ones...

00:07 < FillaMent> 1) Some sort of escape character to do \n's.

00:07 < hezekiah> Yeah!

00:07 < FillaMent> Discuss or move on to #2?

00:07 < hezekiah> Perhaps, "\n" for a newline, and "\\n" for a literal, "\n".

00:08 < mids> what character do you suggest?

00:08 < mids> ok

00:08 < hezekiah> (Like how you would do in C with printf.)

00:08 < FillaMent> C, Perl, Java....

00:08 < hezekiah> C++ ... :)

00:08 < FillaMent> Nah, make it vbCRLF

00:08 < mids> and \\\\n for literal \\n :)

00:08 < hezekiah> Yup1

00:08 < mids> vbCRLF?

00:09 < FillaMent> visualbasicCarriageReturnLineFeed

00:09 < mids> are you serious?

00:09 < hezekiah> (I hope not.)

00:09 < FillaMent> I used to hack vbScript (no, I'm not serious. \n is what everyone will be familiar with)

00:09 < hezekiah> So, what was suggestion number 2?

00:10 < thecrypto> damn wireless network

00:10 < FillaMent> 2) Stripping non-plain text MIME garbage from mails that come from the internet and replacing it with something to the effect of <One part MIME binary/word-doc stripped>

00:11 < FillaMent> Forgive me if I'm incorrectly implying MIME

00:11 < mids> I dont really agree

00:11 < mids> you should be able to receive RFC2015 compatible PGP signatures

00:11 < mids> and stuff

00:11 < hezekiah> Yeah.

00:12 < hezekiah> But changing Quoted-Printable to plain ASCII might not be a bad idea if it isn't already implemented.

00:12 < FillaMent> And that's a specific mime type?

00:12 < FillaMent> PGP sig I mean.

00:12 < mids> it is

00:12 < hezekiah> There are OpenPGP sigs that have a mime type.

00:12 < mids> I can understand that it will be a lot of work to do MIME right

00:13 < mids> since there are a lot of MIME types

00:13 < mids> and browsers who violate it

00:14 < hezekiah> "2) Stripping non-plain text MIME ..." (Wouldn't they be in base64 if they aren't plain ASCII anyway? And if not, then couldn't they just be converted?)

00:14 < mids> maybe we should just forward the suggestions to codeshark

00:15 < mids> since he knows how the app looks

00:15 < hezekiah> Or even, if it has to be stripped, you could offer an option to retrieve it (in base64 or 7-bit.) That way you can save it via copy-paste, and decode/read it on your hard drive.

00:15 < mids> (he made it)

00:15 < mids> and what he can implement

00:15 < hezekiah> Good idea!

00:15 < FillaMent> The other day I got a mail that was written with MS Outaluck/W3rd and it came in as multipart MIME. The first part was a plain txt version of the message, the second was an RTF will all the formatting Markup

00:15 < nop> this is something

00:15 < nop> that needs to be sent to anonymail

00:15 < nop> oops

00:15 < nop> codeshark

00:15 < mids> yeah

00:15 * FillaMent digresses.

00:15 < mids> lets just pass it on

00:15 < mids> and see what his imput is

00:16 < mids> - Release of IIP 1.1-final

00:16 < mids> my comments: got to check the sourceforge bugtracker

00:16 < mids> but I dont think that there are any code bugs open

00:17 < hezekiah> Not the last time I saw ... (checking now.)

00:17 < mids> http://sourceforge.net/tracker/index.php?func=detail&aid=651711&group_id=50945&atid=461514

00:17 < mids> (files stored in wrong dir)

00:17 < mids> http://sourceforge.net/tracker/index.php?func=detail&aid=655568&group_id=50945&atid=461514

00:17 < mids> (-h doesnt work)

00:17 < mids> that option DOES work for me

00:17 < mids> please check it

00:18 < mids> and if it works for everybody, we got to mark that report as invalid

00:18 < mids> http://sourceforge.net/tracker/index.php?func=detail&aid=654147&group_id=50945&atid=461514

00:18 < mids> (FreeBSD socket call)

00:18 < mids> I dont have FreeBSD, someone with FreeBSD should check

00:19 < mids> .

00:19 < mids> Also we should really really supply some script that people can put in their /etc/init.d/

00:20 < mids> ping?

00:20 < hezekiah> It looks like the guy who did the FreeBSD bug ...

00:21 < hezekiah> ... already found and pointed out the problem.

00:21 < hezekiah> http://sourceforge.net/tracker/download.php?group_id=50945&atid=461514&file_id=37660&aid=654147

00:22 < hezekiah> That's the link to the patch file. AF_INET apparently needs to be PF_INET on FreeBSD.

00:22 < hezekiah> The patch was simple:

00:23 < hezekiah> 484,489c484

00:23 < hezekiah> < // If statement added by wiht, since FreeBSD uses PF_INET.

00:23 < hezekiah> < #ifdef __FreeBSD__

00:23 < hezekiah> < sh->Socket = socket(PF_INET, SOCK_STREAM, 0);

00:23 < hezekiah> < #else

00:23 < hezekiah> < sh->Socket = socket(AF_INET, SOCK_STREAM, 0);

00:23 < hezekiah> < #endif

00:23 < hezekiah> ---

00:23 < hezekiah> > sh->Socket = socket(AF_INET, SOCK_STREAM, 0);//PF_INET);

00:23 < mids> I see, but then I dont know why the original ifdef was there at first?

00:23 < hezekiah> What do you think, nop?

00:23 < hezekiah> The top section should be the new code. The bottom section should be the old.

00:23 < nop> that should work

00:24 < hezekiah> Yeah. The bottom is the old.

00:24 < nop> you should commit looks fine

00:24 < hezekiah> Do you want me to write it up, commit, and label the bug as fixed, nop?

00:24 < nop> but why is it different

00:24 < hezekiah> Apparently, FreeBSD requires PF_INET instead of AF_INET as the first arguement for socket.

00:25 < hezekiah> I don't know why.

00:25 < hezekiah> But, the writter said this fixed the problem. Commit?

00:25 < nop> yes

00:25 < hezekiah> OK.

00:25 < mids> ok

00:26 < mids> who can look into the filepath problem?

00:27 < FillaMent> I don't get that problem. If I try and start IIP as a different user or not in ~iip it says it can't write the log

00:28 < mids> ok, we got to check the reported bugs and report on that on the mailinglist

00:28 < mids> lets try to do that this week

00:28 < mids> .

00:28 < mids> The biggest problem is the scalability of IIP

00:28 < mids> RC2 was kinda stable

00:28 < mids> RC3 isnt

00:29 < mids> why?

00:29 < mids> Imho it is because the node.ref is so big

00:29 < mids> so a lot of potential bad node

00:29 < mids> nodes

00:29 < mids> it is really, anonymity vs stability

00:29 < mids> .

00:29 < hezekiah> I noticed that. But some of them are just slow, not necisarily bad.

00:29 < mids> the problem is the lot of people Pinging Out

00:30 < mids> the solution that I suggest is releasing RC3 with a minimal node.ref

00:30 < mids> only 4 nodes or something

00:30 < mids> .

00:31 < nop> I agree

00:31 < FillaMent> Pardon my lack of design knowledge... IIRC uses relays like freenet and IRC, right?

00:32 < FillaMent> node == relay

00:32 < mids> they are more static

00:32 < mids> once you connect

00:32 < nop> well

00:32 < nop> at least in 1.1

00:32 < mids> you stay connected through them for the same session

00:32 < nop> they won't be forever

00:32 < FillaMent> But, it's still one node passes to other nodes

00:32 < nop> yes

00:33 < mids> if you keep a big list of nodes, then the path is very long

00:33 < mids> hence a lot of potential problems

00:33 < FillaMent> Why not just make it so that it goes through the node.ref and picks a few at random, and keeps doing that. The user could maybe set the number. This would maybe distribute the load a little more?

00:34 < mids> the current protocol doesnt support selecting the amount of hops

00:34 < nop> and we're not changing it in this version

00:34 < nop> ;)

00:34 < FillaMent> Okay, then it's outside my technical knowledge... what about the starting point?

00:34 < FillaMent> or is the TTL the number or nodes in node.ref

00:35 < FillaMent> s/or/of/

00:35 < mids> each node connects to a node in its node.ref at random

00:35 < mids> until it 'accidently' hits the server

00:35 < mids> so if you have a lot of nodes

00:35 < FillaMent> got it.

00:35 < mids> it will have huge paths

00:36 < mids> that is why I would suggest a manually crafter first layer of public nodes

00:36 < FillaMent> Could another solution be to make 'the' server 'a' server?

00:36 < mids> so you decrease the amount of hops

00:36 < LeeroklaLacerta> Is there any sort of reliability-index-type thing?

00:36 < mids> you only have 1 end-node

00:36 < mids> there isnt, since you dont know what nodes a node connects through

00:37 < mids> if your connection goes down, you dont know what node caused it

00:37 < mids> it can be anyone on your path

00:37 < LeeroklaLacerta> K.

00:37 < mids> and you dont know your path

00:37 < FillaMent> Is there anyway for the end user it increase the reliability of IIP?

00:37 < mids> yes, manually edit your node.ref

00:38 < mids> and put only some stable nodes on it

00:38 < mids> and dont let it update the node.ref automatically

00:38 < FillaMent> mids: I mean setting up a relay or something.

00:38 < mids> ofcourse you dont know what are stable nodes, unless you have some inside knowledge about the IIP topography

00:39 < mids> Trent for example directly connects to a node which connects to the IIP server node

00:39 < mids> otherwise it would go down all the time

00:39 < mids> resulting in a really bad network

00:41 < FillaMent> To save me some time, where does iip store the nodes.ref on a linux box?

00:41 < mids> ~/.iip/

00:41 < mids> or the local directory

00:42 < mids> ok, I want to quit this item

00:42 < mids> homework for next week:

00:42 < mids> think about the issues

00:42 < mids> and propose suggestions to the mailinglist

00:42 < FillaMent> Give me 10 min and I'll have a kludge for the massive node list problem

00:42 < mids> or to a developper (if you arent subscribed)

00:43 < mids> .

00:43 < mids> questions?

00:51 < hezekiah> You almost have your "kludge" (I don't know what that word means) for the node list problem yet, FillaMent?

00:52 < FillaMent> kludge is coding duct tape, and yes.

00:52 < hezekiah> Ah.

00:53 < thecrypto> the full definition is http://www.tuxedo.org/~esr/jargon/html/entry/kluge.html

00:54 < mids> hezekiah: thanks for putting your hands on those 2 bugtracker items

00:55 < hezekiah> No problem. I still don't know how to assign a bug to myself. Otherwise, I would have "officially" picked up the PF_INET one.

00:55 < hezekiah> I couldn't find the button/link/whatever that lets you assign a bug to yourself.

00:57 < mids> only project admins seem to be able to assign bugs for our project

00:57 < hezekiah> Ah

00:57 < hezekiah> That would explain it! :)

00:59 < hezekiah> OK. Well, I'm going to leave now. Bye everyone! :)

00:59 < LeeroklaLacerta> Good bye.

01:04 < mids> ok

01:04 < mids> I am gone too

01:04 < mids> bye

01:08 < LeeroklaLacerta> Everyone's leavin'?

01:08 < LeeroklaLacerta> Is the meeting over?

01:09 < FillaMent> I'm still here. Perhaps my time estimate was a bit off. I love/hate perl.

01:10 < LeeroklaLacerta> What's perl got to do with it?

01:10 < FillaMent> My node.ref kluge

01:10 < LeeroklaLacerta> Ah.

01:11 < FillaMent> I should just describe it to someone competant and let them do it in like 5min

01:11 < LeeroklaLacerta> I'm just here for the heck of it.

01:16 < LeeroklaLacerta> I'm going back to #anonymous.

01:17 < FillaMent> Ha ha!

01:39 < FillaMent> Anyone care to enlighten me as to why in perl, when I push an item into an array, /every/ item ends up being that item?

02:59 < sdgg> hi

03:05 < FillaMent> Know how long an md5 signature is supposed to be?

03:10 < sdgg> 128 bits I believe

03:14 < sdgg> Does anyone know of a good tutorial on c/c++ for *nix programming?

03:14 < sdgg> Or somewhere I can look?

05:10 * FillaMent is away: Destinking myself

{% endblock %}