RPC server-side listen location choice
Following on from !2439 (comment 3094262).
I wrote:
we should perhaps take a step back and think about the usual setups and what they need / how they fit in.
I wanted somewhere to have that conversation, outside the context of a spec MR. Hence this ticket.
I think there are, roughly, these usual setups (on a Unix system):
- This Arti is supposed to become a "user Arti": it's owned by a single Unix user, who should be able to manage it. Other users ought not to be able to use it (ideally, although we probably can't achieve that for vanilla SOCKS without doing too much damage).
- This Arti is supposed to become a system Arti. It will use system directories for everything and all users on the system should be able to use it. Presuambly there would be a Unix group for management, or something.
- This Arti is supposed to be owned or embedded. It shouldn't use or listen on "user Arti" or "system Arti" paths
I don't think we want the same Arti advertising both as a user and as a system Arti.
ISTM that the default for arti proxy
ought to be "user Arti" (1). System Arti should be requested explicitly. Presumably a system Arti will run as a dedicated user. Embedded/owned Arti will be requested explicitly but it's our library that organises that.
I think maybe this means there should be three sets of server-side default listening configs?
Also I'm quite unsure about the merits of skipping unuseable listenings. That seems wrong. It's not usual behaviour for other kinds of daemon (and where I've found daemons that do that it has occasionaly caused weirdness and confusion).
What do you think?
(It seemed I should assign this to you. Hope that seems sensible. Please add labels etc. if you like.)