can someone with URI knowledge tell me whether: `xmpp://xmpp-public.sotecware.net:5222/sotecware.net` would be an accurate way to write "Connect to sotecware.net using xmpp-public.sotecware.net on port 5222, skipping SRV record resolution`?✎
jonas’
can someone with URI knowledge tell me whether: `xmpp://xmpp-public.sotecware.net:5222/sotecware.net` would be an accurate way to write "Connect to sotecware.net using xmpp-public.sotecware.net on port 5222, skipping SRV record resolution"? ✏
jonas’
it does not need to be generally understood that it means that, just whether the basic URI semantics are sane
igoosehas left
waqashas left
debaclehas joined
zachhas joined
valohas left
j.rhas left
jcbrandhas left
igoosehas joined
igoosehas left
COM8has joined
COM8has left
rtq3has joined
igoosehas joined
igoosehas left
igoosehas joined
murabitohas left
murabitohas joined
igoosehas left
goffihas joined
Yagizahas left
pdurbinhas joined
mimi89999has left
mimi89999has joined
pdurbinhas left
igoosehas joined
lnjhas left
lnjhas joined
debaclehas left
igoosehas left
igoosehas joined
adityaborikarhas left
adityaborikarhas joined
waqashas joined
davidhas left
davidhas joined
adityaborikarhas left
adityaborikarhas joined
adityaborikarhas left
Douglas Terabytehas left
Douglas Terabytehas joined
j.rhas joined
mimi89999has left
adityaborikarhas joined
rtq3has left
adityaborikarhas left
adityaborikarhas joined
moparisthebest
jonas’: you don't need the domain if you have a jid to get it from
mimi89999has joined
jonas’
moparisthebest, depends on the use-case
moparisthebest
You probably need a jid regardless don't you?
jonas’
I want this for monitoring purposes, so I might want to monitor the up-ness and certificates and stuff of all possible server endpoints for a given domain
jonas’
yes, the jid is behind the last ``/``
adityaborikarhas left
jonas’
it’s just a domain, but still a JID :)
jonas’
(in the specific case I’m thinking about, the client would never even authenticate, so there’s no need for a valid localpart)
igoosehas left
jonas’
I’m trying to coerce this into a single URI/URL because I only have a single string to pass to stuff.
Zash
I have a thing that accepts domain@host:port (not an URI/URL)
moparisthebest
Ah ok, I made up my own similarish url syntax for this and ralphm yelled at me lol https://github.com/moparisthebest/jDnsProxy/blob/master/xmpp-dox/jdnsproxy.xmpp.resolver.properties#L27
moparisthebest
I also needed a single string
ralphm
🤣
jonas’
so maybe ralphm can now also yell at me?
APachhas left
adityaborikarhas joined
lovetox_has joined
lovetox_has left
alacerhas joined
j.rhas left
j.rhas joined
ralphm
Yelling As A Service?
waqas
Yaas
Zash
Real-Time Instant Yelling Service
ralphm
In general, yes, if it looks like a URI, just make it one. Especially if you're using existing URI schemes.
mtavareshas left
ralphm
Also, I generally don't like it when people use new schemes in production without having IANA registering it first.
APachhas joined
j.rhas left
adityaborikarhas left
adityaborikarhas joined
j.rhas joined
mimi89999has left
ralphm
jonas’: but specifically, no, you can't bypass SRV like that. It is explicitly forbidden: https://tools.ietf.org/html/rfc5122#section-5.2
waqas
ralphm: That's pretty widespread these days, particularly on mobile platforms where apps register their own URL schemes. Almost all modern OS vendors allow apps to define these.
ralphm
waqas: doesn't mean I have to like it
ralphm
Or that it is a good idea
alacerhas left
krauqhas left
waqas
I have mixed feelings about it. I'm not necessarily fully sold on IANA registry being a registry of all allowed schemes.
krauqhas joined
igoosehas joined
waqas
(the same way I'm not sold on all possible XMPP protocol extensions requiring going through the XSF XEP process, the X for extensibility without relying on central authority is important)
mimi89999has joined
adityaborikarhas left
ralphm
Well, either it is a URI, which requires registration with IANA, or it is a fake.
waqas
Same for XEPs?
ralphm
Similarly, without a XEP, you cannot use urn:xmpp as a prefix
waqas
I'm comfortable with urn:xmpp, and I'd be comfortable with an app using "http:" to always mean the HTTP protocol.
waqas
But all URL schemes requiring registration is like requiring all namespaces even without the urn:xmpp prefix requiring the same
ralphm
If you don't use the XSF, you must use your own namespace, e.g. one with a http scheme with an auth part that points to your own domain. Or your own registered URN prefix.
waqas
It's the registration bit that I'm rejecting
ralphm
E.g. at Mediamatic, we had namespaces starting with http://mediamatic.nl/ns
Zash
`xmlns="xmpp:prosody.im/stuff"` :D
ralphm
waqas: why? URI/URL/URN as concepts are defined by the IETF, the set the rules.
Zash
Isn't there a DNS tree you can use somewhere? `urn:dns:example.com:whatever` ?
waqas
Is there a statement from the IETF classifying unregistered as fake?
ralphm
I haven't considered using xmpp: as a prefix for namespaces. I suppose you can, without auth part like that.
Zash
ralphm: Should be equivalent to http:// URLs as namespaces as far as anything is concerned, right?
ralphm
Indeed
ralphm
But without auth part (//) because xmpp URIs have specific syntax.
Zash
Tho the original topic was overlap between URLs and configuration syntax.
Zash
You could spare your sanity and imagine that they're not really UR[LI]s
ralphm
I think, waqas, you should read RFC 3986 and BCP 35.
ralphm
Zash: indeed
ralphm
E.g. by not using an explicit scheme
Zash
Is there something like vendor prefixes for schemes?
ralphm
Yes
Zash
As in, foocorp-thing://magic/syntax
ralphm
See BCP 35, section 3.8.
ralphm
Basically reversed domain
ralphm
Like org.example:
Zash
`com.foocorp.thing://blah` ?
ralphm
Also don't use // if it doesn't make sense
Zash
I distinctly remember that some platform required it. iOS maybe?
Zash
Leading to weird horrors like `xmpp:///stuff`
waqas
section 6 of BCP 35 is relevant
ralphm
That platform is wrong
waqas
For the most part, platform vendors and app authors have shown little to interest in BCP 35 though :)
ralphm
Zash: but I guess Apple has more issues like that, e.g. the recent openid connect thing.
ralphm
waqas: that doesn't mean you shouldn't
waqas
I mildly equate this to the bazaar ignoring the cathedral except for a few popular occasions :)
ralphm
I hold some pride in doing it properly.
goffihas left
waqas
"properly" is up for debate
ralphm
It is not, though. If you can diverge from standards on a whim, why have them?
lovetoxhas left
Zash
Anarchy! Chaos! Cats and dogs living together!
waqas
It would be ridiculous to follow all standards. Much like how we don't actually want clients to follow *all* the XEPs.
ralphm
There's a reason why we made xmpp extensible, so you can choose to do something else without violating specifications.
waqas
Indeed, and URI schemes are similarly extensible :)
ralphm
Yes, when folding its standards.
ralphm
Of course many people ignore standards
ralphm
(following)
lovetoxhas joined
Zash
waqas:
> (the same way I'm not sold on all possible XMPP protocol extensions requiring going through the XSF XEP process
Where did you get this from?
ralphm
More than sometimes, not following a standard means pain later.
waqas
I think this is just fundamental disagreement, I disagree with following all possible standards being a requirement. I'm sure in any large pool of standards, I'd consider a significant portion to be inappropriate to implement.
ralphm
You generally don't have to implement all standards?
waqas
No, I do not
Zash
ralphm: "Pain for someone else" ?
ralphm
If you just follow XMPP Core, you can call yourself an XMPP application.
ralphm
If you want to use jabber:iq:roster, please follow what's in XMPP IM, though.
waqas
(technically you can call yourself that even when not following Core fully, which is true for most XMPP software, but I digress)
ralphm
You can, but you would not be truthful.
waqas
ralphm: I agree with that! Similar to how I agree followers of HTTP should follow the HTTP specs for the most part!
waqas
The world is a lie then. Point out any large code base implementing any large spec and I can probably show you it's a lie.
waqas
But anyway, this is going way offtrack :)
waqas
I'm cool with central registration being a MAY or SHOULD, but am fundamentally opposed to MUST, particularly for toy, experimental or private use cases, but in general too.
waqas
A world where MUST was e.g., a legal requirement would be a worst world, IMHO
Zash
There are usually recommendations for private namespaces and such
COM8has joined
waqas
And people SHOULD follow those when sane :)
COM8has left
UsLhas joined
ralphm
I think the text in the specs I linked are to be interpreted mostly as a strong SHOULD, but things will break if you have naming conflicts.
waqas
Sure, and in various situations that can be an acceptable tradeoff
waqas
Particularly in situations where anonymity is a requirement. Registration with authority generally translates into breaking anonymity.
ralphm
Except when it doesn't when later your internal thing became part of a public API and now somebody, usually you, is crying.
waqas
I imagine that's pretty rare. Most things end up registering when they become big, often turning into de facto standards, and not when they are initially created.
waqas
I can't recall if this was true for xmpp: too. Did it see usage before it was registered or after?
ralphm
I don't directly see how anonymity is a factor in choosing a URI scheme, especially if there's a defined way to do private extensions.
ralphm
No, xmpp didn't exist as such before interacting with IETF.
Zash
`jabber:` then?
ralphm
We had to grandfather a bunch of things, and the jabber prefix was indeed wrong.
Zash
I mean, was there ever a `jabber` URI scheme?
ralphm
We first changed that to http URIs at jabber.org, eg pubsub, then went on to URNs.
waqas
I'm curious if all the XMPP proprietary competitors have their protocols registered :)
waqas
They all have at least one each, that their mobile apps register
ralphm
You *don't* have to register your proprietary extensions.
ralphm
However, those can't use the urn:xmpp prefix compliantly.
rtq3has joined
waqas
Yep, and my point for URI schemes is that in practice anything not registered via IANA has been fair game for private use. With rare exceptions, the industry as a whole treats things that way.
Zash
Well, they get to enjoy their time boms then.
waqas
There are easily more than a single order of magnitude schemes out there in use vs what's in the IANA registry
Zash
Oh, `jabber` is registered? https://www.iana.org/assignments/uri-schemes/perm/jabber