--- Log opened Tue Aug 19 16:56:12 2003 17:00 -!- logger [logger@anon.iip] has joined #iip-dev 17:00 -!- Topic for #iip-dev: Weekly IIP development meetings, and other conversations among developers are held here. 17:00 [Users #iip-dev] 17:00 [ cohesion] [ leenookx ] [ mihi] [ shardy_ ] [ UserXClone] 17:00 [ Ehud ] [ logger ] [ nop ] [ thecrypto] [ velour ] 17:00 [ hezekiah] [ lonelynerd] [ Rain] [ UserX ] [ WinBear ] 17:00 -!- Irssi: #iip-dev: Total of 15 nicks [0 ops, 0 halfops, 0 voices, 15 normal] 17:00 -!- Irssi: Join to #iip-dev was synced in 7 secs 17:00 < hezekiah> Alright! :) 17:00 < hezekiah> Both loggers are in place. :) 17:01 < thecrypto> yah! 17:03 < hezekiah> Hmmm ... 17:03 < hezekiah> This meeting was supposed to start 3 minutes ago. 17:03 < hezekiah> I wonder what's up. 17:04 < thecrypto> well, whose idle 17:04 < hezekiah> jrand0m's not even online. 17:04 < hezekiah> nop's been idle 15 minutes. 17:05 < nop> hi 17:05 < nop> sorry 17:05 < nop> I'm super busy at work 17:05 < mihi> [22:36] * jrand0m is off to dinner but i'll be back within the half hour for the meeting 17:05 -!- jrand0m [~jrandom@anon.iip] has joined #iip-dev 17:05 < hezekiah> Hi, jrand0m. 17:05 < nop> hi 17:05 < nop> ok, here's the thing 17:05 < nop> I can't be seen on IIP at work right now 17:05 < nop> so I'll check in with yall later 17:05 < nop> got slack about it yesterday 17:05 < nop> so 17:05 < hezekiah> Bye, nop. 17:05 < thecrypto> bye 17:06 < nop> I'll hang in the channel 17:06 < nop> just won't be obvious :) 17:06 < hezekiah> jrand0m? Since you do the most talking these days, is there anything you want on the agenda for this meeting? 17:07 < jrand0m> back 17:08 < jrand0m> ok, the pesto pasta was good. 17:08 < jrand0m> lemmie pull up the agenda-ish stuff 17:09 -!- Lookaround [~chatzilla@anon.iip] has joined #iip-dev 17:09 < jrand0m> x.1) i2cp sdk mods x.2) i2np review x.3) polling http transport x.4) dev status x.5) todo x.6) plan for next two weeks 17:09 < jrand0m> (place x at whatever # in the agenda it fits) 17:10 < thecrypto> you are the agencda 17:10 < hezekiah> jrand0m: I don't have anything to say, and nop can 17:10 < hezekiah> can't talk. 17:10 < jrand0m> lol 17:10 < hezekiah> UserX most likely won't be adding anything (he usually doesn't), so as far as I'm concerned it's all yours. :0 17:10 < hezekiah> :) 17:10 < jrand0m> 'k. we logging? 17:10 < jrand0m> heh 17:10 < hezekiah> I'm logging everything. 17:10 < jrand0m> cool. ok. 0.1) welcome. 17:10 < jrand0m> hi. 17:11 < jrand0m> 0.2) mailing list 17:11 < jrand0m> the list is down atm, back asap. you'll know when it is :) 17:11 < jrand0m> for the meantime, wiki or use iip to convo. 17:11 < jrand0m> 1.1) i2cp sdk mods 17:12 < jrand0m> the SDK has been updated with some bugfixes, plus some new things in the spec have been introduced. 17:12 < jrand0m> I posted to the list yesterday with the info. 17:13 < jrand0m> hezekiah/thecrypto/jeremiah> any questions on what I posted, or thoughts on a plan to implement the changes? (or other alternatives I haven't considered?) 17:13 < hezekiah> I've been running around like the chicken with my head cut off getting ready for college. 17:13 < jrand0m> word, understood. 17:13 < hezekiah> I had a cursory look at what you wrote, but haven't actually looked at the changes to the spec. 17:13 < jrand0m> we barely have any more of your time left, do we... 17:13 < hezekiah> Not until I get to college. 17:14 < hezekiah> Once I do, then I will probably be unheard from for at least a week while I adjust. 17:14 < jrand0m> and once you get there you'll have a lot of settling in to do (iirc from when i went to school ;) 17:14 < jrand0m> heh word. 17:14 < hezekiah> Then by then, I should be a bit more efficient and have more time so I can code. 17:14 < jrand0m> cool 17:14 < thecrypto> i'm just doing crypto, so the data structures are my real worry, once i have the CTS mode done, i'll go work on that prolly 17:14 < hezekiah> Anyway, that's my guess. 17:14 < jrand0m> awesome thecrypto 17:15 < jrand0m> ok, the good thing is the SDK works perfectly fine (with the bugs mihi found being fixed [yay mihi!]) without the update to the spec. 17:15 -!- arsenic [~none@anon.iip] has joined #iip-dev 17:16 < jrand0m> ok, on to 1.2) i2np review 17:16 < jrand0m> anyone read the doc? 17:16 < jrand0m> ;) 17:16 < hezekiah> Not I, yet. 17:16 < hezekiah> As I said, I'm currently a chicken with its head cut off. 17:17 < hezekiah> BTW jrand0m, it appears you like sending PDF's. 17:17 < jrand0m> can everyone read openoffice .swx? 17:17 < hezekiah> I can. 17:17 < jrand0m> [if so, I'll send swx] 17:17 -!- abesimpson [~k@anon.iip] has joined #iip-dev 17:17 < thecrypto> i can 17:17 < hezekiah> I can't search for text in a PDF with KGhostView. 17:17 < hezekiah> So that really hurts. 17:17 < jrand0m> that sucks hezekiah 17:17 -!- mrflibble [mrflibble@anon.iip] has joined #iip-dev 17:17 < hezekiah> The linux version of Adobe Acrobat isn't very friendly eiter. 17:18 < jrand0m> ok, openoffice format it is instead of pdf. 17:18 < hezekiah> Cool. 17:18 < jrand0m> um, ok. i2np has a few minor changes to the LeaseSet structure (reflecting the i2cp change posted earlier), but other than that, largely in place. 17:19 < hezekiah> jrand0m: Are all these docs in cathedral's CVS? 17:19 < nop> oh 17:19 < nop> can I interject 17:19 < hezekiah> i.e. copies of the PDF files you've been sending to the list, etc. 17:19 < hezekiah> nop: Go ahead. 17:19 < nop> this is offtopic but important 17:19 -!- ChZEROHag [hag@anon.iip] has joined #iip-dev 17:19 < nop> IIP-dev and the mail are kind of screwy right now 17:19 < hezekiah> I noticed. 17:19 < nop> so bear with us for a bit 17:20 < nop> we're trying to get it up and going 17:20 < nop> but it has spam assassin built in 17:20 < nop> which is the good news 17:20 < nop> :) 17:20 < nop> and a lot of other features 17:20 < jrand0m> any eta nop for the list? 17:20 * ChZEROHag pokes his nose in 17:20 < jrand0m> (i know you're busy, not nagging, just wondering) 17:20 < nop> hopefully by tomorrow 17:20 < jrand0m> cool 17:20 < nop> the mail admin is working on it 17:21 * hezekiah notes that jrand0m _really_ likes the iip-dev list. ;-) 17:21 < nop> haha 17:21 < hezekiah> Go delta407! 17:21 < nop> anyway 17:21 < jrand0m> its best to document decisions publicly hezekiah ;) 17:21 < nop> back to our regularly scheduled meeting 17:21 < jrand0m> heh 17:21 -!- nop is now known as nop_afk 17:21 < hezekiah> jrand0m: So where were we? 17:21 < jrand0m> ok, to your equestion hezekiah> some are, but the latest aren't. I'll switch to placing in the openoffice format. 17:21 < jrand0m> rather than the pdfs 17:22 < hezekiah> OK. 17:22 < hezekiah> It'd be really cool if all the docs were in CVS. 17:22 < jrand0m> definitely, and they will be 17:22 < hezekiah> Then I can just update, and I know I have the latest edition. 17:22 < jrand0m> (there are the three drafts that aren't so far) 17:22 < hezekiah> (BTW, a little off topic, but is anonymous access to cathedral up yet?) 17:23 < jrand0m> not yet. 17:23 < jrand0m> ok, by friday, I hope to have another draft of I2NP in full form [aka no more ... for the kademlia explanation sections, and sample implementation details] 17:24 < jrand0m> there are no significant changes. just more filling clarifying things. 17:24 < hezekiah> Sweet. 17:24 < hezekiah> Will there be byte layout for data structures avalible in it? 17:24 < jrand0m> 1.3) I2P Polling HTTP Transport spec. 17:24 < jrand0m> no, byte layouts go in the data structures spec, which should be converted to the standard format instead of html 17:25 < jrand0m> (though I2NP already has all the necessary byte layouts) 17:25 < jrand0m> ((if you read it *cough* ;) 17:25 < hezekiah> Good. 17:25 < hezekiah> lol 17:25 < hezekiah> Sorry about that. 17:25 < hezekiah> As I said, I've been really busy. 17:25 < jrand0m> heh no worry, you're heading off to college shortly, you're supposed to be partying :) 17:25 < hezekiah> Partying? 17:25 < jrand0m> ok, 1.3) I2NP Polling HTTP Transport spec 17:25 < hezekiah> Hmmm ... I guess I'm just odd. 17:25 < jrand0m> heh 17:26 < jrand0m> ok, I tried sending this out earlier, but I'll commit it shortly. its a quick and dirty transport protocol fitting in with I2NP to allow routers to send data back and forth without direct connections (e.g. firewalls, proxies, etc) 17:27 < jrand0m> I'm *hoping* someone can see how this works and build similar transports (e.g. bidirectional TCP, UDP, direct HTTP, etc) 17:27 -!- mihi [none@anon.iip] has quit [Ping timeout] 17:27 < hezekiah> Hmmm, well I don 17:27 < jrand0m> before putting I2NP out for review, we need to include sample transports so people can see the full picture 17:27 < hezekiah> don't think _I'll_ be building any transports soon. ;-) 17:27 -!- WinBear_ [~WinBear@anon.iip] has joined #iip-dev 17:27 < hezekiah> TCP is working for Java and Python. 17:27 < hezekiah> (At least client-to-router is.) 17:27 < jrand0m> no worry, I'm just putting it out there as a todo for people who want to contribute 17:28 < hezekiah> Right. 17:28 < jrand0m> right, client-router has different requirements than the router-router. 17:28 < jrand0m> ok, anyway, 1.4) dev status 17:28 < jrand0m> how we doing with CBC thecrypto? 17:28 < thecrypto> CBC is committed 17:28 < jrand0m> w00000t 17:28 < thecrypto> CTS is almost done 17:28 < hezekiah> thecrypto: What's CTS? 17:29 < thecrypto> i just have to figure out how to implement i nicely 17:29 < jrand0m> cts being cyphertext stealing :) 17:29 < hezekiah> Ah! 17:29 < thecrypto> CipherText Stealing 17:29 -!- WinBear [WinBear@anon.iip] has quit [EOF From client] 17:29 < jrand0m> did you pull nop's reference on that? 17:29 < hezekiah> OK. We're using CBC with CTS instead of padding. 17:29 < hezekiah> Hmm. 17:29 < thecrypto> basically, it makes the message exaclty right length 17:29 < jrand0m> is that workable for the python side hezekiah? 17:29 < hezekiah> I might need to slap the Python crypto lib I'm using upside the head to make it us CTS properly. 17:30 < hezekiah> I've always prefered CTS over padding, but I don't know what PyCrypt does. 17:30 < jrand0m> what can python do out of the box to allow exact message size recovery? 17:30 < thecrypto> all you need to do is change how you process the last two blocks 17:30 < hezekiah> I have a feeling that library is going to get some serious rewritting. 17:30 < hezekiah> jrand0m: The CBC stuff in python is transparent. You just send the buffer to the AES objects encrypt function. 17:31 < hezekiah> It spits out cipher text. 17:31 < hezekiah> End of story. 17:31 < jrand0m> does D(E(data,key),key) == data, byte for byte, exact same size? 17:31 < hezekiah> So if it has the wacky idea of using padding instead of CTS, then I might need to get in its guts and fix it. 17:31 < jrand0m> (regardless of input size?) 17:31 -!- mihi [~none@anon.iip] has joined #iip-dev 17:31 < hezekiah> jrand0m: Yes. It should. 17:31 < jrand0m> hezekiah> if you could look into exactly what algorithm it uses to do the padding, that'd be great 17:32 < hezekiah> Right. 17:32 * jrand0m is hesitant at requiring a mod to a python crypto lib if the lib already uses a standard and useful mechanism 17:32 < hezekiah> One way or another, CBC with CTS sounds good. 17:32 < hezekiah> jrand0m: This python crypto lib stinks. 17:32 < jrand0m> heh 'k 17:33 < thecrypto> i just have to calculate how to mess with the two blocks 17:33 < hezekiah> jrand0m: ElGamal will need to be completely rewritten in C just to make it fast enough to use. 17:33 < jrand0m> hezekiah> whats the benchmark for python elg of 256bytes? its only done once per dest-dest comm... 17:34 < jrand0m> (if you know offhand, that is) 17:34 < hezekiah> I'd have to test it. 17:34 < hezekiah> Encryption is only a second or two I think 17:34 < jrand0m> < 5 sec, < 2 sec, > 10 sec, > 30 sec? 17:34 < thecrypto> i'll prolly do some work with it 17:34 < hezekiah> Decrypton might be some place between 5 or 10 seconds. 17:34 < jrand0m> cool. 17:35 < jrand0m> hezekiah> have you spoken with jeremiah or do you have any news about the status of the python client api? 17:35 < hezekiah> thecrypto: All you should need to do is write a C module that works with Python. 17:35 < hezekiah> I have no clue what he's been up to. 17:35 < hezekiah> I haven't spoken to him since I got back. 17:35 < jrand0m> 'k 17:35 < jrand0m> any other dev status thoughts? 17:36 < hezekiah> Um, not really from me. 17:36 < hezekiah> I've already explained my current free time status. 17:36 < jrand0m> word. understood 17:36 < hezekiah> My only plans are to get the C API up and the python router back up to spec. 17:37 < jrand0m> 'k 17:37 < hezekiah> Oh my goodness! 17:37 < jrand0m> 1.4) todo 17:37 < jrand0m> si sr? 17:37 < hezekiah> The Python crypto lib doesn't implement CTS or padding! 17:37 < hezekiah> I'll have to do that manually. 17:37 < jrand0m> hmm? it requires data to be mod 16 bytes? 17:37 < hezekiah> Yup. 17:38 < jrand0m> heh 17:38 < jrand0m> oh well. 17:38 < hezekiah> Currently the Python router uses padding. 17:38 < jrand0m> ok. here are some oustanding items that need to get done. 17:38 < hezekiah> I remember that now. 17:38 < hezekiah> Well, let 17:38 < hezekiah> let's be frank about one thing. 17:38 < hezekiah> The Python router is never really meant to be used. 17:39 < hezekiah> It's primarily meant for me to be very familiar with the spec and it also accomplishes something else: 17:39 < hezekiah> It forces the Java router to comply _exactly_ with the spec. 17:39 < jrand0m> both very important goals. 17:39 < hezekiah> Sometimes the Java router doesn't quite comply, and then the Python router screams bloody murder. 17:39 < hezekiah> So it doesn't really need to be fast or stable. 17:39 < jrand0m> plus I'm not sure it won't ever be used in the sdk 17:39 < jrand0m> right. exactly. 17:39 < jrand0m> the python client api is a different thing though 17:39 < hezekiah> The Python client API on the other hand needs to be decent. 17:40 < jrand0m> exactly. 17:40 < hezekiah> But that's jeremiah's problem. :) 17:40 < hezekiah> I've left that to him. 17:40 < jrand0m> the SDK local only routers are client dev use only 17:40 < jrand0m> lol 17:40 < jrand0m> ok, as I was saying... ;) 17:40 < hezekiah> ;-) 17:41 < jrand0m> - we need someone to start working on a small web page for i2p that will be used for putting out the various I2P related specs for peer review. 17:41 < jrand0m> I'd like this to be ready before 9/1. 17:41 < hezekiah> OK. I am stating right now that you don't want me to do that. 17:41 < hezekiah> I'm not a good webpage designer. :) 17:41 < jrand0m> nor I, if anyone here has seen my flog ;) 17:41 < jrand0m> cohesion? ;) 17:41 < hezekiah> lol 17:42 < hezekiah> Poor cohesion, always stuck with the dirty work. :-) 17:42 * cohesion reads the back log 17:42 < hezekiah> ;) 17:42 < jrand0m> heh 17:42 < cohesion> jrand0m: I will do it 17:42 < cohesion> me@jasonclinton.com 17:42 < cohesion> send me the specs 17:42 < jrand0m> 'k, gracias. 17:42 < jrand0m> the specs aren't all done yet. 17:43 < jrand0m> but the contents that will need to be there are: 17:43 < cohesion> well, what you have an what you would like to have put up 17:43 < jrand0m> -I2CP spec, I2NP spec, Polling HTTP Transport spec, TCP Transport spec, Security analysis, Performance analysis, Data structure spec, and a readme/intro 17:44 < jrand0m> (those 7 documents will be in pdf and/or text format) 17:44 < cohesion> k 17:44 < jrand0m> barring the readme/intro 17:45 < jrand0m> I'm hoping that all of those docs will be ready by next week (8/26). will that give you enough time to get together a small page for a 9/1 release? 17:46 < jrand0m> ok. another thing that will need to come down the pipe is an I2P network simulator. 17:46 < jrand0m> do we have anyone looking for a CS project? ;) 17:46 < hezekiah> lol 17:46 < cohesion> jrand0m: yea, that's doable 17:47 < hezekiah> I'm not for another few years. ;-) 17:47 < jrand0m> cool cohesion 17:47 < thecrypto> not for a year 17:47 * cohesion goes back to work 17:47 < jrand0m> tnx cohesion 17:48 < jrand0m> ok, 1.6) next two weeks. on my plate is getting these specs, docs, and analysis up. I'll post & commit as soon as I can. 17:48 < jrand0m> PLEASE READ THE SPECS AND COMMENT 17:48 < jrand0m> :) 17:48 < hezekiah> jrand0m: Right. Once I get time, I will start reading. :) 17:48 < jrand0m> I'd prefer people to post comments to the list, but if people want to be anon, send me comments privately and I'll post replies to the list anonymously. 17:49 < hezekiah> (What do you think the eta for OpenOffice files for the docs being on CVS is?) 17:49 < jrand0m> I can commit the latest revs within 10 minutes of this meeting being over. 17:49 < hezekiah> Awesome. :) 17:50 < jrand0m> ok, thats it for 1.*. 17:50 < jrand0m> 2.x) comments/questions/concerns/rants? 17:50 < jrand0m> how's the sdk mod working out mihi? 17:51 < jrand0m> or anyone else? :) 17:51 < hezekiah> jrand0m: What is this sdk mod you're talking about? 17:52 < jrand0m> hezekiah> two bugfixes to the sdk, commited (& posted) the other day 17:52 < hezekiah> Ah 17:52 < hezekiah> Neato. 17:52 < jrand0m> (rotate the message IDs, synchronize writes) 17:52 < hezekiah> Just the java side, or the python side too? 17:52 < jrand0m> yo no hablo python. 17:53 < hezekiah> lol 17:53 < jrand0m> not sure if the bugs exist there. do you rotate message ids every 255 messages, and synchronize your writes? 17:54 < hezekiah> I think the Python router does both 17:54 < jrand0m> cool. 17:54 < jrand0m> we'll let you know if it doesn't ;) 17:54 < hezekiah> What exactly do you mean by "synchronize your writes"? 17:55 < jrand0m> aka make sure multiple messages aren't written to a client at the same time if there are multiple clients trying to send messages to it at the same time. 17:55 < hezekiah> All the data sent over the TCP connection gets sent in the order it originated. 17:56 < hezekiah> So you won't be 1/2 of message A and then 1/3 of message B. 17:56 < jrand0m> 'k 17:56 < hezekiah> You'll get message A and then message B. 17:56 < hezekiah> OK ... if no one else is going to talk, I suggest we adjurne the meeting. 17:56 < mihi> my simple TCP/IP over I2p seems to work... 17:56 < jrand0m> niiiiice!! 17:56 * mihi was idling a bit sorry 17:57 < hezekiah> Anyone else have anything to say? 17:57 < jrand0m> mihi> so we'll be able to run pserver over that? 17:57 < mihi> as long as you do not try to create lotas connections at once. 17:57 < mihi> jrand0m: i guess so - i could ge tgoogle through it 17:57 < jrand0m> niiiice 17:57 < jrand0m> mihi++ 17:57 < mihi> jrand0m-ava 17:57 < jrand0m> so you have an outproxy and an inproxy? 17:58 < mihi> exactly. 17:58 < jrand0m> cool 17:58 < mihi> the destination needs keys, the source generates them on demand 17:58 * hezekiah hands jrand0m the *baf*er. Smash the thing when you're done, man. 17:58 < jrand0m> right. hopefully co's naming service could help with that once its ready. 17:59 < jrand0m> ok cool. mihi, let me or anyone else know if there's anything we can do to help :) 17:59 < mihi> fix that thing with the 128 msgids or build a better GUARANTEED support 17:59 * jrand0m *baf*s nop_afk over the head for having a real job 18:00 < mihi> jrand0m: baf abuse costs 20 yodels 18:00 < jrand0m> lol 18:00 < jrand0m> better guaranteed support? 18:00 < jrand0m> (aka better performance than the one described? we'll fix that in impl) 18:00 < mihi> did you test my test case with start_thread=end_thread=300? 18:01 < mihi> it generates lots of messages in one direction, and that causes all msgids to be eaten... 18:01 < jrand0m> hmm, no, hadn't seen that message 18:01 < hezekiah> jrand0m: Would it be reasonable to make msgid 2 bytes? 18:01 * jrand0m tried the 200 / 201, but thats fixed with the latest 18:01 -!- cohesion [cohesion@anon.iip] has quit [off to the lug meeting] 18:01 < mihi> which latest? 18:01 < hezekiah> Then they would have 65535 msgids (if you don't could msgid 0) 18:01 < hezekiah> . 18:02 < jrand0m> 2 byte message ids wouldn't hurt. I'm comfortable with that change. 18:02 < jrand0m> mihi> the one I mailed you 18:02 < mihi> if you have a more latest than the one you sent me, send it (or give me cvs access) 18:03 < mihi> hmm, that one fails for me with 200/201 (as well as with 300) 18:03 < jrand0m> hmm. I'll do some more testing and debugging and mail you what I come up with. 18:03 < mihi> thx. 18:04 < jrand0m> ok. 18:04 * jrand0m declares the meeting 18:04 < jrand0m> *baf*'ed 18:04 * hezekiah hangs the *baf*er reverantly on its special rack. 18:05 * hezekiah then spins around walks out the door, slamming it behind him. The baffer falls off the rack. 18:05 < hezekiah> ;-) --- Log closed Tue Aug 19 18:05:36 2003