OSSP CVS Repository

ossp - Difference in ossp-pkg/petidomo/subscribe.c versions 1.12 and 1.13
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [History

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");

CVSTrac 2.0.1