9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Content of your /rc/bin/service or /dis/svc ?
@ 2024-03-02 10:34 Edouard Klein
  2024-03-02 11:54 ` sirjofri
  0 siblings, 1 reply; 12+ messages in thread
From: Edouard Klein @ 2024-03-02 10:34 UTC (permalink / raw)
  To: 9fans

Dear 9fans,

Those of you who run a Plan 9 or Inferno box, could you please share the
contents of your /rc/bin/service or /dis/svc dir ?

I'm writing about Plan 9's listen, and I've read the scripts included in
the default distribution (e.g.
http://git.9front.org/plan9front/plan9front/c5c19dfe4998fa40de5f58f61439fd5fd65c9056/rc/bin/service/f.html),
but I'm curious to see how it's used in practice now by people who are
familiar with the system (which I'm not, since I don't run a Plan 9
box).

Thanks in advance,

Edouard.

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-M66cb88b13f0e3f7dc29fae27
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-02 10:34 [9fans] Content of your /rc/bin/service or /dis/svc ? Edouard Klein
@ 2024-03-02 11:54 ` sirjofri
  2024-03-05 21:28   ` Edouard Klein
  0 siblings, 1 reply; 12+ messages in thread
From: sirjofri @ 2024-03-02 11:54 UTC (permalink / raw)
  To: 9fans

Hello,

I don't use /rc/bin/service anymore, but I use /cfg/machinename/service instead. My contents are copies of what's in /rc/bin/service or my own scripts:

tcp80 - web server
tcp443 - web server but wrapped in tls
...

I have some cifd running, some irc server that translates to grid chat, my mail server (smtp and imap4), and fingerd, the files follow the usual scheme tcpXXX. I probably missed one service or the other, but aux/listen is simple enough to set up custom servers with arbitrary functionality.

If you have exact questions about aux/listen functionality or you don't understand something, just ask :)

Btw it's quite common to "deactivate" services by renaming the files to have a leading "!". In general, everything that follows the naming scheme <protocol><port> and is executable will work.

sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-M512c462da8b1a759383a0b74
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-02 11:54 ` sirjofri
@ 2024-03-05 21:28   ` Edouard Klein
  2024-03-05 21:59     ` sirjofri
  0 siblings, 1 reply; 12+ messages in thread
From: Edouard Klein @ 2024-03-05 21:28 UTC (permalink / raw)
  To: 9fans

Hi,

Thank you for your answer.


sirjofri <sirjofri+ml-9fans@sirjofri.de> writes:

> Hello,
>
> I don't use /rc/bin/service anymore, but I use /cfg/machinename/service instead. My contents are copies of what's in /rc/bin/service or my own scripts:

I assume that you then bind-mount /cfg/machinename/service to that
machine's /rc/bin/service ?

>
> tcp80 - web server
> tcp443 - web server but wrapped in tls
> ...
>
> I have some cifd running, some irc server that translates to grid chat, my mail
> server (smtp and imap4), and fingerd, the files follow the usual scheme tcpXXX.
> I probably missed one service or the other, but aux/listen is simple enough to
> set up custom servers with arbitrary functionality.
>

Would you mind sharing your fingerd and irc server ? For finger my plan
is to turn this one:
https://github.com/michael-lazar/finger2020/blob/master/finger2020 into
a multi-user version, but if there already is one I won't bother.


> If you have exact questions about aux/listen functionality or you don't understand something, just ask :)
>

- I noticed some tcpXXX files use exec for their last line, and some
don't. Is there a reason ? My understanding is that exec saves one call
to fork per connection, and thus it would be best if it was always used.

- I noticed Inferno makes great use of servers that speak 9P on their
  stdstream, with its
  mount {some-program} /mnt/toto
  These programs are trivial to expose thanks to listen:
   listen -v 'tcp!*!toto' {some-program&}
  On Plan9, I ran into rc's cmd <[0=1] | echo 0 > /srv/name, then mount
  /srv/name /n/toto.
  - Is there a inferno-like shorthand for Plan 9 ?
  - Why the "echo 0" ? (I'm not familiar with rc).

> Btw it's quite common to "deactivate" services by renaming the files to have a
> leading "!". In general, everything that follows the naming scheme
> <protocol><port> and is executable will work.
>
why not just chmod -x them ? In a multiuser system, users may not have
the right to rename them.

Thank you for your help :)

Cheers,

Edouard.

