]> Pileus Git - ~andy/fetchmail/blobdiff - rcfile_y.y
Spambounce patch.
[~andy/fetchmail] / rcfile_y.y
index f24f71a44b36f399aca7d4e4c70ef19465774a96..ea62211815961265a771b301c42aafab8796dacc 100644 (file)
@@ -61,11 +61,12 @@ extern char * yytext;
 %token DEFAULTS POLL SKIP VIA AKA LOCALDOMAINS PROTOCOL
 %token PREAUTHENTICATE TIMEOUT KPOP SDPS KERBEROS4 KERBEROS5 KERBEROS SSH
 %token ENVELOPE QVIRTUAL USERNAME PASSWORD FOLDER SMTPHOST MDA BSMTP LMTP
-%token SMTPADDRESS SPAMRESPONSE PRECONNECT POSTCONNECT LIMIT WARNINGS
+%token SMTPADDRESS SMTPNAME SPAMRESPONSE PRECONNECT POSTCONNECT LIMIT WARNINGS
 %token NETSEC INTERFACE MONITOR PLUGIN PLUGOUT
 %token IS HERE THERE TO MAP WILDCARD
 %token BATCHLIMIT FETCHLIMIT EXPUNGE PROPERTIES
-%token SET LOGFILE DAEMON SYSLOG IDFILE INVISIBLE POSTMASTER BOUNCEMAIL SHOWDOTS
+%token SET LOGFILE DAEMON SYSLOG IDFILE INVISIBLE POSTMASTER BOUNCEMAIL 
+%token SPAMBOUNCE SHOWDOTS
 %token <proto> PROTO
 %token <sval>  STRING
 %token <number> NUMBER
@@ -73,6 +74,7 @@ extern char * yytext;
 %token DROPSTATUS DROPDELIVERED
 %token DNS SERVICE PORT UIDL INTERVAL MIMEDECODE IDLE CHECKALIAS 
 %token SSL SSLKEY SSLCERT
+%token PRINCIPAL
 
 %%
 
@@ -93,6 +95,8 @@ statement     : SET LOGFILE optmap STRING     {run.logfile = xstrdup($4);}
                | SET POSTMASTER optmap STRING  {run.postmaster = xstrdup($4);}
                | SET BOUNCEMAIL                {run.bouncemail = TRUE;}
                | SET NO BOUNCEMAIL             {run.bouncemail = FALSE;}
+               | SET SPAMBOUNCE                {run.spambounce = TRUE;}
+               | SET NO SPAMBOUNCE             {run.spambounce = FALSE;}
                | SET PROPERTIES optmap STRING  {run.properties =xstrdup($4);}
                | SET SYSLOG                    {run.use_syslog = TRUE;}
                | SET INVISIBLE                 {run.invisible = TRUE;}
@@ -148,6 +152,7 @@ serv_option : AKA alias_list
                                            current.server.port = KPOP_PORT;
 #endif /* INET6_ENABLE */
                                        }
+               | PRINCIPAL STRING      {current.server.principal = xstrdup($2);}
                | PROTOCOL SDPS         {
 #ifdef SDPS_ENABLE
                                            current.server.protocol = P_POP3;
@@ -310,6 +315,7 @@ user_option : TO localnames HERE
                | FOLDER folder_list
                | SMTPHOST smtp_list
                | SMTPADDRESS STRING    {current.smtpaddress = xstrdup($2);}
+               | SMTPNAME STRING       {current.smtpname = xstrdup($2);}
                | SPAMRESPONSE num_list
                | MDA STRING            {current.mda         = xstrdup($2);}
                | BSMTP STRING          {current.bsmtp       = xstrdup($2);}
@@ -483,6 +489,7 @@ static void reset_server(const char *name, int skip)
     current.smtp_socket = -1;
     current.server.pollname = xstrdup(name);
     current.server.skip = skip;
+    current.server.principal = (char *)NULL;
 }