• jamnntpd issues, smapinntpd

    From Nil Alexandrov@2:5015/46 to Tommi Koivula on Thu Jan 2 18:16:56 2020
    Hello, Tommi!

    Thursday January 02 2020 09:39, from Tommi Koivula -> Nil Alexandrov:

    Should we continue using smapinntpd then?
    That might be a good idea. At least in 64bit linux.

    Looks like smapi version is the logical continuation of the project, though could have been done as a build option, link with JAMLIB or SMAPI. Hope can use
    this echo conference for SmapiNNTPd related stuff.

    Here's my list of TODO ;-)

    * Socket reuse (just one line fix, otherwise you need to wait a few mins after restart).

    * Message-id passed in <> brackets (some NNTP clients use message-id to fetch head/body/article instead of the article number, e.g. lynx text-mode browser works with nttp:// URL scheme).

    * Add encoding support in subjects (some NNTP clients even use a different encoding in subject than the body itself, e.g. Thunderbird will always use utf8
    in subjects (Subject: =?UTF-8?Q) even though the body encoding is 8 bit)

    * Add utf8 support for posting.

    * Maybe get rid of charset files completely, just compile with libiconv or ICU.

    * Having been integrated with Husky project, specifically with SMAPI library, so why not using the fidoconf to read out groups.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: -=NIL BBS=- (2:5015/46)
  • From Oli@2:280/464.47 to Nil Alexandrov on Thu Jan 2 17:18:19 2020

    Here's my list of TODO ;-)

    * Socket reuse (just one line fix, otherwise you need
    to wait a few mins after restart).

    and i wondered why jamnntpd never restarts immediately ...
    * Add utf8 support for posting.

    it's already possible to post utf8 messages. there is onky a problem with quoting.

    * Maybe get rid of charset files completely, just
    compile with libiconv or ICU.

    that would be nice, i hate these charset files ... :)

    * Having been integrated with Husky project,
    specifically with SMAPI library, so why not using the
    fidoconf to read out groups.

    please, keep jamnntpd independent from the husky project, which is a mess ...


    * Origin: kakistocracy (2:280/464.47)
  • From Nil Alexandrov@2:5015/46 to Oli on Thu Jan 2 23:23:34 2020
    Hello, Oli!

    Thursday January 02 2020 17:18, from Oli -> Nil Alexandrov:

    * Socket reuse (just one line fix, otherwise you need
    to wait a few mins after restart).
    and i wondered why jamnntpd never restarts immediately ...

    Here is my patch for you.

    $ git diff
    diff --git a/src/main.c b/src/main.c
    index 6aaded8..df160f0 100644
    -+- a/src/main.c
    +++ b/src/main.c
    @@ -460,6 +460,17 @@ int main(int argc, char **argv)
    exit(10);
    }

    + int enable = 1;
    + if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int)) < 0)
    + {
    + uchar err[200];
    +
    + os_showerror("Failed to reuse address/port: %s",os_strerr(os_errno(),err,200));
    + os_free();
    + freeargs();
    + exit(10);
    + }
    +
    memset(&local, 0, sizeof(local) );

    local.sin_family = AF_INET;

    please, keep jamnntpd independent from the husky project, which is a
    mess ...

    Though, Husky project is alive and is constantly being patched by some 2:R50 SysOps.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: -=NIL BBS=- (2:5015/46)
  • From Nil Alexandrov@2:5015/46 to Fabio Bizzi on Thu Jan 2 23:56:32 2020
    Hello, Fabio!

    Wednesday January 01 2020 12:04, from Fabio Bizzi -> Nil Alexandrov:

    Smapinntp coredumps randomly on my system (devuan ascii x64).

    If you can reproduce the crash, then submit a bug report.
    I've seen a coredump inside the smapi library itself when opening a corrupted JAM database file (after jamnntpd 64bit mess).

    But the big issue also with 32 bit binaries on a 64 bit system is that
    the answering in an echo conference doesnt put the right name in the
    To: field.

    Does your NNTP client provide the 'X-Comment-To:' header?

    Just tested with NewsTapLite for iOS and SmapiNNTPd.
    NewsTapLite passes the X-Comment-To:' and SmapiNNTPd puts it to the 'To:' FTN field.

    With some version of jamnntpd the answer is always To:ALL with others
    the field is left empty. :(

    Reply (which is called a follow-up in NNTP/Usenet world) will put the right 'To:' when I post from the latest Thunderbird, cannot verify now, probably it passes the X-Comment-To as well.

    Do you expect that jamnntpd/smapinntpd would go ahead and find out the name from the original message to which the reply is being posted?

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: -=NIL BBS=- (2:5015/46)
  • From Fabio Bizzi@2:335/364.3 to Nil Alexandrov on Thu Jan 2 23:36:42 2020
    Hello, Nil Alexandrov.
    On 02/01/20 23:56 you wrote:

    Reply (which is called a follow-up in NNTP/Usenet world) will put
    the right 'To:' when I post from the latest Thunderbird, cannot
    verify now, probably it passes the X-Comment-To as well. Do you
    expect that jamnntpd/smapinntpd would go ahead and find out the
    name from the original message to which the reply is being posted?

    I don't expect nothing, I'm not a developer nor an nttp expert, I was just reporting a behaviour that maybe can help someone expert like you.

    Have a nice debug.

    --
    Ciao.
    Fabio.
    --- Hotdoged/2.13.5/Android
    * Origin: ]\/[imac boss android point (2:335/364.3)
  • From Nil Alexandrov@2:5015/46 to Fabio Bizzi on Fri Jan 3 08:21:40 2020
    Hello, Fabio!

    Thursday January 02 2020 23:36, from Fabio Bizzi -> Nil Alexandrov:

    I don't expect nothing, I'm not a developer nor an nttp expert, I was
    just reporting a behaviour that maybe can help someone expert like
    you. Have a nice debug.

    I have looked into the implementation details of what goes into Fidonet 'To' field when you follow-up on (reply to) a message in jamnntpd/smapinntpd.

    When you view an article, the 'To' field from the JAM message will show up as an optional 'X-Comment-To:' header.

    When you post an article as a result of a follow-up, your client may provide an
    optional field 'References: ' with the message-id of the original message you replied to (and sometimes the whole chain).

    I have tested with Thunderbird for Mac and NewsTapLite for iOS and both passed the correct 'References: ' header. Jamnntpd/smapinntpd will look up that message-id from the 'Reference: ' header in the JAM database and will extract the 'From' field of that message. That 'From' name will become a 'To' field of the newly posted message. That 'From' name will also be used as initials when smart quoting feature is enabled.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: -=NIL BBS=- (2:5015/46)
  • From Tommi Koivula@2:221/360 to Nil Alexandrov on Fri Jan 3 09:27:55 2020

    Nil Alexandrov <0@46.5015.2> wrote:

    >> Should we continue using smapinntpd then?
    TK> That might be a good idea. At least in 64bit linux.

    Looks like smapi version is the logical continuation of the project, though could have been done as a build option, link with JAMLIB or SMAPI. Hope can
    use
    this echo conference for SmapiNNTPd related stuff.

    This is the most perfect echo for smapinntpd too. ;)

    Here's my list of TODO ;-)

    * Socket reuse (just one line fix, otherwise you need to wait a few mins
    after
    restart).

    I have noticed this too, but it happens only when the server is closed when users online. Nice to be fixed anyway.

    * Having been integrated with Husky project, specifically with SMAPI
    library,
    so why not using the fidoconf to read out groups.

    The current perl script fidoconfig2jamnntpd.pl works fine but why not. :)

    'Tommi

    --- Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
    * Origin: nntp://rbb.fidonet.fi - Lake Ylo - Finland (2:221/360.0)
  • From Tommi Koivula@2:221/360 to Nil Alexandrov on Fri Jan 3 09:36:27 2020

    Nil Alexandrov <0@46.5015.2> wrote:

    Do you expect that jamnntpd/smapinntpd would go ahead and find out the
    name from the original message to which the reply is being posted?

    Not sure, but I think it does some reading of the message base. Maybe it uses the "References:" field to update reply links in JAM and Squish bases. It may also read the from name if "X-Comment-To:" does not exist.

    Just my thoughts... Anyway, replying works ok at least with Thunderbird, HotDogED and Sylpheed...

    'Tommi

    --- Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
    * Origin: nntp://rbb.fidonet.fi - Lake Ylo - Finland (2:221/360.0)
  • From Tommi Koivula@2:221/0 to Nil Alexandrov on Fri Jan 3 09:42:14 2020
    On 03.01.2020 8:21, Nil Alexandrov - Fabio Bizzi :

    I have looked into the implementation details of what goes into
    Fidonet 'To' field when you follow-up on (reply to) a message in jamnntpd/smapinntpd.

    When you view an article, the 'To' field from the JAM message will
    show up as an optional 'X-Comment-To:' header.

    When you post an article as a result of a follow-up, your client may provide an optional field 'References: ' with the message-id of the original message you replied to (and sometimes the whole chain).

    I have tested with Thunderbird for Mac and NewsTapLite for iOS and
    both passed the correct 'References: ' header. Jamnntpd/smapinntpd
    will look up that message-id from the 'Reference: ' header in the JAM database and will extract the 'From' field of that message. That
    'From' name will become a 'To' field of the newly posted message.
    That 'From' name will also be used as initials when smart quoting
    feature is enabled.

    :D :D

    'Tommi

    ---
    * Origin: smapinntp://rpi.rbb.bbs.fi (2:221/0)
  • From Tommi Koivula@2:221/0 to Nil Alexandrov on Fri Jan 3 10:07:26 2020
    On 02.01.2020 23:23, Nil Alexandrov wrote:

    @@ -460,6 +460,17 @@ int main(int argc, char **argv)
           exit(10);
        }

    +   int enable = 1;
    +   if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int))
    < 0)
    +   {
    +      uchar err[200];
    +
    +      os_showerror("Failed to reuse address/port:
    %s",os_strerr(os_errno(),err,200));
    +      os_free();
    +      freeargs();
    +      exit(10);
    +   }
    +
        memset(&local, 0, sizeof(local) );

        local.sin_family = AF_INET;


    Thanks! :)

    ---
    * Origin: smapinntp://rpi.rbb.bbs.fi (2:221/0)