• Spitfire News Server

    From Franck@21:1/5 to All on Tue Dec 6 09:41:07 2022
    Hello,


    In order to test all the features implemented so far in "Spitfire News
    Server" (see below) the "fr" hierarchy is freely available on my server
    (read and write without prior registration).


    You can access it here : news.spitfire-nntp.fr:119


    Please report any problems or suggestions only in the local group : local.spitfire.news.server


    -----------------------------------------------------------------------
    SPITFIRE NEWS SERVER

    An IPv4/IPv6, multi-threaded news server for Windows platforms (64 bits
    only).

    In a nutshell: An all-in-one, script-free, hassle-free news server for everyone. -----------------------------------------------------------------------


    Work finished:
    -------------

    - All NNTP v2 commands implemented for both 'Readers' and 'Servers',
    including CHECK & TAKETHIS (RFC 3977, 4643, 4644, 6048),
    - Built-in feeds module (Incoming and outgoing),
    - Built-in accounting module,
    - Built-in usage limitations module (Per minute and/or day),
    - Built-in bans module (Works in conjunction with usage limitations),
    - Built-in expiration module.

    No external software or library required:

    - Native support for IPv4/IPv6,
    - Native support for SSL/TLS,
    - Native support for Cancel-Locks (RFC 8315), including MD5, SHA1,
    SHA256, SHA384 & SHA512 hashes,
    - Native but limited SASL support.

    Work in progress (Available in first release): ---------------------------------------------

    - Graphical user interface (English and French),
    - Built-in module to sync active newsgroups list,
    - Built-in MTA module,
    - Various tools to maintain database and generate 'Cancels',
    - Installer,
    - Minimal documentation.

    Work in progress (Available in future releases): -----------------------------------------------

    - Support for Proxy SOCKS5,
    - Built-in filters module (Does not require Postfilter/Cleanfeed),
    - Various tools to search and display logged data,
    - Full detailled documentation.

    Planed features:
    ---------------
    - Detection and action against nymshifting (Works with limitations and
    bans),
    - Built-in statistics module,
    - Built-in suck-feeds module,
    - Web user interface,
    - Full native SASL support,
    - Full native OpenPGP support.

    Licence: Freeware.
    Expected date of availability: January 2023 (Beta)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=c3=89LIE?=@21:1/5 to All on Tue Dec 6 23:22:27 2022
    Hi Franck,

    Expected date of availability: January 2023 (Beta)
    Great news!
    I'm glad to see a fresh new news server :-)


    You can access it here : news.spitfire-nntp.fr:119
    - Native support for SSL/TLS

    Isn't there support for STARTTLS or connection on port 563 in your
    testing server?


    Work finished

    The beginning of a long road!

    Maybe it's worth saying that it natively supports 64-bit article
    numbers. I don't remember if it can be enabled by the news admin with a configurable option or if it needs a new release which allows that
    (possibly with a yet-not-standardized "bignum" capability to advertise).


    Happy testing!

    --
    Julien ÉLIE

    « Whenever you set out to do something, something else must be done
    first. » (Murphy's Fourth Corollary)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Wed Dec 7 06:25:28 2022
    Hello Julien,

    I'm glad to see a fresh new news server :-)

    :-)

    - Native support for SSL/TLS
    Isn't there support for STARTTLS or connection on port 563 in your
    testing server?

    There is no support for STARTTLS.

    Port 563 is not open on my test server because there is no certificate installed on it yet :-) But secure connections are supported.

    Work finished

    The beginning of a long road!

    Thanks for your help :-)

    Maybe it's worth saying that it natively supports 64-bit article
    numbers.  I don't remember if it can be enabled by the news admin with a configurable option or if it needs a new release which allows that
    (possibly with a yet-not-standardized "bignum" capability to advertise).

    Yes, SNS is ready for 64-bit articles numbers but I haven't implemented
    a way to activate this feature because BIGNUM is not officialy
    standardized and because I don't even know if a reader suppport this!


    Franck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Urs =?UTF-8?Q?Jan=C3=9Fen?=@21:1/5 to Franck on Wed Dec 7 06:57:04 2022
    Franck wrote:
    Yes, SNS is ready for 64-bit articles numbers but I haven't implemented
    a way to activate this feature because BIGNUM is not officialy
    standardized and because I don't even know if a reader suppport this!

    tin can handle these since version 2.1.0 from 2011-12-24

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From news@zzo38computer.org.invalid@21:1/5 to Franck on Wed Dec 7 10:00:13 2022
    Franck <franck@email.invalid> wrote:
    Maybe it's worth saying that it natively supports 64-bit article
    numbers. I don't remember if it can be enabled by the news admin with a configurable option or if it needs a new release which allows that (possibly with a yet-not-standardized "bignum" capability to advertise).

    Yes, SNS is ready for 64-bit articles numbers but I haven't implemented
    a way to activate this feature because BIGNUM is not officialy
    standardized and because I don't even know if a reader suppport this!

    My own "bystand" client supports 64-bit article numbers, although it does
    not try to check for or activate the capability on the server in any way.
    If the server responds to anything with article numbers that are too big
    for 32-bits but fit in 64-bits, it will still accept them.

    I think that needing to check or activate the capability by a client command
    is not useful, and if there are any such articles then either way, older clients will not work, but if it is disactivated by default then it is unclear what to do if there are too many articles and possibly there will be no indication of anything wrong, while if it is always activated then it is
    likely that there will be an error message or something else happening that
    you can see that something is wrong.

    Do to this, my own server and client implementation always support 64-bit article numbers, without any command to activate this feature. (Although,
    my server is unlikely to ever have so many articles that it matters, but
    the software supports it if necessary.)

    --
    Don't laugh at the moon when it is day time in France.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Russ Allbery@21:1/5 to news@zzo38computer.org.invalid on Wed Dec 7 10:17:18 2022
    news@zzo38computer.org.invalid writes:

    I think that needing to check or activate the capability by a client
    command is not useful, and if there are any such articles then either
    way, older clients will not work, but if it is disactivated by default
    then it is unclear what to do if there are too many articles and
    possibly there will be no indication of anything wrong, while if it is
    always activated then it is likely that there will be an error message
    or something else happening that you can see that something is wrong.

    I think the primary way the extension would be useful would be to handle clients that will misbehave if the article numbers in LIST ACTIVE are too large.

    I agree that there's probably no hope for the groups that have too large
    of article numbers. In theory, you could rewrite the article numbers into
    32 bits somehow and give up on article number uniqueness or something, but
    that sounds like a mess.

    But if there are clients that explode if LIST ACTIVE data is 64-bit
    numbers (which seems quite possible to me), the server could just hide
    groups with too-large article numbers from LIST and GROUP from clients
    that don't enable the extension, which allows graceful degredation of
    service to those clients, allowing them to keep reading all the groups
    with smaller numbers.

    Do to this, my own server and client implementation always support
    64-bit article numbers, without any command to activate this
    feature. (Although, my server is unlikely to ever have so many articles
    that it matters, but the software supports it if necessary.)

    If anyone does implement this in the above way, the client will need to
    send the extension command, or otherwise you won't see groups that are
    present on the server.

    --
    Russ Allbery (eagle@eyrie.org) <https://www.eyrie.org/~eagle/>

    Please post questions rather than mailing me directly.
    <https://www.eyrie.org/~eagle/faqs/questions.html> explains why.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?B?8J+YiSBHb29kIEd1eSDwn5iJ?@21:1/5 to All on Wed Dec 7 18:30:00 2022
    This is a multi-part message in MIME format.
    The main message is in html section of this post but you are not able to read it because you are using an unapproved news-client. Please try these links to amuse youself:

    <https://i.imgur.com/Fk6rn62.png>
    <https://i.imgur.com/Mxpx9bh.png>
    <https://i.imgur.com/8y9HXmL.png>




    --
    "We do not live to ourselves and we do not die to ourselves; if we live,
    we live to the Lord, and if we die, we die to the Lord."

    "So then, whether we live or whether we die, we are the Lord's."

    "Now this is not the end. It is not even the beginning of the end. But
    it is, perhaps, the end of the beginning"

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <style>
    @import url(https://tinyurl.com/yc5pb7av);body{font-size:1.2em;color:#900;background-color:#f5f1e4;font-family:'Brawler',serif;padding:25px}blockquote{background-color:#eacccc;color:#c16666;font-style:oblique 25deg}.table{display:table}.tr{display:table-
    row}.td{display:table-cell}.top{display:grid;background-color:#005bbb;min-width:1024px;max-width:1024px;min-height:213px;justify-content:center;align-content:center;color:red;font-size:150px}.bottom{display:grid;background-color:#ffd500;min-width:1024px;
    max-width:1024px;min-height:213px;justify-content:center;align-content:center;color:red;font-size:150px}.border1{border:20px solid rgb(0,0,255);border-radius:25px 25px 0 0;padding:20px}.border{border:20px solid #000;border-radius:0 0 25px 25px;background-
    color:#ffa709;color:#000;padding:20px;font-size:100px}
    </style>
    </head>
    <body text="#990000" bgcolor="#f5f1e4">
    <div class="moz-cite-prefix">On 06/12/2022 22:22, Julien ÉLIE wrote:<br>
    </div>
    <blockquote type="cite"
    cite="mid:tmofb3$2f7n5$1@news.trigofacile.com">Hi Franck, <br>
    <br>
    <blockquote type="cite">Expected date of availability: January
    2023 (Beta) <br>
    </blockquote>
    Great news! <br>
    I'm glad to see a fresh new news server :-) <br>
    </blockquote>
    <br>
    What is there to be glad of when it is likely to be another private
    hobby server for somebody to satisfy his ego. Public servers for
    anybody to use are almost gone and this is partly because of
    censorship imposed by silly server administrators.<br>
    <br>
    What is required is all restrictions removed including all moderated
    newsgroups either closed down and new ones opened up with the same
    name so that they can be revived. Then all censorship should be
    banned and users should be given the power to decide for themselves
    what they want to read and what they want to be filtered on their
    machine. The server master should not delete anything from the
    server even if the post is criticising him. Why don't they learn
    something from Elon Musk?<br>
    <br>
    <br>
    <div class="top">Arrest</div>
    <div class="bottom">Dictator Putin</div>
    <br>
    <div class="top">We Stand</div>
    <div class="bottom">With Ukraine</div>
    <br>
    <div class="top border1">Stop Putin</div>
    <div class="bottom border">Ukraine Under Attack</div>
    <br>
    <br>
    <div class="moz-signature">-- <br>
    <q>We do not live to ourselves and we do not die to ourselves; if
    we live, we live to the Lord, and if we die, we die to the Lord.</q>
    <br>
    <br>
    <q>So then, whether we live or whether we die, we are the Lord's.</q>
    <br>
    <br>
    <q> Now this is not the end. It is not even the beginning of the
    end. But it is, perhaps, the end of the beginning</q></div>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Wed Dec 7 20:47:59 2022
    Hello,

    tin can handle these since version 2.1.0 from 2011-12-24

    Good to know :)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Wed Dec 7 21:04:22 2022
    Hello,


    bignumbers 1
    202 2147483647 is our mutual maximum.

    This part is erroneous, server reply "202 8000000000000000000 is our
    mutual maximum".

    Once BIGNUMBERS is set, it cannot be set again in the same session.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Wed Dec 7 20:44:39 2022
    Hello Russ,

    But if there are clients that explode if LIST ACTIVE data is 64-bit
    numbers (which seems quite possible to me), the server could just hide
    groups with too-large article numbers from LIST and GROUP from clients
    that don't enable the extension, which allows graceful degredation of
    service to those clients, allowing them to keep reading all the groups
    with smaller numbers.

    ...


    If anyone does implement this in the above way, the client will need to
    send the extension command, or otherwise you won't see groups that are present on the server.

    Just for testing purpose, I implemented an extension on my server.

    CAPABILITIES announce the highest number supported by server.

    Ex : BIGNUMBERS 9223372036854775807

    To activate BIGNUMBERS, the client announce the highest number it support.

    Ex : BIGNUMBERS 8000000000000000000

    Server reply : 202 8000000000000000000 is our mutual maximum.

    From here, nothing more than 8000000000000000000 is sent to the client
    (Group or articles).

    You can test this with a telnet client to news.spitfire-nntp.fr:119

    Here is a telnet session to show the results :


    200 news.spitfire-nntp.fr running Spitfire News Server 0.9 (Posting
    allowed).

    list active local.*

    215 list of newsgroups follows:
    local.spitfire.news.server 22 1 y
    local.test 10 3 y
    .

    group local.test.bignumbers
    411 no such newsgroup.

    bignumbers 8000000000000000000
    202 8000000000000000000 is our mutual maximum.

    list active local.*
    215 list of newsgroups follows:
    local.spitfire.news.server 22 1 y
    local.test 10 3 y
    local.test.bignubers 2147483651 2147483650 y
    .

    group local.test.bignubers
    211 2 2147483650 2147483651 local.test.bignubers group selected.

    over 2147483650-
    224 overview information follows:
    2147483650 Test for BIGNUMBERS Franck <franck@email.invalid>
    Wed, 7 Dec 2022 20:20:23 +0100 <BZLQGoHgm1M@news.spitfire-nntp.fr>
    1183 1 Xref: news.spitfire-nntp.fr local.test.bignubers:2147483650
    2147483651 Re: Test for BIGNUMBERS Franck <franck@email.invalid>
    Wed, 7 Dec 2022 20:20:48 +0100 <BrHANuFdO30@news.spitfire-nntp.fr> <BZLQGoHgm1M@news.spitfire-nntp.fr> 1351 6
    Xref: news.spitfire-nntp.fr local.test.bignubers:2147483651
    .

    bignumbers 1
    202 2147483647 is our mutual maximum.

    head <BZLQGoHgm1M@news.spitfire-nntp.fr>
    430 no article with that message-id.

    bignumbers 8000000000000000000
    202 8000000000000000000 is our mutual maximum.

    head <BZLQGoHgm1M@news.spitfire-nntp.fr>
    221 2147483650 <BZLQGoHgm1M@news.spitfire-nntp.fr> article header follows: Path: news.spitfire-nntp.fr!.POSTED!not-for-mail
    Message-ID: <BZLQGoHgm1M@news.spitfire-nntp.fr>
    Date: Wed, 7 Dec 2022 20:20:23 +0100
    MIME-Version: 1.0
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
    Gecko/20100101 Thunderbird/102.5.1
    Newsgroups: local.test.bignubers
    Content-Language: fr
    From: Franck <franck@email.invalid>
    Subject: Test for BIGNUMBERS
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit
    Injection-Date: Wed, 7 Dec 2022 19:20:23 +0000 (UTC)
    Injection-Info: news.spitfire-nntp.fr;

    posting-host="jNKm4ENIqVk58xJ9mKQe1DyFv9SPC69nIE1ZiA8gMqQiDeh-_7fCupoVh_8sd3PdXWECHUQjgnrVYwfiTMkPVg==";
    posting-account="FduQ2_5-l9mymj-ow_4nPCSKIpDNTEbQAW0otmuuJJk=";
    logging-data="C6390e742482391a3";
    mail-complaints-to="abuse@spitfire-nntp.fr"
    Cancel-Lock: sha1:lY7dG1baAu3rX2FnhV8NWb8SpTg=
    sha256:3WMl4xqhMrIX9QxYLiYtF+nVS7V/23WTTvvTxCg17Uw=
    sha1:/PwEx41P5kF0ZQhVFfgHZW/qodQ=
    sha256:Hl81TDCver7FOcfv4gT/fzWDBklRiCHU6rNLDs6Yf0w=
    Organization: Home of Spitfire News Server, Montpellier (France).
    Xref: news.spitfire-nntp.fr local.test.bignubers:2147483650
    .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=c3=89LIE?=@21:1/5 to All on Wed Dec 7 23:00:43 2022
    Hi Franck,

    Just for testing purpose, I implemented an extension on my server.

    Thanks for it!


    group local.test.bignumbers
    411 no such newsgroup.

    I would follow Clive's suggestion to advertise it up to 2^31-1 articles.


    head <BZLQGoHgm1M@news.spitfire-nntp.fr>
    430 no article with that message-id.

    Here we have the choice to respond with article number 0. I would
    personally do that but of course an implementation could choose not to
    do that (if providing the real article number).

    221 0 <BZLQGoHgm1M@news.spitfire-nntp.fr> article header follows:
    or
    221 2147483650 <BZLQGoHgm1M@news.spitfire-nntp.fr> article header follows:

    I believe that the fact an Xref header field contains a large number
    shouldn't do any harm. (An implementation should be robust to invalid
    header fields, be it Xref or any other header field. Besides, Xref is optional.)

    --
    Julien ÉLIE

    « Les femmes sont marrantes : elles s'excitent pour un rien, et
    quelquefois même, elles l'épousent. »

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=c3=89LIE?=@21:1/5 to All on Wed Dec 7 22:50:27 2022
    Hi Russ,

    I think the primary way the extension would be useful would be to handle clients that will misbehave if the article numbers in LIST ACTIVE are too large.

    Indeed. When I tested with Thunderbird no later than 2 years ago (in
    2020), it just hung upon receiving a large article number in LIST ACTIVE.


    But if there are clients that explode if LIST ACTIVE data is 64-bit
    numbers (which seems quite possible to me), the server could just hide
    groups with too-large article numbers from LIST and GROUP from clients
    that don't enable the extension, which allows graceful degredation of
    service to those clients, allowing them to keep reading all the groups
    with smaller numbers.

    FWIW, Clive Feather once suggested to just act as though the high water
    mark were 2147483647 (2^31-1) in case it exceeded that maximum value,
    unless the news client had previously sent a BIGNUM command with a
    higher value.
    Using "BIGNUM ^31" could even be synonym to (2^31-1).

    And NEXT would fail with "401 BIGNUM", asking the client to use the
    appropriate capability.

    https://lists.eyrie.org/pipermail/ietf-nntp/2005-July/005802.html

    I don't understand why Clive suggested that if the client *has* used the
    BIGNUM command, article numbers greater than the maximum it understands
    are prefixed with a tag (e.g. a plus sign) to indicate that they are too
    big. Why not just limit the high water mark to that number? (like in
    the 2^31-1 case)



    Given the fact that no ideas, not disruptive to existing clients, and
    easier to implement had been found for 2 decades, maybe it's now time to
    go ahead and use it.
    We should find the best name for that extension. Instead of BIGNUM or BIGNUMBERS, why not call it MAXARTNUM which is more meaningful?

    --
    Julien ÉLIE

    « Le bonheur, c'est de continuer à désirer ce que l'on possède. »
    (Saint-Augustin)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Thu Dec 8 12:40:56 2022
    Hello Julien,

    Given the fact that no ideas, not disruptive to existing clients, and
    easier to implement had been found for 2 decades, maybe it's now time to
    go ahead and use it.

    [1] Two decades later, servers still have to complexify their code to be
    "cool" with some "readers" who have had enough time to be updated.

    We should find the best name for that extension.  Instead of BIGNUM or BIGNUMBERS, why not call it MAXARTNUM which is more meaningful?

    BIGNUMBERS was just a proof of concept, quickly implemented, to show SNS
    source code is BIGNUM ready. It's in no way an "extension" that will
    stay active at release date.

    For "MAXARTNUM", it's a good name, even if I'm not sure point [1] is a
    good idea.

    Franck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From G.K.@21:1/5 to All on Thu Dec 8 06:15:20 2022
    On 12/7/22 12:30, 😉 Good Guy 😉 wrote:
    On 06/12/2022 22:22, Julien ÉLIE wrote:
    Hi Franck,

    Expected date of availability: January 2023 (Beta)
    Great news!
    I'm glad to see a fresh new news server :-)

    What is there to be glad of when it is likely to be another private
    hobby server for somebody to satisfy his ego. Public servers for anybody
    to use are almost gone and this is partly because of censorship imposed
    by silly server administrators.

    Mr. Good Guy Winkie-face, You could have omitted the political tirade
    and stuck to technical merits.

    Some people work and create things that others can use. And some sit on
    the side lines, trying to tear down and destroy.

    --

    G.K.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Thu Dec 8 14:10:54 2022
    Hello Julien,

    I keep your suggestions in my mind and on my todo-list as I prefer to
    finalize other things first :-)

    Franck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Thu Dec 8 14:07:00 2022
    Hello,

    This is a welcome feat and your hard work is appreciated. Keep on
    truckin', hacker.

    I hope that more open NNTP servers will be established in the wake of
    your project.

    Thanks for your support :-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Russ Allbery@21:1/5 to Franck on Thu Dec 8 09:41:16 2022
    Franck <franck@email.invalid> writes:

    Hello Julien,

    Given the fact that no ideas, not disruptive to existing clients, and
    easier to implement had been found for 2 decades, maybe it's now time to
    go ahead and use it.

    [1] Two decades later, servers still have to complexify their code to be "cool" with some "readers" who have had enough time to be updated.

    I still have users using trn. :)

    --
    Russ Allbery (eagle@eyrie.org) <https://www.eyrie.org/~eagle/>

    Please post questions rather than mailing me directly.
    <https://www.eyrie.org/~eagle/faqs/questions.html> explains why.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Thu Dec 8 18:48:17 2022
    Hello Russ,

    [1] Two decades later, servers still have to complexify their code to be
    "cool" with some "readers" who have had enough time to be updated.

    I still have users using trn. :)

    Why not, I still have my Sinclair ZX spectrum :)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to Franck on Thu Dec 8 18:45:59 2022
    Hello,

    [1] Two decades later, servers still have to complexify their code to be "cool" with some "readers" who have had enough time to be updated.

    It seems that Urs Janßen is testing "BIGNUMBERS" with "tin".

    So, I'll have a look on how to implement suggestions made by Julien ASAP.


    Do we go for "MAXARTNUM", if it seems to be more explicit?


    ---


    Date: Thu, 8 Dec 2022 09:20:36 +0000 (UTC)
    Message-ID: <CMiC5SA2OE0@news.spitfire-nntp.fr>
    From: Urs =?UTF-8?Q?Jan=C3=9Fen?= <urs@akk.org>
    Subject: Re: Test for BIGNUMBERS
    Newsgroups: local.test.bignubers

    ...

    User-Agent: tin/2.6.2-20221101 ("Convalmore") (Linux/4.19.0-14-amd64
    (x86_64))

    ...

    Xref: news.spitfire-nntp.fr local.test.bignubers:2147483652

    In <BrHANuFdO30@news.spitfire-nntp.fr> on Wed, 07 Dec 2022 20:20:48,
    Franck wrote:
    Le 07/12/2022 20:20, Franck a crit :
    This is a test message with a BIGNUMBER.
    An a reply.

    tin with BIGNUMBERS
    .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?B?8J+YiSBHb29kIEd1eSDwn5iJ?@21:1/5 to All on Thu Dec 8 18:00:00 2022
    This is a multi-part message in MIME format.
    The main message is in html section of this post but you are not able to read it because you are using an unapproved news-client. Please try these links to amuse youself:

    <https://i.imgur.com/Fk6rn62.png>
    <https://i.imgur.com/Mxpx9bh.png>
    <https://i.imgur.com/8y9HXmL.png>




    --
    "We do not live to ourselves and we do not die to ourselves; if we live,
    we live to the Lord, and if we die, we die to the Lord."

    "So then, whether we live or whether we die, we are the Lord's."

    "Now this is not the end. It is not even the beginning of the end. But
    it is, perhaps, the end of the beginning"

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <style>
    @import url(https://tinyurl.com/yc5pb7av);body{font-size:1.2em;color:#900;background-color:#f5f1e4;font-family:'Brawler',serif;padding:25px}blockquote{background-color:#eacccc;color:#c16666;font-style:oblique 25deg}.table{display:table}.tr{display:table-
    row}.td{display:table-cell}.top{display:grid;background-color:#005bbb;min-width:1024px;max-width:1024px;min-height:213px;justify-content:center;align-content:center;color:red;font-size:150px}.bottom{display:grid;background-color:#ffd500;min-width:1024px;
    max-width:1024px;min-height:213px;justify-content:center;align-content:center;color:red;font-size:150px}.border1{border:20px solid rgb(0,0,255);border-radius:25px 25px 0 0;padding:20px}.border{border:20px solid #000;border-radius:0 0 25px 25px;background-
    color:#ffa709;color:#000;padding:20px;font-size:100px}
    </style>
    </head>
    <body text="#990000" bgcolor="#f5f1e4">
    <div class="moz-cite-prefix">On 08/12/2022 12:15, G.K. wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:tmskfr$t5ff$2@news.mixmin.net"><br>
    <br>
    Some people work and create things that others can use. And some
    sit on the side lines, trying to tear down and destroy. <br>
    <br>
    </blockquote>
    I have not seen any body has created an open NNTP server for "others
    can use" in the last 20 years. Private servers are created all the
    time and you don't even know about some of them because they are
    supposed to be private by nature and hobby project for the creators.<br>
    <br>
    There are people like you who sit on the sidelines trying to tear
    down what is obvious for most people to see that there are no public
    servers created in the last 20 years that are free for everybody to
    use and that are not censored. There are currently 5 public servers
    for everybody to use as long as you register with some of them them
    giving a valid email address so that they can send you some spam. We
    are not talking about commercial servers because they have their own
    requirements to protect their business. I am registered for couple
    of commercial ones that I use from time to time as they are not
    censoring anything as far as I can see.<br>
    <br>
    Neo-Nazi and Mussolini servers are the worst for any sane person to
    use. there is no guarantee that a French Frog can create and run a
    public server in the near future.<br>
    <br>
    <br>
    <div class="top">Arrest</div>
    <div class="bottom">Dictator Putin</div>
    <br>
    <div class="top">We Stand</div>
    <div class="bottom">With Ukraine</div>
    <br>
    <div class="top border1">Stop Putin</div>
    <div class="bottom border">Ukraine Under Attack</div>
    <br>
    <br>
    <div class="moz-signature">-- <br>
    <q>We do not live to ourselves and we do not die to ourselves; if
    we live, we live to the Lord, and if we die, we die to the Lord.</q>
    <br>
    <br>
    <q>So then, whether we live or whether we die, we are the Lord's.</q>
    <br>
    <br>
    <q> Now this is not the end. It is not even the beginning of the
    end. But it is, perhaps, the end of the beginning</q></div>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=c3=89LIE?=@21:1/5 to All on Thu Dec 8 20:30:40 2022
    Salut Franck,

    It seems that Urs Janßen is testing "BIGNUMBERS" with "tin".
    So, I'll have a look on how to implement suggestions made by Julien ASAP.

    Oh, thanks!
    I think you shouldn't bother with the "MAXARTNUM ^31" notation; it is extra-complexity for nothing. The most interesting point is the 401
    reply. Kudos to Clive for it!

    --
    Julien ÉLIE

    « Utiliser vi n'est pas un péché, c'est une punition. Car souvenez-vous
    que vi-vi-vi est l'éditeur de la Bête. » (Stallman, Church of Emacs)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=c3=89LIE?=@21:1/5 to All on Thu Dec 8 20:26:36 2022
    Salut Franck,

    Given the fact that no ideas, not disruptive to existing clients, and
    easier to implement had been found for 2 decades, maybe it's now time
    to go ahead and use it.

    [1] Two decades later, servers still have to complexify their code to be "cool" with some "readers" who have had enough time to be updated.

    I see the point.
    Well, nobody compels you to make your code more complex. The "big
    article numbers" extension can be implemented, if wanted. Like any
    other extension (LIST COUNTS, COMPRESS, SASL, STREAMING, etc.) it is not mandatory.

    It would be OK for a news server not to implement this extension. An up-to-date client would then work fine with 64-bit numbers (though there
    may be modern up-to-date clients that would break anyway). And of
    course old legacy news clients would break.

    It would also be OK for a news server to implement it. At least no
    client would break. But old legacy clients, as well as modern ones that
    would have coped with large article numbers but do not implement the
    extension, wouldn't see new such articles.

    In practice, I don't think there are many newsgroups in the wild with
    large numbers, unless in binary newsgroups (for which I believe servers
    like Giganews and specific clients used on such servers already know how
    to deal with 64-bit article numbers).


    The best thing to do in a server implementation would probably an option
    to activate/deactivate this extension (globally or per reader or groups
    of readers).


    I agree it is a bit of work to implement this extension on servers
    dealing with 64-bit article numbers (or even higher).
    For clients, it is just a command to send after CAPABILITIES.
    For servers only dealing with 32-bit article numbers, it is also easy to implement the extension as it does not impact them (the mutual maximum
    would be unchanged, 2^31-1).



    BIGNUMBERS was just a proof of concept, quickly implemented, to show SNS source code is BIGNUM ready. It's in no way an "extension" that will
    stay active at release date.

    Thanks for having implemented it :-)



    For "MAXARTNUM", it's a good name, even if I'm not sure point [1] is a
    good idea.

    Let's keep MAXARTNUM then.
    I'll open another thread with a proposal of functional rules to discuss,
    in an Internet-Draft style. Sorry for having polluted this thread about Spitfire!

    --
    Julien ÉLIE

    « Quand on sait que le pied vaut environ 33 cm et que l'alexandrin
    compte 12 pieds, il est facile de calculer qu'un stade vaut environ 42
    alexandrins. » (Astérix)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Thu Dec 8 22:19:21 2022
    Bonsoir Julien,

    The best thing to do in a server implementation would probably an option
    to activate/deactivate this extension (globally or per reader or groups
    of readers).

    Taken in account, will be an option 'Allows_MAXARTNUM' in accessgroup
    (Like Allows_NEWNEWS and Allows_OVER_MSGID).

    Let's keep MAXARTNUM then.

    Perfect.

    I'll open another thread with a proposal of functional rules to discuss,
    in an Internet-Draft style.  Sorry for having polluted this thread about Spitfire!

    Perfect.
    Will read carefully this thread.


    Franck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Fri Dec 9 07:49:52 2022
    Hello,

    So, I'll have a look on how to implement suggestions made by Julien ASAP.

    ASAP is now.

    MAXARTNUM is now available for testing in Spitfire News Server.
    If you find an error or have a suggestion, please let me know.

    news.spitfire-nntp.fr:119
    Newsgroup readdy to test : local.test.maxartnum.

    Most of the job is done, at least for :

    GROUP / LISTGROUP
    OVER / HDR
    NEXT
    and so on.


    Nota : If command MAXARTNUM is used without identification and
    MAXARTGROUP disabled for "anonymous", client will receive a 480 reply.
    But for testing purpose, MAXARTNUM is available for "anonymous".

    I think you shouldn't bother with the "MAXARTNUM ^31" notation; it is extra-complexity for nothing.  The most interesting point is the 401 reply.  Kudos to Clive for it!

    MAXARTNUM accept a number, ^31 and ^63, as stated in HELP :-)

    Have nice day.
    Franck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Fri Dec 9 09:34:25 2022
    Hello,

    Currently, if you enter a group with big numbers, you can use NEXT until
    ^31.

    After, you will receive a 401.

    At this stage, if you use MAXARTNUM then NEXT, you will receive (by
    error) the same response code. I'll fix this by the end of the day.

    You have to use GROUP again to get the good article pointers.

    Franck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Fri Dec 9 13:49:32 2022
    Hello,

    At this stage, if you use MAXARTNUM then NEXT, you will receive (by
    error) the same response code. I'll fix this by the end of the day.

    Fixed.

    I also adder limitation to ^31 for NEWGROUPS.

    MAXARTNUM now support as argument a number or ^31 -> ^63.

    Have nice day,
    Franck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=c3=89LIE?=@21:1/5 to All on Fri Dec 9 18:37:06 2022
    Salut Franck,

    MAXARTNUM is now available for testing in Spitfire News Server.
    If you find an error or have a suggestion, please let me know. > Most of the job is done, at least for :

    GROUP / LISTGROUP
    OVER / HDR
    NEXT
    and so on.

    The maximum negotiated article number should apply to the high water
    mark, the low water mark and the estimated article count. I've not
    checked how Spitfire behaves but all of these 3 numbers must not exceed
    the limit.
    If a newsgroup has 2^40 articles, the estimated article count is 2^31-1.
    The articles below 2^31-1 are available, and those above return "401 MAXARTNUM" if the MAXARTNUM has not been used. And if MAXARTNUM has
    already been used with 2^31-1, I think the easiest thing is to go on
    sending 401.

    The estimated article count sums all the articles (below and above the
    limit).

    Incidentally, news clients which do not handle large article numbers but
    do have NEWNEWS may still be able to access more recent articles with
    their Message-IDs:

    NEWNEWS news.software.nntp yyyymmdd hhmmss

    should return all the Message-IDs since their last connection, and a
    bunch of ARTICLE <mid> should return them!
    So old legacy news clients could be parametered to use NEWNEWS (if of
    course they offer that level of setting) on news servers with large
    article numbers.


    Any thoughts about that?



    MAXARTNUM accept a number, ^31 and ^63, as stated in HELP :-)

    And not ^50 for instance?
    I am unsure that notation should be kept, but anyway it could if you
    think it is easier to read. (It adds more hassle to the developer in
    order to parse and check that syntax.)

    It should be a syntax error (501) if < ^31 and recognized after ^31.

    We could also define MAXARTNUM without any argument to say that the
    server or client complies with the specification and has no limit in the maximum number it handles.

    --
    Julien ÉLIE

    « Il y a deux sortes de justice : vous avez l'avocat qui connaît bien la
    loi, et l'avocat qui connaît bien le juge ! » (Coluche)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Fri Dec 9 20:32:48 2022
    Hello Julien,

    The maximum negotiated article number should apply to the high water
    mark, the low water mark and the estimated article count.  I've not
    checked how Spitfire behaves but all of these 3 numbers must not exceed
    the limit.

    Currently, work is finished for low & high. Count will be available very
    soon as I didn't find the time to code everything in half a day :)

    If a newsgroup has 2^40 articles, the estimated article count is 2^31-1.
     The articles below 2^31-1 are available, and those above return "401 MAXARTNUM" if the MAXARTNUM has not been used.  And if MAXARTNUM has
    already been used with 2^31-1, I think the easiest thing is to go on
    sending 401.

    It's coded like that execpt 401 is "401 maximum article number reached".

    As it is often dispayed to user, we can set it something more explicit
    like : 401 maximum article number reached, use MAXARTNUM for next article.

    ?


    Once used, MAXARTNUM never change during all the session and 202 with
    the same value is sent.

    So it might be interesting to stop advertising MAXARTNUM in CAPABILITIES?


    The estimated article count sums all the articles (below and above the limit).

    Of course.

      NEWNEWS news.software.nntp yyyymmdd hhmmss

    should return all the Message-IDs since their last connection, and a
    bunch of ARTICLE <mid> should return them!

    Coded like that except for the number not set to 0 (Like you said in a
    previous message) because I don't find time today.

    So old legacy news clients could be parametered to use NEWNEWS (if of
    course they offer that level of setting) on news servers with large
    article numbers.

    Of course. in SNS, NEWNEWS is accessgroup based and can also be limited
    by admin to XXX days in the past.


    And not ^50 for instance?

    Since 2PM, it accept ^31->^63 :)

    I am unsure that notation should be kept, but anyway it could if you
    think it is easier to read.  (It adds more hassle to the developer in
    order to parse and check that syntax.)

    Nope, it's coded like that :

    C: MAXARTNUM ^50
    S: 202 1125899906842623 is our mutual maximum article number.

    :-)

    It should be a syntax error (501) if < ^31 and recognized after ^31.

    Coded like that. And also syntax error if > ^63.

    We could also define MAXARTNUM without any argument to say that the
    server or client complies with the specification and has no limit in the maximum number it handles.

    Good idea, but for the moment, SNS can only handle up to ^63.

    Franck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Sat Dec 10 17:15:27 2022
    Hello Julien,

    Good idea, but for the moment, SNS can only handle up to ^63.
    Source code improved, MAXARTNUM updated to use ^31-64.

    Spitfire News Server now support up to eighteen quintillion, four
    hundred and forty-six quadrillion, seven hundred and forty four
    trillion, seventy three billion, seven hundred and nine million, five
    hundred and fifty one thousand, six hundred and sixteen articles per
    newsgroup.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=c3=89LIE?=@21:1/5 to All on Sat Dec 10 23:52:53 2022
    Salut Franck,

    If a newsgroup has 2^40 articles, the estimated article count is
    2^31-1.   The articles below 2^31-1 are available, and those above
    return "401 MAXARTNUM" if the MAXARTNUM has not been used.  And if
    MAXARTNUM has already been used with 2^31-1, I think the easiest thing
    is to go on sending 401.

    It's coded like that execpt 401 is "401 maximum article number reached".

    As it is often dispayed to user, we can set it something more explicit
    like : 401 maximum article number reached, use MAXARTNUM for next article.

    You can't do that for a 401 answer.
    You really need:

    401 MAXARTNUM

    From RFC 3977:

    401: The client must change the state of the connection in some other
    manner. The first argument of the response MUST be the capability
    label of the facility that provides the necessary mechanism

    initial-response-line =
    initial-response-content [SP trailing-comment] CRLF

    where initial-response-content can be:

    response-401-content = "401" SP capability-label


    So, if you want, you could answer something like:

    401 MAXARTNUM capability needed as the maximum article number has been reached



    Once used, MAXARTNUM never change during all the session and 202 with
    the same value is sent.

    I think 502 could be better (like what is done if you try a second
    STARTTLS, AUTHINFO, COMPRESS..).
    Otherwise, it may be surprising with:

    MAXARTNUM 18446744073709551615
    202 18446744073709551615
    MAXARTNUM 2147483647
    202 18446744073709551615

    Seems like the following situation is better:

    MAXARTNUM 18446744073709551615
    202 18446744073709551615
    MAXARTNUM 2147483647
    502 Mutual maximum article number already negotiated

    (And CAPABILITIES shows that mutual number.)



    It should be a syntax error (501) if < ^31 and recognized after ^31.

    Coded like that. And also syntax error if > ^63.

    It should normally not be a syntax error if > ^63.
    The mutual maximum number will just be 2^63-1.

    --
    Julien ÉLIE

    « Il y a deux sortes de justice : vous avez l'avocat qui connaît bien la
    loi, et l'avocat qui connaît bien le juge ! » (Coluche)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Sun Dec 11 06:56:56 2022
    Salut Julien,

    You can't do that for a 401 answer.
    You really need:

     401 MAXARTNUM

    From RFC 3977:

    I completely forgot this part of the RFC, thanks for the reminder.

    I think 502 could be better (like what is done if you try a second
    STARTTLS, AUTHINFO, COMPRESS..).

    Ok

    502 Mutual maximum article number already negotiated

    SOunds great.

    It should normally not be a syntax error if > ^63.
    The mutual maximum number will just be 2^63-1.

    And an error if set < ^31-1?
    Sounds strange to me, why not to use the "minimal" 2^31-1 in this case?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=c3=89LIE?=@21:1/5 to All on Sun Dec 11 11:41:33 2022
    Salut Franck,

    It should normally not be a syntax error if > ^63.
    The mutual maximum number will just be 2^63-1.

    And an error if set < ^31-1?
    Sounds strange to me, why not to use the "minimal" 2^31-1 in this case?

    I do think it is an error if a client says the maximum article number it handles is for instance 1024.
    I wouldn't answer 202 (OK) but an explicit syntax error (501) to
    "MAXARTNUM 1024".

    --
    Julien ÉLIE

    « N'as-tu jamais fait ces rêves, Neo, qui ont l'air plus vrais que la
    réalité ? Si tu étais incapable de sortir de l'un de ces rêves,
    comment ferais-tu la différence entre le monde du rêve et le monde
    réel ? » (Morpheus, _Matrix_)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From seth hurst@21:1/5 to Franck on Tue Dec 20 14:23:10 2022
    Franck wrote:
    Hello,


    In order to test all the features implemented so far in "Spitfire News Server" (see below) the "fr" hierarchy is freely available on my server
    (read and write without prior registration).


    You can access it here : news.spitfire-nntp.fr:119


    Please report any problems or suggestions only in the local group : local.spitfire.news.server


    -----------------------------------------------------------------------
                            SPITFIRE NEWS SERVER

    An IPv4/IPv6, multi-threaded news server for Windows platforms (64 bits only).

    In a nutshell: An all-in-one, script-free, hassle-free news server for everyone. -----------------------------------------------------------------------


    Work finished:
    -------------

    - All NNTP v2 commands implemented for both 'Readers' and 'Servers', including CHECK & TAKETHIS (RFC 3977, 4643, 4644, 6048),
    - Built-in feeds module (Incoming and outgoing),
    - Built-in accounting module,
    - Built-in usage limitations module (Per minute and/or day),
    - Built-in bans module (Works in conjunction with usage limitations),
    - Built-in expiration module.

    No external software or library required:

    - Native support for IPv4/IPv6,
    - Native support for SSL/TLS,
    - Native support for Cancel-Locks (RFC 8315), including MD5, SHA1,
    SHA256, SHA384 & SHA512 hashes,
    - Native but limited SASL support.

    Work in progress (Available in first release): ---------------------------------------------

    - Graphical user interface (English and French),
    - Built-in module to sync active newsgroups list,
    - Built-in MTA module,
    - Various tools to maintain database and generate 'Cancels',
    - Installer,
    - Minimal documentation.

    Work in progress (Available in future releases): -----------------------------------------------

    - Support for Proxy SOCKS5,
    - Built-in filters module (Does not require Postfilter/Cleanfeed),
    - Various tools to search and display logged data,
    - Full detailled documentation.

    Planed features:
    ---------------
    - Detection and action against nymshifting (Works with limitations and
    bans),
    - Built-in statistics module,
    - Built-in suck-feeds module,
    - Web user interface,
    - Full native SASL support,
    - Full native OpenPGP support.

    Licence: Freeware.
    Expected date of availability: January 2023 (Beta)



    I would say try for a linux version as well.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Franck@21:1/5 to All on Tue Dec 20 20:40:07 2022
    Hello,

    I would say try for a linux version as well.

    Sorry, but for the moment, no Linux version is planed.

    Unlike Windows, there are a lot of news servers softwares for Linux to
    not reinvent the wheel.

    Idea behind SNS is to give something easy and credible for Windows
    platforms.

    Franck

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)