citadel
About: Citadel is an advanced messaging and collaboration system for groupware and BBS applications (preferred OS: Linux).
  Fossies Dox: citadel.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

internet_addressing.c File Reference
#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <ctype.h>
#include <signal.h>
#include <pwd.h>
#include <errno.h>
#include <sys/types.h>
#include <time.h>
#include <sys/wait.h>
#include <string.h>
#include <limits.h>
#include <libcitadel.h>
#include "citadel.h"
#include "server.h"
#include "sysdep_decls.h"
#include "citserver.h"
#include "support.h"
#include "config.h"
#include "msgbase.h"
#include "internet_addressing.h"
#include "user_ops.h"
#include "room_ops.h"
#include "parsedate.h"
#include "database.h"
#include "ctdl_module.h"
Include dependency graph for internet_addressing.c:

Go to the source code of this file.

Enumerations

enum  {
  EA_ERROR , EA_MULTIPLE , EA_LOCAL , EA_INTERNET ,
  EA_SKIP
}
 

Functions

void utf8ify_rfc822_string (char *a)
 
int CtdlHostAlias (char *fqdn)
 
int CtdlIsMe (char *addr, int addr_buf_len)
 
void sanitize_truncated_recipient (char *str)
 
void remove_any_whitespace_to_the_left_or_right_of_at_symbol (char *name)
 
int expand_aliases (char *name, char *aliases)
 
Array * split_recps (char *addresses, Array *append_to)
 
struct recptypesvalidate_recipients (char *supplied_recipients, const char *RemoteIdentifier, int Flags)
 
void free_recipients (struct recptypes *valid)
 
char * qp_encode_email_addrs (char *source)
 
void unfold_rfc822_field (char **field, char **FieldEnd)
 
void process_rfc822_addr (const char *rfc822, char *user, char *node, char *name)
 
int convert_field (struct CtdlMessage *msg, const char *beg, const char *end)
 
void convert_references_to_wefewences (char *str)
 
struct CtdlMessageconvert_internet_message (char *rfc822)
 
struct CtdlMessageconvert_internet_message_buf (StrBuf **rfc822)
 
char * rfc822_fetch_field (const char *rfc822, const char *fieldname)
 
void directory_key (char *key, char *addr)
 
int IsDirectory (char *addr, int allow_masq_domains)
 
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)
 
char * harvest_collected_addresses (struct CtdlMessage *msg)
 
void CtdlRebuildDirectoryIndex_backend (char *username, void *data)
 
void CtdlRebuildDirectoryIndex (void)
 
void CtdlSetEmailAddressesForUser (char *requested_user, char *new_emailaddrs)
 
void AutoGenerateEmailAddressForUser (struct ctdluser *user)
 

Variables

char * inetcfg = NULL
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
EA_ERROR 
EA_MULTIPLE 
EA_LOCAL 
EA_INTERNET 
EA_SKIP 

Definition at line 368 of file internet_addressing.c.

Function Documentation

◆ AutoGenerateEmailAddressForUser()

void AutoGenerateEmailAddressForUser ( struct ctdluser user)

◆ convert_field()

◆ convert_internet_message()

struct CtdlMessage * convert_internet_message ( char *  rfc822)

Definition at line 1256 of file internet_addressing.c.

References convert_internet_message_buf(), and free().

Referenced by CtdlOutputMsg().

◆ convert_internet_message_buf()

◆ convert_references_to_wefewences()

void convert_references_to_wefewences ( char *  str)

Definition at line 1219 of file internet_addressing.c.

Referenced by convert_internet_message_buf().

◆ CtdlDirectoryAddUser()

int CtdlDirectoryAddUser ( char *  internet_addr,
char *  citadel_addr 
)

◆ CtdlDirectoryDelUser()

int CtdlDirectoryDelUser ( char *  internet_addr,
char *  citadel_addr 
)

Definition at line 1477 of file internet_addressing.c.

References cdb_delete(), CDB_DIRECTORY, directory_key(), and SIZ.

Referenced by CtdlSetEmailAddressesForUser().

◆ CtdlDirectoryLookup()

int CtdlDirectoryLookup ( char *  target,
char *  internet_addr,
size_t  targbuflen 
)

◆ CtdlHostAlias()

int CtdlHostAlias ( char *  fqdn)

◆ CtdlIsMe()

int CtdlIsMe ( char *  addr,
int  addr_buf_len 
)

◆ CtdlRebuildDirectoryIndex()

void CtdlRebuildDirectoryIndex ( void  )

◆ CtdlRebuildDirectoryIndex_backend()

void CtdlRebuildDirectoryIndex_backend ( char *  username,
void *  data 
)

◆ CtdlSetEmailAddressesForUser()

void CtdlSetEmailAddressesForUser ( char *  requested_user,
char *  new_emailaddrs 
)

◆ directory_key()

void directory_key ( char *  key,
char *  addr 
)

DIRECTORY MANAGEMENT FUNCTIONS *

Definition at line 1416 of file internet_addressing.c.

Referenced by CtdlDirectoryAddUser(), CtdlDirectoryDelUser(), and CtdlDirectoryLookup().

◆ expand_aliases()

int expand_aliases ( char *  name,
char *  aliases 
)

◆ free_recipients()

◆ harvest_collected_addresses()

◆ IsDirectory()

◆ process_rfc822_addr()

void process_rfc822_addr ( const char *  rfc822,
char *  user,
char *  node,
char *  name 
)

◆ qp_encode_email_addrs()

char * qp_encode_email_addrs ( char *  source)

Definition at line 761 of file internet_addressing.c.

References free(), malloc(), process_rfc822_addr(), and snprintf().

Referenced by OutputRFC822MsgHeaders().

◆ remove_any_whitespace_to_the_left_or_right_of_at_symbol()

void remove_any_whitespace_to_the_left_or_right_of_at_symbol ( char *  name)

Definition at line 351 of file internet_addressing.c.

Referenced by expand_aliases().

◆ rfc822_fetch_field()

char * rfc822_fetch_field ( const char *  rfc822,
const char *  fieldname 
)

Definition at line 1364 of file internet_addressing.c.

References malloc(), SIZ, and snprintf().

Referenced by imap_do_search_msg(), and imap_fetch_envelope().

◆ sanitize_truncated_recipient()

void sanitize_truncated_recipient ( char *  str)

Definition at line 328 of file internet_addressing.c.

Referenced by OutputCtdlMsgHeaders(), and OutputRFC822MsgHeaders().

◆ split_recps()

Array * split_recps ( char *  addresses,
Array *  append_to 
)

Definition at line 448 of file internet_addressing.c.

References free().

Referenced by validate_recipients().

◆ unfold_rfc822_field()

void unfold_rfc822_field ( char **  field,
char **  FieldEnd 
)

Definition at line 877 of file internet_addressing.c.

Referenced by convert_field().

◆ utf8ify_rfc822_string()

void utf8ify_rfc822_string ( char *  a)
inline

Definition at line 248 of file internet_addressing.c.

Referenced by harvest_collected_addresses().

◆ validate_recipients()

Variable Documentation

◆ inetcfg

char* inetcfg = NULL