mail.h   mail.h 
skipping to change at line 13 skipping to change at line 13
* *
* Author: Mark Crispin * Author: Mark Crispin
* Networks and Distributed Computing * Networks and Distributed Computing
* Computing & Communications * Computing & Communications
* University of Washington * University of Washington
* Administration Building, AG-44 * Administration Building, AG-44
* Seattle, WA 98195 * Seattle, WA 98195
* Internet: MRC@CAC.Washington.EDU * Internet: MRC@CAC.Washington.EDU
* *
* Date: 22 November 1989 * Date: 22 November 1989
* Last Edited: 2 April 2003 * Last Edited: 28 May 2003
* *
* The IMAP toolkit provided in this Distribution is * The IMAP toolkit provided in this Distribution is
* Copyright 1988-2003 University of Washington. * Copyright 1988-2003 University of Washington.
* The full text of our legal notices is contained in the file called * The full text of our legal notices is contained in the file called
* CPYRIGHT, included with this Distribution. * CPYRIGHT, included with this Distribution.
*/ */
/* Build parameters */ /* Build parameters */
#define CACHEINCREMENT 250 /* cache growth increments */ #define CACHEINCREMENT 250 /* cache growth increments */
#define MAILTMPLEN 1024 /* size of a temporary buffer */ #define MAILTMPLEN 1024 /* size of a temporary buffer */
skipping to change at line 110 skipping to change at line 110
#define GET_FREEENVELOPESPAREP (long) 141 #define GET_FREEENVELOPESPAREP (long) 141
#define SET_FREEENVELOPESPAREP (long) 142 #define SET_FREEENVELOPESPAREP (long) 142
#define GET_FREEELTSPAREP (long) 143 #define GET_FREEELTSPAREP (long) 143
#define SET_FREEELTSPAREP (long) 144 #define SET_FREEELTSPAREP (long) 144
#define GET_SSLSTART (long) 145 #define GET_SSLSTART (long) 145
#define SET_SSLSTART (long) 146 #define SET_SSLSTART (long) 146
#define GET_DEBUGSENSITIVE (long) 147 #define GET_DEBUGSENSITIVE (long) 147
#define SET_DEBUGSENSITIVE (long) 148 #define SET_DEBUGSENSITIVE (long) 148
#define GET_TCPDEBUG (long) 149 #define GET_TCPDEBUG (long) 149
#define SET_TCPDEBUG (long) 150 #define SET_TCPDEBUG (long) 150
#define GET_FREESTREAMSPAREP (long) 151
#define SET_FREESTREAMSPAREP (long) 152
/* 2xx: environment */ /* 2xx: environment */
#define GET_USERNAME (long) 201 #define GET_USERNAME (long) 201
#define SET_USERNAME (long) 202 #define SET_USERNAME (long) 202
#define GET_HOMEDIR (long) 203 #define GET_HOMEDIR (long) 203
#define SET_HOMEDIR (long) 204 #define SET_HOMEDIR (long) 204
#define GET_LOCALHOST (long) 205 #define GET_LOCALHOST (long) 205
#define SET_LOCALHOST (long) 206 #define SET_LOCALHOST (long) 206
#define GET_SYSINBOX (long) 207 #define GET_SYSINBOX (long) 207
#define SET_SYSINBOX (long) 208 #define SET_SYSINBOX (long) 208
#define GET_USERPROMPT (long) 209 #define GET_USERPROMPT (long) 209
skipping to change at line 549 skipping to change at line 551
struct { struct {
char *type; /* address type (default "rfc822") * / char *type; /* address type (default "rfc822") * /
char *addr; /* address as xtext */ char *addr; /* address as xtext */
} orcpt; } orcpt;
ADDRESS *next; /* pointer to next address in list */ ADDRESS *next; /* pointer to next address in list */
}; };
/* Message envelope */ /* Message envelope */
typedef struct mail_envelope { typedef struct mail_envelope {
unsigned int ngbogus : 1; /* newsgroups may be bogus */
unsigned int incomplete : 1; /* envelope may be incomplete */ unsigned int incomplete : 1; /* envelope may be incomplete */
unsigned int imapenvonly : 1; /* envelope only has IMAP envelope * /
char *remail; /* remail header if any */ char *remail; /* remail header if any */
ADDRESS *return_path; /* error return address */ ADDRESS *return_path; /* error return address */
char *date; /* message composition date string */ char *date; /* message composition date string */
ADDRESS *from; /* originator address list */ ADDRESS *from; /* originator address list */
ADDRESS *sender; /* sender address list */ ADDRESS *sender; /* sender address list */
ADDRESS *reply_to; /* reply address list */ ADDRESS *reply_to; /* reply address list */
char *subject; /* message subject string */ char *subject; /* message subject string */
ADDRESS *to; /* primary recipient list */ ADDRESS *to; /* primary recipient list */
ADDRESS *cc; /* secondary recipient list */ ADDRESS *cc; /* secondary recipient list */
ADDRESS *bcc; /* blind secondary recipient list */ ADDRESS *bcc; /* blind secondary recipient list */
skipping to change at line 952 skipping to change at line 954
long options; /* snarf open options */ long options; /* snarf open options */
} snarf; } snarf;
union { /* internal use only */ union { /* internal use only */
struct { /* search temporaries */ struct { /* search temporaries */
STRINGLIST *string; /* string(s) to search */ STRINGLIST *string; /* string(s) to search */
long result; /* search result */ long result; /* search result */
char *text; /* cache of fetched text */ char *text; /* cache of fetched text */
} search; } search;
} private; } private;
/* reserved for use by main program */ /* reserved for use by main program */
void *sparep; /* spare pointer */
unsigned int spare : 1; /* first spare bit */ unsigned int spare : 1; /* first spare bit */
unsigned int spare2 : 1; /* second spare bit */ unsigned int spare2 : 1; /* second spare bit */
unsigned int spare3 : 1; /* third spare bit */ unsigned int spare3 : 1; /* third spare bit */
unsigned int spare4 : 1; /* fourth spare bit */ unsigned int spare4 : 1; /* fourth spare bit */
unsigned int spare5 : 1; /* fifth spare bit */ unsigned int spare5 : 1; /* fifth spare bit */
unsigned int spare6 : 1; /* sixth spare bit */ unsigned int spare6 : 1; /* sixth spare bit */
unsigned int spare7 : 1; /* seventh spare bit */ unsigned int spare7 : 1; /* seventh spare bit */
unsigned int spare8 : 1; /* eighth spare bit */ unsigned int spare8 : 1; /* eighth spare bit */
} MAILSTREAM; } MAILSTREAM;
/* Mail I/O stream handle */ /* Mail I/O stream handle */
skipping to change at line 1086 skipping to change at line 1089
} esmtp; } esmtp;
struct { /* NNTP specific */ struct { /* NNTP specific */
unsigned int post : 1; /* supports POST */ unsigned int post : 1; /* supports POST */
struct { /* NNTP extensions */ struct { /* NNTP extensions */
unsigned int ok : 1; /* supports extensions */ unsigned int ok : 1; /* supports extensions */
/* supports LISTGROUP */ /* supports LISTGROUP */
unsigned int listgroup : 1; unsigned int listgroup : 1;
unsigned int over : 1; /* supports OVER */ unsigned int over : 1; /* supports OVER */
unsigned int hdr : 1; /* supports HDR */ unsigned int hdr : 1; /* supports HDR */
unsigned int pat : 1; /* supports PAT */ unsigned int pat : 1; /* supports PAT */
/* supports STARTTLS */
unsigned int starttls : 1;
/* server has MULTIDOMAIN */ /* server has MULTIDOMAIN */
unsigned int multidomain : 1; unsigned int multidomain : 1;
/* supports AUTHINFO USER */ /* supports AUTHINFO USER */
unsigned int authuser : 1; unsigned int authuser : 1;
/* supported authenticators */
unsigned int sasl : MAXAUTHENTICATORS;
} ext; } ext;
} nntp; } nntp;
} protocol; } protocol;
} SENDSTREAM; } SENDSTREAM;
/* Jacket into external interfaces */ /* Jacket into external interfaces */
typedef long (*readfn_t) (void *stream,unsigned long size,char *buffer); typedef long (*readfn_t) (void *stream,unsigned long size,char *buffer);
typedef char *(*mailgets_t) (readfn_t f,void *stream,unsigned long size, typedef char *(*mailgets_t) (readfn_t f,void *stream,unsigned long size,
GETS_DATA *md); GETS_DATA *md);
typedef char *(*readprogress_t) (GETS_DATA *md,unsigned long octets); typedef char *(*readprogress_t) (GETS_DATA *md,unsigned long octets);
skipping to change at line 1137 skipping to change at line 1144
typedef void (*quota_t) (MAILSTREAM *stream,char *qroot,QUOTALIST *qlist); typedef void (*quota_t) (MAILSTREAM *stream,char *qroot,QUOTALIST *qlist);
typedef void (*quotaroot_t) (MAILSTREAM *stream,char *mbx,STRINGLIST *qroot ); typedef void (*quotaroot_t) (MAILSTREAM *stream,char *mbx,STRINGLIST *qroot );
typedef void (*sortresults_t) (MAILSTREAM *stream,unsigned long *list, typedef void (*sortresults_t) (MAILSTREAM *stream,unsigned long *list,
unsigned long size); unsigned long size);
typedef char *(*newsrcquery_t) (MAILSTREAM *stream,char *mulname,char *name ); typedef char *(*newsrcquery_t) (MAILSTREAM *stream,char *mulname,char *name );
typedef char *(*userprompt_t) (void); typedef char *(*userprompt_t) (void);
typedef long (*append_t) (MAILSTREAM *stream,void *data,char **flags, typedef long (*append_t) (MAILSTREAM *stream,void *data,char **flags,
char **date,STRING **message); char **date,STRING **message);
typedef void (*freeenvelopesparep_t) (void **sparep); typedef void (*freeenvelopesparep_t) (void **sparep);
typedef void (*freeeltsparep_t) (void **sparep); typedef void (*freeeltsparep_t) (void **sparep);
typedef void (*freestreamsparep_t) (void **sparep);
typedef void *(*sslstart_t) (void *stream,char *host,unsigned long flags); typedef void *(*sslstart_t) (void *stream,char *host,unsigned long flags);
typedef long (*sslcertificatequery_t) (char *reason,char *host,char *cert); typedef long (*sslcertificatequery_t) (char *reason,char *host,char *cert);
typedef void (*sslfailure_t) (char *host,char *reason,unsigned long flags); typedef void (*sslfailure_t) (char *host,char *reason,unsigned long flags);
/* Globals */ /* Globals */
extern char *body_types[]; /* defined body type strings */ extern char *body_types[]; /* defined body type strings */
extern char *body_encodings[]; /* defined body encoding strings */ extern char *body_encodings[]; /* defined body encoding strings */
extern const char *days[]; /* day name strings */ extern const char *days[]; /* day name strings */
extern const char *months[]; /* month name strings */ extern const char *months[]; /* month name strings */
 End of changes. 8 change blocks. 
