you could make use of errors with error type='continue' along the way to introduce the traceroute-like backscatter...
Nekithas left
Nekithas joined
olihas joined
blablahas left
blablahas joined
lnjhas left
Lancehas left
lnjhas joined
flow
jonas’, yep, that was one reason to use IQ in the first place, but as IQ has no advantage over message with the correct type, I now also lean towards using message
lnjhas left
lnjhas joined
jonas’
although I don’t see too much harm with modifying an IQ in-flight in a well-specified manner. however, that requires some type of support in the recipient when scattering it back.
jonas’
implementing the backscatter with error stanzas sent by the hops themselves might be nicer
jonas’
hm
jonas’
IQ has the advantage that the recipient will send you back at least service-unavailable
jonas’
so you know when to stop to listen for backscatter
jonas’
which makes me tend slightly towards IQ
lnjhas left
rtq3has joined
lnjhas joined
Ge0rG
I'm not sure what the use case is, but having a generic stanza payload element that tells the server to send back a dedicated message with the annotation sounds like a more reasonable approach to me
Lancehas joined
Ge0rG
What if you never receive the actual pong?
Ge0rG
All trace route info is lost tung
Ge0rG
Then
edhelashas left
madhur.garghas left
lnjhas left
madhur.garghas joined
edhelashas joined
lnjhas joined
flow
Ge0rG: What if you mostly receive the response, either in form of a pong or of an error type stanza?
flow
jonas’, isn't there a message type where an intermediate hop will send an error back, ideally with the full payload, in case the stanza can't be routed?
blablahas left
blablahas joined
debaclehas joined
jonas’
flow, not built-in
Ge0rG
flow: what if you want to debug _why_ you don't receive a given response?
flow
jonas’, groupchat maybe?
jonas’
flow, no
flow
Ge0rG, then I could still go the traceroute approach and proceed with the next closest hop in case of no response
Ge0rG
flow: oh wait. you can just send three ping IQs to all the hops!
jonas’
flow, how would you know the next-closest hop?
Ge0rG
it's xmpp! it's got a fixed routing structure.
Ge0rG
my full jid -> my domain jid -> their domain jid -> their bare jid -> their full jid
flow
jonas’, ahh right there is a case where groupchat does not trigger an error respone: RFC 6120 § 8.5.3.2.1.
jonas’
Ge0rG, metre? :)
jonas’
Ge0rG, components?
Ge0rG
jonas’: how do you obtain traceroute results from a thing without a JID?
jonas’
it could have a JID, but not the one you expect
jonas’
In theory, I could assign my metre-like thing a JID for management/monitoring purposes, and that could be the JID which replies
flow
jonas’, both approaches have their advantage and disadvantage. I would lean towards the initial one, but that doesn't mean that we could also do the other one, i.e., by having an extra flag which indicates that intermediate hops send their data right away
jonas’
is there any reason for intermediate hops to *not* send their data right away?
Lancehas left
flow
well if everything works according to the standard then they don't need do
jonas’
that’s wrong
jonas’
a recipient is not required to mirror the payload in an error message if it doesn’t understand it
jonas’
it is a MAY or a SHOULD, but not a MUST
jonas’
so if your final recipient does not understand the IQ based protocol, you won’t see the intermediate hops
jonas’
which is meh
Ge0rG
> well if everything works according to the standard then they don't need do
well if everything works according to the standard then you don't need traceroute
rtq3has left
lnjhas left
rtq3has joined
lnjhas joined
lnjhas left
rtq3has left
rtq3has joined
UsLhas left
debaclehas left
lorddavidiiihas joined
lnjhas joined
flow
Ge0rG, I don't think I would conclude that
lorddavidiiihas left
flow
jonas’, that is also true mostly for the message based protocol
jonas’
flow, which is why I’m leaning towards IQ and backscatter with type='error' type='continue'
flow
jonas’, yeah that is a strong argument for IQ
dwd
"matrix.org is not recognised by the IETF as an Open Standards body" - https://mailarchive.ietf.org/arch/msg/art/EjDTW6KhrOYebVS8SGsZh7BEE9g
flow
I am probably going to switch xep-traceroute from <ping/> to a custom IQ
dwd
FWIW, I have no idea what Metre would do in terms of a traceroute thing. It's intentionally invisible, beyond testing cases.
Ge0rG
flow: your proposal lacks a rationale so I can't say what you need it for when everything works
lnjhas left
kokonoehas left
lnjhas joined
flow
I don't think I proposed something. But besides that, there is a short and possible incomplete note in the introduction.
kokonoehas joined
Ge0rG
So what is it needed for when everything works?
flow
You probably shouldn't use something like traceroute to test if a channel to a remote entity is encrypted. But it sure would be nice, and if it is just to satisfy my and possible other people's curiosity about how the channel may look
lnjhas left
lnjhas joined
Ge0rG
Is it possible to have asymmetric paths in XMPP?
Ge0rG
jonas’: btw, responding from an "unexpected" JID most probably won't work because you need to s2s auth that domain first
lnjhas left
lnjhas joined
blablahas left
blablahas joined
dwd
Ge0rG, With Metre and stuff like it, anything's possible.
jonas’
Ge0rG, what stops such a thing from actually having that JID available via s2s?
jonas’
e.g. gateway.company.example, could easily have s2s records :)
Ge0rG
jonas’: most probably: nobody testing for it
Dele Olajidehas joined
igoosehas left
igoosehas joined
Dele Olajidehas left
Dele Olajidehas joined
archas left
archas joined
Dele Olajidehas left
Dele Olajidehas joined
Archas left
dwd
jonas’, One thing that stops it is that nobody would want to expose such infrastrcture without good reason.
debaclehas joined
archas left
archas joined
igoosehas left
igoosehas joined
Ge0rG
That, too. Nobody wants to expose themselves to xml deserialization.
Ge0rG
Oh. Wait.
yvohas joined
UsLhas joined
typikolhas joined
typikolhas left
Wiktorhas left
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
kokonoehas left
Wiktorhas joined
kokonoehas joined
Wiktorhas left
Wiktorhas joined
Zashhas left
Zashhas joined
moparisthebesthas joined
lumihas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
alacerhas left
Nekithas left
Nekithas joined
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
Lancehas joined
alacerhas joined
Zash
dwd: What is an "Internet Standards body"? Those exact words are not in the RFC referenced?✎
Guus
completely off-topic, but this is the channel with most French nationals that I know of - is a company named AYOMI legit? Seems to be a crowd-funding platform, but Gmail warns about phishing.
Zash
dwd: What is an "Open Standards body"? Those exact words are not in the RFC referenced? ✏
dwd
Zash, No idea. It just amused me. The XSF *is* considered an Open Standards Body, as far as I can tell, because otherwise we wouldn't have got "urn:xmpp:"
Zash
https://tools.ietf.org/html/rfc2026#section-7 I assume
edhelas, Do you mean bridging SIP and Jingle, or SIMPLE and XMPP-IM?
edhelas
both actually
kokonoehas left
edhelas
maybe the SIMPLE/XMPP-IM could be a nice first step
dwd
edhelas, So i think all the standards exist, but implementations, on the other hand, are harder. Asterisk might help for voice etc, I'm not so sure about IM.
dwd
edhelas, I have a very vague recollection that Openfire has a plugin, too - no idea what shape it's in.
edhelas
ok
kokonoehas joined
rtq3has left
Dele Olajide
There is a SIP plugin for openfire that is still very much in use. It maps the SIP credentials to an XMPP JID. I use for users and even SIP proxies
edhelas
nice
doshas left
rtq3has joined
404.cityhas joined
krauqhas left
Lancehas left
jonas’has left
jonas’has joined
krauqhas joined
rtq3has left
lumihas left
alacerhas left
lumihas joined
rtq3has joined
debaclehas left
UsLhas left
UsLhas joined
Nekithas left
Nekithas joined
alacerhas joined
APachhas left
APachhas joined
waqashas joined
Zash
Would this make sense? (poke jonas’)
$(all_xep_xmls): $(OUTDIR)/%.xml: %.xml
- cp $< $@
+ xmllint --nonet --noent --loaddtd "$<" > "$@"
Zash
Eg with how https://xmpp.org/extensions/xep-0226.xml can't be parsed by tiself because external entities
jonas’
Zash, make a PR, I’m happy to test it
jonas’
Zash, hm, instead you could copy xep.ent into the build/ too