OSSP CVS Repository

ossp - Check-in [287]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 287
Date: 2001-Jan-16 12:57:51 (local)
2001-Jan-16 11:57:51 (UTC)
User:simons
Branch:
Comment: Delayed the processing of the acknowledgment-requirement so that you don't have to ack commands that will fail anyways.
Tickets:
Inspections:
Files:
ossp-pkg/petidomo/subscribe.c      1.12 -> 1.13     39 inserted, 38 deleted
ossp-pkg/petidomo/unsubscribe.c      1.11 -> 1.12     36 inserted, 36 deleted

ossp-pkg/petidomo/subscribe.c 1.12 -> 1.13

--- subscribe.c  2001/01/15 18:47:32     1.12
+++ subscribe.c  2001/01/16 11:57:51     1.13
@@ -1,6 +1,6 @@
 /*
    $Source: /v/ossp/cvs/ossp-pkg/petidomo/subscribe.c,v $
-   $Revision: 1.12 $
+   $Revision: 1.13 $
 
    Copyright (C) 2000 by CyberSolutions GmbH, Germany.
 
@@ -174,43 +174,6 @@
                 }
             return 0;
             }
-
-        else if (ListConfig->subtype == SUBSCRIPTION_ACKED && !g_is_approved)
-            {
-            /* Require confirmation. */
-
-            char* command = text_easy_sprintf("subscribe %s %s", address, listname);
-            char* cookie  = queue_command(MailStruct, command);
-
-            /* Notify the owner. */
-
-            fh = vOpenMailer(envelope, address, NULL);
-            if (fh != NULL)
-                {
-                fprintf(fh, "From: petidomo-approve@%s (Petidomo Mailing List Server)\n", ListConfig->fqdn);
-                fprintf(fh, "To: %s\n", address);
-                fprintf(fh, "Subject: Petidomo: CONFIRM %s@%s: Request from \"%s\"\n", listname, ListConfig->fqdn, originator);
-                fprintf(fh, "Precedence: junk\n");
-                fprintf(fh, "Sender: %s\n", envelope);
-                fprintf(fh, "\n");
-                buffer = text_easy_sprintf("Per request from \"%s\", the address \"%s\" should be subscribed to " \
-                                           "the mailing list \"%s\". This will not happen unless you confirm the " \
-                                           "request by replying to this mail and citing the string",
-                                           originator, address, listname);
-                text_wordwrap(buffer, 70);
-                fprintf(fh, "%s\n", buffer);
-                fprintf(fh, "\n    %s\n\n", cookie);
-                fprintf(fh, "in your reply.\n");
-                CloseMailer(fh);
-                }
-            else
-                {
-                syslog(LOG_ERR, "Failed to send email to \"%s\"!", owner);
-                return -1;
-                }
-
-            return 0;
-            }
         }
 
     /* Check whether the address is subscribed already. */
@@ -244,6 +207,44 @@
         return 0;
         }
 
+    if (isValidAdminPassword(getPassword(), listname) == FALSE &&
+        ListConfig->subtype == SUBSCRIPTION_ACKED && !g_is_approved)
+        {
+        /* Require confirmation. */
+
+        char* command = text_easy_sprintf("subscribe %s %s", address, listname);
+        char* cookie  = queue_command(MailStruct, command);
+
+        /* Notify the owner. */
+
+        fh = vOpenMailer(envelope, address, NULL);
+        if (fh != NULL)
+            {
+            fprintf(fh, "From: petidomo-approve@%s (Petidomo Mailing List Server)\n", ListConfig->fqdn);
+            fprintf(fh, "To: %s\n", address);
+            fprintf(fh, "Subject: Petidomo: CONFIRM %s@%s: Request from \"%s\"\n", listname, ListConfig->fqdn, originator);
+            fprintf(fh, "Precedence: junk\n");
+            fprintf(fh, "Sender: %s\n", envelope);
+            fprintf(fh, "\n");
+            buffer = text_easy_sprintf("Per request from \"%s\", the address \"%s\" should be subscribed to " \
+                                       "the mailing list \"%s\". This will not happen unless you confirm the " \
+                                       "request by replying to this mail and citing the string",
+                                       originator, address, listname);
+            text_wordwrap(buffer, 70);
+            fprintf(fh, "%s\n", buffer);
+            fprintf(fh, "\n    %s\n\n", cookie);
+            fprintf(fh, "in your reply.\n");
+            CloseMailer(fh);
+            }
+        else
+            {
+            syslog(LOG_ERR, "Failed to send email to \"%s\"!", owner);
+            return -1;
+            }
+
+        return 0;
+        }
+
     /* Okay, add the address to the list. */
 
     fh = fopen(ListConfig->address_file, "a");


