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

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

{% endblock %}