SPF: library version reporting
authorJeremy Harris <jgh146exb@wizmail.org>
Sat, 28 Dec 2019 21:54:51 +0000 (21:54 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sat, 28 Dec 2019 21:54:51 +0000 (21:54 +0000)
src/src/exim.c
src/src/spf.c
src/src/spf.h

index 81b7bdc9f48686dda5616fccffee9b5677f06674..3fda22232b6d2ba6e93c36cca4b4d53bd7ef92f3 100644 (file)
@@ -1114,6 +1114,9 @@ show_db_version(fp);
 #ifdef SUPPORT_I18N
   utf8_version_report(fp);
 #endif
 #ifdef SUPPORT_I18N
   utf8_version_report(fp);
 #endif
+#ifdef SUPPORT_SPF
+  spf_lib_version_report(fp);
+#endif
 
   for (auth_info * authi = auths_available; *authi->driver_name != '\0'; ++authi)
     if (authi->version_report)
 
   for (auth_info * authi = auths_available; *authi->driver_name != '\0'; ++authi)
     if (authi->version_report)
index 7192ef462912f21ff0889284e7014ee59a02454e..1015d77ac03fabbef0fe5dfa386b4307e72c0933 100644 (file)
@@ -34,6 +34,18 @@ SPF_response_t  *spf_response_2mx = NULL;
 SPF_dns_rr_t  * spf_nxdomain = NULL;
 
 
 SPF_dns_rr_t  * spf_nxdomain = NULL;
 
 
+void
+spf_lib_version_report(FILE * fp)
+{
+int maj, min, patch;
+SPF_get_lib_version(&maj, &min, &patch);
+fprintf(fp, "Library version: spf2: Compile: %d.%d.%d\n",
+       SPF_LIB_VERSION_MAJOR, SPF_LIB_VERSION_MINOR, SPF_LIB_VERSION_PATCH);
+fprintf(fp, "                       Runtime: %d.%d.%d\n",
+        maj, min, patch);
+}
+
+
 
 static SPF_dns_rr_t *
 SPF_dns_exim_lookup(SPF_dns_server_t *spf_dns_server,
 
 static SPF_dns_rr_t *
 SPF_dns_exim_lookup(SPF_dns_server_t *spf_dns_server,
@@ -107,7 +119,7 @@ for (dns_record * rr = dns_next_rr(dnsa, &dnss, RESET_ANSWERS); rr;
        gstring * g = NULL;
        uschar chunk_len;
 
        gstring * g = NULL;
        uschar chunk_len;
 
-       if (strncmpic(rr->data+1, US"v=spf1", 6) != 0)
+       if (strncmpic(rr->data+1, US SPF_VER_STR, 6) != 0)
          {
          HDEBUG(D_host_lookup) debug_printf("not an spf record\n");
          continue;
          {
          HDEBUG(D_host_lookup) debug_printf("not an spf record\n");
          continue;
index 1c87669f4bc44d9802c8d2ad5fd8234d8caf273c..2283277df87fdb655dc1d28e10acd0cc6f9f4d0b 100644 (file)
@@ -25,6 +25,7 @@ typedef struct spf_result_id {
 } spf_result_id;
 
 /* prototypes */
 } spf_result_id;
 
 /* prototypes */
+void spf_lib_version_report(FILE *);
 BOOL spf_init(void);
 BOOL spf_conn_init(uschar *, uschar *);
 int  spf_process(const uschar **, uschar *, int);
 BOOL spf_init(void);
 BOOL spf_conn_init(uschar *, uschar *);
 int  spf_process(const uschar **, uschar *, int);