2 lines changed or deleted 10 lines changed or added


 nntp.h   nntp.h 
skipping to change at line 13 skipping to change at line 13
* *
* Author: Mark Crispin * Author: Mark Crispin
* Networks and Distributed Computing * Networks and Distributed Computing
* Computing & Communications * Computing & Communications
* University of Washington * University of Washington
* Administration Building, AG-44 * Administration Building, AG-44
* Seattle, WA 98195 * Seattle, WA 98195
* Internet: MRC@CAC.Washington.EDU * Internet: MRC@CAC.Washington.EDU
* *
* Date: 10 February 1992 * Date: 10 February 1992
* Last Edited: 3 March 2003 * Last Edited: 2 May 2003
* *
* The IMAP toolkit provided in this Distribution is * The IMAP toolkit provided in this Distribution is
* Copyright 1988-2003 University of Washington. * Copyright 1988-2003 University of Washington.
* The full text of our legal notices is contained in the file called * The full text of our legal notices is contained in the file called
* CPYRIGHT, included with this Distribution. * CPYRIGHT, included with this Distribution.
*/ */
/* Constants */ /* Constants */
#define MAXLOGINTRIALS 3 /* maximum number of login trials */ #define MAXLOGINTRIALS 3 /* maximum number of login trials */
#define NNTPTCPPORT (long) 119 /* assigned TCP contact port */ #define NNTPTCPPORT (long) 119 /* assigned TCP contact port */
skipping to change at line 41 skipping to change at line 41
#define NNTPHEAD (long) 221 /* NNTP header text */ #define NNTPHEAD (long) 221 /* NNTP header text */
#define NNTPBODY (long) 222 /* NNTP body text */ #define NNTPBODY (long) 222 /* NNTP body text */
#define NNTPOVER (long) 224 /* NNTP overview text */ #define NNTPOVER (long) 224 /* NNTP overview text */
#define NNTPOK (long) 240 /* NNTP OK code */ #define NNTPOK (long) 240 /* NNTP OK code */
#define NNTPSASLED (long) 250 /* NNTP successful SASL authentication */ #define NNTPSASLED (long) 250 /* NNTP successful SASL authentication */
#define NNTPAUTHED (long) 281 /* NNTP successful authentication */ #define NNTPAUTHED (long) 281 /* NNTP successful authentication */
#define NNTPREADY (long) 340 /* NNTP ready for data */ #define NNTPREADY (long) 340 /* NNTP ready for data */
#define NNTPCHALLENGE (long) 351/* NNTP challenge, want response */ #define NNTPCHALLENGE (long) 351/* NNTP challenge, want response */
#define NNTPWANTAUTH (long) 380 /* NNTP authentication needed */ #define NNTPWANTAUTH (long) 380 /* NNTP authentication needed */
#define NNTPWANTPASS (long) 381 /* NNTP password needed */ #define NNTPWANTPASS (long) 381 /* NNTP password needed */
#define NNTPTLSSTART (long) 382 /* NNTP continue with TLS negotiatio n */
#define NNTPSOFTFATAL (long) 400/* NNTP soft fatal code */ #define NNTPSOFTFATAL (long) 400/* NNTP soft fatal code */
#define NNTPWANTAUTH2 (long) 480/* NNTP authentication needed (alternate) * / #define NNTPWANTAUTH2 (long) 480/* NNTP authentication needed (alternate) * /
#define NNTPBADCMD (long) 500 /* NNTP unrecognized command */ #define NNTPBADCMD (long) 500 /* NNTP unrecognized command */
/* NNTP I/O stream local data */ /* NNTP I/O stream local data */
typedef struct nntp_local { typedef struct nntp_local {
SENDSTREAM *nntpstream; /* NNTP stream for I/O */ SENDSTREAM *nntpstream; /* NNTP stream for I/O */
unsigned int dirty : 1; /* disk copy of .newsrc needs updating */ unsigned int dirty : 1; /* disk copy of .newsrc needs updating */
unsigned int tlsflag : 1; /* TLS session */
unsigned int notlsflag : 1; /* TLS not used in session */
unsigned int sslflag : 1; /* SSL session */ unsigned int sslflag : 1; /* SSL session */
unsigned int novalidate : 1; /* certificate not validated */ unsigned int novalidate : 1; /* certificate not validated */
unsigned int xover : 1; /* supports XOVER */ unsigned int xover : 1; /* supports XOVER */
char *name; /* remote newsgroup name */ char *name; /* remote newsgroup name */
char *user; /* mailbox user */ char *user; /* mailbox user */
char *newsrc; /* newsrc file */ char *newsrc; /* newsrc file */
char *over_fmt; /* overview format */ char *over_fmt; /* overview format */
unsigned long msgno; /* current text message number */ unsigned long msgno; /* current text message number */
FILE *txt; /* current text */ FILE *txt; /* current text */
unsigned long txtsize; /* current text size */ unsigned long txtsize; /* current text size */
skipping to change at line 86 skipping to change at line 89
nntp_open_full (NIL,hostlist,"nntp",NNTPTCPPORT,options) nntp_open_full (NIL,hostlist,"nntp",NNTPTCPPORT,options)
/* Function prototypes */ /* Function prototypes */
DRIVER *nntp_valid (char *name); DRIVER *nntp_valid (char *name);
DRIVER *nntp_isvalid (char *name,char *mbx); DRIVER *nntp_isvalid (char *name,char *mbx);
void *nntp_parameters (long function,void *value); void *nntp_parameters (long function,void *value);
void nntp_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents); void nntp_scan (MAILSTREAM *stream,char *ref,char *pat,char *contents);
void nntp_list (MAILSTREAM *stream,char *ref,char *pat); void nntp_list (MAILSTREAM *stream,char *ref,char *pat);
void nntp_lsub (MAILSTREAM *stream,char *ref,char *pat); void nntp_lsub (MAILSTREAM *stream,char *ref,char *pat);
long nntp_canonicalize (char *ref,char *pat,char *pattern); long nntp_canonicalize (char *ref,char *pat,char *pattern,char *wildmat);
long nntp_subscribe (MAILSTREAM *stream,char *mailbox); long nntp_subscribe (MAILSTREAM *stream,char *mailbox);
long nntp_unsubscribe (MAILSTREAM *stream,char *mailbox); long nntp_unsubscribe (MAILSTREAM *stream,char *mailbox);
long nntp_create (MAILSTREAM *stream,char *mailbox); long nntp_create (MAILSTREAM *stream,char *mailbox);
long nntp_delete (MAILSTREAM *stream,char *mailbox); long nntp_delete (MAILSTREAM *stream,char *mailbox);
long nntp_rename (MAILSTREAM *stream,char *old,char *newname); long nntp_rename (MAILSTREAM *stream,char *old,char *newname);
long nntp_status (MAILSTREAM *stream,char *mbx,long flags); long nntp_status (MAILSTREAM *stream,char *mbx,long flags);
MAILSTREAM *nntp_mopen (MAILSTREAM *stream); MAILSTREAM *nntp_mopen (MAILSTREAM *stream);
void nntp_mclose (MAILSTREAM *stream,long options); void nntp_mclose (MAILSTREAM *stream,long options);
void nntp_fetchfast (MAILSTREAM *stream,char *sequence,long flags); void nntp_fetchfast (MAILSTREAM *stream,char *sequence,long flags);
void nntp_flags (MAILSTREAM *stream,char *sequence,long flags); void nntp_flags (MAILSTREAM *stream,char *sequence,long flags);
skipping to change at line 132 skipping to change at line 135
SENDSTREAM *nntp_open_full (NETDRIVER *dv,char **hostlist,char *service, SENDSTREAM *nntp_open_full (NETDRIVER *dv,char **hostlist,char *service,
unsigned long port,long options); unsigned long port,long options);
SENDSTREAM *nntp_greet (SENDSTREAM *stream,long options); SENDSTREAM *nntp_greet (SENDSTREAM *stream,long options);
long nntp_extensions (SENDSTREAM *stream,long flags); long nntp_extensions (SENDSTREAM *stream,long flags);
SENDSTREAM *nntp_close (SENDSTREAM *stream); SENDSTREAM *nntp_close (SENDSTREAM *stream);
long nntp_mail (SENDSTREAM *stream,ENVELOPE *msg,BODY *body); long nntp_mail (SENDSTREAM *stream,ENVELOPE *msg,BODY *body);
long nntp_send (SENDSTREAM *stream,char *command,char *args); long nntp_send (SENDSTREAM *stream,char *command,char *args);
long nntp_send_work (SENDSTREAM *stream,char *command,char *args); long nntp_send_work (SENDSTREAM *stream,char *command,char *args);
long nntp_send_auth (SENDSTREAM *stream); long nntp_send_auth (SENDSTREAM *stream);
long nntp_send_auth_work (SENDSTREAM *stream,NETMBX *mb,char *pwd); long nntp_send_auth_work (SENDSTREAM *stream,NETMBX *mb,char *pwd);
void *nntp_challenge (void *s,unsigned long *len);
long nntp_response (void *s,char *response,unsigned long size);
long nntp_reply (SENDSTREAM *stream); long nntp_reply (SENDSTREAM *stream);
long nntp_fake (SENDSTREAM *stream,char *text); long nntp_fake (SENDSTREAM *stream,char *text);
long nntp_soutr (void *stream,char *s); long nntp_soutr (void *stream,char *s);
 End of changes. 5 change blocks. 
2 lines changed or deleted 7 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/