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