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