jdev - 2022-05-12


  1. suohua has left

  2. emus has left

  3. debacle has left

  4. stuart.j.mackintosh has left

  5. stuart.j.mackintosh has joined

  6. suohua has joined

  7. thomaslewis has joined

  8. suohua has left

  9. thomaslewis has left

  10. thomaslewis has joined

  11. thomaslewis has left

  12. suohua has joined

  13. al has left

  14. adx has left

  15. thomaslewis has joined

  16. suohua has left

  17. suohua has joined

  18. suohua has left

  19. thomaslewis has left

  20. Stefan has joined

  21. nik has joined

  22. amee2k has left

  23. amee2k has joined

  24. eu has left

  25. eu has joined

  26. Yagizа has joined

  27. pasdesushi has left

  28. xnamed has left

  29. suohua has joined

  30. SouL has joined

  31. suohua has left

  32. Matrix Traveler (bot) has left

  33. homebeach has left

  34. homebeach has joined

  35. Matrix Traveler (bot) has joined

  36. suohua has joined

  37. Apollo has left

  38. Stefan

    larma: I think I will be there.

  39. Millesimus has left

  40. Millesimus has joined

  41. suohua has left

  42. Menel has joined

  43. Menel has left

  44. Stefan has left

  45. emus has joined

  46. Stefan has joined

  47. jonathan has joined

  48. suohua has joined

  49. suohua has left

  50. amee2k has left

  51. xnamed has joined

  52. wurstsalat has joined

  53. nik has left

  54. nik has joined

  55. xnamed has left

  56. stuart.j.mackintosh has left

  57. stuart.j.mackintosh has joined

  58. xnamed has joined

  59. msavoritias has joined

  60. atomicwatch has left

  61. marc has joined

  62. amee2k has joined

  63. xnamed has left

  64. suohua has joined

  65. debacle has joined

  66. xnamed has joined

  67. Laura has left

  68. suohua has left

  69. debacle has left

  70. Laura has joined

  71. suohua has joined

  72. amee2k has left

  73. suohua has left

  74. amee2k has joined

  75. Alex has joined

  76. stuart.j.mackintosh has left

  77. al has joined

  78. goffi has joined

  79. stuart.j.mackintosh has joined

  80. amee2k has left

  81. suohua has joined

  82. nik has left

  83. suohua has left

  84. Laura has left

  85. Laura has joined

  86. goffi has left

  87. goffi has joined

  88. nik has joined

  89. marc has left

  90. suohua has joined

  91. amee2k has joined

  92. suohua has left

  93. emus has left

  94. suohua has joined

  95. adx has joined

  96. emus has joined

  97. pasdesushi has joined

  98. larma has joined

  99. larma has left

  100. Dele Olajide has joined

  101. Dele Olajide has left

  102. Dele Olajide has joined

  103. xnamed has left

  104. Matrix Traveler (bot) has left

  105. homebeach has left

  106. homebeach has joined

  107. Matrix Traveler (bot) has joined

  108. stuart.j.mackintosh has left

  109. stuart.j.mackintosh has joined

  110. jonathan has left

  111. antranigv has joined

  112. al has left

  113. atomicwatch has joined

  114. xnamed has joined

  115. jgart has left

  116. xnamed has left

  117. Laura has left

  118. Laura has joined

  119. amee2k has left

  120. amee2k has joined

  121. larma has joined

  122. suohua has left

  123. spectrum has left

  124. spectrum has joined

  125. marc has joined

  126. debacle has joined

  127. amee2k has left

  128. amee2k has joined

  129. marc has left

  130. deuill has joined

  131. deuill

    Hey all, I've got a bit of an open-ended question -- I'm working on building a gateway for legacy protocols (the rocks on which many a ships have found their final resting place) specific to XMPP, and am wondering what the best JID schema might be. This will allow for running multiple gateways on the same component, so there needs to be some way of differentiating between "legacy" protocols.

  132. Ge0rG

    deuill: is there a real need for running different protocols on the same component domain?

  133. Ge0rG

    There is https://xmpp.org/extensions/xep-0106.html but it has mixed client support

  134. deuill

    Mainly ease-of-deployment and other such operational concerns -- I don't want to have to deploy multiple versions of essentially the same binary just to get separate components.

  135. lovetox has left

  136. Ge0rG

    my gut feeling is that having one domain per legacy protocol would be the cleaner design, probably at least with dedicated config files

  137. deuill

    Well, that's not 100% true -- I can have the same deployment bind/be exposed on separate DNS domains, which might do the trick.

  138. Ge0rG

    deuill: does it have to be reachable via s2s?

  139. Ge0rG

    a component will be running behind an xmpp server anyway, and you can use SRV records to reach all the domains on one IP/actual hostname

  140. deuill

    For my uses, it would be a component running somewhere locally (resolvable only by the XMPP server)

  141. Ge0rG

    in that case you don't need anything but local TCP ports

  142. jubalh has left

  143. deuill

    Indeed yeah, though you would need DNS/host entries for this kind of multi-domain approach.

  144. Laura has left

  145. deuill

    (I'm running stuff under Podman, which does DNS resolution for containers joined in the same network, but which makes adding arbitrary network aliases somewhat harder)

  146. debacle has left

  147. lovetox has joined

  148. deuill

    There's basically three reasonable choices, in my mind: - Use a separate domain part for each protocol, and use the local part for the "legacy" protocol user name, e.g. `someuser@skype.gateway.example.com`. - Use the same domain part, but splice "legacy" network and user names in the local part, e.g. `someuser%skype@gateway.example.com` - Use the same domain part, set the local part to the "legacy" network name, and use the resource part for the user name, e.g. `skype@gateway.example.com/someuser`.

  149. deuill

    For me, the latter of the three is cleaner since you mostly don't need JID escaping, and it makes operationalization somewhat simpler -- however I'm wondering if this is abuse of the resource part that might end up causing issues?

  150. amee2k has left

  151. Ge0rG

    deuill: you don't need any DNS for only-locally-reachable components, see eg. https://prosody.im/doc/components

  152. Ge0rG &

  153. amee2k has joined

  154. suohua has joined

  155. deuill

    Hmmm the main issue with using SRV records, in my case, is that components are registered against Prosody automatically as they come up (and using the hostnames Podman gives you works automatically). This is sort of a tangent, however, and likely specific to how I've got Prosody set up.

  156. MattJ

    deuill, also I didn't see this pointed out yet, but one binary can still serve multiple domains

  157. MattJ

    One process, even

  158. Dele Olajide has left

  159. PapaTutuWawa has joined

  160. Dele Olajide has joined

  161. deuill

    This would depend on the domain part of the JID resolving to the same host, right? Which means you either need SRV records to that effect, or (local) DNS should resolve correctly.

  162. deuill

    Apart from JID escaping concerns with using the local part for the legacy username, I think the separate domain part setup looks cleaner, though having to wrangle with DNS is definitely not the favourite part of my day...

  163. Zash

    Bit late but it would have been nice if addressing used URIs

  164. deuill

    Like, a hierarchical scheme?

  165. Zash

    Like `<message to="mailto:whoever@example.com"/>`

  166. deuill

    Ah where the legacy protocol is part of the URI scheme

  167. deuill

    Yeah that'd be cool as well.

  168. MattJ

    deuill, also note that the DNS part is only needed if you want to serve the gateways to users on other servers. Which is sometimes the case, but often not.

  169. Anton L. Šijanec has left

  170. Anton L. Šijanec has joined

  171. deuill

    Oh, wait, I think I've misunderstood how this works -- the XMPP server knows to route traffic to a specific component by domain part because of how components register against the XMPP server -- the domain part doesn't have to be a valid, resolvable DNS name from the perspective of the XMPP server, right?

  172. MattJ

    Correct

  173. deuill

    Then the subdomain scheme is viable, though I still don't like needing to potentially escape legacy usernames in the local part...

  174. marc has joined

  175. deuill

    Using the resource part feels... risky, though, as my impression is that it's typically expected that you can message a bare JID across resources and get a reasonable result.

  176. Matrix Traveler (bot) has left

  177. homebeach has left

  178. homebeach has joined

  179. Matrix Traveler (bot) has joined

  180. MattJ

    You can't subscribe to the presence of full JIDs, which limits the usefulness of using the resource to identify users

  181. MattJ

    If someone added that JID to their roster, the subscribe would go to the bare JID

  182. MattJ

    and if multiple resources responded as online, they would be shown as a single contact in clients

  183. MattJ

    So it's definitely going against the way things would be expected to work

  184. nik has left

  185. nik has joined

  186. deuill

    That's great context, thanks Matt! Reading the JID RFC made it look like a viable option (as far as not bending semantics goes), but it's great to have confirmation of the gut feeling here.

  187. Wojtek has joined

  188. MattJ

    JID escaping should be performed, ideally, automatically by clients. The gateway can also offer a helper protocol to perform JID translation: https://xmpp.org/extensions/xep-0100.html#addressing-iqgateway

  189. MattJ

    (you can probably ignore most of the rest of XEP-0100 though)

  190. deuill

    Hmmm *that's* what Ge0rG meant -- apologies for misreading that.

  191. suohua has left

  192. goffi has left

  193. antranigv has left

  194. antranigv has joined

  195. goffi has joined

  196. Stefan has left

  197. southerntofu has left

  198. southerntofu has joined

  199. antranigv has left

  200. Laura has joined

  201. Mx2 has joined

  202. Mx2

    Its possible that a client in an open muc get stanzas to send the complete contact list?

  203. Mx2

    To anyone who make the request?

  204. Mx2

    (If the server just relay data or does some processing, or its client related)

  205. jonas’

    I don't understand the question

  206. Mx2

    What exactly

  207. Mx2

    I am in an open muc

  208. goffi has left

  209. goffi has joined

  210. Mx2

    And send XML commands to someone else, to get information about his client

  211. Mx2

    Is the server involved or just relays the stream?

  212. amee2k has left

  213. amee2k has joined

  214. Zash

    Servers relay stanzas.

  215. Stefan has joined

  216. Alex has left

  217. Dele Olajide has left

  218. Dele Olajide has joined

  219. goffi has left

  220. Alex has joined

  221. amee2k has left

  222. Alex has left

  223. Alex has joined

  224. PapaTutuWawa has left

  225. Mx2

    Even malformed?

  226. pasdesushi has left

  227. flow

    depends on the kind fo malformedness

  228. flow

    and on the server

  229. pep.

    `skype@gateway/user` will only appear as one participant in MUC (single barejid) and you'll have a hard time talking to fulljids in 1:1 with popular clients, most address only the barejid nowadays.

  230. antranigv has joined

  231. pep.

    (Catching up on logs)

  232. jeronath has left

  233. jeronath has joined

  234. debacle has joined

  235. antranigv has left

  236. antranigv has joined

  237. norayr has joined

  238. nik has left

  239. nik has joined

  240. antranigv has left

  241. antranigv has joined

  242. antranigv has left

  243. antranigv has joined

  244. Matrix Traveler (bot) has left

  245. homebeach has left

  246. homebeach has joined

  247. Matrix Traveler (bot) has joined

  248. norayr has left

  249. norayr has joined

  250. deuill

    Indeed yeah, I think the way I'll go is protocol name is in the domain-part, and legacy username is in the local part, and maybe if there's multiple dimensions to care about (such as IRC server) I'll do as biboumi does and either use an allowed character (such as `%`) or just rely on JID escaping.

  251. jubalh has joined

  252. xnamed has joined

  253. deuill

    Another semi-relevant question: assuming a VirtualHost of `example.chat`, service discovery only works automatically for components that are direct subdomains, e.g. `irc.example.chat`, but not anything under that, e.g. `irc.gateway.example.chat`, right?

  254. deuill

    Not sure if the behaviour here is server-specific, but I'm on Prosody 0.12 if that counts.

  255. Zash

    Server-specific

  256. Zash

    Nothing stops the server from adding whatever items it wishes to the listing it returns to the client.

  257. deuill

    Indeed yeah, I'm trying to think which JID schema helps with operationalizing this without too much faff

  258. deuill

    As the component needs to parse the domain part somehow to derive the legacy protocol name

  259. nik has left

  260. deuill

    So whatever is commonly accepted use-case (and it seems that components that are direct subdomains is one of these things) would probably be the best way to go

  261. deuill

    I'll pick this thread up in the Prosody room and read ejabberd docs

  262. Wojtek has left

  263. goffi has joined

  264. amee2k has joined

  265. Stefan has left

  266. antranigv has left

  267. antranigv has joined

  268. Stefan has joined

  269. xnamed has left

  270. Laura has left

  271. Laura has joined

  272. antranigv has left

  273. antranigv has joined

  274. xnamed has joined

  275. antranigv has left

  276. antranigv has joined

  277. antranigv has left

  278. antranigv has joined

  279. Wojtek has joined

  280. antranigv has left

  281. goffi has left

  282. msavoritias has left

  283. nik has joined

  284. antranigv has joined

  285. amee2k has left

  286. debacle has left

  287. amee2k has joined

  288. nik has left

  289. msavoritias has joined

  290. suohua has joined

  291. deuill has left

  292. deuill has joined

  293. amee2k has left

  294. thomaslewis has joined

  295. Laura has left

  296. marmistrz has left

  297. Laura has joined

  298. deuill has left

  299. deuill has joined

  300. goffi has joined

  301. marmistrz has joined

  302. thomaslewis has left

  303. pasdesushi has joined

  304. amee2k has joined

  305. antranigv has left

  306. antranigv has joined

  307. antranigv has left

  308. suohua has left

  309. raghavgururajan has joined

  310. antranigv has joined

  311. Mx2 has left

  312. Mx2 has joined

  313. antranigv has left

  314. amee2k has left

  315. deuill has left

  316. deuill has joined

  317. debacle has joined

  318. raghavgururajan has left

  319. deuill has left

  320. raghavgururajan has joined

  321. deuill has joined

  322. Laura has left

  323. kfv has left

  324. amee2k has joined

  325. Laura has joined

  326. paul has left

  327. amee2k has left

  328. jubalh has left

  329. antranigv has joined

  330. sonny has left

  331. amee2k has joined

  332. antranigv has left

  333. antranigv has joined

  334. antranigv has left

  335. paul has joined

  336. PapaTutuWawa has joined

  337. antranigv has joined

  338. Alex has left

  339. Dele Olajide has left

  340. amee2k has left

  341. thomaslewis has joined

  342. Yagizа has left

  343. antranigv has left

  344. Alex has joined

  345. antranigv has joined

  346. spectrum has left

  347. thomaslewis has left

  348. thomaslewis has joined

  349. thomaslewis has left

  350. PapaTutuWawa has left

  351. PapaTutuWawa has joined

  352. antranigv has left

  353. antranigv has joined

  354. Maranda has left

  355. Mjolnir Archon has left

  356. antranigv has left

  357. Wojtek has left

  358. thomaslewis has joined

  359. thomaslewis has left

  360. larma has left

  361. thomaslewis has joined

  362. thomaslewis has left

  363. Mjolnir Archon has joined

  364. Maranda has joined

  365. amee2k has joined

  366. atomicwatch has left

  367. atomicwatch has joined

  368. sonny has joined

  369. antranigv has joined

  370. thomaslewis has joined

  371. thomaslewis has left

  372. thomaslewis has joined

  373. thomaslewis has left

  374. amee2k has left

  375. jgart has joined

  376. Alex has left

  377. Alex has joined

  378. larma has joined

  379. Beherit has joined

  380. amee2k has joined

  381. Laura has left

  382. Laura has joined

  383. eu has left

  384. eu has joined

  385. Dele Olajide has joined

  386. Dele Olajide has left

  387. spectrum has joined

  388. Alastair Hogge has left

  389. debacle has left

  390. debacle has joined

  391. msavoritias has left

  392. deuill has left

  393. deuill has joined

  394. Laura has left

  395. norayr has left

  396. norayr has joined

  397. Laura has joined

  398. al has joined

  399. atomicwatch has left

  400. disgyze has left

  401. PapaTutuWawa has left

  402. PapaTutuWawa has joined

  403. pasdesushi has left

  404. Laura has left

  405. Laura has joined

  406. goffi has left

  407. pasdesushi has joined

  408. marc0s has left

  409. marc0s has joined

  410. PapaTutuWawa has left

  411. antranigv has left

  412. marc has left

  413. debacle has left

  414. debacle has joined

  415. disgyze has joined

  416. debacle has left

  417. debacle has joined

  418. Beherit has left

  419. marc has joined

  420. pasdesushi has left

  421. wurstsalat has left

  422. debacle has left

  423. debacle has joined

  424. al has left

  425. Laura has left

  426. Laura has joined

  427. sonny has left

  428. suohua has joined

  429. Stefan has left

  430. pasdesushi has joined

  431. Matrix Traveler (bot) has left

  432. homebeach has left

  433. homebeach has joined

  434. Matrix Traveler (bot) has joined

  435. suohua has left

  436. larma has left

  437. debacle has left

  438. debacle has joined

  439. suohua has joined

  440. marc0s has left

  441. marc0s has joined

  442. adx has left

  443. antranigv has joined

  444. antranigv has left

  445. SouL has left

  446. Maranda has left

  447. Mjolnir Archon has left

  448. thomaslewis has joined

  449. thomaslewis has left

  450. thomaslewis has joined

  451. thomaslewis has left

  452. deuill has left

  453. deuill has joined

  454. Mjolnir Archon has joined

  455. amee2k has left

  456. Maranda has joined