13:31:20 <nickm> #startmeeting
13:31:20 <MeetBot> Meeting started Wed Dec 10 13:31:20 2014 UTC.  The chair is nickm. Information about MeetBot at http://wiki.debian.org/MeetBot.
13:31:20 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic.
13:31:29 <nickm> Another week, another wednesday, another tor meeting!
13:31:35 <nickm> This might be a short one on my end.
13:31:45 <nickm> I have gotten a lot of stuff done in the last 7 days, but very little of it is coding
13:32:56 <nickm> On the tor side, I wrote up a whole bunch of testing code that isn't ready for daylight yet, and that's about it
13:33:06 <nickm> I hope I cann find time to review a whole load of patches soon
13:33:11 <nickm> But I need to get a libevent release out.
13:33:16 <ioerror> hi nickm
13:33:24 <nickm> Anyone else have some tor hacking?
13:33:26 <nickm> hi ioerror!
13:33:48 <athena> hi nickm: i ... survived another week? finally got that libevent patch in?
13:33:51 <ioerror> i'm working on revising my SocksSocket patch
13:33:57 <nickm> ioerror: awesome!
13:34:02 <ioerror> going slowly, it seems like Mike may want to use it for TBB
13:34:05 <nickm> athena: thanks for that patch
13:34:15 <nickm> ioerror: I'd appreciate it; I bet that it could be useful for Tails too
13:34:22 <athena> (still on the corresponding tor-side stuff...)
13:34:29 <dgoulet> ioerror: and torsocks :D
13:34:46 <ioerror> my main goal is to get it into Tor proper and then torsocks
13:34:50 <ioerror> and then, from there, tbb
13:35:31 <ioerror> i just need to clean the patch up at this point to make it merge and pretty with git tip
13:35:34 <nickm> ioerror: oh hey, since you're here...
13:35:56 <nickm> do you have the permissions to make the google code torsocks page close down, or redirect to the right torsocks repo, or whatever?
13:35:59 <nickm> or did you already do that?
13:36:13 <ioerror> oh, right, i keep forgetting to shut that down
13:36:25 <ioerror> how should i do that? just point it to our new repo?
13:36:31 <nickm> Sounds good to me.
13:36:38 <ioerror> if we remove it entirely, i fear someone will clone + make evil repo
13:36:43 <nickm> fair enough
13:36:57 <ioerror> alternatively, i can give it to dgoulet
13:37:02 <ioerror> could be a useful mirror for the code
13:37:09 <ioerror> (but please file bugs on... this website over here)
13:37:31 <ioerror> (I am dealing with it now  - dgoulet do you want to own the project?)
13:37:33 <dgoulet> ioerror: sure, keeping it seems a very good idea here
13:37:45 <dgoulet> ioerror: no problem for me to mirror the code there
13:37:55 <nickm> thanks guys
13:37:56 <ioerror> ok - please tell me your google id
13:38:05 <nickm> athena: any way I can help on the tor monotonic stuff?
13:38:26 <dgoulet> ioerror: pm it to you
13:39:40 <ioerror> sorry, irssi segfaulted because of this awful otr module
13:39:50 <ioerror> dgoulet: i didn't get your id
13:40:01 <athena> it's pretty close to done; you probably have more epxerience writing autoconf tests for whether we have the relevant libevent support though
13:40:14 <dgoulet> ioerror: you should use the latest one, it fixes quit of stuff :), sending it back to you
13:40:17 <nickm> athena: ooh ooh ooh.  Want to pair-program the autoconf tests?
13:40:40 <athena> maybe?
13:41:41 <ioerror> dgoulet: ok
13:41:50 <nickm> ok.  I can do it myself if that doesn't work for you, but I actually kind of enjoy autoconf hacking sometimes
13:42:16 <nickm> and enjoy sharing it with others
13:42:31 <nickm> it's pretty easy once you grok the fact that you're programming in 4 languages at once, all quoting each other in silly ways
13:43:03 <Yawning> nickm: are you one of those people that also likes to configure sendmail?
13:43:07 <nickm> Or maybe I have stockholm syndrom about autoconf
13:43:29 <nickm> Yawning: no, but I do enjoy metaprogramming.  I am trying very hard not to look at haxe; I think it might eat my life if I do.
13:43:33 <nickm> Anyways, topic drift.
13:43:38 <nickm> Who else has something for today?
13:43:45 <athena> sure - maybe tomorrow around noon your time or so?
13:43:57 <athena> (i used to hack sendmail.cf by hand too)
13:44:10 <nickm> hmm.  Are you free a bit earlier?  I'm having lunch with a friend from out of town around then.
13:44:12 <Yawning> athena: (me too, then I discovered postfix >.>)
13:44:14 <nickm> Like, 10am my time
13:44:16 <nickm> ?
13:44:24 <nickm> or is that too early?
13:45:42 <athena> 10 AM your tme?
13:45:44 <athena> sure
13:45:54 <nickm> great.  I believe that is 1500 UTC
13:46:03 <ioerror> what is the new url for torsocks dgoulet?
13:46:16 <ioerror> (dgoulet is now the torsocks admin along with me on googlecode)
13:46:23 <ioerror> do we have a new home page?
13:46:23 <dgoulet> ioerror: https://gitweb.torproject.org/torsocks.git/
13:46:27 <ioerror> no, i mean, home page
13:46:45 <dgoulet> ioerror: no, I think the best home page is the Torsocks wiki page but a bit out of date unfortunately :(
13:46:52 <ioerror> if you go to https://code.google.com/p/torsocks/adminAdvanced - you can see
13:46:58 <dgoulet> https://trac.torproject.org/projects/tor/wiki/doc/torsocks
13:47:00 <ioerror> i used "poroject moved"
13:47:14 <nickm> So, who else has a tor thing to talk about?
13:47:16 <ioerror> https://code.google.com/hosting/moved?project=torsocks
13:47:21 <ioerror> hope that is good for everyone
13:47:33 <ioerror> nickm: i have a question about this dirauth bug
13:47:46 <nickm> the oom thing?
13:47:46 * teor is alive
13:47:50 <nickm> hi teor
13:47:51 <dgoulet> ioerror: ack, it works thanks
13:48:01 <ioerror> nickm: yes
13:48:11 <ioerror> nickm: is thre anything useful that i can do there?
13:48:16 <ioerror> nickm: my tor is still running
13:48:19 <athena> it is, i think, and 1600 here
13:48:38 <nickm> I'd love to have a tor running with some kind of instrumented malloc that will tell us where the bytes are being allocated at.
13:48:43 <nickm> s/tor/authority/
13:48:47 <nickm> that would help diagnose this.
13:49:11 <nickm> I think I am also going to add some directory authority stuff to the list of things that the OOM handler looks at
13:49:12 <ioerror> if you can guide me, i can try
13:49:13 <teor> hi nickm, everyone
13:49:29 <nickm> ioerror: I am probably not the right person for that today, but I bet others can
13:49:35 <ioerror> nickm: i mean, anytime
13:49:49 <nickm> (can anybody volunteer to get ioerror set up with a debugging maloc that tells him where the bytes are being allocated?)
13:50:07 <nickm> (Also, I need to leave in about 20 minutes to get my kid to the doctor's)
13:50:29 <nickm> teor: thanks for all the working on stuff!  I see that you're nearly done, and are mostly just cleaning up commits?
13:51:44 <teor> Yeah, I could try to solve #13839, but TestingDirAuthVoteExit from #13161 is a great interim fix
13:52:38 <teor> But the requested behaviour works: chutney can launch a tor network that bootstraps correctly when there are no exits.
13:52:57 <teor> (That is, the behaviour requested in #13718)
13:53:53 <teor> It would be nice for us to then have authorities vote Exit (quickly and correctly), which is #13839
13:54:09 <dgoulet> ioerror: if you want to hijack malloc to find memleak or follow allocations or ..., you can start with this simple lib here, very useful and easy to change for what you want also https://github.com/efficios/memleak-finder
13:54:27 <ioerror> dgoulet: hrm, that isn't quite going to work for me
13:54:41 <nickm> So for #13718, are you no longer thinking of a Tor patch to change how we see if the network is ready for circuits?
13:54:55 <teor> So I think I'll have a look at the Exit vote issue, and see if it's something simple like uptime (which we could ignore in a TestingTorNetwork)
13:55:16 <nickm> ok
13:55:41 <teor> nickm: to get the bootstrap behaviour, we need to change how we check if the network is reayd for circuits
13:56:14 <nickm> So, did you see armadev 's comments there?
13:56:16 <teor> per arma's suggestion: if the consensus contains no exits, we bootstrap and launch internal paths only
13:56:48 <nickm> I think he actually suggested that we _not_ have two notions of "ready for circuits"...
13:57:03 <nickm> but instead we change the rule so that if there are no exits at all, we count as ready.
13:57:10 <teor> this is enough for the next consensus to then contain relays that have performed reachability self-tests using internal circuits
13:57:27 <teor> Yes, that is what the code does in the latest incarnation
13:57:54 <nickm> great
13:57:57 <teor> For each consensus, we make a call on whether we expect exit paths or not
13:58:18 <teor> If we can't exit, then we count as ready as soon as we con establish an internal path
13:58:34 <teor> If we can exit, the behaviour is the same as previous versions
13:59:26 <nickm> great
13:59:45 <teor> But for each consensus, all circuits are launched at the same time (there is no "launch internal" then later "launch external", which was arma's concern re: tricking descriptors to manipulate client behaviour and disclose circuit pruposes)
14:00:00 <nickm> great
14:00:06 <teor> so I think we are all on the same page here :-)
14:00:14 <nickm> excellent
14:00:27 <nickm> any questions I can help with before I get my kid to the doctor's? :)
14:00:40 <nickm> (Anybody else with questions I can help with before I get my kid to the doctor's?)
14:00:54 <teor> no, I just need to review my code, split into sensible commits, and write changes files and tests :-)
14:01:09 <teor> tests could be hard here, as there are so many moving parts
14:01:20 <teor> but that's not really a question
14:03:11 <nickm> okay.  It's fine to day "i just hit the point of diminishing returns with tests" on some of this IMO.
14:03:12 <teor> (I will have questions as I encounter each "hard part to test". Nothing urgent.)
14:03:19 <nickm> ok
14:03:21 <nickm> Anybody else?
14:03:40 <ioerror> nickm: do you think i should make tests for sockssocket?
14:04:11 <teor> nickm: we're also testing bootstrap behaviour, not live network behaviour. So that helps.
14:07:10 <nickm> ioerror: If you can, yes.  If it's too confusing, get help.  This code is not easy to write tests for
14:07:18 <nickm> Like, I would find it tricky to do
14:07:36 <nickm> I think that testing what you can is important
14:07:44 <nickm> not sure if this answers your question :/
14:08:22 <teor> Sometimes, testing the 80% you can test easily, gives you more time to review the 20% you can't test
14:08:32 <nickm> yeah
14:08:44 <nickm> anything else for us to talk about today? /me has about 2 minutes
14:09:14 <teor> How do I coordinate commits between tor, torspec, and chutney?
14:09:23 <ioerror> nickm: ok, so perhaps no then :)
14:09:47 <teor> Just list all the branches in the same trac bug?
14:09:50 <nickm> teor: I'd suggest having a branch for each project with the same name, and when you mention them on a ticket, mention them all?
14:10:00 * nickm has to go in 1 minute
14:10:07 <nickm> #endmeeting