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)  

Loading...
Searching...
No Matches
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

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)
 
int is_email_subscribed_to_list (char *email, char *room_name)
 

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 154 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 1002 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 965 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 1223 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 1162 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()

char * harvest_collected_addresses ( struct CtdlMessage msg)

◆ is_email_subscribed_to_list()

int is_email_subscribed_to_list ( char *  email,
char *  room_name 
)

◆ 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 546 of file internet_addressing.c.

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

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 137 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 1110 of file internet_addressing.c.

References malloc(), and SIZ.

Referenced by imap_do_search_msg(), and imap_fetch_envelope().

◆ sanitize_truncated_recipient()

void sanitize_truncated_recipient ( char *  str)

Definition at line 115 of file internet_addressing.c.

Referenced by OutputCtdlMsgHeaders(), and OutputRFC822MsgHeaders().

◆ split_recps()

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

Definition at line 234 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 662 of file internet_addressing.c.

Referenced by convert_field().

◆ validate_recipients()

Variable Documentation

◆ inetcfg

char* inetcfg = NULL

Definition at line 40 of file internet_addressing.c.

Referenced by CtdlHostAlias(), get_hosts(), ical_freebusy(), and inetcfg_setTo().