On Mon, Aug 9, 2010 at 11:26, Jerome Velociter <[email protected]> wrote:
> Seems some content is missing. The summary refers to "XWiki JavaScript API" > and "XWiki API Reference" pages, but they do not appear in the body of the > mail. > > Anyone knows what could cause this ? > [Message clipped] View entire message<?ui=2&ik=62926b1305&view=lg&msg=12a44457dabbe100> The message is trunked. > > Jerome. > > > ----- Forwarded Message ----- > From: [email protected] > To: [email protected] > Sent: Friday, August 6, 2010 12:00:18 AM GMT +01:00 Amsterdam / Berlin / > Bern / Rome / Stockholm / Vienna > Subject: [xwiki-notifications] XWiki updates, 9 documents have been > modified since 2010/08/05 00:00 > > > > > Contents > > > • dev > • Community > • Release Plans > • Release Plans Archives > • IRC > • IRC Archive for channel #xwiki > • platform > • DevGuide > • XWiki API Reference > • XWiki JavaScript API > • xwiki > • XWiki > • ChristophDewes > • JarbasJunior > • guenter > • pmarzouk > Hello Developers, > > This message is sent by XWiki. Here are the documents in your watchlist > that have been modified since the last notification: > dev > > Community > > Release Plans > Community.ReleasePlans > > > On 2010/08/05 13:49, the document has been modified by Thomas Mortagne > > > > > * [[API doc>>http://platform.xwiki.org/xwiki/bin/view/DevGuide/API]] > ([[core>> > http://maven.xwiki.org/releases/com/xpn/xwiki/platform/xwiki-core/]] > [[rendering>> > http://maven.xwiki.org/releases/org/xwiki/platform/xwiki-core-rendering-api/]]) > doc>>http://platform.xwiki.org/xwiki/bin/view/DevGuide/API]] > |= Release notes |= Update download page |= News on OW2 |= News on > xwiki.org |= API doc (core rendering) |= Wikipedia |= Freshmeat |= > Wikimatrix |= ANN Mail > = 2.3.2 = > (% style="width: 100%;" %) > |=(% colspan="3" %)Update translations > |= CORE |= XE |= WYSIWYG > | x| x| x > (% style="width: 100%;" %) > |=Module |= Version |= Jira |= Maven |= OW2 > | xwiki-core | 2.3.2| x| x| - > | xwiki-plugin-skinx| 1.13.1| x| x| - > | xwiki-platform-web | 2.3.2| x| x| - > | xwiki-product-enterprise | 2.3.2| x| x|x\\ > | xwiki-product-enterprise-manager| 2.3.2| x| x|x > (% style="width: 100%;" %) > |= Release notes |= Update download page |= News on OW2 |= News on > xwiki.org |= API doc (core rendering) |= Wikipedia |= Freshmeat |= > Wikimatrix |= ANN Mail > |x|x| x|x| x|x| x|x|x > author: xwiki:XWiki.Sergiu > xwiki:XWiki.ThomasMortagne > Release Plans Archives > Community.ReleasePlansArchives > > > On 2010/08/05 13:49, the document has been modified by Thomas Mortagne > > > > > = 2.3.2 = > > (% style="width: 100%;" %) > |=(% colspan="3" %)Update translations > |= CORE |= XE |= WYSIWYG > | x| x| x > > (% style="width: 100%;" %) > |=Module |= Version |= Jira |= Maven |= OW2 > | xwiki-core | 2.3.2| x| x| - > | xwiki-plugin-skinx| 1.13.1| x| x| - > | xwiki-platform-web | 2.3.2| x| x| - > | xwiki-product-enterprise | 2.3.2| x| x|x\\ > | xwiki-product-enterprise-manager| 2.3.2| x| x|x > > (% style="width: 100%;" %) > |= Release notes |= Update download page |= News on OW2 |= News on > xwiki.org |= API doc (core rendering) |= Wikipedia |= Freshmeat |= > Wikimatrix |= ANN Mail > |x|x| x|x| x|x| x|x|x > > parent: Scheduler.ReleasePlans > ReleasePlans > author: xwiki:XWiki.Sergiu > xwiki:XWiki.ThomasMortagne > IRC > > IRC Archive for channel #xwiki > IRC.xwikiArchive20100805 > > > Between 2010/08/05 01:24 and 2010/08/05 21:48, the document has been > modified 3 times, by 1 user: Sergiu Dumitriu > > > > > #includeForm("IRC.IRCArchiveClassSheet") > IRC.IRCArchiveClass > channel: > > > #xwiki > content: > > > abusenius left at 01:24 (Quit: Konversation terminated! > sdumitriu left at 02:23 (Ping timeout: 240 seconds > tsziklay left at 03:12 (Quit: ChatZilla 0.9.86 [Firefox > 3.6.8/20100722155716] > boscop_ joined #xwiki at 03:53 > boscop left at 03:56 (Ping timeout: 265 seconds > MartinCleaver left at 04:35 (Quit: MartinCleaver > venkatesh joined #xwiki at 05:49 > kibahop joined #xwiki at 08:27 > LadySerena left at 08:36 (Quit: Time to sharpen my claws! > asrfel joined #xwiki at 08:41 > sdumitriu joined #xwiki at 08:52 > Enygma` joined #xwiki at 08:52 > mflorea joined #xwiki at 08:56 > lucaa joined #xwiki at 08:56 > florinciu joined #xwiki at 09:05 > tmortagne joined #xwiki at 09:06 > tmortagne left #xwiki at 09:06 > mflorea left at 09:21 (Quit: Leaving. > tmortagne joined #xwiki at 09:23 > mflorea joined #xwiki at 09:24 > vmassol joined #xwiki at 09:32 > mflorea - (09:36): guys, how can I delete a translation of a wiki page? > tmortagne left at 09:36 (Quit: Leaving. > sdumitriu - (09:37): mflorea: Add ?language=xz in the /delete/ URL > tmortagne joined #xwiki at 09:38 > mflorea - (09:38): let me try > sdumitriu - (09:38): Works only if that’s not the default language of the > document > ztane - (09:48): how do I get the password reset dialog working on a > private wiki? :) > vmassol left at 09:50 (Quit: Leaving. > KermitTheFragger joined #xwiki at 09:54 > tmortagne - (09:54): sounds like a long proposal :) > mangroovie joined #xwiki at 09:54 > ztane - (09:56): hmm maybe should go for ldap > sdumitriu - (09:56): ztane: Private = forbid unauthenticated view? > ztane - (09:57): yes > ztane - (09:58): enterprise extranet wiki :)) > cjdelisle - (09:59): It has been a long time coming. Oddly enough there > aren’t a real lot of services provided. > ztane - (09:59): do not want anything to leak out to nonauthorized, except > the password reset form > jvdrean joined #xwiki at 10:04 > sdumitriu - (10:11): ztane: Sorry, that’s not possible yet > sdumitriu - (10:12): Preventing unauthenticated access really prevents it > abusenius joined #xwiki at 10:21 > vmassol joined #xwiki at 10:23 > cjdelisle - (10:28): abusenius: Any thing else you need in xwiki-crypto? > (working on the proposal) > abusenius - (10:32): hm, no, just the methods for storing/loading > certs/keys that we might want put elsewhere > abusenius - (10:32): *to put > cjdelisle - (10:33): Yea, IMO load/store is not really in the scope of > crypto. > abusenius - (10:35): should I move it to signedscripts? thats the only > place it’s used atm > cjdelisle - (10:36): *distraction: IPv6 is a joke, 19.0.0.0 - > 19.255.255.255 is Ford Motor Company ip space, it is not even announced to > the backbone routers. > cjdelisle - (10:36): What car company doesn’t need 16,000 unused ips? > abusenius - (10:36): *IPv4? > cjdelisle - (10:37): IP6 is a joke because like 40% of ip4 numbers are > routed, 3% respond to pings. > abusenius - (10:37): it’s a good investment, they will be able to sell it > for a lot of money quite soon :) > cjdelisle - (10:37): Not if arin/ripe catch you. > abusenius - (10:37): well, it’s just that nobody uses them > abusenius - (10:38): well, thats another question > cjdelisle - (10:38): Well not nobody, some halliburton space suddenly > started getting announced from eastern europe. > cjdelisle - (10:38): spam spam spam spam > cjdelisle - (10:41): Halliburton 34.0.0.0 - 34.255.255.255 (to their credit > they announce a couple hundred ips in that range and run their site in it.) > abusenius - (10:42): I’Ve read somewhere that one of the problems is that > they used to give just 2 types of ip ranges, 255.255.255.0 for "small" > companies and 255.0.0.0 for "big" companies :) > cjdelisle - (10:45): that 255.255.255.0 is called a /24 because 24 of the > 32 bits are defined. 255.0.0.0 is a /8, nobody can get a /8 anymore, they > gave them out in like 1991. > cjdelisle - (10:46): You guys can still get a /24 for like 150€ but arin > won’t sell anything smaller than a /20. > cjdelisle - (10:48): The problem is provide independent space means you > announce your (tiny little) range to all of the backbone routers and the > global routing tables get so huge they need bigger routers. > cjdelisle - (10:50): What’s easiest for the backbone is if 192 routes to > usa, 64 routes to chicago, 32 routes to some isp and 25 routes to the > specific computer. Except 192 range is not like that, 192.64.32.1 might be a > computer in chicago and 192.64.33.1 might be in estonia. > sburjan joined #xwiki at 10:52 > cjdelisle - (10:57): humpf... decryption succeeded with wrong password. I > think it decrypted to garbage but I have to check... > abusenius - (10:57): we might want to check if the output == input > cjdelisle - (11:00): yup, repeating the test in loop 0-1000 > cjdelisle - (11:01): if the output is the same length, I think the padding > scheme doesn’t notice anything is wrong. > cjdelisle - (11:01): indeed, I already have a bad decryption. > abusenius - (11:03): in theory, a wrong password might decrypt to any > meaningful text, but the probability is very very low > cjdelisle - (11:04): hmm, actually the key would have to be as long as the > original text to decrypt to anything. > cjdelisle - (11:05): I remember someone talking about an algorithm which > would decrypt to various things based on the password given. > cjdelisle - (11:05): It would be pretty obvious to a cryptographer though > that there was more to it though. > abusenius - (11:06): well, if the key is as long as the text, then you can > decrypt to any text of the same length > abusenius - (11:07): if the key is shorter, the number of possible > decryptions is much smaller > cjdelisle - (11:07): But it brings up an interesting topic, if you xor > "illegal data" against random and publish the random on one server and the > output on another, which server gets the takedown notice? > abusenius - (11:07): but one of them might still be meaningful > cjdelisle - (11:08): It’s essentially impossible to determine random from > something xor’d against random. > cjdelisle - (11:09): 4 collisions. > abusenius - (11:09): well, you can easily invent any content you want :) > abusenius - (11:09): what yre you encrypting? > cjdelisle - (11:10): I just rigged the test to repeat trying to decrypt > with the wrong password and dump any time it collides. > Enygma` left at 11:10 (Ping timeout: 276 seconds > cjdelisle - (11:10): decryptWithWrongPasswordTest() * 1000 > abusenius - (11:11): so "collision" = successfull decryption to garbage? > cjdelisle - (11:11): yup. > cjdelisle - (11:11): done. 4/1000 tries. > abusenius - (11:11): the only way decryption algorithm can distinguish > "meaningful" text from garbage is the padding > kibahop left #xwiki at 11:12 > cjdelisle - (11:12): IMO it should output garbage every time it fails. > Imagine trying to password guess that :D > abusenius - (11:12): so if the garbage by chance contains one byte of > correct padding, it will succeed > abusenius - (11:12): well, you can check for printable character for > example > cjdelisle - (11:12): yup, check for invalid utf8 > cjdelisle - (11:13): imagine encrypting an mp3, basically any text is valid > in an mp3 > cjdelisle - (11:13): or mpeg4 > abusenius - (11:13): there is a header you can trry to match > abusenius - (11:14): frames etc. > abusenius - (11:14): but it is harder > abusenius - (11:14): thats one of the reasons people first compress, then > encrypt :) > cjdelisle - (11:16): Yea, it would be tough trying to beat this algorithm > though, it took like 5 minutes for 2000 cycles of scrypt, I could make it > take longer with config too. > cjdelisle - (11:27): proposal sent. > mangroovie left at 11:29 (Ping timeout: 252 seconds > cjdelisle - (11:41): I don’t see the user manager in the sandbox, is it > written? (http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule) > abusenius - (11:42): it is very new imo, probably not yet > cjdelisle - (11:45): The proposed interface looks like it can only be > implemented using some sort of String USER_CLASS = "XWiki.XWikiUsers"; > cjdelisle - (11:47): Maybe I should propose a best practice that we never > make the core depend on the content of the database. AKA hardcoding document > names. > abusenius - (11:51): which interface? > cjdelisle - (11:53): defined here > http://dev.xwiki.org/xwiki/bin/view/Design/UsersModule > mangroovie joined #xwiki at 11:53 > venkatesh left at 11:53 (Ping timeout: 265 seconds > abusenius - (11:54): ah, ok > abusenius - (11:56): maybe, I "never ever" rule is quite unrealistic though > abusenius - (11:56): s/I/a/ > cjdelisle - (11:58): Well that’s how all best practices are, sometimes you > are just plain painted into a corner. > cjdelisle - (11:58): I usually end up throwing away code when that happens. > abusenius - (12:01): moved cert storage methods out of crypto, about to > commit > cjdelisle - (12:01): there was storage in crypto? > cjdelisle - (12:02): I don’t see it... > abusenius - (12:03): well, user document utils were misused for that > abusenius - (12:04): I mean listinf fingerprints etc. > abusenius - (12:04): *listing > venkatesh joined #xwiki at 12:04 > cjdelisle - (12:04): Oh, I haven’t looked there in a while. thanks ;) > cjdelisle - (12:04): k I think I know how you can validate a cert. > cjdelisle - (12:05): Take the webid and do a http get on it, you’ll get the > foafssl stuff. > cjdelisle - (12:06): We can also set it up so you get a list of signed > permissions granted to the user. > abusenius - (12:07): yea, we could do that > cjdelisle - (12:07): parse those permissions, extract cert from signature, > recurse. > cjdelisle - (12:08): It will be awesome but slooooooow. > cjdelisle - (12:09): hmm, maybe not if the user pages get cached. > abusenius - (12:09): the recursion would not be very deep > abusenius - (12:09): unless we overdo it :) > venkatna joined #xwiki at 12:10 > abusenius - (12:10): it should be something like admin -> user permission > -> cert > cjdelisle - (12:10): What’s awesome about it is I can be on one wiki and > give you permission on another, you can then give permissions to people on > my wiki. > venkatesh left at 12:10 (Ping timeout: 248 seconds > abusenius - (12:11): not that everybody was waiting to do that all their > life, but yea, would be possible :) > cjdelisle - (12:12): I don’t expect anyone beating a path to the door for > it but I can see in the future there might be applications. > cjdelisle - (12:13): If I grant admin authority to an admin of another > wiki, all of their wiki’s users get defacto permissions on mine. > cjdelisle - (12:15): the escaping test makes a nice DoS engine. > abusenius - (12:16): :) > cjdelisle - (12:17): Have you seen Websecurity? > abusenius - (12:18): not sure what you mean > abusenius - (12:18): afk for lunch > cjdelisle - (12:19): http://www.websecurify.com/ > cjdelisle - (12:19): I’ll go find something to eat too. > florinciu1 joined #xwiki at 12:39 > florinciu left at 12:44 (Ping timeout: 276 seconds > florinciu1 left at 12:46 (Read error: Connection reset by peer > florinciu joined #xwiki at 12:47 > sylviarusu joined #xwiki at 12:56 > florinciu left at 13:05 (Ping timeout: 240 seconds > florinciu joined #xwiki at 13:08 > tmortagne - (13:10): cjdelisle: i’m not sure i understand what you mean in > XWIKI-5390 > cjdelisle - (13:10): > http://maven.xwiki.org/site/xwiki-core-parent/xwiki-core/apidocs/com/xpn/xwiki/api/package-summary.html > cjdelisle - (13:11): all still version 1.7 > tmortagne - (13:12): cjdelisle: there is a hudson project for it already, > that’s http://hudson.xwiki.org/job/xwiki-platform-core-site-job/ but it > has been disabled some time ago because we had issue with javadoc plugin > think > tmortagne - (13:12): s/think/I think/ > cjdelisle - (13:13): I see, I can try to see if I can get it working again. > tmortagne - (13:13): yep > cjdelisle - (13:13): It’s pretty important because that’s the only place to > get javadoc for XWikiDocument etc. > tmortagne - (13:14): cjdelisle: well there is m2Eclipse automatically > downloading javadoc/source too ;) > tmortagne - (13:14): which is very usefull > tmortagne - (13:15): but it’s only for released projects > cjdelisle - (13:15): When I wrote the DevGuide.Scripting I had to reference > some javadoc so I chose that. > cjdelisle - (13:15): Because it’s hosted. > cjdelisle - (13:16): If I can get this working then I see no reason to keep > uploading .zip files to xwiki.org so that will close another issue. > cjdelisle - (13:16): Make any sense? > tmortagne - (13:17): cjdelisle: it’s not the same thing > tmortagne - (13:17): this job deploy trunk jaavadoc > tmortagne - (13:17): in xwiki.org we provide specific releases javadoc > cjdelisle - (13:17): hmm. good point. Maybe we can have hudson build from > branches? > tmortagne - (13:17): what should be done in xwiki.org is having something > more dynamic that get the proper javadoc from maven.xwiki.org files > instead of having to attach > tmortagne - (13:18): i want to add this since a long time in zip plugin but > never had the time > cjdelisle - (13:18): in the zip plugin? > tmortagne - (13:19): the xwiki plugin which is used to view the javadoc > inside the zip file attached to the page > tmortagne - (13:19): > http://platform.xwiki.org/xwiki/bin/download/DevGuide/API/xwiki-core-rendering-api-2.3.2-javadoc.jar/index.html > cjdelisle - (13:19): make it able to load a page hosted somewhere else? > cjdelisle - (13:19): s/load a page/read a zip/ > tmortagne - (13:20): yes make it able to work with a zip from anywhere and > not only an attached file > cjdelisle - (13:20): hmm, as long as it can’t be exploited to... say open > really big zips somewhere? > abusenius - (13:21): re websecurity, no, haven’t seen it before > cjdelisle - (13:22): I was talking to a guy who mentioned if you can > convince a bot to download a file, feed it a linux .iso > tmortagne - (13:23): cjdelisle: you can always indicate a maximum size > abusenius - (13:23): we should try some tools like websecurity on xwiki at > some point, but not now (would be too disappointing ^^) > florinciu left at 13:23 (Ping timeout: 258 seconds > cjdelisle - (13:23): abusenius: I see a bunch of FATAL: not escaping single > quote. > cjdelisle - (13:23): I don’t think even escapetoo.xml escapes single > quotes. > tmortagne - (13:24): checking something: i think there is something abut > javadoc in nexus actually > abusenius - (13:24): it does > abusenius - (13:24): getXMLEncoded doesn’t > cjdelisle - (13:24): That’s right :) > abusenius - (13:24): afaik > abusenius - (13:24): it is technically correct to not escape single quotes > in URL > abusenius - (13:25): but not secure, because a href=’bla’ is also correct > cjdelisle - (13:25): no getXMLEncoded escapes ’ to and it becomes ’ which > breaks everything > abusenius - (13:25): ah, right > tmortagne - (13:25): cjdelisle: > http://nexus.xwiki.org/nexus/service/local/repositories/releases/archive/com/xpn/xwiki/platform/xwiki-core/2.4/xwiki-core-2.4-javadoc.jar/!/index.html<http://nexus.xwiki.org/nexus/service/local/repositories/releases/archive/com/xpn/xwiki/platform/xwiki-core/2.4/xwiki-core-2.4-javadoc.jar/%21/index.html> > tmortagne - (13:25): tadaa > cjdelisle - (13:25): cool. I wish it said something like /latest/ > tmortagne - (13:26): maybe there is something > tmortagne - (13:27): i will at least modify the API page to go there and > stop attaching files > abusenius - (13:27): is it possible to link javadocs for *all* components > on DevGuide/API ? > abusenius - (13:28): currently it only lists core > tmortagne - (13:28): abusenius: and rendering ;) > tmortagne - (13:28): but yes it should be more that theses two > tmortagne - (13:28): should be at least important components > abusenius - (13:28): yea, but you need to do voodoo magic to find other > docs :) > cjdelisle - (13:29): That was a nice thing about maven.xwiki.org was > everything was linked together. > tmortagne - (13:31): cjdelisle: you mean maven.xwiki.org/site ? > cjdelisle - (13:31): yup > cjdelisle - (13:32): *idea* What if we added the svn location to the class > javadoc comment in each class, then it will make a link in each javadoc > pointing to the source. > cjdelisle - (13:32): Maybe svn config will do the trick. > abusenius - (13:33): wasn’t there a configuration option for javadoc for > that? > tmortagne - (13:34): cjdelisle: there is probably some maven javadoc plugin > configuration we could use for it > cjdelisle - (13:34): I don’t know that the javadoc would know where the > files are hosted in svn, it sure would be nice though to have a docjar style > [source] button > abusenius - (13:35): (but maybe I saw it in doxygen, not sure) > cjdelisle - (13:36): I really like this format everything is linked from > there. > http://maven.xwiki.org/site/xwiki-core-parent/xwiki-core/apidocs/index.html?com/xpn/xwiki/api/package-summary.html > abusenius - (13:38): > http://download.oracle.com/javase/1.4.2/docs/tooldocs/windows/javadoc.html#linksource? > cjdelisle - (13:39): abusenius: I see three tests in error: > Blog/Publisher.xml Panels/CreatePanel.xml templates/createinline.vm Do you > want to do something to them before putting the tests in the tree? > abusenius - (13:40): let me see > cjdelisle - (13:40): Creates an HTML version of each source file (with line > numbers) argh.. hate line numbers. > abusenius - (13:41): well, better than nothing > abusenius - (13:43): I could put those tests in error onto ignore list > cjdelisle - (13:43): also I like the idea of pointing to the actual svn > server. > abusenius - (13:43): 2 of them fail because the xredirect is properly > escaped, but my test string isn’t a URL > abusenius - (13:43): 1 fails with 409, no idea why > abusenius - (13:44): there are allready a dozen or so ignored tests in > error > cjdelisle - (13:46): Hmm, you really ought to have commit access so you can > work on this once it’s in the tree, unfortunately it’s tough to get a quorum > on anything right now. > florinciu joined #xwiki at 13:46 > venkatna left at 13:47 (Quit: Leaving > abusenius - (13:48): can it be (sym)linked to sandbox? > cjdelisle - (13:50): I don’t know what svn does with symlinks. > abusenius - (13:51): I think on all decent operating systems it works fine > :) > cjdelisle - (13:51): Websecurity is a pretty good DoS cannon, when I ran it > locally, my wiki eventually just ceased up and refused to serve anything. > abusenius - (13:52): checkout on windows would create a copy of the > directory > tmortagne - (13:53): i doubt svn will support sym links anyway > tmortagne - (13:53): especially svn 1.4 > abusenius - (13:53): ok, if the svn server is 1.4 then we can forget it > abusenius - (13:54): why is it 1.4 btw? it’s like stone age... > tmortagne - (13:55): i agree > tmortagne - (13:55): i’m aking for an upgrade since ages > cjdelisle - (13:55): blah, hudson ceased up in wysiwyg test. Lets see if I > can kill the build... > cjdelisle - (13:56): yay I did something. > cjdelisle - (13:58): last time the javadoc build ran out of swap space (so > it says). I’ll try running it and see what happens this time. > vmassol left at 13:58 (Quit: Leaving. > sburjan - (14:08): cjdelisle, : was the implementation hard ? I mean .. > understanding that technical paper and then implementing > cjdelisle - (14:08): re scrypt? > sburjan - (14:08): We had to implement DES and AES from specs like > these..and it was HORRIBLE > sburjan - (14:08): yes > cjdelisle - (14:08): It wasn’t too bad because there was a reference > implementation in c > sburjan - (14:09): oh, so you didn;t wrote if from scratch > cjdelisle - (14:09): It definitly is not AES. > sburjan - (14:09): it’s stronger than AES, right > sburjan - (14:09): AES is totally hard (at least for me) > cjdelisle - (14:09): It does something different. > sburjan - (14:09): yeah, I know > cjdelisle - (14:10): The point is that there is no way to go from the > password to the key without using x amount of ram for y cpu cycles of time. > cjdelisle - (14:10): Fortunately it uses PBKCS2 which I could rip from > bouncycastle. > sburjan - (14:10): but basically this is a much more complex hash function, > right ? > cjdelisle - (14:11): yup. > sburjan - (14:11): md5 is birthday paradox vulnerable > sburjan - (14:11): I guess this isn;t :) > cjdelisle - (14:11): It uses PBKCS2, and it uses salsa20 > cjdelisle - (14:11): ahh, PBKCS2(Sha-256) :) > cjdelisle - (14:12): yea md5 is bad. > sburjan - (14:12): oh :)) > sburjan - (14:12): md5 is obsolete > sburjan - (14:12): intresting > sburjan - (14:12): I never understood properly the algebra behind crypto > systems > sburjan - (14:13): although i wanted to :) > cjdelisle - (14:13): This isn’t really crypto. > cjdelisle - (14:13): It’s just designed to take a long time. > cjdelisle - (14:13): So it generates an absurd amount of data. Then it > takes an int from 4 bytes of a hash output and gets the data at the location > of that int. > cjdelisle - (14:14): The idea is you can’t safely throw away any of that > data because you might need it. > sburjan - (14:14): I see > sburjan - (14:14): so this happens for all the new passwords ? > sburjan - (14:14): new user accounts, etc ? > sburjan - (14:15): I nea this happens for every password > cjdelisle - (14:15): So it keeps seeding the hash with pieces of the big > block of data, then it takes the output and feeds it to PBKDF2 again. > sburjan - (14:15): *mean > cjdelisle - (14:16): No it it’s just a service at the moment, once I > convince everyone to include it in the tree, then we can think about using > it for the user accounts. > sburjan - (14:16): so what do you hash with these service more exactly ? > cjdelisle - (14:16): Passwords. > sburjan - (14:16): so only user passwords. or are there another type of > passwords ? > sburjan - (14:17): that are used in xwiki > cjdelisle - (14:17): It is intended to be useable for the user accounts, I > just want to put the code there before we even talk about implementing it > for user passwords. > cjdelisle - (14:17): Sure, any password can be handles by this. > sburjan - (14:17): I see > cjdelisle - (14:17): s/handles/handled/ > abusenius - (14:17): btw, XWIKI-70 is the oldest bug (i.e. not feature > request or task) atm > sburjan - (14:18): so it is collision free ? or you made it like this in > order to take as far as possible advante of collisions > Enygma` joined #xwiki at 14:18 > cjdelisle - (14:18): It is as collision resistant as pbkdf2(sha256) > cjdelisle - (14:19): because the password is included in the final hash. > sburjan - (14:19): yeah, but the time to find another string that hashes > the same... requires much more time due to y ram and x cpu cycles, right ? > cjdelisle - (14:20): Well the main attack vector is password guessing with > word lists. > cjdelisle - (14:20): so it’s not really a collision but the real password > that is most likely to be found. > sburjan - (14:20): hmmm > sburjan - (14:21): dictionary attack ? :) > cjdelisle - (14:21): This makes it difficult because it occupies 1MB of ram > for about 100milliseconds. > sburjan - (14:21): i see > cjdelisle - (14:21): These numbers are configurable. > sburjan - (14:21): but the actual auth mechanism is comparing the hash from > db with the hash(typed password), right ? > cjdelisle - (14:21): The default scrypt takes 200MB for 5 seconds. > sburjan - (14:22): like md5 is still used > cjdelisle - (14:22): It’s a little more complicated than that, but that’s > the idea. > sburjan - (14:22): I see > cjdelisle - (14:22): You have a PasswordVerificationFunction which is > Serializable and includes all of the information to recreate the same output > given the same password. > cjdelisle - (14:23): that is the salt, the memory cost number, and the > processor cost number. > sburjan - (14:23): yeah.. > sburjan - (14:23): intresting > cjdelisle - (14:24): So you load the code from the database, deserialize, > and feed it the password to validate. > cjdelisle - (14:24): If we decide in the future to change the function, all > we need to do is create a new function and start using it for all new > passwords. > sburjan - (14:24): so each password is serialized in an object that is > stored in the db ? > cjdelisle - (14:25): the ourtput from hashing the password is a byte[] in > the object yes. > sburjan - (14:25): I see > sburjan - (14:25): pretty cool > cjdelisle - (14:26): > http://svn.xwiki.org/svnroot/xwiki/contrib/sandbox/xwiki-crypto/src/main/java/org/xwiki/crypto/passwd/internal/ScryptMemoryHardKeyDerivationFunction.java > sburjan - (14:26): and what is the memory and cpu cost going in the > ecuation? > sburjan - (14:26): when "hashing" the inputed password in order to compare > it from the serialized object ? > cjdelisle - (14:27): Configurable, but I have it set to 1Mb for 100ms by > default. > sburjan - (14:28): yeas, but what operation is slowed down intensionally > with the ram and CPU thing ? > cjdelisle - (14:28): indeed, you can’t have everything :) > boscop_ is now known as boscop ([email protected] > sburjan - (14:30): no no .. where is the slow down come in place ? > sburjan - (14:30): this this slows down .. you wanted this.. cpu cycles, > etc > cjdelisle - (14:31): ? > sburjan - (14:32): you force the system to work in time. to be limited by > ram and CPU > sburjan - (14:32): not to take advance of the full computational powers of > a possible attacker > cjdelisle - (14:32): If the system is under heavy load when the user > registers, then their crypted password will be weaker. > cjdelisle - (14:33): decrypting the password will always take the same > amount of cpu cycles. > sburjan - (14:33): oh > sburjan - (14:33): so decrypting is the operation that takes advantage of > the intentional slowness > sburjan - (14:33): got it > cjdelisle - (14:34): When crypting the password, It does a test run to get > the desired number of cycles from the desired time to crypt. > cjdelisle - (14:34): It’s not all that accurate but within 100% according > to the tests. > sburjan - (14:35): I see > cjdelisle - (14:35): I noticed it usually takes a little more time than it > is asked to take. > sburjan - (14:36): and isnt there a disk if someone tries a dictionary > attack to block the server (DDOS) due to heavy platform load in order to > decrypt the passwd ? > sburjan - (14:36): *risk, not disk > cjdelisle - (14:37): Well if you’re trying to ddos the server then you can > use infinite loops etc. if you are trying to guess the password, then you > want a graphics processor. > cjdelisle - (14:37): Anyway if you have a botnet (DDoS) then you can get > thousands of windows boxes to try passwords locally. > cjdelisle - (14:39): However I think you can cease up an xwiki installation > just by trying to log in with a million threads right now. > cjdelisle - (14:41): bbiab... > tmortagne left at 14:43 (Read error: Connection reset by peer > tmortagne joined #xwiki at 14:43 > sburjan - (14:46): wait, you lost me :) > sburjan - (14:47): the decrypt function is GPU dependant ? > MartinCleaver joined #xwiki at 14:57 > abusenius - (14:59): sburjan: he is talking about using GPGPU to speedup > breaking hashes > sburjan - (15:01): so it uses graphics card to break hashes ? > abusenius - (15:01): the bad guys use them > sburjan - (15:01): I;m a little bit confused > sburjan - (15:01): yeah, the bad guys > abusenius - (15:01): yes, 1000 threads are better than 4 > sburjan - (15:02): a gpu has 1000 threads ? > abusenius - (15:02): new ones yes > sburjan - (15:02): I see > abusenius - (15:02): light-weight threads > sburjan - (15:02): and the other thing I didn’t understand > sburjan - (15:02): Anyway if you have a botnet (DDoS) then you can get > thousands of windows boxes to try passwords locally. > sburjan - (15:03): but how do you get locally the serialized objects that > contain the passwdz ? > abusenius - (15:03): well, assuming you have DB dump or something > sburjan - (15:03): but for that you already need privileges > abusenius - (15:03): sure > abusenius - (15:04): the idea is, if the attacker can get access to the > server, he still can’t find out your password > abusenius - (15:05): otherwise you might as well just sleep(10) on the > server side > abusenius - (15:06): having a password in cleartext is bad, because people > reuse them for example > cjdelisle - (15:06): privileges lol. All you need for database dumps is > bobby tables. > cjdelisle - (15:06): we’re better than some but never trust the db. > cjdelisle - (15:07): Actually, the password hashes are right in the > XWikiUsers object. > sburjan - (15:07): bobby tables ? > cjdelisle - (15:08): http://xkcd.com/327/ > cjdelisle - (15:09): It’s a dumb joke but it has sort of turned into a > meme. > sburjan - (15:09): yea :)) > sburjan - (15:09): but we’re still vulnerable to sql injection ? > cjdelisle - (15:10): hmmmmmmm yes. > mflorea left at 15:11 (Quit: Leaving. > lucaa left at 15:13 (Quit: Leaving. > cjdelisle - (15:13): We’re looking into a way to use encryption to make it > so sql injection is pointless. > sburjan - (15:14): parameterization doesnt work in our case ? > cjdelisle - (15:14): If everything used it then it would work. I’m talking > about cases where there is a registered user and he has access to > searchDocuments etc. > sburjan - (15:15): and making them be used everywhere is hard ? > cjdelisle - (15:16): Well even if they are used everywhere all the > adversary has to do is register and write their own vulnerable queries. > cjdelisle - (15:19): We have been talking about having a root "superadmin" > certificate stored in a file on the hard disk. That cert signs the admin’s > permissions and the admin signs the user permissions. > cjdelisle - (15:20): you can dump (or alter) the database but all you get > is certificates and password encrypted private keys > cjdelisle - (15:20): change a cert, break the cert chain, change a key, > then it doesn’t match the cert. > cjdelisle - (15:38): oh sburjan Cryptography (at least public key RSA) > works because it’s fast to raise something to the 65537th power and slow to > get the 65537th root. > cjdelisle - (15:39): that’s the "one way trap function" > sylviarusu left at 15:40 (Quit: Leaving. > sburjan - (15:43): I see > sburjan - (15:43): I started to read more about sql injection > sburjan - (15:43): too bad that htere isn;t a "training" site :) > sburjan - (15:43): so I can actually see it work > abusenius - (15:44): try xwiki.org ^^ > cjdelisle - (15:45): lol > sburjan - (15:45): i’m sure it’s not vulnerable :)) > sburjan - (15:45): you guys fixed it > sburjan - (15:45): :D > sburjan - (15:45): at least the most vital places > cjdelisle - (15:45): actually yea, you’d just end up spamming zipe’s logs > with your attempts. > cjdelisle - (15:45): *xipe > cjdelisle - (15:46): Do you have a local installation on your computer? > sburjan - (15:46): of XWiki ? > cjdelisle - (15:46): yea. > sburjan - (15:46): of course > sburjan - (15:46): I’m writing automatic tests, so i have to test them :P > cjdelisle - (15:47): Well you can play with that. Try using websecurity > against it, just run it over night and see what you get > abusenius - (15:47): sburjan, there are training apps actually, > http://insecurewebapp.sourceforge.net/main/index.html > sburjan - (15:48): hmmm > sburjan - (15:48): I’ll take a look > cjdelisle - (15:49): > http://labs.oracle.com/projects/crypto/HowECCWorks-USLetter.pdf > cjdelisle - (15:50): McEllice is a bit more interesting because it can’t be > parallelized (quantum computer proof) but it’s also a lot more complicated. > sburjan - (15:50): lots of math :) > sburjan - (15:50): so this is what your srypto implementation use ? > cjdelisle - (15:51): it doesn’t use any public key (not for password > derivation.) > sburjan - (15:52): cjdelisle, : do you have some masters in computer > security ? :) > sburjan - (15:52): I know abusenius has > cjdelisle - (15:52): xwiki-crypto does have a public key component, it just > uses rsa. > cjdelisle - (15:52): haha masters in what? > sburjan - (15:52): information security :) > sburjan - (15:53): computer security > cjdelisle - (15:53): I took like 2 semesters of programming in college. > abusenius - (15:53): there are no special security degrees afaik > sburjan - (15:54): abusenius, : There are masters in all the europe on > Information/Computer Security > abusenius - (15:54): not in my university :) one can just specialize on > that > cjdelisle - (15:54): My professors were all ex-nsa, one recommended I apply > there. > sburjan - (15:54): they teach you the algebra behind the cryptosystems > abusenius - (15:54): it is still called "computer science" > sburjan - (15:55): things like chinese remainder theorem > cjdelisle - (15:55): Yea, I read about it a little, I’m sure I’ll learn it > sooner or later. > abusenius - (15:56): we got this in the introduction lecture to crypto > sburjan - (15:56): abusenius, : but your internship is in Security here at > X, right ? > abusenius - (15:56): yes > cjdelisle - (15:57): hey, I have a masters in breakeology. > sburjan - (15:57): so you learned the security stuff all by yourself ? > abusenius - (15:57): me? > sburjan - (15:57): yes, you abusenius :) > cjdelisle - (15:57): breakeology, when you learn by breaking stuff. > sburjan - (15:57): breakeology is like .. sociology, antropology ? :)) > sburjan - (15:58): so you do have a masters in that :D > abusenius - (15:58): no, I’ve learned everything I could find, but I also > took all lectures on crypto/security we have > abusenius - (15:58): if you’re interested in something, it happens > naturally :) > sburjan - (15:59): true > sburjan - (15:59): but that math is pretty hard :)) > sburjan - (15:59): all the modulo stuff > sburjan - (15:59): remainders, etc > cjdelisle - (15:59): I have 5 pdfs in my system tray. > sburjan - (15:59): about ? > sburjan - (16:00): security ? > cjdelisle - (16:00): How to get ips, DDoS defense, anycast, conficker, and > ecc. > sburjan - (16:00): they should make a book on crypto. Computer Security for > retards. and they should dedicate it to me :)) > sburjan - (16:01): Well known idiot’s guide is too high level .. I need > something lower > abusenius - (16:01): :D > cjdelisle - (16:01): hah, I noticed that the math all just looks hard with > the weird symbols, read the implementation if you want to understand. > cjdelisle - (16:01): Look at this: http://cr.yp.to/salsa20.html > abusenius - (16:02): I find probability theory harder, groups are not that > bad > cjdelisle - (16:02): salsa20 is a full cipher implementation in 22 lines. > that is why Bernstein is full of win. > cjdelisle - (16:03): no stupid s-boxes, no obfuscation. it’s either secure > or it’s not and that doesn’t really depend on how hard it is to understand. > abusenius - (16:04): thats just because it doesn’t include the > implementation of the hash function ;) > cjdelisle - (16:04): yea well it’s actually a cipher. Converting it to a > hash which is collision resistant and such is a bigger task. > cjdelisle - (16:05): but that function placed well in the eurocrypt > contest. > abusenius - (16:09): in any case, understanding what you can do (and what > not) with some type of encryption is more important than implementation > details > cjdelisle - (16:10): Yea, the devil really is in the details. > cjdelisle - (16:12): I remember reading that people were surprised when > joanna rutkowska showed that a computer with full disk encryption can still > be attacked by putting malware in the mbr. > abusenius - (16:12): less related question, how can I change log4j settings > of xwiki instance I use for escaping-tests/ > abusenius - (16:12): ? > abusenius - (16:13): it seems to use debug logging level > cjdelisle - (16:14): take a look at start-wiki and start-wiki-debug.sh > there might be something there about it. > abusenius - (16:15): hm, not really > cjdelisle - (16:16): I don’t know, you could google log4j "-D" > cjdelisle - (16:17): I’m sure there is a -Dsomething which will change it. > abusenius - (16:18): googling... > mflorea joined #xwiki at 16:20 > sburjan - (16:21): in java a char is 2 bytes, right ? so a 64 bytes string > is actually a 32 char string ? > cjdelisle - (16:22): yes a char is two bytes :/ > sburjan - (16:23): in the link you gave me , it says that it takes a 64 > bytes strin. about salsa20 > cjdelisle - (16:23): String has a few other components which occupy some > space but you’re pretty much correct. > sburjan - (16:23): but if the input string is less than 64 bytes/32 chars ? > it’s getting padded ? > cjdelisle - (16:24): Well the function will run on much larger pieces of > data by breaking them up, and yes it pads at the end. > cjdelisle - (16:26): The neat thing about salsa is it’s auto seeking. You > give it a key and say block 1000, then you input 1000 along with the key and > salt, and it generates some output which you can use to decrypt the data. > cjdelisle - (16:27): salsa20 doesn’t actually decrypt your data, it > generates psudorandom which you then xor against your data. > lucaa joined #xwiki at 16:28 > sburjan - (16:28): hmmm > sburjan - (16:28): so it can be decrypted > sburjan - (16:29): afaik md5 is one way hash > sburjan - (16:29): alsa is reversible ? > cjdelisle - (16:29): yea. > cjdelisle - (16:29): Imagine you take a key and md5 it. > sburjan - (16:29): oh... big diffrence > cjdelisle - (16:30): Actually imagine you take a key, append a number (0) > then md5 it. > cjdelisle - (16:30): then you take your plain text and xor it against the > output from md5. > sburjan - (16:31): this is how you decrypt it ? > > _______________________________________________ > notifications mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/notifications > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

