]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Improving line/expect comparaison withe feeder.c
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Tue, 1 Apr 2025 20:32:01 +0000 (16:32 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Tue, 1 Apr 2025 20:32:01 +0000 (16:32 -0400)
Makefile
app/feeder.c
data-tst/extfeed00.tst [new file with mode: 0644]
lib/subrou.c

index c79f11bca7b39fb9f7668deb06a64f7c9988018b..1ae11e55458ddd59978d73948ab90197770921c9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -31,6 +31,8 @@ LOCKDIR       =       $(TESTDIR)/var/run/$(APPNAME)
 TESTDIR        =       $(CURDIR)/test_area
 TESTIP =       127.127.10.25
 TESTPORT=      1025
+EXTIP  =       safemail3.safe.ca
+EXTPORT =      25
 TESTITER=      3
 #--------------------------------------------------------------------
 #testing feed
@@ -40,6 +42,15 @@ FEEDPAR      =                                               \
                $(TESTPORT)                             \
                $(TESTDIR)/$(DATATST)/feed*.tst         \
 
+#to test with an external server
+extfeed        :       debug
+               @ bin/feeder                            \
+                       -f                              \
+                       -d3                             \
+                       $(EXTIP)                        \
+                       $(EXTPORT)                      \
+                       $(DATATST)/extfeed00.tst
+
 onefeed        :       debug
                @ bin/feeder                            \
                        -f                              \
index 0939ebebf086ebb74a6bff430bb5849dffd6effa..e2d1fe1a106b7e8f706c821924ff96ae0f86a171 100644 (file)
@@ -138,20 +138,26 @@ while (proceed==true) {
         }
       break;
     case 2      :       //get available character
-      if (strncmp(line,received,tocheck)!=0) {
-        (void) rou_alert(0,"\n%s\tline %04d, fatal error! (on %s)",
-                            titre,numline,testname);
-        (void) rou_alert(0,"expecting\t'%s'",line);
-        (void) rou_alert(0,"found\t\t'%s'",received);
-        phase=999;
+      if (strcmp(line,received)==0)
+        phase++;        //ligne is equal, good
+      else {            //small check?
+        if ((tocheck<strlen(line))&&(strncmp(line,received,tocheck)==0)) 
+          phase++;
         }
-      received=rou_freestr(received);
       break;
-    case 3      :       //everything fine
+    case 3      :       //can we test shorter
+      (void) rou_alert(0,"\n%s\tline %04d, fatal error! (on %s)",
+                          titre,numline,testname);
+      (void) rou_alert(0,"expecting\t'%s'",line);
+      (void) rou_alert(0,"found\t\t'%s'",received);
+       phase=999;
+      break;
+    case 4      :       //everything fine
       //(void) rou_alert(0,"JMPDBG line <%s> OK!",line);
       status=true;
       break;
     default     :       //SAFE Guard
+      received=rou_freestr(received);
       proceed=false;
       break;
     }
@@ -179,7 +185,7 @@ _Bool proceed;
 status=true;
 phase=0;
 proceed=true;
-(void) rou_alert(5,"%s line=<%s>",OPEP,line);
+(void) rou_alert(0,"%s line=<%s>",OPEP,line);
 while (proceed==true) {
   switch (phase) {
     case 0      :       //removing first space
diff --git a/data-tst/extfeed00.tst b/data-tst/extfeed00.tst
new file mode 100644 (file)
index 0000000..fbe3a87
--- /dev/null
@@ -0,0 +1,18 @@
+#to test feeder againt an production email serveur
+T:external email serveur
+R:220 safemail3.safe.ca ESMTP...
+S:EHLO example.com
+#R:250-safemail3.safe.ca Hum! devel5.safe.ca [192.168.254.70], No MX on your <example.com> hello
+R:250-safemail3.safe.ca Hum!...
+R:250-ENHANCEDSTATUSCODES
+R:250-8BITMIME
+R:250-SIZE
+R:250-AUTH PLAIN LOGIN
+R:250-STARTTLS
+R:250 HELP
+#send a empty ehlo
+S:EHLO
+R:501 syntax error in parameters or arguments (domain part missing), disconnecting
+R:Disconnected
+#S:QUIT
+#R:221 2.0.0 Bye, closing connection...
index 4b3077b7eb500d80d6ffdc8714b8814ced9af244..b9aeb41223f6481f06cec4169fa31879c93a7d5b 100644 (file)
@@ -21,7 +21,7 @@
 
 //version definition 
 #define VERSION "0.6"
-#define RELEASE "40"
+#define RELEASE "41"
 #define BRANCH "dvl"
 
 //Public variables