~ubuntu-branches/ubuntu/hardy/exim4/hardy-proposed

« back to all changes in this revision

Viewing changes to src/mime.h

  • Committer: Bazaar Package Importer
  • Author(s): Marc Haber
  • Date: 2005-07-02 06:08:34 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050702060834-qk17pd52kb9nt3bj
Tags: 4.52-1
* new upstream version 4.51. (mh)
  * adapt 70_remove_exim-users_references
  * remove 37_gnutlsparams
  * adapt 36_pcre
  * adapt 31_eximmanpage
* fix package priorities to have them in sync with override again. (mh)
* Fix error in nb (Norwegian) translation.
  Thanks to Helge Hafting. (mh). Closes: #315775
* Standards-Version: 3.6.2, no changes needed. (mh)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* $Cambridge: exim/exim-src/src/mime.h,v 1.3 2005/02/17 11:58:26 ph10 Exp $ */
 
2
 
 
3
/*************************************************
 
4
*     Exim - an Internet mail transport agent    *
 
5
*************************************************/
 
6
 
 
7
/* Copyright (c) Tom Kistner <tom@duncanthrax.net> 2004 */
 
8
/* License: GPL */
 
9
 
 
10
#ifdef WITH_CONTENT_SCAN
 
11
 
 
12
#define MIME_MAX_HEADER_SIZE 8192
 
13
#define MIME_MAX_LINE_LENGTH 32768
 
14
 
 
15
#define MBC_ATTACHMENT            0
 
16
#define MBC_COVERLETTER_ONESHOT   1
 
17
#define MBC_COVERLETTER_ALL       2
 
18
 
 
19
struct mime_boundary_context
 
20
{
 
21
  struct mime_boundary_context *parent;
 
22
  unsigned char *boundary;
 
23
  int context;
 
24
};
 
25
 
 
26
typedef struct mime_header {
 
27
  uschar *name;
 
28
  int    namelen;
 
29
  void   *value;
 
30
} mime_header;
 
31
 
 
32
static mime_header mime_header_list[] = {
 
33
  { US"content-type:", 13, &mime_content_type },
 
34
  { US"content-disposition:", 20, &mime_content_disposition },
 
35
  { US"content-transfer-encoding:", 26, &mime_content_transfer_encoding },
 
36
  { US"content-id:", 11, &mime_content_id },
 
37
  { US"content-description:", 20 , &mime_content_description }
 
38
};
 
39
 
 
40
static int mime_header_list_size = sizeof(mime_header_list)/sizeof(mime_header);
 
41
 
 
42
 
 
43
 
 
44
typedef struct mime_parameter {
 
45
  uschar *name;
 
46
  int    namelen;
 
47
  void   *value;
 
48
} mime_parameter;
 
49
 
 
50
static mime_parameter mime_parameter_list[] = {
 
51
  { US"name=", 5, &mime_filename },
 
52
  { US"filename=", 9, &mime_filename },
 
53
  { US"charset=", 8, &mime_charset },
 
54
  { US"boundary=", 9, &mime_boundary }
 
55
};
 
56
 
 
57
static int mime_parameter_list_size = sizeof(mime_parameter_list)/sizeof(mime_parameter);
 
58
 
 
59
 
 
60
/* MIME Anomaly list */
 
61
#define MIME_ANOMALY_BROKEN_BASE64    2, "Broken BASE64 encoding detected"
 
62
#define MIME_ANOMALY_BROKEN_QP        1, "Broken Quoted-Printable encoding detected"
 
63
 
 
64
 
 
65
/* BASE64 decoder matrix */
 
66
static unsigned char mime_b64[256]={
 
67
/*   0 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
 
68
/*  16 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
 
69
/*  32 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,   62,  128,  128,  128,   63,
 
70
/*  48 */   52,   53,   54,   55,   56,   57,   58,   59,   60,   61,  128,  128,  128,  255,  128,  128,
 
71
/*  64 */  128,    0,    1,    2,    3,    4,    5,    6,    7,    8,    9,   10,   11,   12,   13,   14,
 
72
/*  80 */   15,   16,   17,   18,   19,   20,   21,   22,   23,   24,   25,  128,  128,  128,  128,  128,
 
73
/*  96 */  128,   26,   27,   28,   29,   30,   31,   32,   33,   34,   35,   36,   37,   38,   39,   40,
 
74
/* 112 */   41,   42,   43,   44,   45,   46,   47,   48,   49,   50,   51,  128,  128,  128,  128,  128,
 
75
/* 128 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
 
76
/* 144 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
 
77
/* 160 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
 
78
/* 176 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
 
79
/* 192 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
 
80
/* 208 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
 
81
/* 224 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
 
82
/* 240 */  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128,  128
 
83
};
 
84
 
 
85
#endif