> 
> sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-Maa2def04fcfcb1e92523c45d
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-05 21:28   ` Edouard Klein
@ 2024-03-05 21:59     ` sirjofri
  2024-03-05 22:47       ` a
  2024-03-06 10:28       ` Edouard Klein
  0 siblings, 2 replies; 12+ messages in thread
From: sirjofri @ 2024-03-05 21:59 UTC (permalink / raw)
  To: 9fans

Hi,

05.03.2024 22:38:59 Edouard Klein <edou@rdklein.fr>:

> Hi,
>
> Thank you for your answer.
>
>
> sirjofri <sirjofri+ml-9fans@sirjofri.de> writes:
>
>> Hello,
>>
>> I don't use /rc/bin/service anymore, but I use /cfg/machinename/service instead. My contents are copies of what's in /rc/bin/service or my own scripts:
>
> I assume that you then bind-mount /cfg/machinename/service to that
> machine's /rc/bin/service ?

Nope, because bind would only change my own namespace (or I have to bind it becore aux/listen starts).

In fact, it's much easier. I don't know if it's a 9front feature or if it's also in plan 9, but if there is a /cfg/$sysname/service directory it will use that instead of /rc/bin/service (see the cpurc file, https://git.9front.org/plan9front/plan9front/36478171be59721dcc5252043fe2955cb37fc9b3/rc/bin/cpurc/f.html ).

If you think about how plan 9 should run on a network, imagine a single fs with many cpu servers all using the same fs. All the configuration is on the fs, and the service directories are in the /cfg/machinename/service. The cpu servers will run their individual configuration automatically using that mechanism. It just makes sense.

>>
>> tcp80 - web server
>> tcp443 - web server but wrapped in tls
>> ...
>>
>> I have some cifd running, some irc server that translates to grid chat, my mail
>> server (smtp and imap4), and fingerd, the files follow the usual scheme tcpXXX.
>> I probably missed one service or the other, but aux/listen is simple enough to
>> set up custom servers with arbitrary functionality.
>>
>
> Would you mind sharing your fingerd and irc server ? For finger my plan
> is to turn this one:
> https://github.com/michael-lazar/finger2020/blob/master/finger2020 into
> a multi-user version, but if there already is one I won't bother.

Sure, here it is:

https://shithub.us/sirjofri/fingerd/HEAD/info.html

Note that I got some notice of potential .. path issues and I'm not sure if I fixed that, but just in case, you might want to fix that (and maybe send me a patch). Fix could be as easy as a newns or what it is in C.

>> If you have exact questions about aux/listen functionality or you don't understand something, just ask :)
>>
>
> - I noticed some tcpXXX files use exec for their last line, and some
> don't. Is there a reason ? My understanding is that exec saves one call
> to fork per connection, and thus it would be best if it was always used.

There might be some difference, maybe with log redirectors or something, but I don't know about that. I guess someone else can tell us more about this (and the following topic, which is very similar)

> - I noticed Inferno makes great use of servers that speak 9P on their
>   stdstream, with its
>   mount {some-program} /mnt/toto
>   These programs are trivial to expose thanks to listen:
>    listen -v 'tcp!*!toto' {some-program&}
>   On Plan9, I ran into rc's cmd <[0=1] | echo 0 > /srv/name, then mount
>   /srv/name /n/toto.
>   - Is there a inferno-like shorthand for Plan 9 ?
>   - Why the "echo 0" ? (I'm not familiar with rc).
>
>> Btw it's quite common to "deactivate" services by renaming the files to have a
>> leading "!". In general, everything that follows the naming scheme
>> <protocol><port> and is executable will work.
>>
> why not just chmod -x them ? In a multiuser system, users may not have
> the right to rename them.

I think that _would_ work, but I think it's about readability in this case. I can just lc in that directory and immediately see what's relevant and what not. With executable flag I have to run ls -l to see what's executable, and it's also harder to parse it (sorting and filtering). A simple ! is easier to read, and also probably more stable in case of copying files via different filesystem types (like, copying the file to fat32 and back, or even having a filesystem without executable flags, which often results in all files bein executable).

sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-M1b1379582bb9751cff6ba2ce
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-05 21:59     ` sirjofri
@ 2024-03-05 22:47       ` a
  2024-03-06  0:53         ` hiro
                           ` (2 more replies)
  2024-03-06 10:28       ` Edouard Klein
  1 sibling, 3 replies; 12+ messages in thread
From: a @ 2024-03-05 22:47 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 2120 bytes --]

I wonder what percentage of people who reply are going to be running a finger server they wrote. :-) My tcp79 comes from my implementation, here: http://txtpunk.com/finger/index.html

I think we've got enough interoperable unicode-aware implementations we can start working on the update to the RFC now.

I have a service which allows some unix hosts I run to submit vac scores after they perform a backup to my venti; a slightly outdated version is here: https://9p.io/sources/contrib/anothy/bin/rc/tcp17038

tcp411 calls pqsrv, I think the same version as on the "extra" page: http://9p.io/sources/extra/

I usually have at least one "poor man's nat traversal" thing running with aux/trampoline.

I love how easy aux/listen makes sticking trivial little services up on the net. I used to have one that provided a menu of MUDs to connect to. Another gave the weather, as the telnet service at Weather Underground started to go unmaintained (of course, mine used darksky, which is now also defunct). I made a little text-based zine server (inspired by Cara Esten's https://github.com/caraesten/dial_a_zine, which powered the things at anewsession.com); that's up, although very lightly used: http://txtpunk.com/zine/ <http://txtpunk.com/zine/index.html>

Before life got away from me last year, I was trying to get a VoIP bridge working so I could plug a POTS line into my modem and get telcodata working again. I think 'cp tcp2323 telcodata' should be enough to make that zine server dialable. (Sadly, I've only gotten the bridge to *place* calls over my crummy DSL line.)

As a young unix sysadmin back in the 1900s, aux/listen was one of the first things that caught my eye about Plan 9, in comparison to inetd and the direction everyone else was headed from there. Certainly the growth (in multiple senses) of systemd has only tightened my grip on that particular tool.
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-Mb37884661621aa08e1f8449c
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 3113 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-05 22:47       ` a
@ 2024-03-06  0:53         ` hiro
  2024-03-06 11:03           ` Edouard Klein
  2024-03-06 10:42         ` Edouard Klein
  2024-03-06 11:06         ` Edouard Klein
  2 siblings, 1 reply; 12+ messages in thread
From: hiro @ 2024-03-06  0:53 UTC (permalink / raw)
  To: 9fans

all this makes sense. thank you.
i might be dense, but what's the problem with inetd exactly?

On 3/5/24, a@9srv.net <a@9srv.net> wrote:
> I wonder what percentage of people who reply are going to be running a
> finger server they wrote. :-) My tcp79 comes from my implementation,
> here: http://txtpunk.com/finger/index.html
> 
> I think we've got enough interoperable unicode-aware implementations we can
> start working on the update to the RFC now.
> 
> I have a service which allows some unix hosts I run to submit vac scores
> after they perform a backup to my venti; a slightly outdated version is
> here: https://9p.io/sources/contrib/anothy/bin/rc/tcp17038
> 
> tcp411 calls pqsrv, I think the same version as on the "extra"
> page: http://9p.io/sources/extra/
> 
> I usually have at least one "poor man's nat traversal" thing running with
> aux/trampoline.
> 
> I love how easy aux/listen makes sticking trivial little services up on the
> net. I used to have one that provided a menu of MUDs to connect to. Another
> gave the weather, as the telnet service at Weather Underground started to go
> unmaintained (of course, mine used darksky, which is now also defunct). I
> made a little text-based zine server (inspired by Cara
> Esten's https://github.com/caraesten/dial_a_zine, which powered the things
> at anewsession.com); that's up, although very lightly
> used: http://txtpunk.com/zine/ <http://txtpunk.com/zine/index.html>
> 
> Before life got away from me last year, I was trying to get a VoIP bridge
> working so I could plug a POTS line into my modem and get telcodata working
> again. I think 'cp tcp2323 telcodata' should be enough to make that zine
> server dialable. (Sadly, I've only gotten the bridge to *place* calls over
> my crummy DSL line.)
> 
> As a young unix sysadmin back in the 1900s, aux/listen was one of the first
> things that caught my eye about Plan 9, in comparison to inetd and the
> direction everyone else was headed from there. Certainly the growth (in
> multiple senses) of systemd has only tightened my grip on that particular
> tool.

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-M32b1f1b0e1eeedd875aee9d9
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-05 21:59     ` sirjofri
  2024-03-05 22:47       ` a
@ 2024-03-06 10:28       ` Edouard Klein
  2024-03-06 12:52         ` sirjofri
  1 sibling, 1 reply; 12+ messages in thread
From: Edouard Klein @ 2024-03-06 10:28 UTC (permalink / raw)
  To: 9fans


sirjofri <sirjofri+ml-9fans@sirjofri.de> writes:

> Hi,
>
> 05.03.2024 22:38:59 Edouard Klein <edou@rdklein.fr>:
>
>> Hi,
>>
>> Thank you for your answer.
>>
>>
>> sirjofri <sirjofri+ml-9fans@sirjofri.de> writes:
>>
>>> Hello,
>>>
>>> I don't use /rc/bin/service anymore, but I use /cfg/machinename/service instead. My contents are copies of what's in /rc/bin/service or my own scripts:
>>
>> I assume that you then bind-mount /cfg/machinename/service to that
>> machine's /rc/bin/service ?
>
> Nope, because bind would only change my own namespace (or I have to bind it becore aux/listen starts).
>
> In fact, it's much easier. I don't know if it's a 9front feature or if it's also
> in plan 9, but if there is a /cfg/$sysname/service directory it will use that
> instead of /rc/bin/service (see the cpurc file,
> https://git.9front.org/plan9front/plan9front/36478171be59721dcc5252043fe2955cb37fc9b3/rc/bin/cpurc/f.html
> ).
>
Thanks, I had missed it because there is no /cfg in the source. Do you
happen to know how the /cfg dir is first populated during install ? Is
it all hand-written by the user ?

>
> If you think about how plan 9 should run on a network, imagine a single fs with
> many cpu servers all using the same fs. All the configuration is on the fs, and
> the service directories are in the /cfg/machinename/service. The cpu servers
> will run their individual configuration automatically using that mechanism. It
> just makes sense.
>

Indeed it does.

>>>
>>> tcp80 - web server
>>> tcp443 - web server but wrapped in tls
>>> ...
>>>
>>> I have some cifd running, some irc server that translates to grid chat, my mail
>>> server (smtp and imap4), and fingerd, the files follow the usual scheme tcpXXX.
>>> I probably missed one service or the other, but aux/listen is simple enough to
>>> set up custom servers with arbitrary functionality.
>>>
>>
>> Would you mind sharing your fingerd and irc server ? For finger my plan
>> is to turn this one:
>> https://github.com/michael-lazar/finger2020/blob/master/finger2020 into
>> a multi-user version, but if there already is one I won't bother.
>
> Sure, here it is:
>
> https://shithub.us/sirjofri/fingerd/HEAD/info.html
>
> Note that I got some notice of potential .. path issues and I'm not sure if I
> fixed that, but just in case, you might want to fix that (and maybe send me a
> patch). Fix could be as easy as a newns or what it is in C.
>

I'll try to compile it on Linux and will let you know :)

>>> If you have exact questions about aux/listen functionality or you don't understand something, just ask :)
>>>
>>
>> - I noticed some tcpXXX files use exec for their last line, and some
>> don't. Is there a reason ? My understanding is that exec saves one call
>> to fork per connection, and thus it would be best if it was always used.
>
> There might be some difference, maybe with log redirectors or something, but I
> don't know about that. I guess someone else can tell us more about this (and the
> following topic, which is very similar)
>
>> - I noticed Inferno makes great use of servers that speak 9P on their
>>   stdstream, with its
>>   mount {some-program} /mnt/toto
>>   These programs are trivial to expose thanks to listen:
>>    listen -v 'tcp!*!toto' {some-program&}
>>   On Plan9, I ran into rc's cmd <[0=1] | echo 0 > /srv/name, then mount
>>   /srv/name /n/toto.
>>   - Is there a inferno-like shorthand for Plan 9 ?
>>   - Why the "echo 0" ? (I'm not familiar with rc).
>>
>>> Btw it's quite common to "deactivate" services by renaming the files to have a
>>> leading "!". In general, everything that follows the naming scheme
>>> <protocol><port> and is executable will work.
>>>
>> why not just chmod -x them ? In a multiuser system, users may not have
>> the right to rename them.
>
> I think that _would_ work, but I think it's about readability in this case. I
> can just lc in that directory and immediately see what's relevant and what not.
> With executable flag I have to run ls -l to see what's executable, and it's also
> harder to parse it (sorting and filtering). A simple ! is easier to read, and
> also probably more stable in case of copying files via different filesystem
> types (like, copying the file to fat32 and back, or even having a filesystem
> without executable flags, which often results in all files bein executable).
>

Thanks for all this info !

> 
> sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-Mf9cb49da52d37653059fdaa2
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-05 22:47       ` a
  2024-03-06  0:53         ` hiro
@ 2024-03-06 10:42         ` Edouard Klein
  2024-03-06 11:06         ` Edouard Klein
  2 siblings, 0 replies; 12+ messages in thread
From: Edouard Klein @ 2024-03-06 10:42 UTC (permalink / raw)
  To: 9fans


a@9srv.net writes:

> I wonder what percentage of people who reply are going to be running a finger server they wrote. :-)
Indeed, it may be why I can't seem to find a good, standard
implementation: there are as many implementations as servers.

