Subj : Re: Synchronet config change
To   : Vitaliy Aksyonov
From : Rob Swindell
Date : Fri Mar 08 2024 12:13 pm

 Re: Re: Synchronet config change
 By: Vitaliy Aksyonov to Rob Swindell on Thu Mar 07 2024 05:35 pm

> Hello Rob.
>
> 07 Mar 24 10:46, you wrote to me:
>
>  >> Hello Rob.
>  >>
>  >> 06 Mar 24 12:05, you wrote to me:
>  >>
>  >>  RS> I'm attempting a reply using GoldEd+ here.
>  >>
>  >>  RS> One thing I noticed, the SBBS config points to the parent of
>  >> the
>  >>  RS> Synchronet "control" directory rather than the ctrl directory
>  >> itself
>  >>  RS> (which is normally represnted by the SBBSCTRL environment
>  >> variable).
>  >>  RS> The control directory is not hard-coded to be "ctrl" anywhere,
>  >> thought
>  >>  RS> that is the default/stock configuration that most sysops keep.
>  >> I would
>  >>  RS> recommend that the GoldEd+ config file point to the path of
>  >> the
>  >>  RS> Synchronet "control" directory and not its parent directory.
>  >> Or read
>  >>  RS> this from the SBBSCRL env var.
>  >>
>  >> Currently you may use three different options for Synchronet
>  >> AreaFile:
>  >>
>  >> 1) Path to Synchronet root. And then Golded would assume that
>  >> config is is ctrl directory. 2) Path to Synchronet control
>  >> directory. 3) Path to msgs.ini itself.
>
>  RS> Only methods 2 and 3 there would be valid. There's no real "Synchronet
>  RS> root".
>
> I'm inclining to rework it and use only method 3, but read main.ini first,
> then mail.ini.
>
>  >> And also GoldEd assumes that message bases located on the same
>  >> level as control directory in "data/subs" directory.
>
>  RS> That would be incorrect. Each message base can actually be located
>  RS> anywhere (that's what 'data_dir' is used for - but it's it's blank,
>  RS> then data/subs can be assumed, but the location of the 'data'
>  RS> directory is also configurable in the [dir] section of main.ini).
>
> You're right. It does use data_dir if it's available in message base config.
> I forgot to mention that. Only if it's empty - it uses data/subs. I'll
> rework this too.
>
>  >> I didn't invent that logic. Just added parsing ini in addition to
>  >> cnf file.
>  >>
>  >> I'm happy to change the way it configured. But I'm not an expert in
>  >> Synchronet design. Could you please describe how it may be
>  >> configured?
>
>  RS> SBBSCTRL (env var or other method of discovery) points to Synchronet
>  RS> "control" directory (which could be named/located anywhere), where you
>  RS> can find main.ini which in turn defines the relative path (from the
>  RS> "control" directory) to the "data" directory.
>
>  RS> Then parsing msgs.ini, each message area (sub) can have its own
>  RS> "data_dir" defined (where to find the message base files themselves) -
>  RS> if the data_dir isn't defined, then the "subs" sub-directory of the
>  RS> configured "data" directory is where the message base files are
>  RS> expected to be found.
>
> Env var is not a good idea. Better to use path to main.ini. Am I right that
> all ini files shall be within control directory?

The SBBSCTRL env var is a method of locating the main.ini file to begin with. that's how most Synchronet utilities find it. Otherwise, you'll need store a path to it somewhere else (e.g. in a golded.cfg file, like you do now).

> I used that file for reference when worked on this change. Thanks.
>
> Wait for the next patch which will make it even better. BTW, I found one
> issue in my change which will make it fail to read message bases in windows.
> That will be fixed too.

Nice! I only tested on Linux so far.
--
                                           digital man (rob)

Rush quote #61:
He's a rebel and a runner, he's a signal turning green .. New World Man
Norco, CA WX: 67.0�F, 39.0% humidity, 3 mph WSW wind, 0.14 inches rain/24hrs