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? :)
There is an ipv6 patch. My linux servers do support ipv6.
I'll post it here as soon as I get back home.
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 %s:%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),ntohs(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(fromsa.sin_addr),AF_INET)))
+ if((hostent=gethostbyaddr((char *)&fromsa.sin6_addr,sizeof(fromsa.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)