> My tcp79 comes from my implementation, here:
> http://txtpunk.com/finger/index.html
>

Your finger program is a nice illustration of /net usage. Hard to port
to Linux though ;)

Thanks for making me aware of twtxt.

>
> I think we've got enough interoperable unicode-aware implementations we can start working on the update to the RFC now.
>
> I have a service which allows some unix hosts I run to submit vac scores after they perform a backup to my venti; a slightly outdated version is here:
> https://9p.io/sources/contrib/anothy/bin/rc/tcp17038
>

Nice :)

Your tcp80 is also short and to the point.

>
> tcp411 calls pqsrv, I think the same version as on the "extra" page: http://9p.io/sources/extra/
>
> I usually have at least one "poor man's nat traversal" thing running with aux/trampoline.
>

What an aptly named program.

>
> I love how easy aux/listen makes sticking trivial little services up on the net. I used to have one that provided a menu of MUDs to connect to. Another gave the weather, as the telnet
> service at Weather Underground started to go unmaintained (of course, mine used darksky, which is now also defunct). I made a little text-based zine server (inspired by Cara Esten's
> https://github.com/caraesten/dial_a_zine, which powered the things at anewsession.com); that's up, although very lightly used: http://txtpunk.com/zine/
>

Well, one more thing on the to-read queue...
>
> Before life got away from me last year, I was trying to get a VoIP bridge working so I could plug a POTS line into my modem and get telcodata working again. I think 'cp tcp2323
> telcodata' should be enough to make that zine server dialable. (Sadly, I've only gotten the bridge to *place* calls over my crummy DSL line.)
>
> As a young unix sysadmin back in the 1900s, aux/listen was one of the first things that caught my eye about Plan 9, in comparison to inetd and the direction everyone else was headed
> from there. Certainly the growth (in multiple senses) of systemd has only tightened my grip on that particular tool.
> 9fans / 9fans / see discussions + participants + delivery options Permalink

