X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mutt.h;h=0eb6139177e60b3d70e9e225a1a16f6d7c983b3f;hp=1b624e1b84f0afdf3a1a188403c10bc4dd5ea437;hb=71fd9a28c9d86aefdc689910cbd06dcc285fa278;hpb=420f3633557ed75a0de989eb065af6e09eed29ba diff --git a/mutt.h b/mutt.h index 1b624e1..0eb6139 100644 --- a/mutt.h +++ b/mutt.h @@ -1,5 +1,6 @@ /* * Copyright (C) 1996-2002 Michael R. Elkins + * Copyright (C) 2004 g10 Code GmbH * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -106,6 +107,7 @@ #define M_CLEAR (1<<5) /* clear input if printable character is pressed */ #define M_COMMAND (1<<6) /* do command completion */ #define M_PATTERN (1<<7) /* pattern mode - only used for history classes */ +#define M_LASTFOLDER (1<<8) /* last-folder mode - hack hack hack */ /* flags for mutt_get_token() */ #define M_TOKEN_EQUAL 1 /* treat '=' as a special */ @@ -160,6 +162,8 @@ typedef enum #define M_CRYPTHOOK (1<<8) #define M_ACCOUNTHOOK (1<<9) #define M_REPLYHOOK (1<<10) +#define M_SEND2HOOK (1<<11) + #ifdef USE_COMPRESSED #define M_OPENHOOK (1<<12) #define M_APPENDHOOK (1<<13) @@ -214,6 +218,7 @@ enum M_LIMIT, M_EXPIRED, M_SUPERSEDED, + M_REALNAME, /* actions for mutt_pattern_comp/mutt_pattern_exec */ M_AND, @@ -226,9 +231,11 @@ enum M_DATE, M_DATE_RECEIVED, M_DUPLICATED, + M_UNREFERENCED, M_ID, M_BODY, M_HEADER, + M_HORMEL, M_WHOLE_MSG, M_SENDER, M_MESSAGE, @@ -284,11 +291,14 @@ enum OPT_DELETE, OPT_FORWEDIT, OPT_INCLUDE, +#ifdef USE_IMAP + OPT_IMAPRECONNECT, +#endif OPT_MFUPTO, OPT_MIMEFWD, OPT_MIMEFWDREST, OPT_MOVE, - OPT_PGPTRADITIONAL, /* create old-style PGP messages */ + OPT_PGPMIMEAUTO, /* ask to revert to PGP/MIME when inline fails */ #ifdef USE_POP OPT_POPDELETE, OPT_POPRECONNECT, @@ -298,7 +308,7 @@ enum OPT_QUIT, OPT_REPLYTO, OPT_RECALL, -#ifdef USE_SSL +#if defined(USE_SSL) || defined(USE_GNUTLS) OPT_SSLSTARTTLS, #endif OPT_SUBJECT, @@ -332,6 +342,9 @@ enum #define M_SEL_MULTI (1<<1) #define M_SEL_FOLDER (1<<2) +/* flags for parse_spam_list */ +#define M_SPAM 1 +#define M_NOSPAM 2 /* boolean vars */ enum @@ -367,12 +380,16 @@ enum OPTFORCENAME, OPTFORWDECODE, OPTFORWQUOTE, +#if USE_HCACHE + OPTHCACHEVERIFY, +#endif OPTHDRS, OPTHEADER, OPTHELP, OPTHIDDENHOST, OPTHIDELIMITED, OPTHIDEMISSING, + OPTHIDETHREADSUBJECT, OPTHIDETOPLIMITED, OPTHIDETOPMISSING, OPTIGNORELISTREPLYTO, @@ -381,17 +398,22 @@ enum OPTIMAPPASSIVE, OPTIMAPPEEK, OPTIMAPSERVERNOISE, -# ifdef USE_SSL +# if defined(USE_SSL) || defined(USE_GNUTLS) OPTIMAPFORCESSL, # endif #endif -#if defined(USE_SSL) || defined(USE_NSS) +#if defined(USE_SSL) || defined(USE_NSS) || defined(USE_GNUTLS) +# ifndef USE_GNUTLS OPTSSLV2, +# endif OPTSSLV3, OPTTLSV1, +# ifndef USE_GNUTLS OPTSSLSYSTEMCERTS, +# endif #endif OPTIMPLICITAUTOVIEW, + OPTINCLUDEONLYFIRST, OPTKEEPFLAGGED, OPTMAILCAPSANITIZE, OPTMAILDIRTRASH, @@ -433,8 +455,11 @@ enum OPTSIGDASHES, OPTSIGONTOP, OPTSORTRE, + OPTSPAMSEP, OPTSTATUSONTOP, + OPTSTRICTMIME, OPTSTRICTTHREADS, + OPTSTUFFQUOTED, OPTSUSPEND, OPTTEXTFLOWED, OPTTHOROUGHSRC, @@ -445,6 +470,9 @@ enum OPTUSEDOMAIN, OPTUSEFROM, OPTUSEGPGAGENT, +#ifdef HAVE_LIBIDN + OPTUSEIDN, +#endif #ifdef HAVE_GETADDRINFO OPTUSEIPV6, #endif @@ -456,6 +484,8 @@ enum OPTXMAILER, OPTXTERMSETTITLES, + OPTCRYPTUSEGPGME, + /* PGP options */ OPTCRYPTAUTOSIGN, @@ -472,7 +502,7 @@ enum OPTPGPIGNORESUB, OPTPGPCHECKEXIT, OPTPGPLONGIDS, - OPTPGPAUTOTRAD, + OPTPGPAUTODEC, #if 0 OPTPGPENCRYPTSELF, #endif @@ -480,6 +510,8 @@ enum OPTPGPSTRICTENC, OPTFORWDECRYPT, OPTPGPSHOWUNUSABLE, + OPTPGPAUTOINLINE, + OPTPGPREPLYINLINE, /* news options */ @@ -527,6 +559,7 @@ enum OPTNEWSSEND, /* (pseudo) used to change behavior when posting */ OPTNEWSCACHE, /* (pseudo) used to indicate if news cache exist */ #endif + OPTSHORTENHIERARCHY, /* set when to shorten "hierarchies" in the sidebar */ OPTMAX }; @@ -558,10 +591,21 @@ typedef struct rx_list_t struct rx_list_t *next; } RX_LIST; +typedef struct spam_list_t +{ + REGEXP *rx; + int nmatch; + char *template; + struct spam_list_t *next; +} SPAM_LIST; + + #define mutt_new_list() safe_calloc (1, sizeof (LIST)) +#define mutt_new_spam_list() safe_calloc (1, sizeof (SPAM_LIST)) #define mutt_new_rx_list() safe_calloc (1, sizeof (RX_LIST)) void mutt_free_list (LIST **); void mutt_free_rx_list (RX_LIST **); +void mutt_free_spam_list (SPAM_LIST **); LIST *mutt_copy_list (LIST *); int mutt_matches_ignore (const char *, LIST *); /* add an element to a list */ @@ -590,6 +634,7 @@ typedef struct envelope ADDRESS *sender; ADDRESS *reply_to; ADDRESS *mail_followup_to; + char *list_post; /* this stores a mailto URL, or nothing */ char *subject; char *real_subj; /* offset of the real subject */ char *message_id; @@ -603,6 +648,7 @@ typedef struct envelope char *followup_to; char *x_comment_to; #endif + BUFFER *spam; LIST *references; /* message references (in reverse order) */ LIST *in_reply_to; /* in-reply-to header content */ LIST *userhdrs; /* user defined headers */ @@ -652,6 +698,7 @@ typedef struct body * If NULL, filename is used * instead. */ + char *file_charset; /* charset of attached file */ CONTENT *content; /* structure used to store detailed info about * the content of the attachment. this is used * to determine what content-transfer-encoding @@ -683,8 +730,20 @@ typedef struct body /* send mode: don't adjust the character * set when in send-mode. */ + unsigned int is_signed_data : 1; /* A lot of MUAs don't indicate + S/MIME signed-data correctly, + e.g. they use foo.p7m even for + the name of signed data. This + flag is used to keep track of + the actual message type. It + gets set during the verification + (which is done if the encryption + try failed) and check by the + function to figure the type of + the message. */ unsigned int goodsig : 1; /* good cryptographic signature */ + unsigned int warnsig : 1; /* maybe good signature */ unsigned int badsig : 1; /* bad cryptographic signature (needed to check encrypted s/mime-signatures) */ unsigned int collapsed : 1; /* used by recvattach */ @@ -693,7 +752,7 @@ typedef struct body typedef struct header { - unsigned int security : 9; /* bit 0-6: flags, bit 7,8: application. + unsigned int security : 11; /* bit 0-6: flags, bit 7,8: application. see: crypt.h pgplib.h, smime.h */ unsigned int mime : 1; /* has a Mime-Version header? */ @@ -898,6 +957,8 @@ typedef struct #define M_WEED (1<<3) /* weed headers even when not in display mode */ #define M_CHARCONV (1<<4) /* Do character set conversions */ #define M_PRINTING (1<<5) /* are we printing? - M_DISPLAY "light" */ +#define M_REPLYING (1<<6) /* are we replying? */ +#define M_FIRSTDONE (1<<7) /* the first attachment has been done */ #define state_set_prefix(s) ((s)->flags |= M_PENDINGPREFIX) #define state_reset_prefix(s) ((s)->flags &= ~M_PENDINGPREFIX)