valid = validate_recipients(recp,
smtp_get_Recipients (),
- (CC->logged_in)? POST_LOGGED_IN:POST_EXTERNAL);
+ (SMTP->is_lmtp)? POST_LMTP:
+ (CC->logged_in)? POST_LOGGED_IN:
+ POST_EXTERNAL);
if (valid->num_error != 0) {
cprintf("550 %s\r\n", valid->errormsg);
free_recipients(valid);
/* Submit the message into the Citadel system. */
valid = validate_recipients(SMTP->recipients,
smtp_get_Recipients (),
- (CC->logged_in)? POST_LOGGED_IN:POST_EXTERNAL);
+ (SMTP->is_lmtp)? POST_LMTP:
+ (CC->logged_in)? POST_LOGGED_IN:
+ POST_EXTERNAL);
/* If there are modules that want to scan this message before final
* submission (such as virus checkers or spam filters), call them now
return (0); // We're Evaling whether a recipient exists
}
else if (!(CC->logged_in)) {
+
if ((CC->room.QRflags & QR_READONLY)) {
snprintf(errmsgbuf, n, "Not logged in.");
return (ERROR + NOT_LOGGED_IN);
snprintf(errmsgbuf, n, "Not logged in Moderation feature not yet implemented!");
return (ERROR + NOT_LOGGED_IN);
}
- if ((CC->room.QRflags2 & QR2_SMTP_PUBLIC) == 0) {
+ if ((PostPublic!=POST_LMTP) &&(CC->room.QRflags2 & QR2_SMTP_PUBLIC) == 0) {
SpoolControl *sc;
char filename[SIZ];
int found;