Thank you for all these pointers :)

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-Mbe2d89455c018e411194cd7d
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-06  0:53         ` hiro
@ 2024-03-06 11:03           ` Edouard Klein
  0 siblings, 0 replies; 12+ messages in thread
From: Edouard Klein @ 2024-03-06 11:03 UTC (permalink / raw)
  To: 9fans


hiro <23hiro@gmail.com> writes:

> all this makes sense. thank you.
> i might be dense, but what's the problem with inetd exactly?
>

I have two main gripes with it:
- it runs as root, in order to switch users when launching a server, and
therefore is a security risk.
- it can be configured only by root, or if you share the file with a
group, there's no fine-grained control over who can do what. In
contrast, files in a dir can be chowned to individual users, or
different groups, allowing a per-port per-user attribution scheme, which
is very handy on a multi-user system :)




> On 3/5/24, a@9srv.net <a@9srv.net> wrote:
>> I wonder what percentage of people who reply are going to be running a
>> finger server they wrote. :-) My tcp79 comes from my implementation,
>> here: http://txtpunk.com/finger/index.html
>>
>> I think we've got enough interoperable unicode-aware implementations we can
>> start working on the update to the RFC now.
>>
>> I have a service which allows some unix hosts I run to submit vac scores
>> after they perform a backup to my venti; a slightly outdated version is
>> here: https://9p.io/sources/contrib/anothy/bin/rc/tcp17038
>>
>> tcp411 calls pqsrv, I think the same version as on the "extra"
>> page: http://9p.io/sources/extra/
>>
>> I usually have at least one "poor man's nat traversal" thing running with
>> aux/trampoline.
>>
>> I love how easy aux/listen makes sticking trivial little services up on the
>> net. I used to have one that provided a menu of MUDs to connect to. Another
>> gave the weather, as the telnet service at Weather Underground started to go
>> unmaintained (of course, mine used darksky, which is now also defunct). I
>> made a little text-based zine server (inspired by Cara
>> Esten's https://github.com/caraesten/dial_a_zine, which powered the things
>> at anewsession.com); that's up, although very lightly
>> used: http://txtpunk.com/zine/ <http://txtpunk.com/zine/index.html>
>>
>> Before life got away from me last year, I was trying to get a VoIP bridge
>> working so I could plug a POTS line into my modem and get telcodata working
>> again. I think 'cp tcp2323 telcodata' should be enough to make that zine
>> server dialable. (Sadly, I've only gotten the bridge to *place* calls over
>> my crummy DSL line.)
>>
>> As a young unix sysadmin back in the 1900s, aux/listen was one of the first
>> things that caught my eye about Plan 9, in comparison to inetd and the
>> direction everyone else was headed from there. Certainly the growth (in
>> multiple senses) of systemd has only tightened my grip on that particular
>> tool.

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-Mfb9ec82c181d0b246e6a3dd2
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-05 22:47       ` a
  2024-03-06  0:53         ` hiro
  2024-03-06 10:42         ` Edouard Klein
@ 2024-03-06 11:06         ` Edouard Klein
  2 siblings, 0 replies; 12+ messages in thread
