XSF Discussion - 2021-04-16

  1. marc has joined
  2. marc has left
  3. marc has joined
  4. marc has left
  5. marc has joined
  6. marc has left
  7. marc has joined
  8. marc has left
  9. marc has joined
  10. lskdjf has left
  11. marc has left
  12. marc has joined
  13. marc has left
  14. marc has joined
  15. Kev has left
  16. marc has left
  17. marc has joined
  18. marc has left
  19. marc has joined
  20. marc has left
  21. marc has joined
  22. marc has left
  23. marc has joined
  24. marc has left
  25. marc has joined
  26. DebXWoody has joined
  27. marc has left
  28. DebXWoody has left
  29. marc has joined
  30. marc has left
  31. marc has joined
  32. marc has left
  33. marc has joined
  34. marc has left
  35. marc has joined
  36. marc has left
  37. marc has joined
  38. marc has left
  39. marc has joined
  40. marc has left
  41. marc has joined
  42. marc has left
  43. marc has joined
  44. marc has left
  45. marc has joined
  46. marc has left
  47. marc has joined
  48. marc has left
  49. marc has joined
  50. marc has left
  51. marc has joined
  52. marc has left
  53. jcbrand has left
  54. marc has joined
  55. marc has left
  56. marc has joined
  57. marc has left
  58. marc has joined
  59. marc has left
  60. marc has joined
  61. marc has left
  62. marc has joined
  63. marc has left
  64. LNJ has left
  65. marc has joined
  66. Maranda has joined
  67. marc has left
  68. marc has joined
  69. marc has left
  70. marc has joined
  71. marc has left
  72. marc has joined
  73. marc has left
  74. marc has joined
  75. marc has left
  76. marc has joined
  77. marc has left
  78. marc has joined
  79. marc has left
  80. marc has joined
  81. marc has left
  82. marc has joined
  83. marc has left
  84. marc has joined
  85. marc has left
  86. marc has joined
  87. marc has left
  88. marc has joined
  89. marc has left
  90. marc has joined
  91. marc has left
  92. marc has joined
  93. marc has left
  94. karoshi has left
  95. marc has joined
  96. lovetox has left
  97. marc has left
  98. marc has joined
  99. marc has left
  100. marc has joined
  101. marc has left
  102. marc has joined
  103. marc has left
  104. marc has joined
  105. stp has left
  106. marc has left
  107. marc has joined
  108. marc has left
  109. marc has joined
  110. marc has left
  111. marc has joined
  112. marc has left
  113. marc has joined
  114. marc has left
  115. marc has joined
  116. marc has left
  117. marc has joined
  118. marc has left
  119. marc has joined
  120. marc has left
  121. marc has joined
  122. marc has left
  123. marc has joined
  124. marc has left
  125. marc has joined
  126. marc has left
  127. marc has joined
  128. marc has left
  129. marc has joined
  130. marc has left
  131. marc has joined
  132. marc has left
  133. marc has joined
  134. marc has left
  135. marc has joined
  136. marc has left
  137. marc has joined
  138. marc has left
  139. marc has joined
  140. marc has left
  141. marc has joined
  142. jcbrand has joined
  143. marc has left
  144. marc has joined
  145. marc has left
  146. marc has joined
  147. marc has left
  148. marc has joined
  149. marc has left
  150. marc has joined
  151. marc has left
  152. marc has joined
  153. marc has left
  154. marc has joined
  155. adiaholic has joined
  156. BASSGOD has left
  157. BASSGOD has joined
  158. BASSGOD has left
  159. BASSGOD has joined
  160. Seve has left
  161. alameyo has left
  162. alameyo has joined
  163. wendy has joined
  164. Calvin has left
  165. Aleksej has left
  166. alacer has left
  167. mukt2 has joined
  168. Calvin has joined
  169. alacer has joined
  170. adiaholic has left
  171. adiaholic has joined
  172. alacer has left
  173. adiaholic has left
  174. alacer has joined
  175. alacer has left
  176. alacer has joined
  177. adiaholic has joined
  178. mukt2 has left
  179. alacer has left
  180. mukt2 has joined
  181. alacer has joined
  182. mukt2 has left
  183. adiaholic has left
  184. adiaholic has joined
  185. Yagiza has joined
  186. Calvin has left
  187. Vaulor has left
  188. Vaulor has joined
  189. ti_gj06 has joined
  190. Seve has joined
  191. alacer has left
  192. alacer has joined
  193. menel has joined
  194. lovetox has joined
  195. DebXWoody has joined
  196. lorddavidiii has joined
  197. ti_gj06 has left
  198. ti_gj06 has joined
  199. andy has joined
  200. neshtaxmpp has left
  201. neshtaxmpp has joined
  202. Syndace has left
  203. Syndace has joined
  204. mimi89999 has left
  205. mimi89999 has joined
  206. Tobias has joined
  207. paul has joined
  208. Syndace has left
  209. Syndace has joined
  210. adiaholic has left
  211. adiaholic has joined
  212. arc has left
  213. arc has joined
  214. arc has left
  215. arc has joined
  216. neshtaxmpp has left
  217. neshtaxmpp has joined
  218. arc has left
  219. arc has joined
  220. arc has left
  221. karoshi has joined
  222. arc has joined
  223. ti_gj06 has left
  224. emus has joined
  225. arc has left
  226. arc has joined
  227. arc has left
  228. arc has joined
  229. alexbay218 has left
  230. arc has left
  231. arc has joined
  232. arc has left
  233. arc has joined
  234. Aleksej has joined
  235. menel has left
  236. menel has joined
  237. chronosx88 has left
  238. ti_gj06 has joined
  239. arc has left
  240. arc has joined
  241. Alex has left
  242. Alex has joined
  243. chronosx88 has joined
  244. chronosx88 has left
  245. chronosx88 has joined
  246. mathijs has left
  247. mathijs has joined
  248. goffi has joined
  249. floretta has left
  250. wurstsalat has joined
  251. menel has left
  252. BASSGOD has left
  253. BASSGOD has joined
  254. mathijs has left
  255. xecks has joined
  256. adiaholic has left
  257. adiaholic has joined
  258. Guus has joined
  259. wendy has left
  260. Guus has left
  261. Syndace has left
  262. Syndace has joined
  263. chronosx88 has left
  264. chronosx88 has joined
  265. Andrzej has joined
  266. neshtaxmpp has left
  267. menel has joined
  268. bean has joined
  269. Andrzej has left
  270. ti_gj06 has left
  271. LNJ has joined
  272. lovetox has left
  273. Syndace has left
  274. Syndace has joined
  275. croax has joined
  276. stp has joined
  277. BASSGOD has left
  278. lovetox has joined
  279. BASSGOD has joined
  280. floretta has joined
  281. BASSGOD has left
  282. mathijs has joined
  283. menel has left
  284. yushyin has left
  285. stp has left
  286. Kev has joined
  287. yushyin has joined
  288. BASSGOD has joined
  289. derwin has left
  290. derwin has joined
  291. derwin has left
  292. derwin has joined
  293. LNJ has left
  294. adiaholic has left
  295. adiaholic has joined
  296. Aleksej has left
  297. steffen has left
  298. floretta has left
  299. marek has left
  300. marek has joined
  301. mathijs has left
  302. mathijs has joined
  303. lskdjf has joined
  304. adiaholic has left
  305. adiaholic has joined
  306. adiaholic has left
  307. yushyin has left
  308. BASSGOD has left
  309. adiaholic has joined
  310. yushyin has joined
  311. adiaholic has left
  312. BASSGOD has joined
  313. ti_gj06 has joined
  314. adiaholic has joined
  315. alacer has left
  316. floretta has joined
  317. debacle has joined
  318. menel has joined
  319. chronosx88 has left
  320. chronosx88 has joined
  321. BASSGOD has left
  322. BASSGOD has joined
  323. Andrzej has joined
  324. pasdesushi has joined
  325. alameyo has left
  326. alameyo has joined
  327. pasdesushi has left
  328. Syndace has left
  329. Syndace has joined
  330. pasdesushi has joined
  331. alacer has joined
  332. floretta has left
  333. pasdesushi has left
  334. pasdesushi has joined
  335. floretta has joined
  336. pasdesushi has left
  337. neshtaxmpp has joined
  338. chronosx88 has left
  339. chronosx88 has joined
  340. Steve Kille has left
  341. chronosx88 has left
  342. Steve Kille has joined
  343. chronosx88 has joined
  344. Kev has left
  345. Kev has joined
  346. croax has left
  347. croax has joined
  348. Kev has left
  349. Kev has joined
  350. papatutuwawa has joined
  351. Kev has left
  352. Kev has joined
  353. Kev has left
  354. Kev has joined
  355. Kev has left
  356. Kev has joined
  357. Kev has left
  358. Kev has joined
  359. Wojtek has joined
  360. Kev has left
  361. Kev has joined
  362. Kev has left
  363. Kev has joined
  364. Kev has left
  365. Kev has joined
  366. arc has left
  367. arc has joined
  368. Seve has left
  369. arc has left
  370. arc has joined
  371. ti_gj06 has left
  372. Ge0rG has left
  373. Syndace has left
  374. Ge0rG has joined
  375. Syndace has joined
  376. papatutuwawa has left
  377. Kev has left
  378. Kev has joined
  379. Kev has left
  380. Kev has joined
  381. steffen has joined
  382. marek has left
  383. menel has left
  384. adiaholic has left
  385. marek has joined
  386. Kev has left
  387. Kev has joined
  388. adiaholic has joined
  389. debacle has left
  390. Calvin has joined
  391. Kev has left
  392. Kev has joined
  393. hamish has left
  394. adiaholic has left
  395. yushyin has left
  396. Syndace has left
  397. Syndace has joined
  398. adiaholic has joined
  399. yushyin has joined
  400. adiaholic has left
  401. Kev has left
  402. Kev has joined
  403. adiaholic has joined
  404. menel has joined
  405. Kev has left
  406. Kev has joined
  407. hamish has joined
  408. Syndace has left
  409. Syndace has joined
  410. Kev has left
  411. Kev has joined
  412. Kev has left
  413. Kev has joined
  414. Kev has left
  415. Kev has joined
  416. Kev has left
  417. Kev has joined
  418. Kev has left
  419. Kev has joined
  420. Seve has joined
  421. ti_gj06 has joined
  422. steffen has left
  423. steffen has joined
  424. Andrzej has left
  425. Andrzej has joined
  426. arc has left
  427. arc has joined
  428. arc has left
  429. arc has joined
  430. Andrzej has left
  431. Andrzej has joined
  432. govanify has left
  433. govanify has joined
  434. Kev has left
  435. Kev has joined
  436. Andrzej has left
  437. Kev has left
  438. Kev has joined
  439. arc has left
  440. arc has joined
  441. arc has left
  442. arc has joined
  443. Andrzej has joined
  444. stp has joined
  445. antoine has left
  446. rdelaage has left
  447. superkuh has left
  448. dos1 has left
  449. andy has left
  450. andy has joined
  451. Kev has left
  452. Kev has joined
  453. Kev has left
  454. Kev has joined
  455. Link Mauve has left
  456. Kev has left
  457. Kev has joined
  458. Kev has left
  459. Kev has joined
  460. arc has left
  461. arc has joined
  462. arc has left
  463. arc has joined
  464. arc has left
  465. arc has joined
  466. Sam Who else is a treasurer or treasurer adjacent that should have access to the Open Collective? I assume board people? All of them or just some? Anyone else?
  467. Kev Just Peter, probably.
  468. Link Mauve has joined
  469. arc has left
  470. arc has joined
  471. Sam I vaguely feel like there should be more than one person with access to reduce bus factor, especially when it comes to things that handle money, but whatever the board wants I suppose.
  472. arc has left
  473. arc has joined
  474. millesimus has left
  475. arc has left
  476. arc has joined
  477. arc has left
  478. arc has joined
  479. mukt2 has joined
  480. millesimus has joined
  481. Sam We should also consider who is allowed to use the XSF as a fiscal host and how we decide. My instinct is "anything XMPP related" and "at boards discretion" but it would be good to get that confirmed by board and have the treasurer or someone else bring any new applicants before board each week (I am happy to do this if peter doesn't since it's just forwarding names along, I just want to make sure the board is okay with all this since it involves money and I don't want to just make a bunch of stuff up and hope it's fine)
  482. jonas’ something about a CoC
  483. Sam This is a little bit different, but also making people agree to follow the CoC once we have one if they want to use us as a fiscal host seems reasonable. I'll draft some text and send it to the board email for discussion. I think it will be relatively non-controversial and we can always change it at any time.
  484. Zash How do we determine which pieces of software goes on the software listings? Probably some overlap with that selection method.
  485. Syndace has left
  486. debacle has joined
  487. Syndace has joined
  488. Sam In case anyone wants to brain storm: https://pad.disroot.org/p/XSF_Fiscal_Host_Rules
  489. alacer has left
  490. ti_gj06 has left
  491. Sam huh, TIL: "Jabber Open Source License" https://opensource.org/licenses/jabberpl
  492. Sam I'm assuming that was an early jabberd thing. Glad that got retired.
  493. neshtaxmpp has left
  494. andy has left
  495. croax has left
  496. alacer has joined
  497. Aleksej has joined
  498. croax has joined
  499. adiaholic has left
  500. moparisthebest dwd, flow, if you have a spare moment you could see if you are less horrified by https://github.com/moparisthebest/xmpp-proxy/blob/master/src/stanzafilter.rs#L224 (and thanks for the state machine hint flow !) again the point is to NOT have a full on XML parser, but simply to reliably split on stanza boundaries so complete stanzas can be passed to a real XML parser later
  501. moparisthebest on a related note, is anyone aware of some comprehensive XMPP XML stream tests anywhere?
  502. andy has joined
  503. Sam moparisthebest: what sort of tests are you looking for? More stuff like the ones you linked for splitting XML, or something that matches XML streams to a big jabber;client schema or something?
  504. BASSGOD has left
  505. moparisthebest I only need to test splitting XML stanzas out of a stream, so strange formatting, CDATA, processing instructions, comments, really anything that might trip such a thing up
  506. moparisthebest in the end, probably need to investigate creating some type of XMPP XML stream fuzzer, but in the short term I was hoping to steal some test cases from existing projects
  507. Zash `<x><![CDATA[ lol</x> ]]></x>`
  508. krauq has left
  509. krauq has joined
  510. debacle has left
  511. dwd moparisthebest, I'm wondering if you maybe *do* need an XML parser, but a decent fast one. I used rapidxml (or at least a fork of it) in Metre, which worked really well, and stood up to AFL very well.
  512. moparisthebest Zash, handles that one fine thanks
  513. moparisthebest added it to the test
  514. moparisthebest I just want to split on stanza boundaries, I do not want to allocate memory to parse anything
  515. dwd moparisthebest, Sure, but rapidxml dopesn't allocate anything either.
  516. dwd moparisthebest, And you're getting achingly close to an XML parser there anyway.
  517. moparisthebest http://rapidxml.sourceforge.net/manual.html#namespacerapidxml_1memory_allocation ?
  518. Calvin has left
  519. dwd moparisthebest, And yet, <x a='/>'>This is going to be fun.</x>
  520. chronosx88 has left
  521. chronosx88 has joined
  522. arc has left
  523. arc has joined
  524. arc has left
  525. dwd moparisthebest, Yeah, there's a pool for attributes, but since it's a pool it's a single allocation. If you ported it you could *probably* ditch that for the kind of "chopping out elements" work you're trying to do.
  526. arc has joined
  527. Sam I really need something like this in Go too. I try to keep Mellium relatively fast, but the XML parser is *terrible* and there's not much point to me optimizing things when we're using a parser as slow as the one we're using
  528. dwd moparisthebest, <a a='![CDATA['/> might be fun too.
  529. BASSGOD has joined
  530. Sam moparisthebest: you might consider fuzzing this. XML is flexible enough that I don't think you'll come close trying to think up edge cases yourself.
  531. arc has left
  532. arc has joined
  533. Zash Probably easier to find a generic fuzzer and let it figure out XML syntax anyway
  534. dwd moparisthebest, What Sam says, besides you'll just be writing the same asusmptions into your tests you've been coding for, like all of us do.
  535. dwd Zash, AFL can do this, indeed.
  536. dwd Zash, Dunno if it'll work with Rust, but ... maybe?
  537. arc has left
  538. Zash AFL-RIIR is probably a thing already
  539. Sam Is it worth tying fiscal sponsorship to membership (or saying that at least one person in your project must begin seeking membership)? I don't know if it matters, just seems like something organizations do. That way you've already accepted whatever CoC and other rules we come up with.
  540. arc has joined
  541. Sam Maybe not, that seems super limiting.
  542. Sam </thinking-out-loud>
  543. arc has left
  544. arc has joined
  545. Zash Seems sensible. (needing membership.)
  546. Sam But also, why?
  547. Freddy has left
  548. Zash Dunno. Why not? Dunno to that too.
  549. dwd I don't actually know if that's sensible or not.
  550. Freddy has joined
  551. arc has left
  552. Sam It would be nice to have a representative from every project, but also if this is a service to the community then maybe we want to make it as easy and open as possible.
  553. Sam Not something we have to decide immediately, I'm just thinking about what a policy write up would look like.
  554. moparisthebest `<a a='![CDATA['/>` works fine, but indeed I hadn't planned for `<x a='/>'>This is going to be fun.</x>` which will require a "InAttribute" state, thanks dwd
  555. arc has joined
  556. jonas’ afl works with anything (but is less efficient and less effective) if you run it in qemu mode :)
  557. dwd moparisthebest, Right - it *feels* like you're basically writing an XML lexer, if not a parser. THough I'll be honest and say this is one of those cases where my lack of a CS degree means I don't really know the difference.
  558. moparisthebest Metre can't proxy c2s right?
  559. dwd moparisthebest, Nope.
  560. dwd moparisthebest, And it only "truly" proxies S2S with the server's consent, as it were.
  561. jonas’ moparisthebest, right, what dwd says -- check out parser generators and let one of them build a lexer for you based on the official XML grammar
  562. jonas’ that won’t allocate a lot if anything at all, depending on the implementation
  563. adiaholic has joined
  564. Kev I’d probably *not* be inclined to encourage membership for the sake of the sponsorship stuff. On the basis that the XSF doesn’t benefit from having lots of members, only from having members who are sufficiently motivated/able to do the few teams that need membership, and otherwise to be on top of things enough to make judgements on Council/Board positions based on people’s interactions with the community. Encouraging people to become members purely to get access to money doesn’t really help with that.
  565. Zash Kev, good point.
  566. dwd Indeed.
  567. derwin has left
  568. derwin has joined
  569. derwin has left
  570. derwin has joined
  571. ti_gj06 has joined
  572. derwin has left
  573. derwin has joined
  574. Sam *nods* good point
  575. derwin has left
  576. derwin has joined
  577. Syndace has left
  578. Syndace has joined
  579. neshtaxmpp has joined
  580. arc has left
  581. arc has joined
  582. arc has left
  583. arc has joined
  584. arc has left
  585. arc has joined
  586. arc has left
  587. arc has joined
  588. wurstsalat has left
  589. arc has left
  590. arc has joined
  591. arc has left
  592. arc has joined
  593. debacle has joined
  594. emus has left
  595. adiaholic has left
  596. jubalh has left
  597. jubalh has joined
  598. arc has left
  599. arc has joined
  600. adiaholic has joined
  601. arc has left
  602. arc has joined
  603. arc has left
  604. arc has joined
  605. arc has left
  606. arc has joined
  607. arc has left
  608. adiaholic has left
  609. arc has joined
  610. adiaholic has joined
  611. Aleksej has left
  612. neshtaxmpp has left
  613. Steve Kille has left
  614. BASSGOD has left
  615. Steve Kille has joined
  616. emus has joined
  617. adiaholic has left
  618. BASSGOD has joined
  619. adiaholic has joined
  620. mathijs has left
  621. mathijs has joined
  622. arc has left
  623. arc has joined
  624. arc has left
  625. arc has joined
  626. alexbay218 has joined
  627. adiaholic has left
  628. Maranda has left
  629. adiaholic has joined
  630. stpeter has joined
  631. stpeter has left
  632. arcxi has left
  633. arcxi has joined
  634. arcxi has left
  635. arcxi has joined
  636. adiaholic has left
  637. adiaholic has joined
  638. moparisthebest I guess fuzzing won't really do what I need, I need a stream of XMPP XML and to verify I split it at the correct boundaries
  639. adiaholic has left
  640. moparisthebest no one knows of projects that have tests consisting of anything like that for their parsers ?
  641. jcbrand has left
  642. adiaholic has joined
  643. menel has left
  644. menel has joined
  645. Kev Fuzzing is what you need in terms of testing you don’t fall apart in the face of bad input, but not in terms of ensuring boundaries are correct, indeed.
  646. mukt2 has left
  647. moparisthebest yea fuzzing is certainly valuable, just also need other things
  648. wurstsalat has joined
  649. Sam Maybe more of a mix of fuzzing and integration testing then. Generate random XML input, pipe it through your splitter and a real parser, when you detect a difference generate a unit test from that.
  650. moparisthebest generating random-but-valid XMPP-subset-of-XML sounds hard
  651. adiaholic has left
  652. Maranda has joined
  653. adiaholic has joined
  654. Sam Not really. Elements, random cdata, random attributes.
  655. moparisthebest yea, but then we are back to testing only the things I know about
  656. adiaholic has left
  657. govanify has left
  658. govanify has joined
  659. Kev Yeah. It’s easy as long as you don’t want anything that you didn’t already think of and could have generated manually :D
  660. krauq has left
  661. krauq has joined
  662. moparisthebest essentially yea :)
  663. govanify has left
  664. Kev I, once upon a time, wrote an XML-aware (and fairly naive) fuzzing layer for Swiften that would modify stanzas on the way out randomly so we could run ‘good’ Sluift scripts against M-Link and have them modified in malicious ways.
  665. govanify has joined
  666. Kev That was in the days before AFL These days you’d run the same scripts to generate a corpus to feed into a branch-aware fuzzer instead, presumably.
  667. Sam No, because you have random attributes and the like
  668. adiaholic has joined
  669. moparisthebest "random" but also that follows the rules I know about like cannot contain " or ' , but those are the rules I know, and have implemented already
  670. govanify has left
  671. govanify has joined
  672. moparisthebest basically for each chunk my splitter spits out, when fed into a real XML parser, it should either: 1. parse a complete stanza 2. error out because of invalid xml (mis-matched tags etc etc) the thing it should never do is: 3. wait for the rest of a partial stanza
  673. flow moparisthebest, no, jxmpp has a corpus of valid and invalid JIDs, but no corpus of valid and invalid XMPP streams. Wanna team up? :)
  674. Kev FWIW, I would be inclined to use an XML library for this, unless and until you can see that the performance through that is inadequate.
  675. moparisthebest even my super naive and known-wrong initial splitter worked perfectly fine with normal-case XMPP, I ran it for days filtering 100% of XML into my server without any errors, it's the other cases that need work
  676. moparisthebest I'm after zero-memory-allocations rather than performance
  677. Kev TBH, if you’re worried about ‘working’ rather than ‘correct’, a few days of data on an active and well-peered server usually catches most edge cases, in my experience.
  678. Sam I guess I don't get what you're trying to test for then. Running random inputs against a real XML parser and your thing seems like it would identify unknown areas where splitting is broken.
  679. moparisthebest yes I think it'd be valuable, just not as valuable as the horrors-people-have-seen-in-the-wild and added test cases for, but if those don't exist...
  680. arcxi has left
  681. Freddy has left
  682. Kev Run AFL against libxml2, generate a corpus, feed that in?
  683. Sam Yah, I don't know that you'll do well finding specific things from people to test. This is too general for that.
  684. moparisthebest now that's an interesting thought Kev ...
  685. karoshi has left
  686. Sam Isn't that what I said except recommending specific tools? I am not understanding something about what's being tested here I guess.
  687. Kev It may be what you said, but not what I read :)
  688. BASSGOD has left
  689. Kev (Which is probably on me)
  690. karoshi has joined
  691. moparisthebest Sam, mainly, if I write a tool to generate all possible XML as I understand it, I might miss something valid that I don't know about
  692. moparisthebest vs, fuzzing, in theory, should eventually hit all cases ?
  693. Sam Fuzzing is literally what I said, but yah, I didn't mean "write your own thing". Anyways, what Kev said is what I was suggesting. Do that, it will be better than asking for samples which will never catch the one weird edge case.
  694. Sam My apologies if I wasn't clear.
  695. BASSGOD has joined
  696. moparisthebest no my bad I appreciate it
  697. adiaholic has left
  698. moparisthebest flow, sure, but maybe this is a good path forward already, convince a fuzzer to generate individually good stanzas, combine them in random orders for good streams ? :/
  699. adiaholic has joined
  700. Calvin has joined
  701. papatutuwawa has joined
  702. Freddy has joined
  703. flow moparisthebest, not saying that it's not, just that a curated corpus would be also nice
  704. moparisthebest flow, I agree, got any thoughts on gathering that together? :)
  705. Sam What is this corpus for specifically?
  706. moparisthebest testing XMPP XML stream parsing ?
  707. Sam Just where to split XML tokens?
  708. Sam I'm just wondering how many people actually do their own XML parsing.
  709. flow I was thinking of a corpus of valid and invalid XMPP streams
  710. moparisthebest my thing is only concerned on where to split stanzas out of an XML stream, but such a corpus would be more generally useful
  711. Sam I just don't understand what that tests unless you wrote your own parser
  712. flow entries in the valid corpus would contain the stream and the indivudual elements that the splitter should identify
  713. moparisthebest and how many wrongly-use generic XML parsers and allow comments, processing instructions, etc etc Sam ?
  714. flow and entries in the invalid corpus should be just rejected
  715. moparisthebest XMPP only allows a subset of XML
  716. Sam If it's just that you use a parser then you don't really need a corpus except those few things that are forbidden by XMPP, I've got tests for all those things if you want them
  717. moparisthebest I'm sure many projects actually do this, just like many threw XHTML-IM into a DOM
  718. moparisthebest if you caught them all, but yes that would be a good starting point
  719. moparisthebest I think assuming the XML parser you chose actually works well is a mistake
  720. adiaholic has left
  721. moparisthebest well, I know it's a mistake...
  722. flow to be fair, most XML parser I worked with could be easily modified to reject most things XMPP disallows
  723. Sam I disagree. I mean, you should certainly use a proper XML parser but if you're going to write tests for it you should be upstreaming those, not re-testing what's already been tested
  724. Sam (or what's likely to have already been tested; obviously if you pick an XML parser that's untested that's a problem, I'm just saying that I don't see why you'd retest it in the XMPP library instead of just writing tests for the parser itself)
  725. adiaholic has joined
  726. moparisthebest most XMPP things I see test individual stanzas, and not an XMPP-XML-Stream, and that's a mistake
  727. winfried has left
  728. winfried has joined
  729. Sam Why? I mean, I get the need for a test ensuring the parser got limited correctly, but then you can test at the parser level that it correctly rejects comments and the like
  730. flow Sam, re your tests, link pls?
  731. flow Sam, re your tests, link pls
  732. flow Sam, re your tests, link pls :)
  733. adiaholic has left
  734. Sam I'll have to go dig them up, I think there's one or two in internal/stream, or I may not have ever published them. They do not test the stream in the way moparisthebest wants though, I have separate tests that make sure the parser actually gets wrapped in the "XMPP valid stuff only" wrapper
  735. LNJ has joined
  736. Sam But I have a meeting starting in a few minutes, I'll see if I can't find them afterwards.
  737. arcxi has joined
  738. adiaholic has joined
  739. BASSGOD has left
  740. BASSGOD has joined
  741. adiaholic has left
  742. sonny has left
  743. sonny has joined
  744. adiaholic has joined
  745. marek has left
  746. marek has joined
  747. x51 has joined
  748. adiaholic has left
  749. flow no worries. I think that also nicely demonstrates the value of a xmpp stream corpus: being able to point people to a repo where they will find plain text files and telling them: your implementation should be able to parse the valid-stream files, and reject the invalid-stream files
  750. flow whereas what we have right now are probably mostly tests, written in the programming-languages native (unit-)test framework, where you have to carefully extra the test vectors if you want to re-use them
  751. flow whereas what we have right now are probably mostly tests, written in the programming-languages native (unit-)test framework, where you have to carefully extract the test vectors if you want to re-use them
  752. emus has left
  753. moparisthebest yep!
  754. moparisthebest probably want to include the location where the invalid ones become invalid, maybe byte index of the last successfully-parsed stanza or something?
  755. Calvin has left
  756. mathieui FWIW slixmpp/sleekxmpp has raw stanzas in the unit test suites, but that’s in part because it allows to check that our generated objects are valid, and also it mostly allows copypasting from XEP examples :p
  757. mathieui (so, not too much value as a parser test)
  758. moparisthebest you certainly want both types of tests
  759. marek has left
  760. mukt2 has joined
  761. peetah has left
  762. flow moparisthebest, for the start i'd probably go with a simple test comment stating where the test is expected to "fail"
  763. flow but yes, if your parser provides you with the exact coordinates where something went wrong, it can not hurt to compare those with the expected values
  764. LNJ has left
  765. marek has joined
  766. mathijs has left
  767. peetah has joined
  768. adiaholic has joined
  769. LNJ has joined
  770. arc has left
  771. arc has joined
  772. Andrzej has left
  773. arc has left
  774. arc has joined
  775. arc has left
  776. arc has joined
  777. marek has left
  778. adiaholic has left
  779. marek has joined
  780. alameyo has left
  781. govanify has left
  782. govanify has joined
  783. derwin has left
  784. derwin has joined
  785. derwin has left
  786. derwin has joined
  787. chronosx88 has left
  788. chronosx88 has joined
  789. LNJ has left
  790. LNJ has joined
  791. Yagiza has left
  792. chronosx88 has left
  793. Paganini has left
  794. marek has left
  795. Wojtek has left
  796. marek has joined
  797. chronosx88 has joined
  798. marek has left
  799. marek has joined
  800. alameyo has joined
  801. BASSGOD has left
  802. alameyo has left
  803. adiaholic has joined
  804. BASSGOD has joined
  805. x51 has left
  806. adiaholic has left
  807. papatutuwawa has left
  808. DebXWoody has left
  809. DebXWoody has joined
  810. Paganini has joined
  811. DebXWoody has left
  812. goffi has left
  813. emus has joined
  814. andrey.g has joined
  815. Syndace has left
  816. Syndace has joined
  817. mathijs has joined
  818. govanify has left
  819. govanify has joined
  820. govanify has left
  821. govanify has joined
  822. ti_gj06 has left
  823. govanify has left
  824. govanify has joined
  825. alexbay218 has left
  826. govanify has left
  827. govanify has joined
  828. BASSGOD has left
  829. BASSGOD has joined
  830. Syndace has left
  831. Syndace has joined
  832. Ge0rG has left
  833. Ge0rG has joined
  834. arc has left
  835. arc has joined
  836. arc has left
  837. arc has joined
  838. BASSGOD has left
  839. Syndace has left
  840. Syndace has joined
  841. LNJ has left
  842. peetah has left
  843. peetah has joined
  844. BASSGOD has joined
  845. ralphm has left
  846. ralphm has joined
  847. andrey.g has left
  848. adiaholic has joined
  849. arc has left
  850. arc has joined
  851. adiaholic has left
  852. arc has left
  853. arc has joined
  854. stpeter has joined
  855. stpeter has left
  856. Syndace has left
  857. Syndace has joined
  858. alameyo has joined
  859. bean has left
  860. BASSGOD has left
  861. Syndace has left
  862. Syndace has joined
  863. BASSGOD has joined
  864. stpeter has joined
  865. stpeter has left
  866. neshtaxmpp has joined
  867. lovetox has left
  868. emus has left
  869. Tobias has left
  870. Kev has left
  871. Kev has joined
  872. menel has left
  873. emus has joined
  874. andy has left
  875. andy has joined
  876. Ge0rG has left
  877. arc has left
  878. arc has joined
  879. bean has joined
  880. arc has left
  881. arc has joined
  882. Ge0rG has joined
  883. lorddavidiii has left
  884. Seve has left
  885. Vaulor has left
  886. andy has left
  887. hamish has left
  888. hamish has joined
  889. LNJ has joined
  890. millesimus has left
  891. millesimus has joined
  892. lovetox has joined
  893. larma has left
  894. larma has joined
  895. arc has left
  896. arc has joined