ossp-pkg/petidomo/unsubscribe.c 1.11 -> 1.12

--- unsubscribe.c        2001/01/15 17:56:33     1.11
+++ unsubscribe.c        2001/01/16 11:57:51     1.12
@@ -1,6 +1,6 @@
 /*
    $Source: /v/ossp/cvs/ossp-pkg/petidomo/unsubscribe.c,v $
-   $Revision: 1.11 $
+   $Revision: 1.12 $
 
    Copyright (C) 2000 by CyberSolutions GmbH, Germany.
 
@@ -176,8 +176,42 @@
                 }
             return 0;
             }
+        }
+
+    /* Okay, remove the address from the list. */
 
-        else if (ListConfig->subtype == SUBSCRIPTION_ACKED && !g_is_approved)
+    if (isSubscribed(listname, address, &list, &p, FALSE) == FALSE)
+        {
+        /* Notify the originator, that the address is not subscribed at
+           all. */
+
+        fh = vOpenMailer(envelope, originator, NULL);
+        if (fh != NULL)
+            {
+            fprintf(fh, "From: %s-request@%s (Petidomo Mailing List Server)\n",
+                    listname, ListConfig->fqdn);
+            fprintf(fh, "To: %s\n", originator);
+            fprintf(fh, "Subject: Petidomo: Your request \"unsubscribe %s %s\"\n",
+                    address, listname);
+            if (MailStruct->Message_Id != NULL)
+                fprintf(fh, "In-Reply-To: %s\n", MailStruct->Message_Id);
+            fprintf(fh, "Precedence: junk\n");
+            fprintf(fh, "Sender: %s\n", envelope);
+            fprintf(fh, "\n");
+            fprintf(fh, "The address is not subscribed to this list.\n");
+            CloseMailer(fh);
+            }
+        else
+            {
+            syslog(LOG_ERR, "Failed to send email to \"%s\" concerning his request.",
+                   originator);
+            return -1;
+            }
+        }
+    else
+        {
+        if (isValidAdminPassword(getPassword(), listname) == FALSE &&
+            ListConfig->subtype == SUBSCRIPTION_ACKED && !g_is_approved)
             {
             /* Require confirmation. */
 
@@ -214,40 +248,6 @@
             return 0;
             }
 
-        }
-
-    /* Okay, remove the address from the list. */
-
-    if (isSubscribed(listname, address, &list, &p, FALSE) == FALSE)
-        {
-        /* Notify the originator, that the address is not subscribed at
-           all. */
-
-        fh = vOpenMailer(envelope, originator, NULL);
-        if (fh != NULL)
-            {
-            fprintf(fh, "From: %s-request@%s (Petidomo Mailing List Server)\n",
-                    listname, ListConfig->fqdn);
-            fprintf(fh, "To: %s\n", originator);
-            fprintf(fh, "Subject: Petidomo: Your request \"unsubscribe %s %s\"\n",
-                    address, listname);
-            if (MailStruct->Message_Id != NULL)
-                fprintf(fh, "In-Reply-To: %s\n", MailStruct->Message_Id);
-            fprintf(fh, "Precedence: junk\n");
-            fprintf(fh, "Sender: %s\n", envelope);
-            fprintf(fh, "\n");
-            fprintf(fh, "The address is not subscribed to this list.\n");
-            CloseMailer(fh);
-            }
-        else
-            {
-            syslog(LOG_ERR, "Failed to send email to \"%s\" concerning his request.",
-                   originator);
-            return -1;
-            }
-        }
-    else
-        {
         fh = fopen(ListConfig->address_file, "w");
         if (fh == NULL)
             {

CVSTrac 2.0.1