From: Edouard Klein @ 2024-03-06 11:06 UTC (permalink / raw)
  To: 9fans


a@9srv.net writes:

> I wonder what percentage of people who reply are going to be running a finger server they wrote. :-) My tcp79 comes from my implementation, here:
> http://txtpunk.com/finger/index.html
>
> I think we've got enough interoperable unicode-aware implementations we can start working on the update to the RFC now.
>
> I have a service which allows some unix hosts I run to submit vac scores after they perform a backup to my venti; a slightly outdated version is here:
> https://9p.io/sources/contrib/anothy/bin/rc/tcp17038
>
> tcp411 calls pqsrv, I think the same version as on the "extra" page: http://9p.io/sources/extra/
>
> I usually have at least one "poor man's nat traversal" thing running with aux/trampoline.
>
> I love how easy aux/listen makes sticking trivial little services up on the net. I used to have one that provided a menu of MUDs to connect to. Another gave the weather, as the telnet
> service at Weather Underground started to go unmaintained (of course, mine used darksky, which is now also defunct).

I forgot to mention: you may be interested about:

finger paris@graph.no

>I made a little text-based zine server (inspired by Cara Esten's
> https://github.com/caraesten/dial_a_zine, which powered the things at anewsession.com); that's up, although very lightly used: http://txtpunk.com/zine/
>
> Before life got away from me last year, I was trying to get a VoIP bridge working so I could plug a POTS line into my modem and get telcodata working again. I think 'cp tcp2323
> telcodata' should be enough to make that zine server dialable. (Sadly, I've only gotten the bridge to *place* calls over my crummy DSL line.)
>
> As a young unix sysadmin back in the 1900s, aux/listen was one of the first things that caught my eye about Plan 9, in comparison to inetd and the direction everyone else was headed
> from there. Certainly the growth (in multiple senses) of systemd has only tightened my grip on that particular tool.
> 9fans / 9fans / see discussions + participants + delivery options Permalink

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-Mc5c3a50fb7cce6b9b57854d2
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-06 10:28       ` Edouard Klein
@ 2024-03-06 12:52         ` sirjofri
  2024-03-06 15:12           ` Edouard Klein
  0 siblings, 1 reply; 12+ messages in thread
From: sirjofri @ 2024-03-06 12:52 UTC (permalink / raw)
  To: 9fans

06.03.2024 11:36:39 Edouard Klein <edou@rdklein.fr>:

>
> sirjofri <sirjofri+ml-9fans@sirjofri.de> writes:
>
>> Hi,
>>
>> 05.03.2024 22:38:59 Edouard Klein <edou@rdklein.fr>:
>>
>>> Hi,
>>>
>>> Thank you for your answer.
>>>
>>>
>>> sirjofri <sirjofri+ml-9fans@sirjofri.de> writes:
>>>
>>>> Hello,
>>>>
>>>> I don't use /rc/bin/service anymore, but I use /cfg/machinename/service instead. My contents are copies of what's in /rc/bin/service or my own scripts:
>>>
>>> I assume that you then bind-mount /cfg/machinename/service to that
>>> machine's /rc/bin/service ?
>>
>> Nope, because bind would only change my own namespace (or I have to bind it becore aux/listen starts).
>>
>> In fact, it's much easier. I don't know if it's a 9front feature or if it's also
>> in plan 9, but if there is a /cfg/$sysname/service directory it will use that
>> instead of /rc/bin/service (see the cpurc file,
>> https://git.9front.org/plan9front/plan9front/36478171be59721dcc5252043fe2955cb37fc9b3/rc/bin/cpurc/f.html
>> ).
>>
> Thanks, I had missed it because there is no /cfg in the source. Do you
> happen to know how the /cfg dir is first populated during install ? Is
> it all hand-written by the user ?

I think it is all hand-written, yes. Take a look at cpurc and what the options are. Most notably, the service directory, cpustart, and the plan9.ini file for tftp booting (iirc, I never tried it).

>> If you think about how plan 9 should run on a network, imagine a single fs with
>> many cpu servers all using the same fs. All the configuration is on the fs, and
>> the service directories are in the /cfg/machinename/service. The cpu servers
>> will run their individual configuration automatically using that mechanism. It
>> just makes sense.
>>
>
> Indeed it does.
>
>>>>
>>>> tcp80 - web server
>>>> tcp443 - web server but wrapped in tls
>>>> ...
>>>>
>>>> I have some cifd running, some irc server that translates to grid chat, my mail
>>>> server (smtp and imap4), and fingerd, the files follow the usual scheme tcpXXX.
>>>> I probably missed one service or the other, but aux/listen is simple enough to
>>>> set up custom servers with arbitrary functionality.
>>>>
>>>
>>> Would you mind sharing your fingerd and irc server ? For finger my plan
>>> is to turn this one:
>>> https://github.com/michael-lazar/finger2020/blob/master/finger2020 into
>>> a multi-user version, but if there already is one I won't bother.
>>
>> Sure, here it is:
>>
>> https://shithub.us/sirjofri/fingerd/HEAD/info.html
>>
>> Note that I got some notice of potential .. path issues and I'm not sure if I
>> fixed that, but just in case, you might want to fix that (and maybe send me a
>> patch). Fix could be as easy as a newns or what it is in C.
>>
>
> I'll try to compile it on Linux and will let you know :)

Well, it's designed for plan 9 systems, so you're probably out of luck on linux, except you try it with plan9ports.

While we're talking about finger, I wrote some simple android app called "FingerList" some time ago (on F-droid). It displays a list of fingers in a list format, it's intended for micro social networking with status pages and whatever people want to use it for.

sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-M36dbf7b9e2efc3a83ba11e15
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [9fans] Content of your /rc/bin/service or /dis/svc ?
  2024-03-06 12:52         ` sirjofri
