Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

test---ignore

75 views
Skip to first unread message

Phillip Helbig (undress to reply)

unread,
Feb 20, 2023, 1:22:57 PM2/20/23
to
Please respond via email, removing the obvious spam-block!

My news server aioe.org has died. Many people have recommended
eternal-september as a news server, so I signed up. Works fine via
telnet/port=119 (which is how I'm posting this). I want to stick with
NEWSRDR. I discovered that it has had username/password authentication
since 1993:

** 21-SEP-1993 V1.3 Madison Add authentication support.
[...]
***************
** Authentication stuff
*/
if (reply_code == NNTP__AUTHREQD) {

***************
put_output("Authentication required for posting.");


strcpy(tmp, "AUTHINFO USER ");
get_cmd(tmp+14, sizeof(tmp)-14, "Username: ");
server_send(tmp);
server_get_reply(SRV__NOECHO, &reply_code, 0, 0, 0);

if (reply_code == NNTP__PASSWREQD) {
strcpy(tmp, "AUTHINFO PASS ");
get_cmd_noecho(tmp+14, sizeof(tmp)-14, "Password: ");
server_send(tmp);
server_get_reply(SRV__NOECHO, &reply_code, 0, 0, 0);
}

if (reply_code != NNTP__AUTHACCEPTED) {
lib$signal(NEWS__NOPOSTING, 0);
return NEWS__NOPOSTING;
}

server_send("POST");
server_get_reply(SRV__NOECHO, &reply_code, 0, 0, 0);

}

if (reply_code != NNTP__SENDPARTICLE) {
lib$signal(NEWS__NOPOSTING, 0);
return NEWS__NOPOSTING;
}

There doesn't seem to be any way to authenticate interactively nor to
tell it (via a logical name or whatever) to always authenticate. The
idea is that if the server requests it, then one will be prompted for
username and password. However, the server does allow unauthenticated
access to a small number of newsgroups, so returns

200 reader01.eternal-september.org InterNetNews NNRP server INN 2.8.0
(20220715 snapshot) ready (posting ok)

which doesn't trigger the authentication.

The sources are available. For a C programmer it's probably a matter of
a few minutes to modify the code to always authenticate when connecting.
Probably enough to copy the code above (without the "if" stuff) to
somewhere else so that it is always executed immediately after
connecting.

Any takers?

Arne Vajhøj

unread,
Feb 20, 2023, 1:34:20 PM2/20/23
to
On 2/20/2023 1:22 PM, Phillip Helbig (undress to reply) wrote:
> Please respond via email, removing the obvious spam-block!

This is posted and emailed.

> My news server aioe.org has died. Many people have recommended
> eternal-september as a news server, so I signed up. Works fine via
> telnet/port=119 (which is how I'm posting this). I want to stick with
> NEWSRDR. I discovered that it has had username/password authentication
> since 1993:
>
> ** 21-SEP-1993 V1.3 Madison Add authentication support.

Those were the days.

:-)

> There doesn't seem to be any way to authenticate interactively nor to
> tell it (via a logical name or whatever) to always authenticate. The
> idea is that if the server requests it, then one will be prompted for
> username and password. However, the server does allow unauthenticated
> access to a small number of newsgroups, so returns
>
> 200 reader01.eternal-september.org InterNetNews NNRP server INN 2.8.0
> (20220715 snapshot) ready (posting ok)
>
> which doesn't trigger the authentication.
>
> The sources are available. For a C programmer it's probably a matter of
> a few minutes to modify the code to always authenticate when connecting.
> Probably enough to copy the code above (without the "if" stuff) to
> somewhere else so that it is always executed immediately after
> connecting.


> if (reply_code == NNTP__AUTHREQD) {
>
> ***************
> put_output("Authentication required for posting.");
>
>
> strcpy(tmp, "AUTHINFO USER ");
> get_cmd(tmp+14, sizeof(tmp)-14, "Username: ");
> server_send(tmp);
> server_get_reply(SRV__NOECHO, &reply_code, 0, 0, 0);
>
> if (reply_code == NNTP__PASSWREQD) {
> strcpy(tmp, "AUTHINFO PASS ");
> get_cmd_noecho(tmp+14, sizeof(tmp)-14, "Password: ");
> server_send(tmp);
> server_get_reply(SRV__NOECHO, &reply_code, 0, 0, 0);
> }
>
> if (reply_code != NNTP__AUTHACCEPTED) {
> lib$signal(NEWS__NOPOSTING, 0);
> return NEWS__NOPOSTING;
> }
>
> server_send("POST");
> server_get_reply(SRV__NOECHO, &reply_code, 0, 0, 0);
>
> }

My take:

strcpy(tmp, "AUTHINFO USER ");
strcpy(tmp+14, getenv("NNTP_USERNAME"));
server_send(tmp);
server_get_reply(SRV__NOECHO, &reply_code, 0, 0, 0);

if (reply_code == NNTP__PASSWREQD) {
strcpy(tmp, "AUTHINFO PASS ");
strcpy(tmp+14, getenv("NNTP_USERNAME")):
server_send(tmp);
server_get_reply(SRV__NOECHO, &reply_code, 0, 0, 0);
}

if (reply_code != NNTP__AUTHACCEPTED) {
lib$signal(NEWS__NOPOSTING, 0);
return NEWS__NOPOSTING;
}

server_send("POST");
server_get_reply(SRV__NOECHO, &reply_code, 0, 0, 0);

Very much untested.

:-)

Arne


Brian Schenkenberger

unread,
Apr 11, 2023, 10:21:54 AM4/11/23
to
I've been absent here since AIOE went down. I just got around to
installing Unison on my MacBook Pro and this is the first message. I
hope it goes well.

I too would prefer to keep using NEWSRDR and I did find the same code
you happened upon. I will have to try to get that working with
endless-september. In the interim, Unison on the MBP.


0 new messages