pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/mail/srs-milter



Module Name:    pkgsrc
Committed By:   manu
Date:           Tue Nov 18 14:00:46 UTC 2025

Modified Files:
        pkgsrc/mail/srs-milter: Makefile distinfo
        pkgsrc/mail/srs-milter/patches: patch-srs-filter.c

Log Message:
Fix crash when recipient has no @

>From upstream https://github.com/emsearcy/srs-milter/pull/13


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 pkgsrc/mail/srs-milter/Makefile
cvs rdiff -u -r1.3 -r1.4 pkgsrc/mail/srs-milter/distinfo
cvs rdiff -u -r1.3 -r1.4 pkgsrc/mail/srs-milter/patches/patch-srs-filter.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/mail/srs-milter/Makefile
diff -u pkgsrc/mail/srs-milter/Makefile:1.4 pkgsrc/mail/srs-milter/Makefile:1.5
--- pkgsrc/mail/srs-milter/Makefile:1.4 Tue Aug 20 11:41:13 2024
+++ pkgsrc/mail/srs-milter/Makefile     Tue Nov 18 14:00:46 2025
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile,v 1.4 2024/08/20 11:41:13 manu Exp $
+# $NetBSD: Makefile,v 1.5 2025/11/18 14:00:46 manu Exp $
 
 GITHUB_PROJECT=        srs-milter
 GITHUB_TAG=    3c44b13a10471df0361c08786c8826ea1d0ecc7b
 DISTNAME=      3c44b13a10471df0361c08786c8826ea1d0ecc7b
 PKGNAME=       ${GITHUB_PROJECT}-20141121
-PKGREVISION=   11
+PKGREVISION=   12
 CATEGORIES=    mail
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=emsearcy/}
 DIST_SUBDIR=   ${GITHUB_PROJECT}

Index: pkgsrc/mail/srs-milter/distinfo
diff -u pkgsrc/mail/srs-milter/distinfo:1.3 pkgsrc/mail/srs-milter/distinfo:1.4
--- pkgsrc/mail/srs-milter/distinfo:1.3 Tue Aug 20 11:41:13 2024
+++ pkgsrc/mail/srs-milter/distinfo     Tue Nov 18 14:00:46 2025
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.3 2024/08/20 11:41:13 manu Exp $
+$NetBSD: distinfo,v 1.4 2025/11/18 14:00:46 manu Exp $
 
 BLAKE2s (srs-milter/3c44b13a10471df0361c08786c8826ea1d0ecc7b-3c44b13a10471df0361c08786c8826ea1d0ecc7b.zip) = e62ffea86976769bda9e0af3d64a52dd57901bf2130b7b8d39a7741d2731bfa0
 SHA512 (srs-milter/3c44b13a10471df0361c08786c8826ea1d0ecc7b-3c44b13a10471df0361c08786c8826ea1d0ecc7b.zip) = 
91db41b5fd955a1856ce1b30ec2ceaac2483820b3c1cc29e9817460633f3013401b416bb98e76fd5bf41492836b8dea42ea46689c4544d021a1d65f234c80112
 Size (srs-milter/3c44b13a10471df0361c08786c8826ea1d0ecc7b-3c44b13a10471df0361c08786c8826ea1d0ecc7b.zip) = 15843 bytes
-SHA1 (patch-srs-filter.c) = cc325793be76bd08ced8458563ede50451604bf6
+SHA1 (patch-srs-filter.c) = 8fbd8ad25fd47898e0cb231ca3b851231f51e364

Index: pkgsrc/mail/srs-milter/patches/patch-srs-filter.c
diff -u pkgsrc/mail/srs-milter/patches/patch-srs-filter.c:1.3 pkgsrc/mail/srs-milter/patches/patch-srs-filter.c:1.4
--- pkgsrc/mail/srs-milter/patches/patch-srs-filter.c:1.3       Tue Aug 20 11:41:13 2024
+++ pkgsrc/mail/srs-milter/patches/patch-srs-filter.c   Tue Nov 18 14:00:46 2025
@@ -1,5 +1,6 @@
-$NetBSD: patch-srs-filter.c,v 1.3 2024/08/20 11:41:13 manu Exp $
+$NetBSD
 
+https://github.com/emsearcy/srs-milter/pull/7
 - Update pidfile after forking
 - Process addresses with or without enclosing brackets
 - Add -u/--user option to use unprivilegied user
@@ -7,8 +8,11 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
 - Add -n/--reverse-null to ensable SRS reverse for null sender <>
 - Bug fix: test srs_milter_connection_data is set before using it
 
---- srs-filter.c.orig
-+++ srs-filter.c
+https://github.com/emsearcy/srs-milter/pull/13
+- Bug fix: properly handle recipients with no @
+
+--- srs-filter.c.orig  2025-11-18 10:17:06.243282665 +0100
++++ srs-filter.c       2025-11-18 10:16:49.061701842 +0100
 @@ -3,11 +3,13 @@
  #include <stdio.h>
  #include <stdlib.h>
