Fix DKIM information leakage
[users/heiko/exim.git] / test / src / fakens.c
index 444422124b794659cbdc91fb1270a2d5ebcc8e19..e4584c4df715f25ef90fc90752a3d99ca199177a 100644 (file)
@@ -80,6 +80,9 @@ a number of seconds (followed by one space).
 #include <sys/time.h>
 #include <dirent.h>
 #include <unistd.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
 
 #define FALSE         0
 #define TRUE          1
@@ -99,7 +102,7 @@ typedef unsigned char uschar;
 #define Ustrlen(s)         (int)strlen(CCS(s))
 #define Ustrncmp(s,t,n)    strncmp(CCS(s),CCS(t),n)
 #define Ustrncpy(s,t,n)    strncpy(CS(s),CCS(t),n)
-#define Ustrtok(s,t)       strtok(CS(s),CCS(t))
+#define Ustrtok(s,t)       (uschar*)strtok(CS(s),CCS(t))
 
 typedef struct zoneitem {
   uschar *zone;
@@ -488,12 +491,12 @@ while (fgets(CS buffer, sizeof(buffer), f) != NULL)
     {
     case ns_t_soa:
       p = Ustrtok(p, " ");
-      ep = p + strlen(p);
+      ep = p + Ustrlen(p);
       if (ep[-1] != '.') sprintf(CS ep, "%s.", zone);
       pk = packname(p, pk);                     /* primary ns */
       p = Ustrtok(NULL, " ");
       pk = packname(p , pk);                    /* responsible mailbox */
-      *(p += strlen(p)) = ' ';
+      *(p += Ustrlen(p)) = ' ';
       while (isspace(*p)) p++;
       pk = longfield(&p, pk);                   /* serial */
       pk = longfield(&p, pk);                   /* refresh */
@@ -503,12 +506,12 @@ while (fgets(CS buffer, sizeof(buffer), f) != NULL)
       break;
 
     case ns_t_a:
-      inet_pton(AF_INET, p, pk);                /* FIXME: error checking */
+      inet_pton(AF_INET, CCS p, pk);                /* FIXME: error checking */
       pk += 4;
       break;
 
     case ns_t_aaaa:
-      inet_pton(AF_INET6, p, pk);               /* FIXME: error checking */
+      inet_pton(AF_INET6, CCS p, pk);               /* FIXME: error checking */
       pk += 16;
       break;