]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Adding "date" diretcive to syntax feed file
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Thu, 5 Jun 2025 17:44:38 +0000 (13:44 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Thu, 5 Jun 2025 17:44:38 +0000 (13:44 -0400)
app/feeder.c
data-feed/feed00.tst

index 20b5d7e55438a2a8f11e73f99bc6e4757fdc00d5..c027ef41b011c7c047aa6b477c4b0dbb9386676b 100644 (file)
@@ -183,25 +183,41 @@ while (proceed==true) {
       while (fgets(data,sizeof(data),fd->datatst)!=(char *)0) {
         _Bool completed;
 
-        completed=true;
+        completed=false;
         (*numline)++;
         (void) eml_removecrlf(data);
+        if (data[1]!=':') {
+          (void) rou_alert(0,"%s Unexpected data type <%s> (Bug?)",
+                                  OPEP,data);
+          continue;
+          }
         switch (data[0]) {
-          case 'D'      :
+          case 'D'      :       //pure data
             if ((strcmp(data+2,".")==0)&&(empty==true))
               (void) strcat(data,".");
             (void) dooutgoing(fd->socptr,data+2);
             empty=(strlen(data+2)==0);
-            completed=false;
             break;
-          case 'C'      :
-            if (data[2]=='.') {
-              (void) dooutgoing(fd->socptr,"");
-              (void) dooutgoing(fd->socptr,".");
+          case 'C'      :       //data marker
+            switch (data[2]) {
+              case '.'  :       //end of data marker
+                (void) dooutgoing(fd->socptr,"");
+                (void) dooutgoing(fd->socptr,".");
+                completed=true;
+                break;
+              case 'T'  :       //timer data
+                time_t isnow;
+                char ed[100];
+
+                isnow=time((time_t *)0);
+                (void) snprintf(ed,sizeof(ed),"Date: %s",rou_ascsysstamp(isnow));
+                (void) dooutgoing(fd->socptr,ed);
+                break;
+              default   :       //unexpected data marker
+                 (void) rou_alert(0,"%s Unexpected data marker <%s> (Bug?)",
+                                     OPEP,data);
+                break;
               }
-            else
-              (void) rou_alert(0,"%s Unexpected data close <%s> (Bug?)",
-                                  OPEP,data);
             break;
           default       :
             (void) rou_alert(0,"%s Unexpected data to be send <%s> (Bug?)",
index d809322d1ad97d8a7e29c6c177f104fadd638f31..af0a92b0479772cf681e524cc2b44010a48a99a2 100644 (file)
@@ -42,6 +42,7 @@ R:250 2.6.4 Address accepted
 #-sending data
 C:DATA
 D:Subject: Very Simple email contents
+C:T
 D:From: Maitre Post <postmaster@example.com>
 D:To: Maitre WEB <webmaster@example.com>
 D: