home bbs files messages ]

Just a sample of the Echomail archive

<< oldest | < older | list | newer > | newest >> ]

 Message 2123 
 Tommi Koivula to Fabio Bizzi 
 jamnntpd and IPv6 
 04 Dec 19 18:00:24 
 
REPLY: 2:335/364.1 5de76e99
MSGID: 2:221/360 5de7d8ef
CHRS: LATIN-1 2
TZUTC: 0200
TID: hpt/w32-mvcdll 1.9.0-cur 2019-11-24
Hi Fabio.

04 Dec 19 09:30:00, you wrote to me:

 >>> Hello, All.
 >>> Jamnntpd server 1.0 doesn't accept the connection if this is on
 >>> IPv6, any hint? :)

 TK>> There is an ipv6 patch. My linux servers do support ipv6.

 TK>> I'll post it here as soon as I get back home.

 FB> Many thanks! ;)

Here it is. With this help I made my jamnntpd AND smapinntpd to listen ipv6
too.

No warranty. :)

=== Cut ===
=====================================================================
diff -urN ganjanntpd-1.9/main.c ganjanntpd-1.9-ipv6/main.c
-+- ganjanntpd-1.9/main.c    2017-02-27 23:41:23.000000000 +0300
+++ ganjanntpd-1.9-ipv6/main.c    2017-03-13 12:59:42.872717283 +0300
@@ -223,16 +223,6 @@

          cfg_logfile=argv[++c];
       }