@@ -84,7 +88,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
  char *srs_milter_load_file_secrets(char ***CONFIG_srs_secrets, char *secrets_file) {
    int i, l;
    FILE *f;
-@@ -114,9 +156,9 @@
+@@ -114,16 +156,18 @@
  int is_local_addr(const char *addr) {
    int i, r;
    const char *dom;
@@ -95,7 +99,18 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
  
    if (!CONFIG_domains)
      return 0;
-@@ -227,17 +269,21 @@
+ 
+-  dom  = strrchr(addr, '@')+1;
+-  if (!dom)
++  dom = strrchr(addr, '@');
++  if (dom)
++    dom++;
++  else
+     dom = addr;
+ 
+   for (i = 0; CONFIG_domains[i]; i++) {
+ 
+@@ -227,17 +271,21 @@
  static sfsistat
  xxfi_srs_milter_envfrom(SMFICTX* ctx, char** argv) {
    struct srs_milter_connection_data* cd =
@@ -118,7 +133,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
      if (CONFIG_verbose)
        syslog(LOG_DEBUG, "conn# %d[%i] - xxfi_srs_milter_envfrom(\"%s\"): skipping \"MAIL FROM: %s\"",
               cd->num, cd->state, argv[0], argv[0]);
-@@ -272,16 +318,20 @@
+@@ -272,16 +320,20 @@
  
    cd->recip_remote = 0;
  
@@ -142,7 +157,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
    // store MAIL FROM: arguments
    {
      int argc = 0;
-@@ -316,16 +366,30 @@
+@@ -316,16 +368,30 @@
      syslog(LOG_DEBUG, "conn# %d[%i] - xxfi_srs_milter_envrcpt(\"%s\")",
             cd->num, cd->state, argv[0]);
  
@@ -176,7 +191,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
    if (!is_local_addr(recip)) {
      cd->recip_remote = 1;
    } else {
-@@ -345,9 +409,13 @@
+@@ -345,9 +411,13 @@
        if (!cd->recip) {
          // memory allocation problem
          cd->state |= SS_STATE_INVALID_MSG;
@@ -191,7 +206,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
          if (!cd->recip[argc]) {
            // memory allocation problem
            cd->state |= SS_STATE_INVALID_MSG;
-@@ -600,15 +668,15 @@
+@@ -600,15 +670,15 @@
  xxfi_srs_milter_close(SMFICTX* ctx) {
    struct srs_milter_connection_data* cd =
            (struct srs_milter_connection_data*) smfi_getpriv(ctx);
@@ -210,7 +225,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
  
    if (cd->sender)
      free(cd->sender);
-@@ -669,8 +737,23 @@
+@@ -669,8 +739,23 @@
      syslog(LOG_ERR, "exiting parent process");
      exit(EXIT_SUCCESS);
    }
@@ -234,7 +249,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
    umask(0);
  
    /* Open any logs here */
-@@ -717,17 +800,27 @@
+@@ -717,17 +802,27 @@
    printf("  -s, --socket\n");
    printf("      {unix|local}:/path/to/file -- a named pipe.\n");
    printf("      inet:port@{hostname|ip-address} -- an IPV4 socket.\n");
@@ -262,7 +277,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
    printf("      our SRS domain name\n");
    printf("  -c, --srs-secret\n");
    printf("      secret string for SRS hashing algorithm\n");
-@@ -770,12 +863,16 @@
+@@ -770,12 +865,16 @@
        {"debug",                  no_argument,       0, 'd'},
        {"verbose",                no_argument,       0, 'v'},
        {"pidfile",                required_argument, 0, 'P'},
@@ -279,7 +294,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
        {"spf-heloname",           required_argument, 0, 'l'},
        {"spf-address",            required_argument, 0, 'a'},
        {"srs-domain",             required_argument, 0, 'o'},
-@@ -791,9 +888,9 @@
+@@ -791,9 +890,9 @@
      };
      /* getopt_long stores the option index here. */
      int option_index = 0;
@@ -290,7 +305,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
  
      /* Detect the end of the options. */
      if (c == -1)
-@@ -823,17 +920,22 @@
+@@ -823,17 +922,22 @@
          CONFIG_verbose = 1;
          break;
  
@@ -314,7 +329,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
          if (optarg == NULL || *optarg == '\0') {
            fprintf(stderr, "ERROR: illegal timeout %s\n", optarg);
            exit(EXIT_FAILURE);
-@@ -851,8 +953,12 @@
+@@ -851,8 +955,12 @@
        case 'r':
          CONFIG_reverse = 1;
          break;
@@ -327,7 +342,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
          i = 0;
          if (!CONFIG_domains) {
            CONFIG_domains = (char **) malloc((i+2)*sizeof(char *));
-@@ -863,8 +969,16 @@
+@@ -863,8 +971,16 @@
          CONFIG_domains[i] = optarg;
          CONFIG_domains[i+1] = NULL;
          break;
@@ -344,7 +359,7 @@ $NetBSD: patch-srs-filter.c,v 1.3 2024/0
          CONFIG_spf_check = 1;
          break;
  
-@@ -941,8 +1055,32 @@
+@@ -941,8 +1057,32 @@
        printf ("%s ", argv[optind++]);
      putchar ('\n');
    }



Home | Main Index | Thread Index | Old Index