Nathaniel Smith wrote:
On Wed, Feb 18, 2009 at 3:51 AM, Antoine Martin <[email protected]> wrote:
Nathaniel Smith wrote:
It'd be pretty trivial -- all the core code pretty much just wants a
socket, it doesn't care where it came from -- just you'd have to deal
with security and the UI and all, which is a hassle.
I have tested this and it worked beautifully.
I have come up with a scheme which remains backwards compatible too (the
default behaviour is unchanged):
* instead of specifying ":displayNo", you can use "host:displayNo"
The server then binds to the TCP socket using the host name (ie: localhost)
and the display number (+ an offset).
NB, binding to localhost is not particularly sensible, because if
someone has access to the localhost interface then they can just use
the unix domain socket :-).
Ooops, what I meant is a network interface of the local host.
(ie: tun device)
The offset can be specified on the command line with a switch but defaults
to 10000.
10000 seems like a suspiciously round number -- is there really no-one
using the 10000-10030 (say) range?
Since it will be a define, I don't really care what the default is...
I just thought X server + 4000 would be enough.
According to my /etc/services file, only these ports are assigned by IANA:
amanda 10080/tcp # amanda backup services
amanda 10080/udp
hkp 11371/tcp # OpenPGP HTTP Keyserver
hkp 11371/udp # OpenPGP HTTP Keyserver
bprd 13720/tcp # VERITAS NetBackup
bprd 13720/udp
bpdbm 13721/tcp # VERITAS NetBackup
bpdbm 13721/udp
bpjava-msvc 13722/tcp # BP Java MSVC Protocol
bpjava-msvc 13722/udp
vnetd 13724/tcp # Veritas Network Utility
vnetd 13724/udp
bpcd 13782/tcp # VERITAS NetBackup
bpcd 13782/udp
vopied 13783/tcp # VERITAS NetBackup
vopied 13783/udp
wnn6 22273/tcp # wnn6
wnn6 22273/udp
So maybe 14000 is better?
Ditto for the client: you can specify "host:displayNo" instead of
"ssh:host:displayNo".
* We still create a file in ~$USER/.xpra except it is not a socket but a
plain file with the host and tcp port number in it.
This allows 'xpra list' to continue to work as before.
Is this acceptable for merging?
Still not convinced that this is really useful in practice, but, eh,
if you actually want to use it, then sure, whatever...
I do.
Mightn't it be better if we always listened on the unix socket, and if
we want to listen on TCP then do that in addition, rather than
instead? Then ssh-mode and tcp-mode can be used on the same server,
etc.
Sure. Just 2 things:
* if we do that, we lose the ability to automatically find the tcp port
number it is on if the offset is tweaked. But I guess that if you tweak
the offset when you start it, you can also apply the same offset when
you "list" or "attach". And you can always use the socket for doing
"stop". So that's ok.
* Not sure what the code will look like when listening to 2 sockets...
A bit more work there... Any ideas on that?
I think I prefer the URL-like schema "tcp:host:displayno" as well,
since tcp is not a more default mode than ssh.
Sure. done.
If so, how would you like me to send the patches? diff against trunk?
That would be fine.
Great. I'll get back to you with the patches asap. I'm working mostly
offline at the moment so it might take a few days.
Thanks
Antoine
_______________________________________________
Parti-discuss mailing list
[email protected]
http://lists.partiwm.org/cgi-bin/mailman/listinfo/parti-discuss