I2P dev meeting, January 15, 2003 @ 23:00 UTC

(Courtesy of the wayback machine http://www.archive.org/)

Quick recap

  • Present:

FillaMent, hezekiah, LeeroklaLacerta, mids, nop, sdgg, thecrypto,

Registo Completo do IRC

--- 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