-      else if(stricmp(arg,"-ip")==0 || stricmp(arg,"-ipaddress")==0)
-      {
-         if(c+1 == argc)
-         {
-            printf("Missing argument for %s%s\n",argv[c],src);
-            return(FALSE);
-         }
-
-         cfg_ipaddr=argv[++c];
-      }
       else if(stricmp(arg,"-config")==0)
       {
          if(filename)
@@ -359,7 +349,6 @@
    fprintf(fp,"users \"%s\"\n",cfg_usersfile);
    fprintf(fp,"xlat \"%s\"\n",cfg_xlatfile);
    fprintf(fp,"hostname \"%s\"\n",cfg_hostname);
-   fprintf(fp,"ipaddress \"%s\"\n",cfg_ipaddr);
    fprintf(fp,"logfile \"%s\"\n",cfg_logfile);
    fprintf(fp,"%snoecholog\n",cfg_noecholog ? "" : "#");
    fprintf(fp,"%sdebug\n",cfg_debug ? "" : "#");
@@ -401,7 +390,7 @@
 {
    SOCKET sock;
    int error,res;
-   struct sockaddr_in local;
+   struct sockaddr_in6 local;
    fd_set fds;
    struct timeval tv;
    FILE *fp;
@@ -501,7 +490,7 @@
       exit(10);
    }

-   sock = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
+   sock = socket(PF_INET6,SOCK_STREAM,IPPROTO_TCP);

    if(sock == INVALID_SOCKET)
    {
@@ -518,9 +507,8 @@

    memset(&local, 0, sizeof(local) );

-   local.sin_family = AF_INET;
-   local.sin_addr.s_addr = (cfg_ipaddr && strcmp(cfg_ipaddr,"0.0.0.0") != 0)
? inet_addr(cfg_ipaddr) : INADDR_ANY;
-   local.sin_port = htons(cfg_port);
+   local.sin6_family = AF_INET6;
+   local.sin6_port = htons(cfg_port);

    error = bind(sock,(struct sockaddr *)&local,sizeof(local));

@@ -550,7 +538,7 @@
       exit(10);
    }

-   os_logwrite(SERVER_NAME " " SERVER_VERSION " is running on %
:%d",cfg_ipaddr,cfg_port);
+   os_logwrite(SERVER_NAME " " SERVER_VERSION " is running on port
%d",cfg_port);

    if(cfg_debug)
       os_logwrite("Compiled " __DATE__ " " __TIME__);



       n


diff -urN ganjanntpd-1.9/nntpserv.c ganjanntpd-1.9-ipv6/nntpserv.c
-+- ganjanntpd-1.9/nntpserv.c    2017-03-10 09:54:41.000000000 +0300
+++ ganjanntpd-1.9-ipv6/nntpserv.c    2017-03-13 13:01:18.239794707 +0300
@@ -15,7 +15,6 @@

 uchar *cfg_allowfile  = CFG_ALLOWFILE;
 uchar *cfg_groupsfile = CFG_GROUPSFILE;
-uchar *cfg_ipaddr     = CFG_IPADDR;
 uchar *cfg_logfile    = CFG_HOSTNAME;
 uchar *cfg_usersfile  = CFG_USERSFILE;
 uchar *cfg_xlatfile   = CFG_XLATFILE;
@@ -3093,8 +3092,8 @@
    struct var var;

    struct hostent *hostent;
-   struct sockaddr_in fromsa;
-   int fromsa_len = sizeof(struct sockaddr_in);
+   struct sockaddr_in6 fromsa;
+   int fromsa_len = sizeof(struct sockaddr_in6);

    os_getexclusive();
    server_openconnections++;
@@ -3156,16 +3155,16 @@
       return;
    }

-   sprintf(var.clientid,"%s:%u",inet_ntoa(fromsa.sin_addr),ntoh
(fromsa.sin_port));
+   inet_ntop(AF_INET6, &fromsa.sin6_addr, lookup, sizeof(lookup));

-   mystrncpy(lookup,inet_ntoa(fromsa.sin_addr),200);
+   snprintf(var.clientid,200,"%s:%u",lookup,ntohs(fromsa.sin6_port));

-   if((hostent=gethostbyaddr((char *)&fromsa.sin_addr,sizeof(fr
msa.sin_addr),AF_INET)))
+   if((hostent=gethostbyaddr((char *)&fromsa.sin6_addr,sizeof(f
omsa.sin6_addr),AF_INET6)))
       mystrncpy(lookup,hostent->h_name,200);

    os_logwrite("(%s) Connection established to %s",var.clientid,lookup);

-   if(!checkallow(&var,inet_ntoa(fromsa.sin_addr)))
+   if(!checkallow(&var,lookup))
    {
       socksendtext(&var,"502 Access denied." CRLF);
       os_logwrite("(%s) Access denied (not in allow list)",var.clientid);


diff -urN ganjanntpd-1.9/nntpserv.h ganjanntpd-1.9-ipv6/nntpserv.h
-+- ganjanntpd-1.9/nntpserv.h    2017-02-27 23:15:13.000000000 +0300
+++ ganjanntpd-1.9-ipv6/nntpserv.h    2017-03-13 12:59:11.824692072 +0300
@@ -108,7 +108,6 @@
 #define CFG_LOGFILE        LOG_BASEPATH "ganjanntpd.log"

 #define CFG_HOSTNAME       "GaNJaNNTPd!not-for-mail"
-#define CFG_IPADDR         "0.0.0.0"

 #define CFG_DEF_FLOWED     TRUE
 #define CFG_DEF_SHOWTO     TRUE
@@ -118,7 +117,6 @@
 extern uchar *cfg_allowfile;
 extern uchar *cfg_groupsfile;
 extern uchar *cfg_hostname;
-extern uchar *cfg_ipaddr;
 extern uchar *cfg_logfile;
 extern uchar *cfg_usersfile;
 extern uchar *cfg_xlatfile;
=====================================================================

And make sure sysctl net.ipv6.bindv6only=0 for ipv4 to work as well.

-+- Claws Mail 3.14.0 (GTK+ 2.24.30; x86_64-pc-linux-gnu)
 + Origin: Via 2:5019/40 NNTP (GaNJaNET STaTi0N, Smolensk) (2:5019/40.1)
=== Cut ===

'Tommi

... \\ZPO has been up for: 319 day(s), 4 hour(s), 41 minute(s), 25 second(s)
---
 * Origin: - rbb.fidonet.fi - Finland - (2:221/360)
SEEN-BY: 1/123 15/2 90/1 154/10 203/0 221/0 1 6 242 360 227/114 229/354
SEEN-BY: 229/426 452 1014 240/1120 5832 249/206 317 280/464 5003 5555
SEEN-BY: 310/31 317/3 322/757 335/364 342/200 423/81
PATH: 221/1 6 1 280/464 229/426


<< oldest | < older | list | newer > | newest >> ]

(c) 1994,  bbs@darkrealms.ca