@ 2024-03-06 15:12           ` Edouard Klein
  0 siblings, 0 replies; 12+ messages in thread
From: Edouard Klein @ 2024-03-06 15:12 UTC (permalink / raw)
  To: 9fans


sirjofri <sirjofri+ml-9fans@sirjofri.de> writes:

> 06.03.2024 11:36:39 Edouard Klein <edou@rdklein.fr>:
>
...
>>
>> I'll try to compile it on Linux and will let you know :)
>
> Well, it's designed for plan 9 systems, so you're probably out of luck on linux, except you try it with plan9ports.
>

That was the plan.

> While we're talking about finger, I wrote some simple android app called
> "FingerList" some time ago (on F-droid). It displays a list of fingers in a list
> format, it's intended for micro social networking with status pages and whatever
> people want to use it for.
>

Installed :) Thanks !

> sirjofri

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-M6b41561a554e0d062d2d2a24
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-03-06 15:14 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-02 10:34 [9fans] Content of your /rc/bin/service or /dis/svc ? Edouard Klein
2024-03-02 11:54 ` sirjofri
2024-03-05 21:28   ` Edouard Klein
2024-03-05 21:59     ` sirjofri
2024-03-05 22:47       ` a
2024-03-06  0:53         ` hiro
2024-03-06 11:03           ` Edouard Klein
2024-03-06 10:42         ` Edouard Klein
2024-03-06 11:06         ` Edouard Klein
2024-03-06 10:28       ` Edouard Klein
2024-03-06 12:52         ` sirjofri
2024-03-06 15:12           ` Edouard Klein

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).