XSF Discussion - 2021-03-22


  1. vanitasvitae has left
  2. vanitasvitae has joined
  3. menel has left
  4. Andrzej has left
  5. debacle has left
  6. Calvin has left
  7. lskdjf has left
  8. BASSGOD has left
  9. BASSGOD has joined
  10. ajeremias has left
  11. esil has joined
  12. esil has left
  13. aidalgol has joined
  14. aidalgol has left
  15. aidalgol has joined
  16. BASSGOD has left
  17. emus has left
  18. andrey.g has left
  19. BASSGOD has joined
  20. alameyo has left
  21. BASSGOD has left
  22. alameyo has joined
  23. BASSGOD has joined
  24. Calvin has joined
  25. chronosx88 has left
  26. dwd has left
  27. Calvin has left
  28. Calvin has joined
  29. Kev has joined
  30. Adi has left
  31. DebXWoody has joined
  32. BASSGOD has left
  33. BASSGOD has joined
  34. DebXWoody has left
  35. Adi has joined
  36. BASSGOD has left
  37. Andrzej has joined
  38. BASSGOD has joined
  39. govanify has left
  40. arc has left
  41. govanify has joined
  42. arc has joined
  43. govanify has left
  44. govanify has joined
  45. Andrzej has left
  46. BASSGOD has left
  47. Lance has joined
  48. Lance has left
  49. BASSGOD has joined
  50. nyco has left
  51. alacer_ has joined
  52. alacer_ has left
  53. BASSGOD has left
  54. Calvin has left
  55. stp has left
  56. BASSGOD has joined
  57. stp has joined
  58. stp has left
  59. nyco has joined
  60. lovetox has left
  61. ti_gj06 has joined
  62. wurstsalat has left
  63. BASSGOD has left
  64. BASSGOD has joined
  65. Yagiza has joined
  66. aidalgol has left
  67. arc has left
  68. jcbrand has joined
  69. Andrzej has joined
  70. Andrzej has left
  71. ti_gj06 has left
  72. Kev has left
  73. ti_gj06 has joined
  74. ti_gj06 has left
  75. govanify has left
  76. govanify has joined
  77. govanify has left
  78. govanify has joined
  79. chronosx88 has joined
  80. dwd has joined
  81. chronosx88 has left
  82. chronosx88 has joined
  83. chronosx88 has left
  84. chronosx88 has joined
  85. ti_gj06 has joined
  86. DebXWoody has joined
  87. DebXWoody has left
  88. chronosx88 has left
  89. chronosx88 has joined
  90. Tobias has joined
  91. chronosx88 has left
  92. chronosx88 has joined
  93. lovetox has joined
  94. karoshi has joined
  95. DebXWoody has joined
  96. DebXWoody has left
  97. chronosx88 has left
  98. chronosx88 has joined
  99. Kev has joined
  100. chronosx88 has left
  101. chronosx88 has joined
  102. andy has joined
  103. chronosx88 has left
  104. chronosx88 has joined
  105. Andrzej has joined
  106. govanify has left
  107. govanify has joined
  108. govanify has left
  109. DebXWoody has joined
  110. govanify has joined
  111. chronosx88 has left
  112. chronosx88 has joined
  113. emus has joined
  114. Andrzej has left
  115. chronosx88 has left
  116. chronosx88 has joined
  117. menel has joined
  118. Kev has left
  119. Kev has joined
  120. nyco has left
  121. chronosx88 has left
  122. chronosx88 has joined
  123. govanify has left
  124. govanify has joined
  125. croax has joined
  126. marc has joined
  127. aidalgol has joined
  128. APach has left
  129. APach has joined
  130. APach has left
  131. APach has joined
  132. chronosx88 has left
  133. chronosx88 has joined
  134. APach has left
  135. APach has joined
  136. APach has left
  137. APach has joined
  138. Kev has left
  139. matkor has left
  140. floretta has left
  141. LNJ has joined
  142. mathijs has left
  143. mathijs has joined
  144. Andrzej has joined
  145. nyco has joined
  146. lovetox has left
  147. mdosch has left
  148. mdosch has joined
  149. Alex has joined
  150. Ge0rG has left
  151. Ge0rG has joined
  152. Andrzej has left
  153. deuill has left
  154. APach has left
  155. APach has joined
  156. chronosx88 has left
  157. chronosx88 has joined
  158. deuill has joined
  159. Kev has joined
  160. yushyin has left
  161. karoshi has left
  162. matkor has joined
  163. marc has left
  164. Adi has left
  165. millesimus has left
  166. karoshi has joined
  167. Neustradamus has left
  168. Neustradamus has joined
  169. yushyin has joined
  170. APach has left
  171. millesimus has joined
  172. andrey.g has joined
  173. govanify has left
  174. govanify has joined
  175. bean has joined
  176. debacle has joined
  177. Neustradamus has left
  178. Neustradamus has joined
  179. Daniel has left
  180. Daniel has joined
  181. Daniel has left
  182. Daniel has joined
  183. Daniel has left
  184. Daniel has joined
  185. andy has left
  186. Neustradamus has left
  187. wurstsalat has joined
  188. ti_gj06 has left
  189. ti_gj06 has joined
  190. millesimus has left
  191. Neustradamus has joined
  192. paul has left
  193. marc has joined
  194. millesimus has joined
  195. Andrzej has joined
  196. stp has joined
  197. andy has joined
  198. Daniel has left
  199. derdaniel has joined
  200. Andrzej has left
  201. Daniel has joined
  202. eric has left
  203. andrey.g has left
  204. eric has joined
  205. paul has joined
  206. stp has left
  207. goffi has joined
  208. ajeremias has joined
  209. Andrzej has joined
  210. lskdjf has joined
  211. derdaniel has left
  212. derdaniel has joined
  213. millesimus has left
  214. Andrzej has left
  215. Andrzej has joined
  216. Andrzej has left
  217. Andrzej has joined
  218. Andrzej has left
  219. Andrzej has joined
  220. aidalgol has left
  221. Andrzej has left
  222. Andrzej has joined
  223. Andrzej has left
  224. Andrzej has joined
  225. goffi has left
  226. chronosx88 has left
  227. chronosx88 has joined
  228. chronosx88 has left
  229. chronosx88 has joined
  230. Daniel has left
  231. Daniel has joined
  232. Freddy has left
  233. Freddy has joined
  234. millesimus has joined
  235. ajeremias has left
  236. Andrzej has left
  237. Andrzej has joined
  238. Andrzej has left
  239. Andrzej has joined
  240. goffi has joined
  241. Andrzej has left
  242. Andrzej has joined
  243. Andrzej has left
  244. Andrzej has joined
  245. derdaniel has left
  246. esil has joined
  247. esil has left
  248. marc has left
  249. marc has joined
  250. marc has left
  251. marc has joined
  252. millesimus has left
  253. ajeremias has joined
  254. neshtaxmpp has left
  255. marc has left
  256. chronosx88 has left
  257. chronosx88 has joined
  258. millesimus has joined
  259. lovetox has joined
  260. marc has joined
  261. Wojtek has joined
  262. Andrzej has left
  263. Andrzej has joined
  264. lovetox has left
  265. ajeremias has left
  266. Andrzej has left
  267. sonny has left
  268. sonny has joined
  269. sonny has left
  270. Calvin has joined
  271. sonny has joined
  272. fuana has joined
  273. neshtaxmpp has joined
  274. millesimus has left
  275. millesimus has joined
  276. nyco has left
  277. fuana has left
  278. fuana has joined
  279. APach has joined
  280. APach has left
  281. APach has joined
  282. marc has left
  283. stp has joined
  284. marc has joined
  285. Kev has left
  286. Kev has joined
  287. marc has left
  288. Kev has left
  289. Kev has joined
  290. Kev has left
  291. Kev has joined
  292. emus has left
  293. emus has joined
  294. APach has left
  295. Adi has joined
  296. marc has joined
  297. APach has joined
  298. marc has left
  299. flow has left
  300. chronosx88 has left
  301. chronosx88 has joined
  302. flow has joined
  303. chronosx88 has left
  304. chronosx88 has joined
  305. andy has left
  306. Daniel has left
  307. Daniel has joined
  308. chronosx88 has left
  309. chronosx88 has joined
  310. andy has joined
  311. marc has joined
  312. floretta has joined
  313. fuana has left
  314. Daniel has left
  315. Daniel has joined
  316. Daniel has left
  317. Daniel has joined
  318. Andrzej has joined
  319. eevvoor has joined
  320. paul has left
  321. paul has joined
  322. Andrzej has left
  323. Daniel has left
  324. Daniel has joined
  325. Daniel has left
  326. Daniel has joined
  327. peetah has left
  328. peetah has joined
  329. Daniel has left
  330. Daniel has joined
  331. Daniel has left
  332. Daniel has joined
  333. arc has joined
  334. Daniel has left
  335. Daniel has joined
  336. BASSGOD has left
  337. BASSGOD has joined
  338. andy has left
  339. BASSGOD has left
  340. chronosx88 has left
  341. chronosx88 has joined
  342. Kev has left
  343. Kev has joined
  344. BASSGOD has joined
  345. ajeremias has joined
  346. andy has joined
  347. chronosx88 has left
  348. chronosx88 has joined
  349. chronosx88 has left
  350. chronosx88 has joined
  351. chronosx88 has left
  352. chronosx88 has joined
  353. chronosx88 has left
  354. chronosx88 has joined
  355. BASSGOD has left
  356. pasdesushi has joined
  357. MattJ Just got off a 2h debugging session, where the root cause turned out to be the client using origin-id where it should have been using stanza-id
  358. BASSGOD has joined
  359. ajeremias has left
  360. Ge0rG waves with the "told you so" stamp
  361. floretta has left
  362. floretta has joined
  363. pasdesushi has left
  364. Andrzej has joined
  365. lovetox has joined
  366. Andrzej has left
  367. Zash And what is the point of @id == origin-id/@id for normal chat messages?
  368. mdosch admits to don't know (yet) what's the difference between those IDs.
  369. MattJ Just pretend origin-id doesn't exist, and join the campaign to have it removed from the XEP :)
  370. Sam ⤴️
  371. pasdesushi has joined
  372. Zash Look at this and tell me, for each byte, why you really need it: ```xml <message type='chat' to='zash@recv.example' from='foo@sender.example/c' id='ceb792ed-e033-4e2d-8e00-c01dbc2e7673' xml:lang='en'> <body>Test</body> <request xmlns='urn:xmpp:receipts'/> <markable xmlns='urn:xmpp:chat-markers:0'/> <origin-id id='ceb792ed-e033-4e2d-8e00-c01dbc2e7673' xmlns='urn:xmpp:sid:0'/> <active xmlns='http://jabber.org/protocol/chatstates'/> <stanza-id id='BsxtFkWgYn1TCs5c' xmlns='urn:xmpp:sid:0' by='zash@recv.example'/> <delay xmlns='urn:xmpp:delay' stamp='2021-03-22T12:47:00Z' from='recv.example'/> </message> ```
  373. Link Mauve :|
  374. flow mdosch, those are not two IDs, there could be multiple <stanza-id/> elements, for example one from the user's archive and one from the MUCs archive
  375. flow and <origin-id/> is simply the ID the entity where the stanza originated from assigned
  376. mdosch 🤔
  377. MattJ and 'id' is what?
  378. mdosch Ok, I think I go for 'pretend it doesn't exist' until I have time to thoroughly look at this.
  379. BASSGOD has left
  380. Zash mod_if_id_eq_origin_id_then_remove_it
  381. pasdesushi has left
  382. Andrzej has joined
  383. BASSGOD has joined
  384. Kev I also don’t see why origin ID can’t be a stanza ID stamped by the originator :)
  385. flow Kev, to avoid leaking the JID
  386. flow consider a semi-anonymous MUC for example
  387. Kev Or a stanza-id with no originator, then :) But yes, I’d forgotten about that.
  388. flow Kev, allowing <stanza-id/> without by attribute would complicate the rules for <stanza-id/> validation
  389. Andrzej has left
  390. Andrzej has joined
  391. Ge0rG Can we just get rid of origin-id and pretend it never existed?
  392. jonas’ et ceterum censeo origin-id delendam esse?
  393. arcxi has left
  394. arcxi has joined
  395. andrey.g has joined
  396. arcxi has left
  397. arcxi has joined
  398. arcxi has left
  399. arcxi has joined
  400. peetah has left
  401. arcxi has left
  402. arcxi has joined
  403. arcxi has left
  404. Mikaela has joined
  405. arcxi has joined
  406. Mikaela has left
  407. Andrzej has left
  408. peetah has joined
  409. Mikaela has joined
  410. Andrzej has joined
  411. Wojtek has left
  412. Mikaela has left
  413. peetah has left
  414. peetah has joined
  415. mathijs has left
  416. peetah has left
  417. Andrzej has left
  418. peetah has joined
  419. mathijs has joined
  420. nad200 has joined
  421. Andrzej has joined
  422. larma As someone asked what 'id' attribute is for, here is the RFC: > The 'id' attribute is used by the originating entity to track any response or error stanza that it might receive in relation to the generated stanza from another entity (such as an intermediate server or the intended recipient). > It is up to the originating entity whether the value of the 'id' attribute is unique only within its current stream or unique globally. > For <message/> and <presence/> stanzas, it is RECOMMENDED for the originating entity to include an 'id' attribute; for <iq/> stanzas, it is REQUIRED.
  423. Nekit has joined
  424. alameyo has left
  425. marc has left
  426. flow has left
  427. pasdesushi has joined
  428. Link Mauve For messages, 0045 adds the requirement that “The [MUC] service SHOULD reflect the message with the same 'id' that was generated by the client, to allow clients to track their outbound messages.”
  429. larma Which was only added later and may be in conflict with RFC
  430. larma Which was only added "recently" and may be in conflict with RFC
  431. Ge0rG larma: what's the "current stream" in an s2s context?
  432. pasdesushi has left
  433. larma Hard to say. But in RFC terms, the originator of a broadcasted MUC message clearly is the MUC service
  434. pasdesushi has joined
  435. Daniel has left
  436. Ge0rG larma: and it could "open" a new "stream" for each message
  437. larma I'd be tempted to argue that a stream goes from sender ('from') to recipient ('to'), at least that would make sense in this context because every intermediary is allowed to send errors up to the recipient
  438. marc has joined
  439. larma But how does it match error messages then?
  440. pasdesushi has left
  441. pasdesushi has joined
  442. Andrzej has left
  443. Andrzej has joined
  444. Ge0rG larma: when a stream goes between the respective JIDs, any implementation that eventually re-uses IDs is incompliant, because the stream exists as long as the JIDs exist
  445. Daniel has joined
  446. nad200 has left
  447. pasdesushi has left
  448. larma Ge0rG, huh? I can just not reuse the id with a single recipient but reuse with another recipient
  449. larma i.e. sending <message id="1" to="a@example.org" /> and <message id="2" to="a@example.org" /> would then be allowed because any error message could still be matched
  450. larma i.e. sending <message id="1" to="a@example.org" /> and <message id="1" to="b@example.org" /> would then be allowed because any error message could still be matched
  451. pasdesushi has joined
  452. Ge0rG larma: not what I'm taking about. You may never reuse an ID to a given recipient because you don't know if they did restart in the meantime
  453. larma yes, that's true
  454. larma except if you change your JID of course 😉
  455. Ge0rG Well, welcome random non persistent resource identifiers!
  456. Zash Something something (kind, id, to, from) unique, or somesuch.
  457. neshtaxmpp has left
  458. larma yeah, except that MUCs don't use random resource identifiers so they can't guarantee uniqueness on that pair when forwarding an incoming message.
  459. Zash And errors have to/from flipped. Easy. What we talking about?
  460. Ge0rG So the RFC can't be followed in any sensible form and we should change it
  461. Zash larma, still applies to the full JID pairs, does it not?
  462. larma Ge0rG, why?
  463. Ge0rG larma: my point is that any implementation that will rely on id never repeating will have been broken a long time ago
  464. Zash on s2s?
  465. larma Ge0rG, ehm, don't we see issues with clients when any other client do it repeatedly?
  466. pasdesushi has left
  467. Ge0rG Because in practice, client implementations were considering a stream as their connection, and used an auto increment for IDs, and that caused repetition issues at all recipients
  468. Nekit has left
  469. Ge0rG larma: only on receiving clients that think a "stream" is something eternal and persistent
  470. nad200 has joined
  471. larma in practice we have XEPs that by design would break should ids be reused.
  472. larma we just workaround by making them use origin-id
  473. Zash If you do that, do you break anything but yourself (the client)
  474. Zash If you do that, do you break anything but yourself (the client)?
  475. larma you typically break the recipient client 😉
  476. Ge0rG larma: an evil client will break you by sending repeated origin-id. You haven't solved anything, you just limited the problem to pidgin.
  477. larma it's not about evil clients, it's about standard compliant clients
  478. pasdesushi has joined
  479. Ge0rG Except that pidgin won't send origin-id so it's exactly the status quo, but with one more useless xml element
  480. Zash What if the MUC just renumbers all the messages, but includes the origin-id in the reflection back to the sender (and only to them)
  481. Ge0rG Zash: what if MUC renumbers all the messages but the one sent to the original sending client?
  482. Ge0rG But also what if the client gets reconnected between sending the message and getting the reflection?
  483. larma Ge0rG, the original client wouldn't know the MUCs message id 😉
  484. mathijs has left
  485. larma Let's just agree that MUC is just a bunch of hacks and undefined behavior
  486. Ge0rG What if we stop relying on message id being unique except for purposes of reflection tracking?
  487. pasdesushi has left
  488. pasdesushi has joined
  489. larma You mean as it's described in the RFC?
  490. marc has left
  491. Ge0rG Should a client be able to send a correction to a message that's still in flight?
  492. Zash Bring back "last" message correction
  493. Zash Or should we finally go ahead and mandate all IDs be HMAC(stream-id, stanza counter) ?
  494. Ge0rG Zash: have the server rewrite any client ID into this format!
  495. Zash Yes
  496. Ge0rG With eternal tracking, of course
  497. Zash Plus the client can know AOT what id messages will have
  498. Zash Didn't we invent this at every summit?
  499. Ge0rG Zash: yes, and I liked it every time
  500. Ge0rG Let's make it part of XMPP 2.0
  501. Ge0rG But then it won't prove that the ID is really unique to other servers.
  502. pasdesushi has left
  503. Ge0rG So we don't gain anything in the presence of malicious servers.
  504. pasdesushi has joined
  505. werdan has joined
  506. Zash "Don't write malicious servers"
  507. Ge0rG Except that you could terminate s2s to a server that sends repeating IDs
  508. nad200 has left
  509. pasdesushi has left
  510. pasdesushi has joined
  511. Zash Make every entity on the path attach their own ƒ(stream-id, counter)! Seal it with crypto, no, blockchain!
  512. pasdesushi has left
  513. pasdesushi has joined
  514. Ge0rG Zash: but then we reuse the counter from 0198, only to realize that it'll wrap around at 2^31
  515. Zash `<reset xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>`, bye
  516. arc has left
  517. arc has joined
  518. nad200 has joined
  519. pasdesushi has left
  520. pasdesushi has joined
  521. pasdesushi has left
  522. pasdesushi has joined
  523. arc has left
  524. arc has joined
  525. arc has left
  526. arc has joined
  527. arc has left
  528. arc has joined
  529. pasdesushi has left
  530. andrey.g has left
  531. marc has joined
  532. marek has joined
  533. nad200 has left
  534. deuill (I'm sure the above is tongue-in-cheek but) unique message IDs are useful for threading/message attaching/reactions/etc. as well, right?
  535. deuill I seem to remember the original RFCs saying IDs SHOULD be globally unique, though I might be wrong.
  536. Ge0rG deuill: yes. Any modern client will send globally unique IDs anyway
  537. marc has left
  538. Zash Twice. And then the MUC adds another. And some timestamps on that.
  539. deuill Hm, what's to prevent clients from sending duplicates?
  540. deuill Oh right yeah.
  541. pasdesushi has joined
  542. Ge0rG deuill: larma quoted the RFC one and a bit hours ago
  543. deuill Yeah I think Dino not doing MAM-MUC bit me there
  544. marc has joined
  545. deuill Or is it MUC-MAM
  546. Ge0rG deuill: an evil client can do whatever it wants. A broken client will make other clients break some functionality
  547. Ge0rG MAM is always using the server generated IDs. Luckily, servers will never misbehave
  548. Zash True fact. Servers are perfect.
  549. deuill Praise be!
  550. Zash Trust in the server. The server is good.
  551. deuill What if we just did away with clients altogether and just had the servers talk to one another
  552. mdosch To protect and serve?
  553. Zash YES
  554. Zash As a bonus we then get a pure p2p system
  555. Ge0rG Zash: "server" is a discriminatory word, because serving is an implication of involuntary labor.
  556. arc has left
  557. deuill Having worked at a cafe in Greece, I can attest to that
  558. arc has joined
  559. Zash Ge0rG: What, you don't tip your servers?
  560. Ge0rG Zash: xmp2p!
  561. Ge0rG Zash: no, I master them.
  562. arc has left
  563. arc has joined
  564. nad200 has joined
  565. pasdesushi has left
  566. deuill Please don't tip your servers, the hard drives will thank you
  567. Ge0rG Hard drives have been forbidden a long time ago, because of the IDE Master Slave jumped
  568. Ge0rG Hard drives have been forbidden a long time ago, because of the IDE Master Slave jumper
  569. karoshi has left
  570. karoshi has joined
  571. marc has left
  572. wgreenhouse has left
  573. neshtaxmpp has joined
  574. marc has joined
  575. nad200 has left
  576. wgreenhouse has joined
  577. nad200 has joined
  578. karoshi has left
  579. nad200 has left
  580. karoshi has joined
  581. eric has left
  582. eric has joined
  583. karoshi has left
  584. karoshi has joined
  585. mathijs has joined
  586. Daniel has left
  587. chronosx88 has left
  588. chronosx88 has joined
  589. alameyo has joined
  590. Daniel has joined
  591. pasdesushi has joined
  592. nad200 has joined
  593. DebXWoody has left
  594. pasdesushi has left
  595. alameyo has left
  596. Yagiza has left
  597. Andrzej has left
  598. Andrzej has joined
  599. papatutuwawa has joined
  600. aidalgol has joined
  601. DebXWoody has joined
  602. DebXWoody has left
  603. Andrzej has left
  604. Andrzej has joined
  605. mathijs has left
  606. mathijs has joined
  607. pasdesushi has joined
  608. govanify has left
  609. govanify has joined
  610. Andrzej has left
  611. pasdesushi has left
  612. nad200 has left
  613. pasdesushi has joined
  614. BASSGOD has left
  615. pasdesushi has left
  616. pasdesushi has joined
  617. BASSGOD has joined
  618. pasdesushi has left
  619. Kev has left
  620. Kev has joined
  621. pasdesushi has joined
  622. Andrzej has joined
  623. pasdesushi has left
  624. nad200 has joined
  625. BASSGOD has left
  626. papatutuwawa has left
  627. millesimus has left
  628. BASSGOD has joined
  629. millesimus has joined
  630. Andrzej has left
  631. bean has left
  632. BASSGOD has left
  633. jcbrand has left
  634. Calvin has left
  635. BASSGOD has joined
  636. goffi has left
  637. goffi has joined
  638. BASSGOD has left
  639. werdan has left
  640. werdan has joined
  641. BASSGOD has joined
  642. Tobias has left
  643. eric has left
  644. aidalgol has left
  645. aidalgol has joined
  646. Andrzej has joined
  647. pjn has left
  648. pjn has joined
  649. karoshi has left
  650. marc has left
  651. BASSGOD has left
  652. pjn has left
  653. goffi has left
  654. pjn has joined
  655. pjn has left
  656. Andrzej has left
  657. eevvoor has left
  658. BASSGOD has joined
  659. pjn has joined
  660. Kev has left
  661. Kev has joined
  662. nyco has joined
  663. eric has joined
  664. nad200 has left
  665. nad200 has joined
  666. nyco has left
  667. BASSGOD has left
  668. andy has left
  669. andrey.g has joined
  670. BASSGOD has joined
  671. Calvin has joined
  672. werdan has left
  673. BASSGOD has left
  674. wurstsalat has left
  675. LNJ has left
  676. winfried has left
  677. winfried has joined
  678. BASSGOD has joined
  679. nad200 has left
  680. Maranda has left
  681. Maranda has joined
  682. Calvin has left
  683. BASSGOD has left
  684. Kev has left
  685. Kev has joined
  686. croax has left
  687. BASSGOD has joined
  688. eevvoor has joined
  689. Kev has left
  690. Kev has joined
  691. DebXWoody has joined