home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.uv.es
/
2014.11.ftp.uv.es.tar
/
ftp.uv.es
/
pub
/
unix
/
elm-2.4-pl20.tar.Z
/
elm-2.4-pl20.tar
/
lib
/
okay_addr.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-10-03
|
2KB
|
72 lines
static char rcsid[] = "@(#)$Id: okay_addr.c,v 5.1 1992/10/03 22:41:36 syd Exp $";
/*******************************************************************************
* The Elm Mail System - $Revision: 5.1 $ $State: Exp $
*
* Copyright (c) 1988-1992 USENET Community Trust
* Copyright (c) 1986,1987 Dave Taylor
*******************************************************************************
* Bug reports, patches, comments, suggestions should be sent to:
*
* Syd Weinstein, Elm Coordinator
* elm@DSI.COM dsinc!elm
*
*******************************************************************************
* $Log: okay_addr.c,v $
* Revision 5.1 1992/10/03 22:41:36 syd
* Initial checkin as of 2.4 Release at PL0
*
*
******************************************************************************/
/**
**/
#include "headers.h"
int
okay_address(address, return_address)
char *address, *return_address;
{
/** This routine checks to ensure that the address we just got
from the "To:" or "Cc:" line isn't us AND isn't the person
who sent the message. Returns true iff neither is the case **/
char our_address[SLEN];
struct addr_rec *alternatives;
if (in_list(address, return_address))
return(FALSE);
if(in_list(address, username))
return(FALSE);
sprintf(our_address, "%s!%s", hostname, username);
if (in_list(address, our_address))
return(FALSE);
sprintf(our_address, "%s!%s", hostfullname, username);
if (in_list(address, our_address))
return(FALSE);
sprintf(our_address, "%s@%s", username, hostname);
if (in_list(address, our_address))
return(FALSE);
sprintf(our_address, "%s@%s", username, hostfullname);
if (in_list(address, our_address))
return(FALSE);
alternatives = alternative_addresses;
while (alternatives != NULL) {
if (in_list(address, alternatives->address))
return(FALSE);
alternatives = alternatives->next;
}
return(TRUE);
}