/srv/irclogs.ubuntu.com/2012/06/08/#launchpad-dev.txt

lifelesshttp://arstechnica.com/security/2012/06/flame-crypto-breakthrough/01:34
lifelesscjwatson: ^01:34
mwhudsoni.e. it was NSA wot did it?01:34
lifelesssomething like01:35
mwhudsoni like the first comment:01:35
mwhudsonIt is going to be both funny and sad if it turns out this thing was written by some 15 year old in his parent's basement.01:35
cjwatsonI wonder how well the maths behind that will transfer to the SHA family :-/02:38
wgrantcjwatson: SHA-1 perhaps, but isn't SHA-2 fairly different?02:40
wgrantBut I guess if it's an entirely novel form of the attack it may have some relevance.02:44
cjwatsonThey're similar enough for the multicollisions approach to still apply.02:44
cjwatsonAll the current hash families aside maybe from some elliptic curve ones have roughly the same general shape.02:45
cjwatsonWhich isn't to say that it wouldn't be quite a bit more world-class maths to transfer it ...02:46
wgrantIndeed.02:46
cjwatsonMy general takeaway from hash developments over the last ~10 years is that every deployed system needs a structure for moving to new hashes, anyway.02:48
cjwatsonSo meh :-)02:48
cjwatsonPretty surprised Microsoft is still vulnerable to MD5-based attacks, though.02:49
cody-somervilleI'm curious. Might be a stupid question but why would the flame malware have this new world class crypto breakthrough in it anyhow? AFAIU, even though it's been discovered how to crack md5 it still takes a little while plus why would you need the crypto breakthrough in the malware yourself? Wouldn't you just use the math to create the fake cert then you use that to sign stuff?02:49
mwhudsoni was wondering that02:50
mwhudsoni think that the deduction that a new approach was used by looking at the way the form the colliding data has02:51
mwhudsonreading between the lines of http://www.cwi.nl/news/2012/cwi-cryptanalist-discovers-new-cryptographic-attack-variant-in-flame-spy-malware02:51
mwhudsonso there's not a novel md5 collision generating algorithm in flame02:51
cjwatsonAh, it's only Terminal Server that's still MD5y02:52
wgrantThe collision code isn't in flame.02:52
wgrantThey were just able to determine it was novel from the cert it uses.02:53
wgrantThe known attacks are fairly distinctive :)02:53
wgrantwallyworld: Thanks for cleaning that up.04:10
wallyworldhad to be done04:11
cjwatsonwgrant: Have you had a chance to look at my queue-api branch?04:46
wgrantcjwatson: A little. Have you considered the performance impact of the additional exported properties on PackageUpload?05:02
wgrantUnless they're preloaded they will likely make it impossible to call getPackageUploads05:02
lifelesscjwatson: I want to talk to you about deb deltas05:17
lifelesscjwatson: are you up for a while, or is your circadian rhythm not ?05:18
cjwatsonwgrant: I haven't.  Advice welcome05:22
cjwatsonlifeless: Meh - I'm kind of here but mostly in a "hacking until my brain lets me go back to sleep" kind of way05:22
cjwatsonSo maybe now isn't the ideal time for deep thought05:22
lifelesscjwatson: ok, ping me when we cross paths and you're up for deep though05:23
lifelesst05:23
cjwatsonlifeless: OK - can you send me an e-mail reminder?05:23
lifelessyes, when I'm not quite so crook05:23
cjwatson(Then at least it can get lost in the depths of my inbox as well as the depths of my brain ...)05:23
* cjwatson nods05:23
StevenKlifeless: You have the entire weekend to be sick now :-P05:25
StevenKlifeless: Do you know anything about stub's GIN work?05:27
cjwatsonwgrant: Is DecoratedResultSet(query, pre_iter_hook=...) the mechanism for this?05:27
cjwatsonI find storm a little difficult to navigate unassisted.05:28
StevenKWelcome to the club05:28
bigjoolsit's not the most pleasant code05:28
StevenKEverytime I get a traceback in the depths of Storm, I tend to yell for help05:28
wgrantcjwatson: Yeah.05:28
wgrantNote that DRS is one of our layers on top of Storm.05:29
wgrantStorm rejected it.05:29
wgrantStevenK: What about GIN?05:29
StevenKwgrant: DB r11636 is up next -- [r=stub][bug=306201][incr] Switch BugTaskFlat.fti index from GiST to GIN05:30
StevenKBut then DB r11640 says --- [r=stub][bug=1007333] pgstattuple doesn't support GIN indexes, so don't do that05:31
wgrantStevenK: Bah, I typoed the deployment request05:31
wgrantShould be 1163905:31
* wgrant fixes.05:31
StevenKwgrant: Haha, what did you have?05:31
wgrant1164005:31
StevenKWCPGW05:32
wgrantNothing at all, since I believe 11640's was probably applied live.05:32
wgrantBut I'm not sure.05:32
wgrantPart of 11636 was as well, but not all.05:32
StevenKWe can probably check that and make db-stable's deployment report a bit happier?05:33
* StevenK stabs wallyworld.05:33
StevenKJust when I want him, he buggers off.05:34
StevenKwallyworld_, wgrant: Test fixes for branch-subscribe-aag and checking that the reviewer isn't an open team for private branches: http://pastebin.ubuntu.com/1029885/05:48
* wallyworld_ looks05:49
wallyworld_StevenK: test_open_reviewer_private_branch, i'd like to see test_closed_team_reviewer_private_branch also even thoug the functionality is implicitly tested elsewhere, it would be good to have the two matching tests for this together05:54
wallyworld_StevenK: also, add a comment to _acceptable_to_give_visibility05:54
lifelesswgrant: I don't know that DRS was ever offered to storm05:54
wgranthttp://comments.gmane.org/gmane.comp.python.storm/131905:55
lifelessoh right05:57
lifelessso yes, I remember, and disagree with them :)05:57
StevenKwallyworld_: http://pastebin.ubuntu.com/1029896/ should address both comments.05:59
wallyworld_StevenK: thanks, looks good06:00
wallyworld_StevenK: i have to go to soccer - i can +1 your mp when i get back06:18
cjwatsonwgrant: Well, http://paste.ubuntu.com/1029949/ demonstrates the problem, but adding more load_referencing/load_related doesn't seem to reduce the query count that the test complains about, so I must be doing something wrong ...06:37
StevenKwallyworld_: It already was, I've tossed it to ec206:38
cjwatson(The test output is http://paste.ubuntu.com/1029951/, which does look like a moderately plausible set of queries that might be happening here)06:40
wgrantcjwatson: Those load_relateds should be sufficient (Reference columns look up by primary key, so if an object is already in Storms cache it won't cause a DB query), but the load_referencing things aren't, since the problematic properties issue queries directly or use a ReferenceSet or SQLMultipleJoin, none of which can be cached in Storm currently.06:40
wgrantSo you need to use @cachedproperty06:40
wgrantAnd populate the property cache explicitly with the result of load_referencing06:41
wgrantAnd then sob.06:41
wgrantcjwatson: eg. search for load_referencing in lib/lp/registry/vocabularies.py06:41
cjwatson... I think I need sleep, then caffeine, then food, then beer, *then* to attack this06:42
cjwatsonBut thanks, that's exactly the kind of reference I was looking for06:42
wgrantHeh06:43
wgrantcjwatson: PersonSet._getPrecachedPersons may also be of interest.06:50
wgrantcjwatson: It's one of the earlier cases of this, so it's a bit terrible but roughly a sort of correct idea.06:51
jamHey all, I'm getting a timeout trying to submit a merge proposal: The following errors were encountered: Timeout error, please try again in a few minutes.07:04
jamis there a downtime I'm unaware of?07:04
wgrantjam: No, that's a bug.07:04
wgrantWhat's the OOPS ID?07:05
jamwgrant: no oops07:05
wgrant(perhaps check the AJAX log in the top right corner.07:05
jamjust failure07:05
wgrantThere is an OOPS07:05
jamand it just succeeded :(07:05
wgrantIt might just not be shown.07:05
jamI reproduced it 3 times, but yeah, no log of the oops for me to go check.07:05
jamI'll try back, but I think that will wipe ajax stuff07:05
jamyeah07:06
adeuringgood morning07:50
jtvHi adeuring07:52
adeuringhi jtv07:52
stubTest fix mode due to  lp.services.job.tests.test_celeryjob.TestRunMissingJobs.test_find_missing_ready on db-devel09:00
stubPretty certain it is spurious - no sampledata landings in the timeframe and test passed on devel09:02
=== adeuring changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: adeuring | Firefighting: - | Critical bugs: 3.47*10^2
=== allenap` is now known as allenap
* jml feels dumb for not running tests on db-rename-archive-commercial-to-suppress last night09:45
jmlhmm. last build failed. looks like a network error.09:45
jmlhttps://lpbuildbot.canonical.com/builders/lucid_db_lp/builds/2028/steps/shell_5/logs/stdio09:46
gmbadeuring, Do you have time to review https://code.launchpad.net/~gmb/launchpad/bug-1009712/+merge/109315 ?09:56
adeuringgmb: sure09:56
gmbThanks09:56
adeuringgmb: the feature retlaed changes look good. but what is test_noise supposed to do?10:02
gmbadeuring, Wups, that wasn't meant to be there. I'll remove it.10:03
adeuringgmb: ok, then r=me10:03
gmbDanke.10:06
jmlgrr.10:20
jmldatabase patches aren't hard, but iterating on them is a pain.10:20
stubIs the estimated time before a build completes based on all builds, or successful builds?10:37
wgrantstub: Successful10:40
rick_hrvba: oops sorry, thought you guys were using 3.5 for some reason.10:46
czajkowskirick_h: you're up early11:00
rick_hnaw, this is pretty normal for me11:03
rick_hjust normally quiet reading email and MP stuff for the first bit :)11:04
rvbarick_h: no worries.  Thanks for the review.11:10
jmlmay I have another db patch number please?11:23
jmlhttps://code.launchpad.net/~jml/launchpad/remove-archive-commercial/+merge/109332 is an easy MP, btw.11:23
lifeless_jml: you can self allocate these days11:24
jmllifeless_: I'm not in ~launchpad11:25
jmllifeless_: so I don't have write access to the branch in which patch numbers are allocated.11:25
stubjml: Gimme a short comment for the log11:25
jmlstub: "Add column to Distribution controlling who can create private PPAs"11:25
stubjml: 2209-22-111:26
jmlstub: thanks.11:26
evare there any plans to support OAuth 1.0a in launchpadlib? Specifically, oauth_callback.11:27
jmlev: not that I know of.11:29
=== jelmer_ is now known as jelmer
evjml: cheers11:30
=== matsubara is now known as matsubara-lunch
jmldb patch up for review: https://code.launchpad.net/~jml/launchpad/db-distro-level-ppa-privacy/+merge/10933612:03
jmllifeless_: if you're still kibbitzing, you might be interested in that.12:03
StevenKjml: You want stub for that12:05
jmlStevenK: sure. but lifeless has been involved in implementation discussions, and might want to be sure that I'm doing what we agreed on, rather than what I think we agreed on12:05
wgrantjml: You want to talk to sinzui.12:14
wgrantjml: That DB patch is probably incorrect.12:14
jmlwgrant: I thought I had.12:14
jmlanyway.12:14
jmlwgrant: I'll talk to him again.12:14
wgrantIt's not really anything to do with the distro.12:14
jmlit is now :)12:15
wgrantHow?12:15
wgrantWe generally grant private PPAs to people with commercial subscriptions.12:16
wgrantNot because they are vaguely related to some distro.12:16
wgrantIt's not a security-sensitive option.12:16
wgrantSo it makes little sense to have it as a distro-delegated operation.12:17
wgrantSimilar to the way we now let anybody with a commercial subscription create a private team.12:18
wgrantWhich implicitly has private PPAs.12:18
jmlGrr.12:19
jmla) lifeless said "make a new celebrity". I don't know how it became "add a column" in my notes.12:20
jmlb) I emailed launchpad-dev about this 5 weeks ago. No one replied.12:21
wgrantjml: The thread about the technical bits of protecting it differently in the Zope security model?12:23
wgrantI don't recall a thread about how it should be modelled.12:24
jmlwgrant: right, the one titled "permissions for creating private objects"12:26
jml(there was also the email to stakeholders in Jan asking if there'd be "any problems with a PPA having, say, 100,000 subscribers?", but that's a different badger)12:27
jmlsinzui: are you around?12:27
wgrantjml: Well, that thread didn't go near deciding who can do it. It was around the probably impossible problem of doing it cleanly in the Zope security model.12:31
wgrantI suspect nobody replied because anybody with an opinion already knows it's hopeless.12:31
jmlwgrant: it opened describing our planned approach. if it was incorrect, that was the time to tell us so.12:32
wgrantOh12:32
wgrantIndeed, the second paragraph of the first email mentions the celebrity approach.12:33
wgrantMissed it among the other 20 paragraphs of hopeless Zopeness :)12:33
wgrantSorry.12:33
wgrantSo, a celebrity is a lightweight and potentially sensible approach for now.12:33
wgrantA DB column is not.12:33
jmlI put it first (just after what we're trying to achieve) because it was most important (after what we're trying to achieve)12:33
wgrantBut sinzui is Lord of Entitlement.12:33
jmland is apparently not around.12:35
wgrantIt's not quite 9am for him yet.12:35
* czajkowski peers at wgrant how are you still awake !12:35
wgrantI'm waiting to talk to a US user who is making several million API requests a day.12:36
czajkowskiwgrant: ah lovely that reminds me12:37
jmlsinzui: I'm getting some food. ping me when you're around and want to talk about creating private PPAs.12:38
=== garyposter is now known as gary_poster
=== _mup__ is now known as _mup_
cjwatsonwgrant: queue-api: I've converted some of the expensive properties into methods, and arranged to preload everything else.  I think that should address your performance concerns.14:22
cjwatson(Where "everything else" was just the referencing PackageUpload{Source,Build,Custom} objects.)14:23
jmlsinzui: ping15:09
sinzuihi jml15:09
jmlsinzui: hi15:09
jmlsinzui: I'd like to change LP so I can create private PPAs without being in commercial_admin15:10
jmlsinzui: consensus from other LP devs is that I should create a new celebrity team that includes everyone who is allowed to do this.15:11
sinzuijml: Yes, I think that meets your needs.15:11
jmlsinzui: ok. is this in line with other entitlement / privacy work going on?15:12
sinzuijml: its orthogonal. for entitlement...I think any user/team that maintains a project  with a  commercial subscription can create a p3a.15:13
sinzuiI do not think your rules to maintain the system should be connection to user entitlement15:13
jmlsinzui: well, then why bother making a celebrity team? why don't I just query to see if they maintain a project with a commercial subscription?15:13
jmlsinzui: in fact, why don't I just assume that if they have a private team they can make private PPAs?15:14
sinzuijml: private teams can only have p3as. maybe I misunderstand you15:14
jmlhmm. thinking...15:15
sinzuijml: but your statements are true. both will work15:15
sinzuiWe do not dismantle private teams when subscriptions expire15:16
* sinzui has no idea to handle that case15:16
jmlsinzui: so, AIUI, currently if you're creating a PPA under a private team you also need to have launchpad.Commercial to make it private.15:16
jmlsinzui: which is silly, I think.15:16
sinzuioh, jml, there is a method, maybe on personset that will tell you of the user has commercial privs15:16
jmlsinzui: sorry, I shouldn't have said launchpad.Commercial, I should have said "in commercial admin"15:17
sinzuijml. I hope not...that would be a bug. private teams can not have public ppas15:17
jmlsinzui: well I think it's just that you're not allowed to create any PPA. Let me check15:17
sinzuithat too would be a bug. Any team can have a ppa, private teams are p3a. public teams may only have p3a when someone intervenes.15:18
jmlok.15:19
jmlI think it is a bug (validatePPA doesn't bother checking the privacy status of the owning team, it just checks admin & commercial_admin)15:19
jmlsinzui: so now we need some way to say who is allowed to create private PPAs on public teams15:20
jmlsinzui: and I guess that can be a celebrity15:20
jmlsinzui: but if there's already some mechanism in Launchpad saying "they've paid for super-powers" then I'd rather use that.15:20
jmlanyway15:20
sinzuiah, I agree15:20
sinzuiif the user paid for privs, he should see the checkbox or API to make the archive private15:21
* sinzui is still hunting for the method that checks if the user have paid for privs15:21
=== matsubara-lunch is now known as matsubara
jmlsinzui: of course, this sort of assumes commercial is all-or-nothing.15:23
jmlsinzui: I guess that's an OK assumption.15:23
sinzuijml: please assume that15:23
sinzuiwe want this very simple for users and us to understand15:23
sinzuiif you find a contradiction, we need to fix it15:23
jmlsinzui: ok, thanks. let me know if you find that API15:29
sinzuijml, person.checkAllowVisibility() is checks if the user has permission to make things private. It is used to know when to show users the the team visibility field. It would also apply to p3as15:29
jmlsinzui: thanks.15:34
jmlsinzui: please verify: https://code.launchpad.net/~jml/launchpad/db-distro-level-ppa-privacy/+merge/109336/comments/23498715:54
sinzuijml that is correct with one subtle point you might find in the code...I think we mean users = team admin in some cases.15:56
sinzuiuser ~= team admins15:56
sinzuiI do not think team members can create ppas15:56
jmlsinzui: I think they can.15:57
jmlhmm.15:58
jmlmaybe not.15:58
* jml can't seem to log in to staging.15:59
jmlsinzui: qastaging uses a different db to prod, right?16:09
sinzuijml: yes, and it is months older :(16:10
jmlsinzui: you can create PPAs over the API without being a team admin.16:10
jmlsinzui: but not in the UI16:10
sinzuiI think that contradicts ui16:10
sinzuiyep16:10
sinzuiThat is a bug, but I do not know how disruptive it is to fix16:11
jmllbyl bites again.16:11
sinzuiI do not think there is a bug about this. I image it would only exist if teams felt that team privs were being abused16:12
jmlwell, it's something we might fix as a follow up, or as a drive-by, but we'll preserve the existing behaviour all things being equal16:14
sinzuijml: I agree. I would not fix this without an audit of the db16:14
jmlsinzui: how come?16:14
sinzuiCanonical and other commercial users may be taking advantage of this bug.16:15
sinzuijml: I don't this I could audit this case. We do not know who created the archive. So I think this issue requires a conversation with PES and openstack16:18
jmlsinzui: fair enough.16:19
evBefore I go too far down the rabbit hole, what's the suggested approach for logging into Launchpad with existing OAuth credentials from a web client?16:20
evShould I use Launchpad.login_with and a CredentialStore subclass that provides the already obtained oauth_token and oauth_token_secret?16:20
evthe existing documentation creates a Launchpad() object from the default constructor with now-missing arguments (https://help.launchpad.net/API/launchpadlib)16:20
everr rather: https://help.launchpad.net/API/launchpadlib#Authenticated_access_for_website_integration16:21
sinzuiev: I am not very familiar with the OAuth code, but I write a lot of API scripts. I think the subclass approach is right so that scripts can be adapted or be written support multiple stores16:25
evsinzui: multiple stores? This is only ever going to use cookies. Or have I misread?16:26
evback in a bit, it's toasting the new office time16:26
sinzuiev, As a tester, I would like to switch which cookies I am using.16:26
nigelbrick_h: Hey, you around?16:47
rick_hnigelb: sure, what's up?16:47
nigelbrick_h: Hey, when you worked on SA, what did you guys do for db migration?16:48
rick_hwe used sqlalchemy-migate but I16:48
rick_h've got on my todo to port my app over to alembic16:48
nigelbah16:48
rick_hand squash down the migations/etc16:48
nigelbrick_h: thanks! I look up both of them :)16:50
rick_hnigelb: yea, definitely suggest alembic, it's done by the SA author so it'll be kept in sync/etc much better16:51
rick_hnigelb: and he looked at django's south so should be a bit 'learned' from the competition16:51
nigelbheh16:51
bdmurraysinzui: so I tried testing via bin/test -vvc --layer=YUI per your suggestion and I keep getting tests timing out16:58
sinzuiThat is odd. The tests run in a few minutes for me16:58
sinzuimaybe you are missing dep16:58
rick_hbdmurray: what's the exact error? It might be that you didn't run the build steps or failed to setup16:58
rick_hbdmurray: try manually running make jsbuild16:59
bdmurrayAssertionError: JS timed out16:59
sinzuiah, right, the build files need to be on the filesystem16:59
rick_hright16:59
evsinzui: ah, good point. Thanks for the tips!16:59
sinzuibdmurray, you can test any YUI module in your browser: xdg-open lib/lp/app/javascript/tests/test_lp_links.html17:01
sinzuiif your browser cannot run the test, the tree was not build right17:01
bdmurrayokay thanks, make jsbuild seems to have helped17:02
rick_hawesome17:02
=== salgado is now known as salgado-afk
=== matsubara is now known as matsubara-afk
=== lifeless_ is now known as lifeless
lifelesshttp://www.infoq.com/presentations/Storm21:17
jelmer'morning lifeless21:23
lifelesshi jelmer21:36

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!