e40ff4f510cda09e69e60be7c85500e946c62780
[citadel.git] / citadel / internet_addressing.h
1
2 #include "server.h"
3 #include "ctdl_module.h"
4
5 recptypes *validate_recipients(const char *recipients,
6                                       const char *RemoteIdentifier, 
7                                       int Flags);
8
9 void free_recipients(recptypes *);
10
11
12 int fuzzy_match(struct ctdluser *us, char *matchstring);
13 void process_rfc822_addr(const char *rfc822, char *user, char *node, char *name);
14 char *rfc822_fetch_field(const char *rfc822, const char *fieldname);
15 void sanitize_truncated_recipient(char *str);
16 char *qp_encode_email_addrs(char *source);
17 int alias (char *name);
18
19
20 int IsDirectory(char *addr, int allow_masq_domains);
21 void CtdlDirectoryInit(void);
22 int CtdlDirectoryAddUser(char *internet_addr, char *citadel_addr);
23 int CtdlDirectoryDelUser(char *internet_addr, char *citadel_addr);
24 int CtdlDirectoryLookup(char *target, char *internet_addr, size_t targbuflen);
25 struct CtdlMessage *convert_internet_message(char *rfc822);
26 struct CtdlMessage *convert_internet_message_buf(StrBuf **rfc822);
27
28 int CtdlIsMe(char *addr, int addr_buf_len);
29 int CtdlHostAlias(char *fqdn);
30 char *harvest_collected_addresses(struct CtdlMessage *msg);
31
32 /* 
33  * Values that can be returned by CtdlHostAlias()
34  */
35 enum {
36         hostalias_nomatch,
37         hostalias_localhost,
38         hostalias_gatewaydomain,
39         hostalias_directory,
40         hostalias_masq
41 };
42
43 extern char *inetcfg;
44
45
46 struct spamstrings_t {
47         struct spamstrings_t *next;
48         char *string;
49 };
50
51 extern struct spamstrings_t *spamstrings;
52