Mercurial > mxe-octave
annotate src/vmime-1-fixes.patch @ 2353:99516e73b368
Move doc/index.html -> index.html
author | Volker Grabsch <vog@notjusthosting.com> |
---|---|
date | Thu, 29 Mar 2012 12:14:15 +0200 |
parents | f653602a0500 |
children | ebe77bc7e002 |
rev | line source |
---|---|
2333
f653602a0500
Rebrand to new project name MXE
Volker Grabsch <vog@notjusthosting.com>
parents:
2265
diff
changeset
|
1 This file is part of MXE. |
2353
99516e73b368
Move doc/index.html -> index.html
Volker Grabsch <vog@notjusthosting.com>
parents:
2333
diff
changeset
|
2 See index.html for further information. |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
3 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
4 Cherry picked fixes from svn |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
5 http://sourceforge.net/projects/vmime/develop |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
6 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
7 Produced with this script: |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
8 #--------------------------------------------------------------------# |
1870
55b66816ba0a
fix #! lines for bash
Volker Grabsch <vog@notjusthosting.com>
parents:
1710
diff
changeset
|
9 #!/usr/bin/env bash |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
10 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
11 ( |
2333
f653602a0500
Rebrand to new project name MXE
Volker Grabsch <vog@notjusthosting.com>
parents:
2265
diff
changeset
|
12 echo "This file is part of MXE." |
2353
99516e73b368
Move doc/index.html -> index.html
Volker Grabsch <vog@notjusthosting.com>
parents:
2333
diff
changeset
|
13 echo "See index.html for further information." |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
14 echo |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
15 echo "Cherry picked fixes from svn" |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
16 echo "http://sourceforge.net/projects/vmime/develop" |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
17 echo |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
18 echo "Produced with this script:" |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
19 echo "#--------------------------------------------------------------------#" |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
20 cat "$0" |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
21 echo "#--------------------------------------------------------------------#" |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
22 ) > src/vmime-1-fixes.patch |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
23 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
24 # setup git svn clone |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
25 #cd ~/projects/vmime/git |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
26 #git svn clone -s https://vmime.svn.sourceforge.net/svnroot/vmime |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
27 #git reset --hard |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
28 # get updates |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
29 #git svn fetch |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
30 #git svn rebase |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
31 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
32 GITDIR=~/projects/vmime/git/vmime |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
33 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
34 ( |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
35 cd $GITDIR |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
36 echo |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
37 git format-patch -p --relative=vmime --stdout ":/Version 0.9.1"..master-fixed |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
38 ) >> src/vmime-1-fixes.patch |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
39 #--------------------------------------------------------------------# |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
40 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
41 From ed4451fd3c86faf9ecc03a59ba9f1ad78417a9f9 Mon Sep 17 00:00:00 2001 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
42 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
43 Date: Tue, 16 Nov 2010 13:28:05 +0000 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
44 Subject: [PATCH 01/27] Started version 0.9.2. |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
45 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
46 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@576 5301114d-f842-0410-bbdd-996ee0417009 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
47 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
48 diff --git a/ChangeLog b/ChangeLog |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
49 index 871d055..8fdcdb0 100644 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
50 --- a/ChangeLog |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
51 +++ b/ChangeLog |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
52 @@ -1,4 +1,12 @@ |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
53 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
54 +VERSION 0.9.2svn |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
55 +================ |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
56 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
57 +2010-11-16 Vincent Richard <vincent@vincent-richard.net> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
58 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
59 + * Started version 0.9.2. |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
60 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
61 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
62 VERSION 0.9.1 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
63 ============= |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
64 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
65 diff --git a/SConstruct b/SConstruct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
66 index fb01edf..55f9223 100644 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
67 --- a/SConstruct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
68 +++ b/SConstruct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
69 @@ -29,7 +29,7 @@ import string |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
70 # Package version number |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
71 packageVersionMajor = 0 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
72 packageVersionMinor = 9 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
73 -packageVersionMicro = 1 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
74 +packageVersionMicro = 2 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
75 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
76 # API version number (libtool) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
77 # |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
78 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
79 1.7.7.3 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
80 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
81 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
82 From bf282a05cdbbb538a1cafbd7305cece14f5b1571 Mon Sep 17 00:00:00 2001 |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
83 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
84 Date: Tue, 30 Nov 2010 14:57:03 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
85 Subject: [PATCH 02/27] Initialize and delete object. |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
86 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
87 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@577 5301114d-f842-0410-bbdd-996ee0417009 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
88 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
89 diff --git a/vmime/net/imap/IMAPParser.hpp b/vmime/net/imap/IMAPParser.hpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
90 index 0f3e9ec..d71c3ca 100644 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
91 --- a/vmime/net/imap/IMAPParser.hpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
92 +++ b/vmime/net/imap/IMAPParser.hpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
93 @@ -3823,7 +3823,9 @@ public: |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
94 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
95 msg_att_item() |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
96 : m_date_time(NULL), m_number(NULL), m_envelope(NULL), |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
97 - m_uniqueid(NULL), m_nstring(NULL), m_body(NULL), m_flag_list(NULL) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
98 + m_uniqueid(NULL), m_nstring(NULL), m_body(NULL), m_flag_list(NULL), |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
99 + m_section(NULL) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
100 + |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
101 { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
102 } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
103 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
104 @@ -3836,6 +3838,7 @@ public: |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
105 delete (m_nstring); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
106 delete (m_body); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
107 delete (m_flag_list); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
108 + delete (m_section); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
109 } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
110 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
111 void go(IMAPParser& parser, string& line, string::size_type* currentPos) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
112 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
113 1.7.7.3 |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
114 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
115 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
116 From 941b10bca8e89ca61eebee1345ee3e5cbebd7530 Mon Sep 17 00:00:00 2001 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
117 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
118 Date: Mon, 6 Dec 2010 11:57:44 +0000 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
119 Subject: [PATCH 03/27] Updated deprecated function. |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
120 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
121 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@578 5301114d-f842-0410-bbdd-996ee0417009 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
122 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
123 SKIPPED |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
124 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
125 1.7.7.3 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
126 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
127 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
128 From 4a4c3a94db671ff7750b32ebf2c998a914717367 Mon Sep 17 00:00:00 2001 |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
129 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
130 Date: Wed, 8 Dec 2010 08:52:54 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
131 Subject: [PATCH 04/27] No extra space between ':' and '<' in MAIL FROM and |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
132 RCPT TO. Wait for server response after QUIT and |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
133 before closing connection. |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
134 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
135 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@579 5301114d-f842-0410-bbdd-996ee0417009 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
136 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
137 diff --git a/src/net/smtp/SMTPTransport.cpp b/src/net/smtp/SMTPTransport.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
138 index 204daae..d9fb7b8 100644 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
139 --- a/src/net/smtp/SMTPTransport.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
140 +++ b/src/net/smtp/SMTPTransport.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
141 @@ -516,6 +516,7 @@ void SMTPTransport::internalDisconnect() |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
142 try |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
143 { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
144 sendRequest("QUIT"); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
145 + readResponse(); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
146 } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
147 catch (exception&) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
148 { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
149 @@ -565,7 +566,7 @@ void SMTPTransport::send(const mailbox& expeditor, const mailboxList& recipients |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
150 // Emit the "MAIL" command |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
151 ref <SMTPResponse> resp; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
152 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
153 - sendRequest("MAIL FROM: <" + expeditor.getEmail() + ">"); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
154 + sendRequest("MAIL FROM:<" + expeditor.getEmail() + ">"); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
155 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
156 if ((resp = readResponse())->getCode() != 250) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
157 { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
158 @@ -578,7 +579,7 @@ void SMTPTransport::send(const mailbox& expeditor, const mailboxList& recipients |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
159 { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
160 const mailbox& mbox = *recipients.getMailboxAt(i); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
161 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
162 - sendRequest("RCPT TO: <" + mbox.getEmail() + ">"); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
163 + sendRequest("RCPT TO:<" + mbox.getEmail() + ">"); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
164 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
165 if ((resp = readResponse())->getCode() != 250) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
166 { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
167 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
168 1.7.7.3 |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
169 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
170 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
171 From 4ea325c953f0cdc669b932aa4961a434656f3ecf Mon Sep 17 00:00:00 2001 |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
172 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
173 Date: Fri, 10 Dec 2010 16:24:06 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
174 Subject: [PATCH 05/27] Fixed unit test after bug fix. |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
175 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
176 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@580 5301114d-f842-0410-bbdd-996ee0417009 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
177 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
178 diff --git a/tests/net/smtp/SMTPTransportTest.cpp b/tests/net/smtp/SMTPTransportTest.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
179 index 5015552..6552f9e 100644 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
180 --- a/tests/net/smtp/SMTPTransportTest.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
181 +++ b/tests/net/smtp/SMTPTransportTest.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
182 @@ -165,7 +165,7 @@ public: |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
183 } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
184 else if (cmd == "MAIL") |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
185 { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
186 - VASSERT_EQ("MAIL", std::string("MAIL FROM: <expeditor@test.vmime.org>"), line); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
187 + VASSERT_EQ("MAIL", std::string("MAIL FROM:<expeditor@test.vmime.org>"), line); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
188 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
189 localSend("250 OK\r\n"); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
190 } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
191 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
192 1.7.7.3 |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
193 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
194 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
195 From ff207927a5aab002f38af0224133b345ab458144 Mon Sep 17 00:00:00 2001 |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
196 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
197 Date: Fri, 10 Dec 2010 16:54:38 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
198 Subject: [PATCH 06/27] Fixed boundary parsing (thanks to John van der Kamp, |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
199 Zarafa). |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
200 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
201 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@581 5301114d-f842-0410-bbdd-996ee0417009 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
202 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
203 diff --git a/src/body.cpp b/src/body.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
204 index 13dff6b..738d3e7 100644 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
205 --- a/src/body.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
206 +++ b/src/body.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
207 @@ -127,10 +127,30 @@ void body::parse(const string& buffer, const string::size_type position, |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
208 const string boundarySep("--" + boundary); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
209 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
210 string::size_type partStart = position; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
211 - string::size_type pos = buffer.find(boundarySep, position); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
212 + string::size_type pos = position; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
213 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
214 bool lastPart = false; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
215 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
216 + while (pos != string::npos && pos < end) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
217 + { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
218 + pos = buffer.find(boundarySep, pos); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
219 + |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
220 + if (pos == string::npos || |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
221 + ((pos == 0 || buffer[pos - 1] == '\n') && |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
222 + (buffer[pos + boundarySep.length()] == '\r' || |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
223 + buffer[pos + boundarySep.length()] == '\n' || |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
224 + buffer[pos + boundarySep.length()] == '-' |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
225 + ) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
226 + ) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
227 + ) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
228 + { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
229 + break; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
230 + } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
231 + |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
232 + // boundary not a beginning of line, or just a prefix of another, continue the search. |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
233 + pos++; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
234 + } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
235 + |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
236 if (pos != string::npos && pos < end) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
237 { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
238 m_prologText = string(buffer.begin() + position, buffer.begin() + pos); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
239 @@ -181,7 +201,26 @@ void body::parse(const string& buffer, const string::size_type position, |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
240 } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
241 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
242 partStart = pos; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
243 - pos = buffer.find(boundarySep, partStart); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
244 + |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
245 + while (pos != string::npos && pos < end) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
246 + { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
247 + pos = buffer.find(boundarySep, pos); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
248 + |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
249 + if (pos == string::npos || |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
250 + ((pos == 0 || buffer[pos - 1] == '\n') && |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
251 + (buffer[pos + boundarySep.length()] == '\r' || |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
252 + buffer[pos + boundarySep.length()] == '\n' || |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
253 + buffer[pos + boundarySep.length()] == '-' |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
254 + ) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
255 + ) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
256 + ) |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
257 + { |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
258 + break; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
259 + } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
260 + |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
261 + // boundary not a beginning of line, or just a prefix of another, continue the search. |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
262 + pos++; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
263 + } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
264 } |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
265 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
266 m_contents = vmime::create <emptyContentHandler>(); |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
267 diff --git a/tests/parser/bodyPartTest.cpp b/tests/parser/bodyPartTest.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
268 index 12c4f74..df2bf85 100644 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
269 --- a/tests/parser/bodyPartTest.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
270 +++ b/tests/parser/bodyPartTest.cpp |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
271 @@ -84,7 +84,7 @@ VMIME_TEST_SUITE_BEGIN |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
272 vmime::string str = |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
273 "Content-Type: multipart/mixed; boundary=\"MY-BOUNDARY\"" |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
274 "\r\n\r\n" |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
275 - "--MY-BOUNDARY\r\nHEADER1\r\n\r\nBODY1" |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
276 + "--MY-BOUNDARY\r\nHEADER1\r\n\r\nBODY1\r\n" |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
277 "--MY-BOUNDARY\r\nHEADER2\r\n\r\nBODY2"; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
278 |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
279 vmime::bodyPart p; |
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
280 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
281 1.7.7.3 |
1506
9b092697dd12
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
diff
changeset
|
282 |
1565
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
283 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
284 From 3f5172e47f75f64952adef349bec875416ae9b89 Mon Sep 17 00:00:00 2001 |
1565
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
285 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
286 Date: Fri, 21 Jan 2011 15:28:06 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
287 Subject: [PATCH 07/27] Fixed possible infinite loop (thanks to John van der |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
288 Kamp, Zarafa). |
1565
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
289 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
290 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@582 5301114d-f842-0410-bbdd-996ee0417009 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
291 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
292 diff --git a/src/word.cpp b/src/word.cpp |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
293 index db720dc..1c1c1a6 100644 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
294 --- a/src/word.cpp |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
295 +++ b/src/word.cpp |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
296 @@ -386,7 +386,7 @@ void word::generate(utility::outputStream& os, const string::size_type maxLineLe |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
297 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
298 maxRunLength = std::max(maxRunLength, curRunLength); |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
299 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
300 - if (maxRunLength >= maxLineLength - 3) |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
301 + if (((flags & text::FORCE_NO_ENCODING) == 0) && maxRunLength >= maxLineLength - 3) |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
302 { |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
303 // Generate with encoding forced |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
304 generate(os, maxLineLength, curLinePos, newLinePos, flags | text::FORCE_ENCODING, state); |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
305 diff --git a/tests/parser/textTest.cpp b/tests/parser/textTest.cpp |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
306 index b84f376..746ac94 100644 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
307 --- a/tests/parser/textTest.cpp |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
308 +++ b/tests/parser/textTest.cpp |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
309 @@ -52,6 +52,7 @@ VMIME_TEST_SUITE_BEGIN |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
310 VMIME_TEST(testWhitespaceMBox) |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
311 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
312 VMIME_TEST(testFoldingAscii) |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
313 + VMIME_TEST(testForcedNonEncoding) |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
314 VMIME_TEST_LIST_END |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
315 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
316 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
317 @@ -442,5 +443,15 @@ VMIME_TEST_SUITE_BEGIN |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
318 " =?us-ascii?Q?9012345678901234567890123456789?=", w.generate(50)); |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
319 } |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
320 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
321 + void testForcedNonEncoding() |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
322 + { |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
323 + // Testing long unbreakable and unencodable header |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
324 + vmime::relay r; |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
325 + r.parse(" from User (Ee9GMqZQ8t7IQwftfAFHd2KyScCYRrFSJ50tKEoXv2bVCG4HcPU80GGWiFabAvG77FekpGgF1h@[127.0.0.1]) by servername.hostname.com\n\t" |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
326 + "with esmtp id 1NGTS9-2C0sqG0; Fri, 4 Dec 2009 09:23:49 +0100"); |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
327 + |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
328 + VASSERT_EQ("received.long", "from User\r\n (Ee9GMqZQ8t7IQwftfAFHd2KyScCYRrFSJ50tKEoXv2bVCG4HcPU80GGWiFabAvG77FekpGgF1h@[127.0.0.1])\r\n by servername.hostname.com with esmtp id 1NGTS9-2C0sqG0; Fri, 4 Dec 2009\r\n 09:23:49 +0100", r.generate(78)); |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
329 + } |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
330 + |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
331 VMIME_TEST_SUITE_END |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
332 |
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
333 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
334 1.7.7.3 |
1565
249814876c3a
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1506
diff
changeset
|
335 |
1567
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
336 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
337 From 4e9eb3191066dec7f17592c2ce099b16e6329941 Mon Sep 17 00:00:00 2001 |
1567
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
338 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
339 Date: Fri, 28 Jan 2011 12:11:08 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
340 Subject: [PATCH 08/27] Fixed possible read to invalid memory location (thanks |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
341 to Alexander Konovalov). |
1567
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
342 |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
343 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@583 5301114d-f842-0410-bbdd-996ee0417009 |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
344 |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
345 diff --git a/src/word.cpp b/src/word.cpp |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
346 index 1c1c1a6..fa08d33 100644 |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
347 --- a/src/word.cpp |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
348 +++ b/src/word.cpp |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
349 @@ -460,7 +460,7 @@ void word::generate(utility::outputStream& os, const string::size_type maxLineLe |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
350 |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
351 os << string(curLineStart, p); |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
352 |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
353 - if (parserHelpers::isSpace(*(p - 1))) |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
354 + if (p != m_buffer.begin() && parserHelpers::isSpace(*(p - 1))) |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
355 state->lastCharIsSpace = true; |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
356 else |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
357 state->lastCharIsSpace = false; |
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
358 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
359 1.7.7.3 |
1659
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
360 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
361 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
362 From 07ebf241115eba44675223e307d212c772e1cc08 Mon Sep 17 00:00:00 2001 |
1659
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
363 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
364 Date: Wed, 9 Mar 2011 18:03:31 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
365 Subject: [PATCH 09/27] Fixed bug #3174903. Fixed word parsing when buffer |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
366 does not end with NL. Fixed 'no encoding' when |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
367 forced. |
1659
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
368 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
369 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@584 5301114d-f842-0410-bbdd-996ee0417009 |
1567
10fb4e947a6e
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1565
diff
changeset
|
370 |
1659
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
371 diff --git a/src/body.cpp b/src/body.cpp |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
372 index 738d3e7..8596833 100644 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
373 --- a/src/body.cpp |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
374 +++ b/src/body.cpp |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
375 @@ -153,7 +153,10 @@ void body::parse(const string& buffer, const string::size_type position, |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
376 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
377 if (pos != string::npos && pos < end) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
378 { |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
379 - m_prologText = string(buffer.begin() + position, buffer.begin() + pos); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
380 + vmime::text text; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
381 + text.parse(buffer, position, pos); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
382 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
383 + m_prologText = text.getWholeBuffer(); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
384 } |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
385 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
386 for (int index = 0 ; !lastPart && (pos != string::npos) && (pos < end) ; ++index) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
387 @@ -246,7 +249,10 @@ void body::parse(const string& buffer, const string::size_type position, |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
388 // Treat remaining text as epilog |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
389 else if (partStart < end) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
390 { |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
391 - m_epilogText = string(buffer.begin() + partStart, buffer.begin() + end); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
392 + vmime::text text; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
393 + text.parse(buffer, partStart, end); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
394 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
395 + m_epilogText = text.getWholeBuffer(); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
396 } |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
397 } |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
398 // Treat the contents as 'simple' data |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
399 @@ -333,7 +339,7 @@ void body::generate(utility::outputStream& os, const string::size_type maxLineLe |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
400 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
401 if (!prologText.empty()) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
402 { |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
403 - text prolog(word(prologText, getCharset())); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
404 + text prolog(prologText, vmime::charset("us-ascii")); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
405 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
406 prolog.encodeAndFold(os, maxLineLength, 0, |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
407 NULL, text::FORCE_NO_ENCODING | text::NO_NEW_LINE_SEQUENCE); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
408 @@ -356,7 +362,7 @@ void body::generate(utility::outputStream& os, const string::size_type maxLineLe |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
409 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
410 if (!epilogText.empty()) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
411 { |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
412 - text epilog(word(epilogText, getCharset())); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
413 + text epilog(epilogText, vmime::charset("us-ascii")); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
414 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
415 epilog.encodeAndFold(os, maxLineLength, 0, |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
416 NULL, text::FORCE_NO_ENCODING | text::NO_NEW_LINE_SEQUENCE); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
417 diff --git a/src/word.cpp b/src/word.cpp |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
418 index fa08d33..aeaa737 100644 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
419 --- a/src/word.cpp |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
420 +++ b/src/word.cpp |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
421 @@ -102,7 +102,9 @@ ref <word> word::parseNext(const string& buffer, const string::size_type positio |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
422 ++pos; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
423 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
424 unencoded += buffer.substr(startPos, endPos - startPos); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
425 - unencoded += ' '; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
426 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
427 + if (pos != end) // ignore white-spaces at end |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
428 + unencoded += ' '; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
429 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
430 startPos = pos; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
431 continue; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
432 @@ -191,14 +193,15 @@ ref <word> word::parseNext(const string& buffer, const string::size_type positio |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
433 ++pos; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
434 } |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
435 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
436 - // Treat unencoded text at the end of the buffer |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
437 - if (end != startPos) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
438 - { |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
439 - if (startPos != pos && !isFirst && prevIsEncoded) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
440 - unencoded += whiteSpaces; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
441 + if (startPos != end && !isFirst && prevIsEncoded) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
442 + unencoded += whiteSpaces; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
443 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
444 + if (startPos != end) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
445 unencoded += buffer.substr(startPos, end - startPos); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
446 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
447 + // Treat unencoded text at the end of the buffer |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
448 + if (!unencoded.empty()) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
449 + { |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
450 ref <word> w = vmime::create <word>(unencoded, charset(charsets::US_ASCII)); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
451 w->setParsedBounds(position, end); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
452 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
453 @@ -337,12 +340,14 @@ void word::generate(utility::outputStream& os, const string::size_type maxLineLe |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
454 state = &defaultGeneratorState; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
455 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
456 // Find out if encoding is forced or required by contents + charset |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
457 - bool encodingNeeded = (flags & text::FORCE_ENCODING) != 0; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
458 + bool encodingNeeded = false; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
459 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
460 - if (encodingNeeded == false) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
461 - encodingNeeded = wordEncoder::isEncodingNeeded(m_buffer, m_charset); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
462 - else if ((flags & text::FORCE_NO_ENCODING) != 0) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
463 + if ((flags & text::FORCE_NO_ENCODING) != 0) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
464 encodingNeeded = false; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
465 + else if ((flags & text::FORCE_ENCODING) != 0) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
466 + encodingNeeded = true; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
467 + else // auto-detect |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
468 + encodingNeeded = wordEncoder::isEncodingNeeded(m_buffer, m_charset); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
469 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
470 // If possible and requested (with flag), quote the buffer (no folding is performed). |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
471 // Quoting is possible if and only if: |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
472 diff --git a/tests/parser/bodyPartTest.cpp b/tests/parser/bodyPartTest.cpp |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
473 index df2bf85..b129913 100644 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
474 --- a/tests/parser/bodyPartTest.cpp |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
475 +++ b/tests/parser/bodyPartTest.cpp |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
476 @@ -34,6 +34,8 @@ VMIME_TEST_SUITE_BEGIN |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
477 VMIME_TEST(testParse) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
478 VMIME_TEST(testGenerate) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
479 VMIME_TEST(testParseMissingLastBoundary) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
480 + VMIME_TEST(testPrologEpilog) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
481 + VMIME_TEST(testPrologEncoding) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
482 VMIME_TEST_LIST_END |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
483 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
484 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
485 @@ -105,5 +107,79 @@ VMIME_TEST_SUITE_BEGIN |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
486 VASSERT_EQ("1", "Foo: bar\r\n\r\nBaz", p1.generate()); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
487 } |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
488 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
489 + void testPrologEpilog() |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
490 + { |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
491 + const char testMail[] = |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
492 + "To: test@vmime.org\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
493 + "From: test@vmime.org\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
494 + "Subject: Prolog and epilog test\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
495 + "Content-Type: multipart/mixed; \r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
496 + " boundary=\"=_boundary\"\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
497 + "\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
498 + "Prolog text\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
499 + "--=_boundary\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
500 + "Content-Type: text/plain\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
501 + "\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
502 + "Part1\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
503 + "--=_boundary--\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
504 + "Epilog text"; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
505 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
506 + vmime::bodyPart part; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
507 + part.parse(testMail); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
508 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
509 + VASSERT_EQ("prolog", "Prolog text", part.getBody()->getPrologText()); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
510 + VASSERT_EQ("epilog", "Epilog text", part.getBody()->getEpilogText()); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
511 + } |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
512 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
513 + // Test for bug fix: prolog should not be encoded |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
514 + // http://sourceforge.net/tracker/?func=detail&atid=525568&aid=3174903&group_id=69724 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
515 + void testPrologEncoding() |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
516 + { |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
517 + const char testmail[] = |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
518 + "To: test@vmime.org\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
519 + "From: test@vmime.org\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
520 + "Subject: Prolog encoding test\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
521 + "Content-Type: multipart/mixed; \r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
522 + " boundary=\"=_+ZWjySayKqSf2CyrfnNpaAcO6-G1HpoXdHZ4YyswAWqEY39Q\"\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
523 + "\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
524 + "This is a multi-part message in MIME format. Your mail reader does not\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
525 + "understand MIME message format.\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
526 + "--=_+ZWjySayKqSf2CyrfnNpaAcO6-G1HpoXdHZ4YyswAWqEY39Q\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
527 + "Content-Type: text/html; charset=windows-1251\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
528 + "Content-Transfer-Encoding: quoted-printable\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
529 + "\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
530 + "=DD=F2=EE =F2=E5=EA=F1=F2=EE=E2=E0=FF =F7=E0=F1=F2=FC =F1=EB=EE=E6=ED=EE=E3=\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
531 + "=EE =F1=EE=EE=E1=F9=E5=ED=E8=FF\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
532 + "--=_+ZWjySayKqSf2CyrfnNpaAcO6-G1HpoXdHZ4YyswAWqEY39Q\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
533 + "Content-Type: application/octet-stream; charset=windows-1251\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
534 + "Content-Disposition: attachment; filename=FNS.zip\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
535 + "Content-Transfer-Encoding: base64\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
536 + "\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
537 + "UEsDBB...snap...EEAAAAAA==\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
538 + "--=_+ZWjySayKqSf2CyrfnNpaAcO6-G1HpoXdHZ4YyswAWqEY39Q--\r\n" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
539 + "Epilog text"; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
540 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
541 + vmime::ref<vmime::message> msg = vmime::create<vmime::message>(); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
542 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
543 + std::string istr(testmail); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
544 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
545 + std::string ostr; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
546 + vmime::utility::outputStreamStringAdapter out(ostr); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
547 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
548 + for (int i = 0 ; i < 10 ; ++i) |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
549 + { |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
550 + ostr.clear(); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
551 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
552 + msg->parse(istr); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
553 + msg->generate(out); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
554 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
555 + istr = ostr; |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
556 + } |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
557 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
558 + VASSERT_EQ("prolog", "This is a multi-part message in MIME format. Your mail reader" |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
559 + " does not understand MIME message format.", msg->getBody()->getPrologText()); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
560 + VASSERT_EQ("epilog", "Epilog text", msg->getBody()->getEpilogText()); |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
561 + } |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
562 + |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
563 VMIME_TEST_SUITE_END |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
564 |
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
565 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
566 1.7.7.3 |
1659
60b6921403e5
cherry-picked fixes for package vmime
Mark Brand <mabrand@mabrand.nl>
parents:
1567
diff
changeset
|
567 |
1660
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
568 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
569 From 22ca7dc23b6bbbc8cc6aedd569ec938ecae96e92 Mon Sep 17 00:00:00 2001 |
1710 | 570 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
571 Date: Sun, 27 Mar 2011 11:26:55 +0000 | |
2333
f653602a0500
Rebrand to new project name MXE
Volker Grabsch <vog@notjusthosting.com>
parents:
2265
diff
changeset
|
572 Subject: [PATCH 10/27] Allow static linking in MXE. Added 'iconv' |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
573 and uses 'ws2_32' instead of 'winsock32' (#3213487). |
1660
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
574 |
1710 | 575 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@585 5301114d-f842-0410-bbdd-996ee0417009 |
1660
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
576 |
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
577 diff --git a/SConstruct b/SConstruct |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
578 index 55f9223..177f5b4 100644 |
1660
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
579 --- a/SConstruct |
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
580 +++ b/SConstruct |
1668
4ee38be1b1cd
package vmime: fix and use .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1660
diff
changeset
|
581 @@ -1089,7 +1089,7 @@ def generateAutotools(target, source, env): |
4ee38be1b1cd
package vmime: fix and use .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1660
diff
changeset
|
582 vmime_pc_in.write("Description: " + packageDescription + "\n") |
4ee38be1b1cd
package vmime: fix and use .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1660
diff
changeset
|
583 vmime_pc_in.write("Version: @VERSION@\n") |
4ee38be1b1cd
package vmime: fix and use .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1660
diff
changeset
|
584 vmime_pc_in.write("Requires: @GSASL_REQUIRED@\n") |
4ee38be1b1cd
package vmime: fix and use .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1660
diff
changeset
|
585 - vmime_pc_in.write("Libs: -L${libdir} -l@GENERIC_VERSIONED_LIBRARY_NAME@ @GSASL_LIBS@ @LIBGNUTLS_LIBS@ @VMIME_ADDITIONAL_PC_LIBS@\n") |
4ee38be1b1cd
package vmime: fix and use .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1660
diff
changeset
|
586 + vmime_pc_in.write("Libs: -L${libdir} -l@GENERIC_VERSIONED_LIBRARY_NAME@ @GSASL_LIBS@ @LIBGNUTLS_LIBS@ @LIBICONV@ @PTHREAD_LIBS@ @VMIME_ADDITIONAL_PC_LIBS@\n") |
4ee38be1b1cd
package vmime: fix and use .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1660
diff
changeset
|
587 #vmime_pc_in.write("Cflags: -I${includedir}/@GENERIC_VERSIONED_LIBRARY_NAME@\n") |
4ee38be1b1cd
package vmime: fix and use .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1660
diff
changeset
|
588 vmime_pc_in.write("Cflags: -I${includedir}/ @LIBGNUTLS_CFLAGS@\n") |
4ee38be1b1cd
package vmime: fix and use .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1660
diff
changeset
|
589 vmime_pc_in.close() |
1660
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
590 @@ -1709,7 +1709,7 @@ fi |
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
591 |
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
592 # -- Link with Winsock (Windows) |
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
593 if test "x$VMIME_DETECT_PLATFORM" = "xwindows"; then |
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
594 - VMIME_ADDITIONAL_PC_LIBS="$VMIME_ADDITIONAL_PC_LIBS -lwsock32" |
1668
4ee38be1b1cd
package vmime: fix and use .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1660
diff
changeset
|
595 + VMIME_ADDITIONAL_PC_LIBS="$VMIME_ADDITIONAL_PC_LIBS -lws2_32" |
1660
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
596 fi |
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
597 |
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
598 # -- getaddrinfo (POSIX) |
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
599 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
600 1.7.7.3 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
601 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
602 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
603 From 9e06cc39d47e2eba8f554b337d472cc995be0d9d Mon Sep 17 00:00:00 2001 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
604 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
605 Date: Thu, 31 Mar 2011 19:13:03 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
606 Subject: [PATCH 11/27] Flush stateful data from iconv (thanks to John van der |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
607 Kamp, Zarafa). |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
608 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
609 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@586 5301114d-f842-0410-bbdd-996ee0417009 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
610 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
611 diff --git a/src/charsetConverter.cpp b/src/charsetConverter.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
612 index 38b9e5e..2135788 100644 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
613 --- a/src/charsetConverter.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
614 +++ b/src/charsetConverter.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
615 @@ -119,6 +119,7 @@ void charsetConverter::convert(utility::inputStream& in, utility::outputStream& |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
616 size_t inPos = 0; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
617 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
618 bool prevIsInvalid = false; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
619 + bool breakAfterNext = false; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
620 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
621 while (true) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
622 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
623 @@ -126,11 +127,12 @@ void charsetConverter::convert(utility::inputStream& in, utility::outputStream& |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
624 size_t inLength = static_cast <size_t>(in.read(inBuffer + inPos, sizeof(inBuffer) - inPos) + inPos); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
625 size_t outLength = sizeof(outBuffer); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
626 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
627 - const char* inPtr = inBuffer; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
628 + const char* inPtr = breakAfterNext ? NULL : inBuffer; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
629 + size_t *ptrLength = breakAfterNext ? NULL : &inLength; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
630 char* outPtr = outBuffer; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
631 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
632 // Convert input bytes |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
633 - if (iconv(cd, ICONV_HACK(&inPtr), &inLength, |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
634 + if (iconv(cd, ICONV_HACK(&inPtr), ptrLength, |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
635 &outPtr, &outLength) == static_cast <size_t>(-1)) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
636 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
637 // Illegal input sequence or input sequence has no equivalent |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
638 @@ -170,9 +172,12 @@ void charsetConverter::convert(utility::inputStream& in, utility::outputStream& |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
639 prevIsInvalid = false; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
640 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
641 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
642 - // Check for end of data |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
643 - if (in.eof() && inPos == 0) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
644 + if (breakAfterNext) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
645 break; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
646 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
647 + // Check for end of data, loop again to flush stateful data from iconv |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
648 + if (in.eof() && inPos == 0) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
649 + breakAfterNext = true; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
650 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
651 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
652 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
653 diff --git a/tests/parser/charsetTest.cpp b/tests/parser/charsetTest.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
654 index 8ad71d7..54a09a7 100644 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
655 --- a/tests/parser/charsetTest.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
656 +++ b/tests/parser/charsetTest.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
657 @@ -100,6 +100,7 @@ VMIME_TEST_SUITE_BEGIN |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
658 VMIME_TEST(testFilterValid1) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
659 VMIME_TEST(testFilterValid2) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
660 VMIME_TEST(testFilterValid3) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
661 + VMIME_TEST(testEncodingHebrew1255) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
662 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
663 // Test invalid input |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
664 VMIME_TEST(testFilterInvalid1) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
665 @@ -227,6 +228,15 @@ VMIME_TEST_SUITE_BEGIN |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
666 VASSERT_EQ("1", toHex(expectedOut), toHex(actualOut)); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
667 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
668 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
669 + void testEncodingHebrew1255() |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
670 + { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
671 + // hewbrew string in windows-1255 charset |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
672 + const char data[] = "\xe9\xf9\xf7\xf8\xe9\xf9\xf8\xf7\xe9\xe9\xf9"; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
673 + vmime::word w = vmime::word(data, "windows-1255"); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
674 + vmime::string encoded = w.generate(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
675 + // less than 60% ascii, base64 received |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
676 + VASSERT_EQ("1", "=?windows-1255?B?6fn3+On5+Pfp6fk=?=", encoded); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
677 + } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
678 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
679 // Conversion to hexadecimal for easier debugging |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
680 static const vmime::string toHex(const vmime::string str) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
681 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
682 1.7.7.3 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
683 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
684 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
685 From 418a39a7d33921672bd1c4beb31c8a31bc87d8dd Mon Sep 17 00:00:00 2001 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
686 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
687 Date: Fri, 10 Jun 2011 19:39:09 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
688 Subject: [PATCH 12/27] Requested email change. |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
689 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
690 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@587 5301114d-f842-0410-bbdd-996ee0417009 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
691 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
692 diff --git a/AUTHORS b/AUTHORS |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
693 index 20a0181..bbddb30 100644 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
694 --- a/AUTHORS |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
695 +++ b/AUTHORS |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
696 @@ -21,7 +21,7 @@ AUTHORS file. |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
697 - Rafael Fernandez <prf@adinet.com.uy> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
698 - Xin Li <lixin3@staff.sina.com.cn> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
699 - Benjamin Biron <benbiron@gmail.com> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
700 - - Bertrand Benoit <bsquare@bsquare.levillage.org> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
701 + - Bertrand Benoit <projettwk@users.sourceforge.net> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
702 - Tim Teulings <rael@edge.ping.de> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
703 - Georg Sauthoff <gsauthof@techfak.uni-bielefeld.de> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
704 - Pierre Thierry <nowhere.man@levallois.eu.org> (patches for STL algorithms) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
705 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
706 1.7.7.3 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
707 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
708 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
709 From 4008955783ef566b98b16762c7bfa28df26e9198 Mon Sep 17 00:00:00 2001 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
710 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
711 Date: Tue, 14 Jun 2011 18:37:54 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
712 Subject: [PATCH 13/27] Fixed compilation issue following namespace change. |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
713 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
714 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@588 5301114d-f842-0410-bbdd-996ee0417009 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
715 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
716 diff --git a/examples/example7.cpp b/examples/example7.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
717 index 1ddb3d0..243b1da 100644 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
718 --- a/examples/example7.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
719 +++ b/examples/example7.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
720 @@ -43,18 +43,18 @@ int main() |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
721 vmime::platform::setHandler<vmime::platforms::posix::posixHandler>(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
722 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
723 // Enumerate encoders |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
724 - vmime::encoderFactory* ef = vmime::encoderFactory::getInstance(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
725 + vmime::utility::encoder::encoderFactory* ef = vmime::utility::encoder::encoderFactory::getInstance(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
726 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
727 std::cout << "Available encoders:" << std::endl; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
728 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
729 for (int i = 0 ; i < ef->getEncoderCount() ; ++i) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
730 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
731 - vmime::ref <const vmime::encoderFactory::registeredEncoder> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
732 + vmime::ref <const vmime::utility::encoder::encoderFactory::registeredEncoder> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
733 enc = ef->getEncoderAt(i); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
734 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
735 std::cout << " * " << enc->getName() << std::endl; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
736 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
737 - vmime::ref <vmime::encoder> e = enc->create(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
738 + vmime::ref <vmime::utility::encoder::encoder> e = enc->create(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
739 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
740 std::vector <vmime::string> props = e->getAvailableProperties(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
741 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
742 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
743 1.7.7.3 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
744 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
745 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
746 From e80db1ce802a45b71659d16d77ea47368beeabc1 Mon Sep 17 00:00:00 2001 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
747 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
748 Date: Sun, 19 Jun 2011 17:51:33 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
749 Subject: [PATCH 14/27] Fixed parsing of an attachment filename that is |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
750 between 66 and 76 characters long (Zarafa). |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
751 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
752 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@589 5301114d-f842-0410-bbdd-996ee0417009 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
753 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
754 diff --git a/src/parameter.cpp b/src/parameter.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
755 index 91a7e5c..f59d5ab 100644 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
756 --- a/src/parameter.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
757 +++ b/src/parameter.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
758 @@ -281,7 +281,8 @@ void parameter::generate(utility::outputStream& os, const string::size_type maxL |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
759 bool needQuoting = false; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
760 string::size_type valueLength = 0; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
761 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
762 - for (string::size_type i = 0 ; (i < value.length()) && (pos + valueLength < maxLineLength - 4) ; ++i, ++valueLength) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
763 + // Use worst-case length name.length()+2 for 'name=' part of line |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
764 + for (string::size_type i = 0 ; (i < value.length()) && (pos + name.length() + 2 + valueLength < maxLineLength - 4) ; ++i, ++valueLength) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
765 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
766 switch (value[i]) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
767 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
768 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
769 1.7.7.3 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
770 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
771 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
772 From 58316dddddbfe8a7c582aa52e9abff8ca3a227b6 Mon Sep 17 00:00:00 2001 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
773 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
774 Date: Sun, 19 Jun 2011 18:08:12 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
775 Subject: [PATCH 15/27] Correctly generate attachment names which are long and |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
776 have high characters for Outlook Express (Zarafa). |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
777 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
778 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@590 5301114d-f842-0410-bbdd-996ee0417009 |
1660
2af2bc5dca3f
package vmime: fix .pc file
Mark Brand <mabrand@mabrand.nl>
parents:
1659
diff
changeset
|
779 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
780 diff --git a/src/parameter.cpp b/src/parameter.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
781 index f59d5ab..d757e1b 100644 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
782 --- a/src/parameter.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
783 +++ b/src/parameter.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
784 @@ -268,17 +268,19 @@ void parameter::generate(utility::outputStream& os, const string::size_type maxL |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
785 // value is to be generated. |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
786 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
787 // A stream for a temporary storage |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
788 - std::ostringstream sevenBitBuffer; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
789 + std::string sevenBitBuffer; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
790 + utility::outputStreamStringAdapter sevenBitStream(sevenBitBuffer); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
791 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
792 string::size_type pos = curLinePos; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
793 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
794 if (pos + name.length() + 10 + value.length() > maxLineLength) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
795 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
796 - sevenBitBuffer << NEW_LINE_SEQUENCE; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
797 + sevenBitStream << NEW_LINE_SEQUENCE; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
798 pos = NEW_LINE_SEQUENCE_LENGTH; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
799 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
800 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
801 bool needQuoting = false; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
802 + bool needQuotedPrintable = false; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
803 string::size_type valueLength = 0; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
804 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
805 // Use worst-case length name.length()+2 for 'name=' part of line |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
806 @@ -308,6 +310,16 @@ void parameter::generate(utility::outputStream& os, const string::size_type maxL |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
807 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
808 needQuoting = true; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
809 break; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
810 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
811 + default: |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
812 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
813 + if (!parserHelpers::isAscii(value[i])) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
814 + { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
815 + needQuotedPrintable = true; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
816 + needQuoting = true; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
817 + } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
818 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
819 + break; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
820 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
821 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
822 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
823 @@ -315,12 +327,12 @@ void parameter::generate(utility::outputStream& os, const string::size_type maxL |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
824 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
825 if (needQuoting) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
826 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
827 - sevenBitBuffer << name << "=\""; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
828 + sevenBitStream << name << "=\""; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
829 pos += name.length() + 2; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
830 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
831 else |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
832 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
833 - sevenBitBuffer << name << "="; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
834 + sevenBitStream << name << "="; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
835 pos += name.length() + 1; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
836 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
837 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
838 @@ -332,29 +344,43 @@ void parameter::generate(utility::outputStream& os, const string::size_type maxL |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
839 const bool alwaysEncode = m_value.getCharset().getRecommendedEncoding(recommendedEnc); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
840 bool extended = alwaysEncode; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
841 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
842 - for (string::size_type i = 0 ; (i < value.length()) && (pos < maxLineLength - 4) ; ++i) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
843 + if (needQuotedPrintable) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
844 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
845 - const char_t c = value[i]; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
846 - |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
847 - if (/* needQuoting && */ (c == '"' || c == '\\')) // 'needQuoting' is implicit |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
848 - { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
849 - sevenBitBuffer << '\\' << value[i]; // escape 'x' with '\x' |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
850 - pos += 2; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
851 - } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
852 - else if (parserHelpers::isAscii(c)) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
853 - { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
854 - sevenBitBuffer << value[i]; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
855 - ++pos; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
856 - } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
857 - else |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
858 + // Send the name in quoted-printable, so outlook express et.al. |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
859 + // will understand the real filename |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
860 + size_t oldLen = sevenBitBuffer.length(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
861 + m_value.generate(sevenBitStream); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
862 + pos += sevenBitBuffer.length() - oldLen; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
863 + extended = true; // also send with RFC-2231 encoding |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
864 + } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
865 + else |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
866 + { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
867 + // Do not chop off this value, but just add the complete name as one header line. |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
868 + for (string::size_type i = 0 ; i < value.length() ; ++i) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
869 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
870 - extended = true; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
871 + const char_t c = value[i]; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
872 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
873 + if (/* needQuoting && */ (c == '"' || c == '\\')) // 'needQuoting' is implicit |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
874 + { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
875 + sevenBitStream << '\\' << value[i]; // escape 'x' with '\x' |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
876 + pos += 2; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
877 + } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
878 + else if (parserHelpers::isAscii(c)) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
879 + { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
880 + sevenBitStream << value[i]; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
881 + ++pos; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
882 + } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
883 + else |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
884 + { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
885 + extended = true; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
886 + } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
887 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
888 - } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
889 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
890 + } // !needQuotedPrintable |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
891 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
892 if (needQuoting) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
893 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
894 - sevenBitBuffer << '"'; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
895 + sevenBitStream << '"'; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
896 ++pos; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
897 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
898 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
899 @@ -532,7 +558,7 @@ void parameter::generate(utility::outputStream& os, const string::size_type maxL |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
900 // "7bit/us-ascii" will suffice in this case. |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
901 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
902 // Output what has been stored in temporary buffer so far |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
903 - os << sevenBitBuffer.str(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
904 + os << sevenBitBuffer; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
905 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
906 #endif // !VMIME_ALWAYS_GENERATE_7BIT_PARAMETER |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
907 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
908 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
909 1.7.7.3 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
910 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
911 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
912 From f7ad17cffea462faf8cbe4f785644da0f3ee812a Mon Sep 17 00:00:00 2001 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
913 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
914 Date: Sun, 19 Jun 2011 18:16:49 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
915 Subject: [PATCH 16/27] Alias for UTF-7 charset. |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
916 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
917 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@591 5301114d-f842-0410-bbdd-996ee0417009 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
918 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
919 diff --git a/src/charset.cpp b/src/charset.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
920 index e043186..0fda450 100644 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
921 --- a/src/charset.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
922 +++ b/src/charset.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
923 @@ -45,6 +45,9 @@ charset::charset() |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
924 charset::charset(const string& name) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
925 : m_name(name) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
926 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
927 + // If we receive this rfc-1642 valid MIME charset, convert it to something usefull for iconv |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
928 + if (utility::stringUtils::isStringEqualNoCase(m_name, "unicode-1-1-utf-7")) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
929 + m_name = "utf-7"; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
930 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
931 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
932 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
933 @@ -60,6 +63,10 @@ void charset::parse(const string& buffer, const string::size_type position, |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
934 m_name = utility::stringUtils::trim |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
935 (string(buffer.begin() + position, buffer.begin() + end)); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
936 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
937 + // If we parsed this rfc-1642 valid MIME charset, convert it to something usefull for iconv |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
938 + if (utility::stringUtils::isStringEqualNoCase(m_name, "unicode-1-1-utf-7")) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
939 + m_name = "utf-7"; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
940 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
941 setParsedBounds(position, end); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
942 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
943 if (newPosition) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
944 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
945 1.7.7.3 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
946 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
947 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
948 From eac20f47a33a7fdd617f9fd905b8029621259269 Mon Sep 17 00:00:00 2001 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
949 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
950 Date: Sun, 19 Jun 2011 18:39:35 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
951 Subject: [PATCH 17/27] Fixed messageBuilder to accept an empty mailbox group |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
952 in 'To:' field, to allow for undisclosed-recipients |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
953 (Zarafa). |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
954 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
955 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@592 5301114d-f842-0410-bbdd-996ee0417009 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
956 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
957 diff --git a/src/messageBuilder.cpp b/src/messageBuilder.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
958 index 870d59e..3597b3a 100644 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
959 --- a/src/messageBuilder.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
960 +++ b/src/messageBuilder.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
961 @@ -51,17 +51,15 @@ ref <message> messageBuilder::construct() const |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
962 // Generate the header fields |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
963 msg->getHeader()->Subject()->setValue(m_subject); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
964 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
965 - if (m_from.isEmpty()) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
966 - throw exceptions::no_expeditor(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
967 - |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
968 - if ((m_to.isEmpty() || m_to.getAddressAt(0)->isEmpty()) && |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
969 + if (((m_to.isEmpty()) || (m_to.getAddressAt(0)->isEmpty() && !m_to.getAddressAt(0)->isGroup())) && |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
970 (m_cc.isEmpty() || m_cc.getAddressAt(0)->isEmpty()) && |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
971 (m_bcc.isEmpty() || m_bcc.getAddressAt(0)->isEmpty())) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
972 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
973 throw exceptions::no_recipient(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
974 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
975 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
976 - msg->getHeader()->From()->setValue(m_from); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
977 + if (!m_from.isEmpty()) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
978 + msg->getHeader()->From()->setValue(m_from); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
979 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
980 if (!m_to.isEmpty()) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
981 msg->getHeader()->To()->setValue(m_to); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
982 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
983 1.7.7.3 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
984 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
985 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
986 From 1e5dfa80a63b0a7fe90406ce4a3de1593f2e4045 Mon Sep 17 00:00:00 2001 |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
987 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
988 Date: Sun, 19 Jun 2011 18:49:55 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
989 Subject: [PATCH 18/27] Added support for mailboxes that specify an (encoded) |
1891
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
990 full name with an empty email address, set by a <> |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
991 marker (Zarafa). |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
992 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
993 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@593 5301114d-f842-0410-bbdd-996ee0417009 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
994 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
995 diff --git a/src/mailbox.cpp b/src/mailbox.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
996 index 5cb0139..fea7479 100644 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
997 --- a/src/mailbox.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
998 +++ b/src/mailbox.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
999 @@ -88,6 +88,7 @@ void mailbox::parse(const string& buffer, const string::size_type position, |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1000 // Temporary buffers for extracted name and address |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1001 string name; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1002 string address; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1003 + bool hadBrackets = false; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1004 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1005 while (p < pend) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1006 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1007 @@ -283,6 +284,7 @@ void mailbox::parse(const string& buffer, const string::size_type position, |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1008 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1009 else if (*p == '>') |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1010 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1011 + hadBrackets = true; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1012 break; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1013 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1014 else if (!parserHelpers::isSpace(*p)) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1015 @@ -309,7 +311,7 @@ void mailbox::parse(const string& buffer, const string::size_type position, |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1016 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1017 // Swap name and address when no address was found |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1018 // (email address is mandatory, whereas name is optional). |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1019 - if (address.empty() && !name.empty()) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1020 + if (address.empty() && !name.empty() && !hadBrackets) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1021 { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1022 m_email.clear(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1023 m_email.reserve(name.size()); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1024 diff --git a/tests/parser/mailboxTest.cpp b/tests/parser/mailboxTest.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1025 index 8411daa..9ebadca 100644 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1026 --- a/tests/parser/mailboxTest.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1027 +++ b/tests/parser/mailboxTest.cpp |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1028 @@ -32,6 +32,7 @@ VMIME_TEST_SUITE_BEGIN |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1029 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1030 VMIME_TEST_LIST_BEGIN |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1031 VMIME_TEST(testParse) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1032 + VMIME_TEST(testEmptyEmailAddress) |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1033 VMIME_TEST_LIST_END |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1034 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1035 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1036 @@ -113,5 +114,19 @@ VMIME_TEST_SUITE_BEGIN |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1037 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1038 } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1039 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1040 + void testEmptyEmailAddress() |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1041 + { |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1042 + vmime::addressList addrList; |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1043 + addrList.parse("\"Full Name\" <>"); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1044 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1045 + VASSERT_EQ("count", 1, addrList.getAddressCount()); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1046 + VASSERT_EQ("!group", false, addrList.getAddressAt(0)->isGroup()); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1047 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1048 + vmime::ref <vmime::mailbox> mbox = addrList.getAddressAt(0).dynamicCast <vmime::mailbox>(); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1049 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1050 + VASSERT_EQ("name", "Full Name", mbox->getName()); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1051 + VASSERT_EQ("email", "", mbox->getEmail()); |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1052 + } |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1053 + |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1054 VMIME_TEST_SUITE_END |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1055 |
8b7126f6b0ff
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1710
diff
changeset
|
1056 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1057 1.7.7.3 |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1058 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1059 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1060 From 960f2195516eb776eea7b7e4f92612192edfdcd9 Mon Sep 17 00:00:00 2001 |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1061 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1062 Date: Fri, 24 Jun 2011 15:46:23 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1063 Subject: [PATCH 19/27] Added missing libs in pkg-config file. |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1064 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1065 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@594 5301114d-f842-0410-bbdd-996ee0417009 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1066 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1067 diff --git a/SConstruct b/SConstruct |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1068 index 177f5b4..37c0ac6 100644 |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1069 --- a/SConstruct |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1070 +++ b/SConstruct |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1071 @@ -1089,7 +1089,7 @@ def generateAutotools(target, source, env): |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1072 vmime_pc_in.write("Description: " + packageDescription + "\n") |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1073 vmime_pc_in.write("Version: @VERSION@\n") |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1074 vmime_pc_in.write("Requires: @GSASL_REQUIRED@\n") |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1075 - vmime_pc_in.write("Libs: -L${libdir} -l@GENERIC_VERSIONED_LIBRARY_NAME@ @GSASL_LIBS@ @LIBGNUTLS_LIBS@ @LIBICONV@ @PTHREAD_LIBS@ @VMIME_ADDITIONAL_PC_LIBS@\n") |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1076 + vmime_pc_in.write("Libs: -L${libdir} -l@GENERIC_VERSIONED_LIBRARY_NAME@ @GSASL_LIBS@ @LIBGNUTLS_LIBS@ @LIBICONV@ @PTHREAD_LIBS@ @LIBICONV@ @PTHREAD_LIBS@ @VMIME_ADDITIONAL_PC_LIBS@\n") |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1077 #vmime_pc_in.write("Cflags: -I${includedir}/@GENERIC_VERSIONED_LIBRARY_NAME@\n") |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1078 vmime_pc_in.write("Cflags: -I${includedir}/ @LIBGNUTLS_CFLAGS@\n") |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1079 vmime_pc_in.close() |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1080 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1081 1.7.7.3 |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1082 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1083 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1084 From 9f9084b71b4e3c96edc6513020984ef76fe26e0c Mon Sep 17 00:00:00 2001 |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1085 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1086 Date: Sat, 25 Jun 2011 17:07:53 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1087 Subject: [PATCH 20/27] Fixed parsing of empty body parts (thanks to John van |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1088 der Kamp, from Zarafa). |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1089 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1090 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@595 5301114d-f842-0410-bbdd-996ee0417009 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1091 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1092 diff --git a/src/body.cpp b/src/body.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1093 index 8596833..9d7d57f 100644 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1094 --- a/src/body.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1095 +++ b/src/body.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1096 @@ -197,6 +197,11 @@ void body::parse(const string& buffer, const string::size_type position, |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1097 { |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1098 ref <bodyPart> part = vmime::create <bodyPart>(); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1099 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1100 + // End before start may happen on empty bodyparts (directly |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1101 + // successive boundaries without even a line-break) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1102 + if (partEnd < partStart) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1103 + std::swap(partStart, partEnd); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1104 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1105 part->parse(buffer, partStart, partEnd, NULL); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1106 part->m_parent = m_part; |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1107 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1108 diff --git a/tests/parser/bodyPartTest.cpp b/tests/parser/bodyPartTest.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1109 index b129913..075b8f9 100644 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1110 --- a/tests/parser/bodyPartTest.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1111 +++ b/tests/parser/bodyPartTest.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1112 @@ -36,6 +36,7 @@ VMIME_TEST_SUITE_BEGIN |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1113 VMIME_TEST(testParseMissingLastBoundary) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1114 VMIME_TEST(testPrologEpilog) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1115 VMIME_TEST(testPrologEncoding) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1116 + VMIME_TEST(testSuccessiveBoundaries) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1117 VMIME_TEST_LIST_END |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1118 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1119 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1120 @@ -181,5 +182,23 @@ VMIME_TEST_SUITE_BEGIN |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1121 VASSERT_EQ("epilog", "Epilog text", msg->getBody()->getEpilogText()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1122 } |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1123 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1124 + void testSuccessiveBoundaries() |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1125 + { |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1126 + vmime::string str = |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1127 + "Content-Type: multipart/mixed; boundary=\"MY-BOUNDARY\"" |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1128 + "\r\n\r\n" |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1129 + "--MY-BOUNDARY\r\nHEADER1\r\n\r\nBODY1\r\n" |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1130 + "--MY-BOUNDARY\r\n" |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1131 + "--MY-BOUNDARY--\r\n"; |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1132 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1133 + vmime::bodyPart p; |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1134 + p.parse(str); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1135 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1136 + VASSERT_EQ("count", 2, p.getBody()->getPartCount()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1137 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1138 + VASSERT_EQ("part1-body", "BODY1", extractContents(p.getBody()->getPartAt(0)->getBody()->getContents())); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1139 + VASSERT_EQ("part2-body", "", extractContents(p.getBody()->getPartAt(1)->getBody()->getContents())); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1140 + } |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1141 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1142 VMIME_TEST_SUITE_END |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1143 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1144 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1145 1.7.7.3 |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1146 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1147 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1148 From 318848aa87761214a6f21c1ea1a9776a7bcbf83c Mon Sep 17 00:00:00 2001 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1149 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1150 Date: Sun, 26 Jun 2011 08:19:11 +0000 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1151 Subject: [PATCH 21/27] Use gnutls_priority_set_direct() instead of GNUTLS |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1152 deprecated functions. |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1153 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1154 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@596 5301114d-f842-0410-bbdd-996ee0417009 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1155 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1156 diff --git a/SConstruct b/SConstruct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1157 index 37c0ac6..01ad3f3 100644 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1158 --- a/SConstruct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1159 +++ b/SConstruct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1160 @@ -816,6 +816,7 @@ else: |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1161 config_hpp.write('// -- TLS/SSL support\n') |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1162 if env['with_tls'] == 'yes': |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1163 config_hpp.write('#define VMIME_HAVE_TLS_SUPPORT 1\n') |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1164 + config_hpp.write('#define HAVE_GNUTLS_PRIORITY_FUNCS 1\n') |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1165 else: |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1166 config_hpp.write('#define VMIME_HAVE_TLS_SUPPORT 0\n') |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1167 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1168 @@ -1626,11 +1627,42 @@ if test "x$conf_tls" = "xyes"; then |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1169 else |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1170 AC_MSG_ERROR(can't find an usable version of GNU TLS library) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1171 fi |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1172 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1173 + # -- check for gnutls_priority_set_direct() function |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1174 + if test "x$have_gnutls" = "xyes"; then |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1175 + AC_MSG_CHECKING(for gnutls_priority_set_direct) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1176 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1177 + LIBS_save="$LIBS" |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1178 + LIBS="$LIBS $LIBGNUTLS_LIBS" |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1179 + CPPFLAGS_save="$CPPFLAGS" |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1180 + CPPFLAGS="$CPPFLAGS $LIBGNUTLS_CFLAGS" |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1181 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1182 + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <gnutls/gnutls.h>], |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1183 + [gnutls_session s; gnutls_priority_set_direct(s, NULL, NULL);])], |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1184 + [have_gnutls_priority_funcs=yes], |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1185 + [have_gnutls_priority_funcs=no]) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1186 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1187 + CPPFLAGS="$CPPFLAGS_save" |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1188 + LIBS="$LIBS_save" |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1189 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1190 + AC_MSG_RESULT([$have_gnutls_priority_funcs]) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1191 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1192 + if test "x$have_gnutls_priority_funcs" = "xyes"; then |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1193 + AM_CONDITIONAL(HAVE_GNUTLS_PRIORITY_FUNCS, true) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1194 + HAVE_GNUTLS_PRIORITY_FUNCS=1 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1195 + else |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1196 + AM_CONDITIONAL(HAVE_GNUTLS_PRIORITY_FUNCS, false) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1197 + HAVE_GNUTLS_PRIORITY_FUNCS=0 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1198 + fi |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1199 + fi |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1200 else |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1201 AM_CONDITIONAL(VMIME_HAVE_TLS_SUPPORT, false) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1202 VMIME_HAVE_TLS_SUPPORT=0 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1203 fi |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1204 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1205 +AC_SUBST(LIBGNUTLS_CFLAGS) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1206 +AC_SUBST(LIBGNUTLS_LIBS) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1207 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1208 # ** platform handlers |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1209 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1210 VMIME_BUILTIN_PLATFORMS='' |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1211 @@ -1919,6 +1951,7 @@ typedef unsigned ${VMIME_TYPE_INT32} vmime_uint32; |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1212 #define VMIME_HAVE_SASL_SUPPORT ${VMIME_HAVE_SASL_SUPPORT} |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1213 // -- TLS support |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1214 #define VMIME_HAVE_TLS_SUPPORT ${VMIME_HAVE_TLS_SUPPORT} |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1215 +#define HAVE_GNUTLS_PRIORITY_FUNCS ${HAVE_GNUTLS_PRIORITY_FUNCS} |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1216 // -- Messaging support |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1217 #define VMIME_HAVE_MESSAGING_FEATURES ${VMIME_HAVE_MESSAGING_FEATURES} |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1218 """) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1219 diff --git a/src/net/tls/TLSSession.cpp b/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1220 index 010c007..af73a05 100644 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1221 --- a/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1222 +++ b/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1223 @@ -123,6 +123,21 @@ TLSSession::TLSSession(ref <security::cert::certificateVerifier> cv) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1224 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1225 // Sets some default priority on the ciphers, key exchange methods, |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1226 // macs and compression methods. |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1227 +#if HAVE_GNUTLS_PRIORITY_FUNCS |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1228 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1229 + if ((res = gnutls_priority_set_direct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1230 + (*m_gnutlsSession, "NORMAL:%SSL3_RECORD_VERSION", NULL)) != 0) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1231 + { |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1232 + if ((res = gnutls_priority_set_direct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1233 + (*m_gnutlsSession, "NORMAL", NULL)) != 0) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1234 + { |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1235 + throwTLSException |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1236 + ("gnutls_priority_set_direct", res); |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1237 + } |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1238 + } |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1239 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1240 +#else // !HAVE_GNUTLS_PRIORITY_FUNCS |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1241 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1242 gnutls_set_default_priority(*m_gnutlsSession); |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1243 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1244 // Sets the priority on the certificate types supported by gnutls. |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1245 @@ -197,6 +212,8 @@ TLSSession::TLSSession(ref <security::cert::certificateVerifier> cv) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1246 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1247 gnutls_compression_set_priority(*m_gnutlsSession, compressionPriority); |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1248 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1249 +#endif // !HAVE_GNUTLS_PRIORITY_FUNCS |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1250 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1251 // Initialize credentials |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1252 gnutls_credentials_set(*m_gnutlsSession, |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1253 GNUTLS_CRD_ANON, g_gnutlsGlobal.anonCred); |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1254 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1255 1.7.7.3 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1256 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1257 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1258 From 70a0282a3f96febf973475a298ac95ffaab82c3c Mon Sep 17 00:00:00 2001 |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1259 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1260 Date: Sun, 26 Jun 2011 12:47:25 +0000 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1261 Subject: [PATCH 22/27] Fixed encoding of whitespace. Fixed old test case. |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1262 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1263 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@597 5301114d-f842-0410-bbdd-996ee0417009 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1264 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1265 diff --git a/src/text.cpp b/src/text.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1266 index 2454456..66c3b35 100644 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1267 --- a/src/text.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1268 +++ b/src/text.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1269 @@ -320,12 +320,6 @@ void text::createFromString(const string& in, const charset& ch) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1270 } |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1271 else |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1272 { |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1273 - if (count) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1274 - { |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1275 - ref <word> w = getWordAt(getWordCount() - 1); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1276 - w->getBuffer() += ' '; |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1277 - } |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1278 - |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1279 appendWord(vmime::create <word> |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1280 (chunk, charset(charsets::US_ASCII))); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1281 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1282 diff --git a/tests/parser/textTest.cpp b/tests/parser/textTest.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1283 index 746ac94..43ec836 100644 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1284 --- a/tests/parser/textTest.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1285 +++ b/tests/parser/textTest.cpp |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1286 @@ -53,6 +53,8 @@ VMIME_TEST_SUITE_BEGIN |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1287 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1288 VMIME_TEST(testFoldingAscii) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1289 VMIME_TEST(testForcedNonEncoding) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1290 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1291 + VMIME_TEST(testBugFix20110511) |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1292 VMIME_TEST_LIST_END |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1293 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1294 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1295 @@ -149,7 +151,7 @@ VMIME_TEST_SUITE_BEGIN |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1296 VASSERT_EQ("2.1", 3, t2.getWordCount()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1297 VASSERT_EQ("2.2", "some ASCII characters and special chars: ", t2.getWordAt(0)->getBuffer()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1298 VASSERT_EQ("2.3", vmime::charset(vmime::charsets::US_ASCII), t2.getWordAt(0)->getCharset()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1299 - VASSERT_EQ("2.4", "\xf1\xf2\xf3\xf4 ", t2.getWordAt(1)->getBuffer()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1300 + VASSERT_EQ("2.4", "\xf1\xf2\xf3\xf4", t2.getWordAt(1)->getBuffer()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1301 VASSERT_EQ("2.5", c2, t2.getWordAt(1)->getCharset()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1302 VASSERT_EQ("2.6", "and then more ASCII chars.", t2.getWordAt(2)->getBuffer()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1303 VASSERT_EQ("2.7", vmime::charset(vmime::charsets::US_ASCII), t2.getWordAt(2)->getCharset()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1304 @@ -453,5 +455,43 @@ VMIME_TEST_SUITE_BEGIN |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1305 VASSERT_EQ("received.long", "from User\r\n (Ee9GMqZQ8t7IQwftfAFHd2KyScCYRrFSJ50tKEoXv2bVCG4HcPU80GGWiFabAvG77FekpGgF1h@[127.0.0.1])\r\n by servername.hostname.com with esmtp id 1NGTS9-2C0sqG0; Fri, 4 Dec 2009\r\n 09:23:49 +0100", r.generate(78)); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1306 } |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1307 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1308 + void testBugFix20110511() |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1309 + { |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1310 + /* |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1311 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1312 + Using the latest version of vmime (0.9.1), encoding the following string: Jean |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1313 + Gwenaël Dutourd will result in: |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1314 + Jean =?utf-8?Q?Gwena=C3=ABl_?= Dutourd |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1315 + However, decoding this will result in Jean Gwenaël Dutourd (notice two spaces |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1316 + between the last 2 words). The encoder adds a _ after the second word, but |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1317 + since the last word is not encoded, the space between them is not ignored, and |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1318 + is decoded into an additional space. |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1319 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1320 + See: http://sourceforge.net/projects/vmime/forums/forum/237357/topic/4531365 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1321 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1322 + */ |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1323 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1324 + const std::string DECODED_TEXT = "Jean Gwenaël Dutourd"; |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1325 + const std::string ENCODED_TEXT = "Jean =?utf-8?Q?Gwena=C3=ABl?= Dutourd"; |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1326 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1327 + // Encode |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1328 + VASSERT_EQ("encode", ENCODED_TEXT, |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1329 + vmime::text::newFromString(DECODED_TEXT, vmime::charset("utf-8"))->generate()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1330 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1331 + // Decode |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1332 + vmime::text t; |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1333 + t.parse(ENCODED_TEXT); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1334 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1335 + // -- words |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1336 + std::ostringstream oss; oss << t; |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1337 + VASSERT_EQ("decode1", |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1338 + "[text: [[word: charset=us-ascii, buffer=Jean ]," |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1339 + "[word: charset=utf-8, buffer=Gwenaël]," |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1340 + "[word: charset=us-ascii, buffer= Dutourd]]]", oss.str()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1341 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1342 + // -- getWholeBuffer |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1343 + VASSERT_EQ("decode2", DECODED_TEXT, t.getWholeBuffer()); |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1344 + } |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1345 + |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1346 VMIME_TEST_SUITE_END |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1347 |
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1348 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1349 1.7.7.3 |
2055
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1350 |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1351 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1352 From 7d399583a458abe5cd16ce0974bd4dc11daba9f6 Mon Sep 17 00:00:00 2001 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1353 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1354 Date: Sat, 20 Aug 2011 06:35:06 +0000 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1355 Subject: [PATCH 23/27] Use gnutls_strerror() for reporting errors. |
2055
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1356 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1357 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@598 5301114d-f842-0410-bbdd-996ee0417009 |
1920
1f0b8dadb2e8
package vmime: cherry picked fixes
Mark Brand <mabrand@mabrand.nl>
parents:
1891
diff
changeset
|
1358 |
2055
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1359 diff --git a/src/net/tls/TLSSession.cpp b/src/net/tls/TLSSession.cpp |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1360 index af73a05..7426a73 100644 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1361 --- a/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1362 +++ b/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1363 @@ -41,6 +41,9 @@ |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1364 //#define GNUTLS_DEBUG 1 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1365 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1366 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1367 +#include <sstream> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1368 +#include <iomanip> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1369 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1370 #if VMIME_DEBUG && GNUTLS_DEBUG |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1371 #include <iostream> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1372 #endif // VMIME_DEBUG && GNUTLS_DEBUG |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1373 @@ -257,119 +260,14 @@ ref <security::cert::certificateVerifier> TLSSession::getCertificateVerifier() |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1374 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1375 void TLSSession::throwTLSException(const string& fname, const int code) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1376 { |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1377 - string msg = fname + "() returned "; |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1378 - |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1379 -#define ERROR(x) \ |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1380 - case x: msg += #x; break; |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1381 - |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1382 - switch (code) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1383 - { |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1384 - ERROR(GNUTLS_E_SUCCESS) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1385 - ERROR(GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1386 - ERROR(GNUTLS_E_UNKNOWN_CIPHER_TYPE) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1387 - ERROR(GNUTLS_E_LARGE_PACKET) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1388 - ERROR(GNUTLS_E_UNSUPPORTED_VERSION_PACKET) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1389 - ERROR(GNUTLS_E_UNEXPECTED_PACKET_LENGTH) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1390 - ERROR(GNUTLS_E_INVALID_SESSION) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1391 - ERROR(GNUTLS_E_FATAL_ALERT_RECEIVED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1392 - ERROR(GNUTLS_E_UNEXPECTED_PACKET) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1393 - ERROR(GNUTLS_E_WARNING_ALERT_RECEIVED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1394 - ERROR(GNUTLS_E_ERROR_IN_FINISHED_PACKET) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1395 - ERROR(GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1396 - ERROR(GNUTLS_E_UNKNOWN_CIPHER_SUITE) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1397 - ERROR(GNUTLS_E_UNWANTED_ALGORITHM) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1398 - ERROR(GNUTLS_E_MPI_SCAN_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1399 - ERROR(GNUTLS_E_DECRYPTION_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1400 - ERROR(GNUTLS_E_MEMORY_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1401 - ERROR(GNUTLS_E_DECOMPRESSION_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1402 - ERROR(GNUTLS_E_COMPRESSION_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1403 - ERROR(GNUTLS_E_AGAIN) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1404 - ERROR(GNUTLS_E_EXPIRED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1405 - ERROR(GNUTLS_E_DB_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1406 - ERROR(GNUTLS_E_SRP_PWD_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1407 - ERROR(GNUTLS_E_INSUFFICIENT_CREDENTIALS) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1408 - ERROR(GNUTLS_E_HASH_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1409 - ERROR(GNUTLS_E_BASE64_DECODING_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1410 - ERROR(GNUTLS_E_MPI_PRINT_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1411 - ERROR(GNUTLS_E_REHANDSHAKE) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1412 - ERROR(GNUTLS_E_GOT_APPLICATION_DATA) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1413 - ERROR(GNUTLS_E_RECORD_LIMIT_REACHED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1414 - ERROR(GNUTLS_E_ENCRYPTION_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1415 - ERROR(GNUTLS_E_PK_ENCRYPTION_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1416 - ERROR(GNUTLS_E_PK_DECRYPTION_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1417 - ERROR(GNUTLS_E_PK_SIGN_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1418 - ERROR(GNUTLS_E_X509_UNSUPPORTED_CRITICAL_EXTENSION) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1419 - ERROR(GNUTLS_E_KEY_USAGE_VIOLATION) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1420 - ERROR(GNUTLS_E_NO_CERTIFICATE_FOUND) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1421 - ERROR(GNUTLS_E_INVALID_REQUEST) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1422 - ERROR(GNUTLS_E_SHORT_MEMORY_BUFFER) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1423 - ERROR(GNUTLS_E_INTERRUPTED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1424 - ERROR(GNUTLS_E_PUSH_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1425 - ERROR(GNUTLS_E_PULL_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1426 - ERROR(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1427 - ERROR(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1428 - ERROR(GNUTLS_E_PKCS1_WRONG_PAD) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1429 - ERROR(GNUTLS_E_RECEIVED_ILLEGAL_EXTENSION) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1430 - ERROR(GNUTLS_E_INTERNAL_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1431 - ERROR(GNUTLS_E_DH_PRIME_UNACCEPTABLE) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1432 - ERROR(GNUTLS_E_FILE_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1433 - ERROR(GNUTLS_E_TOO_MANY_EMPTY_PACKETS) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1434 - ERROR(GNUTLS_E_UNKNOWN_PK_ALGORITHM) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1435 - ERROR(GNUTLS_E_INIT_LIBEXTRA) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1436 - ERROR(GNUTLS_E_LIBRARY_VERSION_MISMATCH) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1437 - ERROR(GNUTLS_E_NO_TEMPORARY_RSA_PARAMS) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1438 - ERROR(GNUTLS_E_LZO_INIT_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1439 - ERROR(GNUTLS_E_NO_COMPRESSION_ALGORITHMS) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1440 - ERROR(GNUTLS_E_NO_CIPHER_SUITES) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1441 - ERROR(GNUTLS_E_OPENPGP_GETKEY_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1442 - ERROR(GNUTLS_E_PK_SIG_VERIFY_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1443 - ERROR(GNUTLS_E_ILLEGAL_SRP_USERNAME) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1444 - ERROR(GNUTLS_E_SRP_PWD_PARSING_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1445 - ERROR(GNUTLS_E_NO_TEMPORARY_DH_PARAMS) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1446 - ERROR(GNUTLS_E_ASN1_ELEMENT_NOT_FOUND) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1447 - ERROR(GNUTLS_E_ASN1_IDENTIFIER_NOT_FOUND) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1448 - ERROR(GNUTLS_E_ASN1_DER_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1449 - ERROR(GNUTLS_E_ASN1_VALUE_NOT_FOUND) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1450 - ERROR(GNUTLS_E_ASN1_GENERIC_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1451 - ERROR(GNUTLS_E_ASN1_VALUE_NOT_VALID) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1452 - ERROR(GNUTLS_E_ASN1_TAG_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1453 - ERROR(GNUTLS_E_ASN1_TAG_IMPLICIT) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1454 - ERROR(GNUTLS_E_ASN1_TYPE_ANY_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1455 - ERROR(GNUTLS_E_ASN1_SYNTAX_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1456 - ERROR(GNUTLS_E_ASN1_DER_OVERFLOW) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1457 - //ERROR(GNUTLS_E_OPENPGP_TRUSTDB_VERSION_UNSUPPORTED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1458 - ERROR(GNUTLS_E_OPENPGP_UID_REVOKED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1459 - ERROR(GNUTLS_E_CERTIFICATE_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1460 - //ERROR(GNUTLS_E_X509_CERTIFICATE_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1461 - ERROR(GNUTLS_E_CERTIFICATE_KEY_MISMATCH) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1462 - ERROR(GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1463 - ERROR(GNUTLS_E_X509_UNKNOWN_SAN) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1464 - ERROR(GNUTLS_E_OPENPGP_FINGERPRINT_UNSUPPORTED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1465 - ERROR(GNUTLS_E_X509_UNSUPPORTED_ATTRIBUTE) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1466 - ERROR(GNUTLS_E_UNKNOWN_HASH_ALGORITHM) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1467 - ERROR(GNUTLS_E_UNKNOWN_PKCS_CONTENT_TYPE) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1468 - ERROR(GNUTLS_E_UNKNOWN_PKCS_BAG_TYPE) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1469 - ERROR(GNUTLS_E_INVALID_PASSWORD) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1470 - ERROR(GNUTLS_E_MAC_VERIFY_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1471 - ERROR(GNUTLS_E_CONSTRAINT_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1472 - ERROR(GNUTLS_E_BASE64_ENCODING_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1473 - ERROR(GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1474 - //ERROR(GNUTLS_E_INCOMPATIBLE_CRYPTO_LIBRARY) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1475 - ERROR(GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1476 - ERROR(GNUTLS_E_OPENPGP_KEYRING_ERROR) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1477 - ERROR(GNUTLS_E_X509_UNSUPPORTED_OID) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1478 - //ERROR(GNUTLS_E_RANDOM_FAILED) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1479 - ERROR(GNUTLS_E_UNIMPLEMENTED_FEATURE) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1480 - |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1481 - default: |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1482 - |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1483 - msg += "unknown error"; |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1484 - break; |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1485 - } |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1486 + std::ostringstream msg; |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1487 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1488 -#undef ERROR |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1489 + msg << fname + "() returned code "; |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1490 + msg << std::hex << code; |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1491 + msg << ": "; |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1492 + msg << gnutls_strerror(code); |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1493 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1494 - throw exceptions::tls_exception(msg); |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1495 + throw exceptions::tls_exception(msg.str()); |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1496 } |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1497 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1498 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1499 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1500 1.7.7.3 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1501 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1502 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1503 From aae321dede5e725140534a08a8b2ee997faa30be Mon Sep 17 00:00:00 2001 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1504 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1505 Date: Sun, 21 Aug 2011 08:55:46 +0000 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1506 Subject: [PATCH 24/27] Removed dependency on gcrypt for gnutls version >= |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1507 2.12. |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1508 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1509 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@599 5301114d-f842-0410-bbdd-996ee0417009 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1510 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1511 diff --git a/src/net/tls/TLSSession.cpp b/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1512 index 7426a73..d3f6d49 100644 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1513 --- a/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1514 +++ b/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1515 @@ -26,9 +26,17 @@ |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1516 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1517 #include "vmime/config.hpp" |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1518 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1519 +// Dependency on gcrypt is not needed since GNU TLS version 2.12. |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1520 +// See here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=638651 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1521 +#if GNUTLS_VERSION_NUMBER <= 0x020b00 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1522 +# define VMIME_GNUTLS_NEEDS_GCRYPT 1 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1523 +#endif |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1524 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1525 #if VMIME_HAVE_PTHREAD |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1526 # include <pthread.h> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1527 -# include <gcrypt.h> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1528 +# if VMIME_GNUTLS_NEEDS_GCRYPT |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1529 +# include <gcrypt.h> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1530 +# endif |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1531 # include <errno.h> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1532 #endif // VMIME_HAVE_PTHREAD |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1533 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1534 @@ -49,7 +57,7 @@ |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1535 #endif // VMIME_DEBUG && GNUTLS_DEBUG |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1536 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1537 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1538 -#if VMIME_HAVE_PTHREAD && defined(GCRY_THREAD_OPTION_PTHREAD_IMPL) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1539 +#if VMIME_HAVE_PTHREAD && VMIME_GNUTLS_NEEDS_GCRYPT && defined(GCRY_THREAD_OPTION_PTHREAD_IMPL) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1540 extern "C" |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1541 { |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1542 GCRY_THREAD_OPTION_PTHREAD_IMPL; |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1543 @@ -70,7 +78,9 @@ struct TLSGlobal |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1544 TLSGlobal() |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1545 { |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1546 #if VMIME_HAVE_PTHREAD && defined(GCRY_THREAD_OPTION_PTHREAD_IMPL) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1547 + #if VMIME_GNUTLS_NEEDS_GCRYPT |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1548 gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread); |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1549 + #endif // VMIME_GNUTLS_NEEDS_GCRYPT |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1550 #endif // VMIME_HAVE_PTHREAD && defined(GCRY_THREAD_OPTION_PTHREAD_IMPL |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1551 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1552 gnutls_global_init(); |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1553 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1554 1.7.7.3 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1555 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1556 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1557 From af1e5664afb663fb7d26d468adf675fb1b3f8737 Mon Sep 17 00:00:00 2001 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1558 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1559 Date: Sun, 21 Aug 2011 09:04:46 +0000 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1560 Subject: [PATCH 25/27] Fixed HAVE_GNUTLS_PRIORITY_FUNCS never defined when |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1561 configured with no TLS support. |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1562 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1563 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@600 5301114d-f842-0410-bbdd-996ee0417009 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1564 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1565 diff --git a/SConstruct b/SConstruct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1566 index 01ad3f3..11e884b 100644 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1567 --- a/SConstruct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1568 +++ b/SConstruct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1569 @@ -1654,10 +1654,16 @@ if test "x$conf_tls" = "xyes"; then |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1570 AM_CONDITIONAL(HAVE_GNUTLS_PRIORITY_FUNCS, false) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1571 HAVE_GNUTLS_PRIORITY_FUNCS=0 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1572 fi |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1573 + else |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1574 + AM_CONDITIONAL(HAVE_GNUTLS_PRIORITY_FUNCS, false) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1575 + HAVE_GNUTLS_PRIORITY_FUNCS=0 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1576 fi |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1577 else |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1578 AM_CONDITIONAL(VMIME_HAVE_TLS_SUPPORT, false) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1579 VMIME_HAVE_TLS_SUPPORT=0 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1580 + |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1581 + AM_CONDITIONAL(HAVE_GNUTLS_PRIORITY_FUNCS, false) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1582 + HAVE_GNUTLS_PRIORITY_FUNCS=0 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1583 fi |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1584 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1585 AC_SUBST(LIBGNUTLS_CFLAGS) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1586 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1587 1.7.7.3 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1588 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1589 |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1590 From 41079b2f188bb4a6d8aea9ec1328653faee3e2c9 Mon Sep 17 00:00:00 2001 |
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1591 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1592 Date: Tue, 15 Nov 2011 11:40:42 +0000 |
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1593 Subject: [PATCH 26/27] GNU TLS 3 has no 'extra' (thanks to mabrand). |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1594 |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1595 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@601 5301114d-f842-0410-bbdd-996ee0417009 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1596 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1597 diff --git a/src/net/tls/TLSSession.cpp b/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1598 index d3f6d49..cb50acc 100644 |
2055
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1599 --- a/src/net/tls/TLSSession.cpp |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1600 +++ b/src/net/tls/TLSSession.cpp |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1601 @@ -22,7 +22,9 @@ |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1602 // |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1603 |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1604 #include <gnutls/gnutls.h> |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1605 +#if GNUTLS_VERSION_NUMBER < 0x030000 |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1606 #include <gnutls/extra.h> |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1607 +#endif |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1608 |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1609 #include "vmime/config.hpp" |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1610 |
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1611 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1612 1.7.7.3 |
2055
c26efa95224d
packages curl gsoap vmime: gnutls 3 compatibility
Mark Brand <mabrand@mabrand.nl>
parents:
1948
diff
changeset
|
1613 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1614 |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1615 From eafae52d9b8ec9682c229090b6208092b1d1e6f1 Mon Sep 17 00:00:00 2001 |
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1616 From: vincent-richard <vincent-richard@5301114d-f842-0410-bbdd-996ee0417009> |
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1617 Date: Tue, 15 Nov 2011 11:46:07 +0000 |
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1618 Subject: [PATCH 27/27] Set Diffie-Hellman prime size (bug SF#3434852). |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1619 |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1620 git-svn-id: https://vmime.svn.sourceforge.net/svnroot/vmime/trunk@602 5301114d-f842-0410-bbdd-996ee0417009 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1621 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1622 diff --git a/src/net/tls/TLSSession.cpp b/src/net/tls/TLSSession.cpp |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1623 index cb50acc..0606808 100644 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1624 --- a/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1625 +++ b/src/net/tls/TLSSession.cpp |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1626 @@ -139,6 +139,7 @@ TLSSession::TLSSession(ref <security::cert::certificateVerifier> cv) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1627 // Sets some default priority on the ciphers, key exchange methods, |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1628 // macs and compression methods. |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1629 #if HAVE_GNUTLS_PRIORITY_FUNCS |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1630 + gnutls_dh_set_prime_bits(*m_gnutlsSession, 128); |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1631 |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1632 if ((res = gnutls_priority_set_direct |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1633 (*m_gnutlsSession, "NORMAL:%SSL3_RECORD_VERSION", NULL)) != 0) |
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1634 -- |
2096
fe5ce8c1485d
package vmime: update patch sources
Mark Brand <mabrand@mabrand.nl>
parents:
2084
diff
changeset
|
1635 1.7.7.3 |
2084
79795dd7d90a
package vmime: upstream instead of local patches
Mark Brand <mabrand@mabrand.nl>
parents:
2055
diff
changeset
|
1636 |