X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Finternet_addressing.h;h=e40ff4f510cda09e69e60be7c85500e946c62780;hb=2b80e75820618944e1c75b9c01aeeefc8b6b0c81;hp=7c54f70d47fdba63024078ed88a6ecde07bad04e;hpb=83875cf99a93ec708989894477f3880cf4579630;p=citadel.git diff --git a/citadel/internet_addressing.h b/citadel/internet_addressing.h index 7c54f70d4..e40ff4f51 100644 --- a/citadel/internet_addressing.h +++ b/citadel/internet_addressing.h @@ -1,25 +1,33 @@ -/* - * $Id$ - * - */ -int fuzzy_match(struct usersupp *us, char *matchstring); -void process_rfc822_addr(char *rfc822, char *user, char *node, char *name); +#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 *); + + +int fuzzy_match(struct ctdluser *us, char *matchstring); +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() @@ -27,7 +35,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; +