Gentoo Archives: gentoo-commits

From: "Pacho Ramos (pacho)" <pacho@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-libs/gmime/files: gmime-2.6.18-custom-headers.patch gmime-2.6.18-close-reference.patch gmime-2.6.18-code-cleanup.patch gmime-2.6.18-mutexes-earlier.patch
Date: Wed, 02 Oct 2013 19:24:01
Message-Id: 20131002192358.5D6EE2004C@flycatcher.gentoo.org
1 pacho 13/10/02 19:23:58
2
3 Added: gmime-2.6.18-custom-headers.patch
4 gmime-2.6.18-close-reference.patch
5 gmime-2.6.18-code-cleanup.patch
6 gmime-2.6.18-mutexes-earlier.patch
7 Log:
8 Apply upstream fixes, also solving problems with pan (#486776 by Duncan), drop old.
9
10 (Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key A188FBD4)
11
12 Revision Changes Path
13 1.1 dev-libs/gmime/files/gmime-2.6.18-custom-headers.patch
14
15 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/gmime/files/gmime-2.6.18-custom-headers.patch?rev=1.1&view=markup
16 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/gmime/files/gmime-2.6.18-custom-headers.patch?rev=1.1&content-type=text/plain
17
18 Index: gmime-2.6.18-custom-headers.patch
19 ===================================================================
20 From a248cc044c6ad55505939363aa858c930867a014 Mon Sep 17 00:00:00 2001
21 From: Jeffrey Stedfast <fejj@×××××.org>
22 Date: Sun, 29 Sep 2013 17:23:30 +0000
23 Subject: Implemented custom header writer for References
24
25 2013-09-29 Jeffrey Stedfast <fejj@×××××.org>
26
27 * gmime/gmime-message.c (write_references): Custom writer for
28 References headers so that individual msgid tokens do not get
29 folded. Fixes bug #709031.
30 ---
31 diff --git a/ChangeLog b/ChangeLog
32 index c0e414f..79587b8 100644
33 --- a/ChangeLog
34 +++ b/ChangeLog
35 @@ -1,3 +1,9 @@
36 +2013-09-29 Jeffrey Stedfast <fejj@×××××.org>
37 +
38 + * gmime/gmime-message.c (write_references): Custom writer for
39 + References headers so that individual msgid tokens do not get
40 + folded. Fixes bug #709031.
41 +
42 2013-09-26 Jeffrey Stedfast <fejj@×××××.org>
43
44 * gmime/gmime.c (g_mime_init): Initialize the mutexes
45 diff --git a/gmime/gmime-message.c b/gmime/gmime-message.c
46 index 1b92577..170116b 100644
47 --- a/gmime/gmime-message.c
48 +++ b/gmime/gmime-message.c
49 @@ -67,7 +67,8 @@ static char *message_get_headers (GMimeObject *object);
50 static ssize_t message_write_to_stream (GMimeObject *object, GMimeStream *stream);
51 static void message_encode (GMimeObject *object, GMimeEncodingConstraint constraint);
52
53 -static ssize_t write_structured (GMimeStream *stream, const char *name, const char *value);
54 +/*static ssize_t write_structured (GMimeStream *stream, const char *name, const char *value);*/
55 +static ssize_t write_references (GMimeStream *stream, const char *name, const char *value);
56 static ssize_t write_addrspec (GMimeStream *stream, const char *name, const char *value);
57 static ssize_t write_received (GMimeStream *stream, const char *name, const char *value);
58 static ssize_t write_subject (GMimeStream *stream, const char *name, const char *value);
59 @@ -233,7 +234,7 @@ g_mime_message_init (GMimeMessage *message, GMimeMessageClass *klass)
60 g_mime_header_list_register_writer (headers, "Subject", write_subject);
61 g_mime_header_list_register_writer (headers, "Received", write_received);
62 g_mime_header_list_register_writer (headers, "Message-Id", write_msgid);
63 - g_mime_header_list_register_writer (headers, "References", write_structured);
64 + g_mime_header_list_register_writer (headers, "References", write_references);
65 }
66
67 static void
68 @@ -618,12 +619,54 @@ write_subject (GMimeStream *stream, const char *name, const char *value)
69 static ssize_t
70 write_msgid (GMimeStream *stream, const char *name, const char *value)
71 {
72 - /* we don't want to wrap the Message-Id header - seems to
73 + /* Note: we don't want to wrap the Message-Id header - seems to
74 break a lot of clients (and servers) */
75 return g_mime_stream_printf (stream, "%s: %s\n", name, value);
76 }
77
78 static ssize_t
79 +write_references (GMimeStream *stream, const char *name, const char *value)
80 +{
81 + GMimeReferences *references, *reference;
82 + ssize_t nwritten;
83 + GString *folded;
84 + size_t len, n;
85 +
86 + /* Note: we don't want to break in the middle of msgid tokens as
87 + it seems to break a lot of clients (and servers) */
88 + references = g_mime_references_decode (value);
89 + folded = g_string_new (name);
90 + g_string_append_len (folded, ": ", 2);
91 + len = folded->len;
92 +
93 + reference = references;
94 + while (reference != NULL) {
95 + n = strlen (reference->msgid);
96 + if (len > 1 && len + n + 1 >= GMIME_FOLD_LEN) {
97 + g_string_append_len (folded, "\n\t", 2);
98 + len = 1;
99 + } else {
100 + g_string_append_len (folded, " ", 1);
101 + len++;
102 + }
103 +
104 + g_string_append_len (folded, reference->msgid, n);
105 + len += n;
106 +
107 + reference = reference->next;
108 + }
109 +
110 + g_mime_references_clear (&references);
111 +
112 + g_string_append_len (folded, "\n", 1);
113 + nwritten = g_mime_stream_write (stream, folded->str, folded->len);
114 + g_string_free (folded, TRUE);
115 +
116 + return nwritten;
117 +}
118 +
119 +#if 0
120 +static ssize_t
121 write_structured (GMimeStream *stream, const char *name, const char *value)
122 {
123 char *folded;
124 @@ -635,6 +678,7 @@ write_structured (GMimeStream *stream, const char *name, const char *value)
125
126 return n;
127 }
128 +#endif
129
130 static ssize_t
131 write_addrspec (GMimeStream *stream, const char *name, const char *value)
132 --
133 cgit v0.9.2
134
135
136
137 1.1 dev-libs/gmime/files/gmime-2.6.18-close-reference.patch
138
139 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/gmime/files/gmime-2.6.18-close-reference.patch?rev=1.1&view=markup
140 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/gmime/files/gmime-2.6.18-close-reference.patch?rev=1.1&content-type=text/plain
141
142 Index: gmime-2.6.18-close-reference.patch
143 ===================================================================
144 From 1373f11f9b3ecdbfb58a70a742506f3f6d5c57d8 Mon Sep 17 00:00:00 2001
145 From: Jeffrey Stedfast <fejj@×××××.org>
146 Date: Sun, 29 Sep 2013 17:34:25 +0000
147 Subject: Oops, eclose each reference msgid token between '<' and '>'
148
149 ---
150 diff --git a/gmime/gmime-message.c b/gmime/gmime-message.c
151 index 170116b..b6243fd 100644
152 --- a/gmime/gmime-message.c
153 +++ b/gmime/gmime-message.c
154 @@ -642,16 +642,18 @@ write_references (GMimeStream *stream, const char *name, const char *value)
155 reference = references;
156 while (reference != NULL) {
157 n = strlen (reference->msgid);
158 - if (len > 1 && len + n + 1 >= GMIME_FOLD_LEN) {
159 + if (len > 1 && len + n + 3 >= GMIME_FOLD_LEN) {
160 g_string_append_len (folded, "\n\t", 2);
161 len = 1;
162 } else {
163 - g_string_append_len (folded, " ", 1);
164 + g_string_append_c (folded, ' ');
165 len++;
166 }
167
168 + g_string_append_c (folded, '<');
169 g_string_append_len (folded, reference->msgid, n);
170 - len += n;
171 + g_string_append_c (folded, '>');
172 + len += n + 2;
173
174 reference = reference->next;
175 }
176 --
177 cgit v0.9.2
178
179
180
181 1.1 dev-libs/gmime/files/gmime-2.6.18-code-cleanup.patch
182
183 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/gmime/files/gmime-2.6.18-code-cleanup.patch?rev=1.1&view=markup
184 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/gmime/files/gmime-2.6.18-code-cleanup.patch?rev=1.1&content-type=text/plain
185
186 Index: gmime-2.6.18-code-cleanup.patch
187 ===================================================================
188 From c9f92d53f591ae4e893fc81ccc49ea9d2f4f168c Mon Sep 17 00:00:00 2001
189 From: Jeffrey Stedfast <fejj@×××××.org>
190 Date: Mon, 23 Sep 2013 13:46:06 +0000
191 Subject: Minor code/comment cleanup
192
193 ---
194 diff --git a/gmime/gmime-param.c b/gmime/gmime-param.c
195 index 4dd98d5..667adf7 100644
196 --- a/gmime/gmime-param.c
197 +++ b/gmime/gmime-param.c
198 @@ -396,7 +396,7 @@ rfc2184_param_charset (const char **in, char **langp)
199 if (langp)
200 *langp = NULL;
201
202 - while (*inptr != '\0' && *inptr != '\'')
203 + while (*inptr && *inptr != '\'')
204 inptr++;
205
206 if (*inptr != '\'')
207 @@ -408,7 +408,7 @@ rfc2184_param_charset (const char **in, char **langp)
208 charset[len] = '\0';
209
210 lang = ++inptr;
211 - while (*inptr != '\0' && *inptr != '\'')
212 + while (*inptr && *inptr != '\'')
213 inptr++;
214
215 if (*inptr == '\'') {
216 diff --git a/gmime/gmime-utils.c b/gmime/gmime-utils.c
217 index ada8faf..41d5639 100644
218 --- a/gmime/gmime-utils.c
219 +++ b/gmime/gmime-utils.c
220 @@ -2743,7 +2743,7 @@ header_fold_tokens (const char *field, const char *value, size_t vlen, rfc2047_t
221 g_string_insert_c (output, tab, '\n');
222 len = (lwsp - tab) + 1;
223 } else if (lwsp != 0) {
224 - /* break just before the last lwsp character i*/
225 + /* break just before the last lwsp character */
226 g_string_insert_c (output, lwsp, '\n');
227 len = 1;
228 } else if (len > 1) {
229 @@ -2769,7 +2769,7 @@ header_fold_tokens (const char *field, const char *value, size_t vlen, rfc2047_t
230 g_string_insert_c (output, tab, '\n');
231 len = (lwsp - tab) + 1;
232 } else if (lwsp != 0) {
233 - /* break just before the last lwsp character i*/
234 + /* break just before the last lwsp character */
235 g_string_insert_c (output, lwsp, '\n');
236 len = 1;
237 } else if (len > 1) {
238 --
239 cgit v0.9.2
240
241
242
243 1.1 dev-libs/gmime/files/gmime-2.6.18-mutexes-earlier.patch
244
245 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/gmime/files/gmime-2.6.18-mutexes-earlier.patch?rev=1.1&view=markup
246 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/gmime/files/gmime-2.6.18-mutexes-earlier.patch?rev=1.1&content-type=text/plain
247
248 Index: gmime-2.6.18-mutexes-earlier.patch
249 ===================================================================
250 From bb1c6094e04ce54de52289cd5ba7f9b73694ef1f Mon Sep 17 00:00:00 2001
251 From: Jeffrey Stedfast <fejj@×××××.org>
252 Date: Thu, 26 Sep 2013 12:46:10 +0000
253 Subject: Initialize mutexes earlier in g_mime_init
254
255 2013-09-26 Jeffrey Stedfast <fejj@×××××.org>
256
257 * gmime/gmime.c (g_mime_init): Initialize the mutexes
258 earlier. Fixes bug #708818.
259 ---
260 diff --git a/ChangeLog b/ChangeLog
261 index 5071304..c0e414f 100644
262 --- a/ChangeLog
263 +++ b/ChangeLog
264 @@ -1,3 +1,8 @@
265 +2013-09-26 Jeffrey Stedfast <fejj@×××××.org>
266 +
267 + * gmime/gmime.c (g_mime_init): Initialize the mutexes
268 + earlier. Fixes bug #708818.
269 +
270 2013-09-15 Jeffrey Stedfast <fejj@×××××.org>
271
272 * README: Bumped version
273 diff --git a/gmime/gmime.c b/gmime/gmime.c
274 index 89326a4..80c80f5 100644
275 --- a/gmime/gmime.c
276 +++ b/gmime/gmime.c
277 @@ -132,6 +132,13 @@ g_mime_init (guint32 flags)
278 g_type_init ();
279 #endif
280
281 +#ifdef G_THREADS_ENABLED
282 + g_mutex_init (&G_LOCK_NAME (iconv_cache));
283 + g_mutex_init (&G_LOCK_NAME (iconv_utils));
284 + g_mutex_init (&G_LOCK_NAME (charset));
285 + g_mutex_init (&G_LOCK_NAME (msgid));
286 +#endif
287 +
288 g_mime_charset_map_init ();
289 g_mime_iconv_utils_init ();
290 g_mime_iconv_init ();
291 @@ -144,13 +151,6 @@ g_mime_init (guint32 flags)
292 gmime_gpgme_error_quark = g_quark_from_static_string ("gmime-gpgme");
293 gmime_error_quark = g_quark_from_static_string ("gmime");
294
295 -#ifdef G_THREADS_ENABLED
296 - g_mutex_init (&G_LOCK_NAME (iconv_cache));
297 - g_mutex_init (&G_LOCK_NAME (iconv_utils));
298 - g_mutex_init (&G_LOCK_NAME (charset));
299 - g_mutex_init (&G_LOCK_NAME (msgid));
300 -#endif
301 -
302 /* register our GObject types with the GType system */
303 g_mime_crypto_context_get_type ();
304 g_mime_decrypt_result_get_type ();
305 --
306 cgit v0.9.2