X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Finternet_addressing.h;h=62508d3fa2934c8eefa0b00e05b8612ca65c1233;hb=45dec175706ba376d19f66d7eeac6f71b87ef810;hp=432aed8d2111a46e7f3153a9d688ed952c1d8b15;hpb=3b29294c143f8413659bb27a4f2d241bc26eba3d;p=citadel.git diff --git a/citadel/internet_addressing.h b/citadel/internet_addressing.h index 432aed8d2..62508d3fa 100644 --- a/citadel/internet_addressing.h +++ b/citadel/internet_addressing.h @@ -1,26 +1,32 @@ -/* - * $Id$ - * - */ -int fuzzy_match(struct usersupp *us, char *matchstring); -void process_rfc822_addr(char *rfc822, char *user, char *node, char *name); -char *rfc822_fetch_field(char *rfc822, char *fieldname); +#include "server.h" +#include "ctdl_module.h" +recptypes *validate_recipients(const char *recipients, + const char *RemoteIdentifier, + int Flags); -int convert_internet_address(char *destuser, char *desthost, char *source); -enum { - rfc822_address_locally_validated, - rfc822_no_such_user, - rfc822_address_on_citadel_network, - rfc822_address_nonlocal, - rfc822_room_delivery -}; +void free_recipients(recptypes *); + + +void process_rfc822_addr(const char *rfc822, char *user, char *node, char *name); +char *rfc822_fetch_field(const char *rfc822, const char *fieldname); +void sanitize_truncated_recipient(char *str); +char *qp_encode_email_addrs(char *source); +int alias (char *name); +int IsDirectory(char *addr, int allow_masq_domains); +void CtdlDirectoryInit(void); +int CtdlDirectoryAddUser(char *internet_addr, char *citadel_addr); +int CtdlDirectoryDelUser(char *internet_addr, char *citadel_addr); +int CtdlDirectoryLookup(char *target, char *internet_addr, size_t targbuflen); struct CtdlMessage *convert_internet_message(char *rfc822); +struct CtdlMessage *convert_internet_message_buf(StrBuf **rfc822); +int CtdlIsMe(char *addr, int addr_buf_len); int CtdlHostAlias(char *fqdn); +char *harvest_collected_addresses(struct CtdlMessage *msg); /* * Values that can be returned by CtdlHostAlias() @@ -28,7 +34,18 @@ int CtdlHostAlias(char *fqdn); enum { hostalias_nomatch, hostalias_localhost, - hostalias_gatewaydomain + hostalias_gatewaydomain, + hostalias_directory, + hostalias_masq }; extern char *inetcfg; + + +struct spamstrings_t { + struct spamstrings_t *next; + char *string; +}; + +extern struct spamstrings_t *spamstrings; +