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