tmail 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/MANIFEST +153 -150
- data/NOTES +34 -46
- data/ext/tmailscanner/tmail/extconf.rb +4 -0
- data/ext/tmailscanner/tmail/tmailscanner.c +1 -1
- data/lib/tmail/attachments.rb +1 -2
- data/lib/tmail/encode.rb +29 -7
- data/lib/tmail/mail.rb +14 -2
- data/lib/tmail/scanner_r.rb +4 -5
- data/lib/tmail/stringio.rb +1 -0
- data/lib/tmail/utils.rb +6 -6
- data/lib/tmail/version.rb +1 -1
- data/log/BugTrackingLog.txt +13 -0
- data/log/Fixme.txt +6 -0
- data/log/Testlog.txt +2226 -0
- data/log/fixme.rdoc +6 -0
- data/meta/VERSION +1 -1
- data/meta/project.yaml +8 -1
- data/setup.rb +2 -1
- data/site/img/mailman.gif +0 -0
- data/test/fixtures/raw_attack_email_with_zero_length_whitespace +29 -0
- data/test/fixtures/raw_email_with_mimepart_without_content_type +94 -0
- data/test/test_address.rb +1 -2
- data/test/test_attachments.rb +1 -2
- data/test/test_encode.rb +7 -0
- data/test/test_header.rb +3 -4
- data/test/test_mail.rb +6 -0
- data/work/script/make +0 -0
- data/work/script/rdoc +0 -0
- data/work/script/setup +0 -0
- data/work/script/test +0 -0
- metadata +197 -192
- data/log/Changelog-0.txt +0 -1189
data/MANIFEST
CHANGED
@@ -1,188 +1,191 @@
|
|
1
|
-
Rakefile
|
2
|
-
doc
|
3
|
-
test
|
4
|
-
test/temp_test_one.rb
|
5
|
-
test/kcode.rb
|
6
|
-
test/test_utils.rb
|
7
|
-
test/test_attachments.rb
|
8
|
-
test/test_encode.rb
|
9
|
-
test/test_mbox.rb
|
10
|
-
test/test_helper.rb
|
11
|
-
test/test_header.rb
|
12
|
-
test/test_base64.rb
|
13
|
-
test/test_address.rb
|
14
|
-
test/fixtures
|
15
|
-
test/fixtures/raw_email8
|
16
|
-
test/fixtures/raw_email_simple
|
17
|
-
test/fixtures/raw_email13
|
18
|
-
test/fixtures/raw_email5
|
19
|
-
test/fixtures/mailbox_without_any_from_or_sender
|
20
|
-
test/fixtures/raw_email4
|
21
|
-
test/fixtures/mailbox
|
22
|
-
test/fixtures/raw_email_with_nested_attachment
|
23
|
-
test/fixtures/raw_email
|
24
|
-
test/fixtures/raw_email_quoted_with_0d0a
|
25
|
-
test/fixtures/raw_base64_decoded_string
|
26
|
-
test/fixtures/mailbox_without_return_path
|
27
|
-
test/fixtures/raw_email3
|
28
|
-
test/fixtures/raw_email_reply
|
29
|
-
test/fixtures/raw_email_with_bad_date
|
30
|
-
test/fixtures/mailbox_without_from
|
31
|
-
test/fixtures/raw_email_multiple_from
|
32
|
-
test/fixtures/raw_email10
|
33
|
-
test/fixtures/raw_email_with_quoted_illegal_boundary
|
34
|
-
test/fixtures/raw_base64_email
|
35
|
-
test/fixtures/raw_email_with_partially_quoted_subject
|
36
|
-
test/fixtures/raw_email9
|
37
|
-
test/fixtures/raw_email2
|
38
|
-
test/fixtures/raw_email11
|
39
|
-
test/fixtures/raw_email_with_multipart_mixed_quoted_boundary
|
40
|
-
test/fixtures/raw_email_with_illegal_boundary
|
41
|
-
test/fixtures/raw_email6
|
42
|
-
test/fixtures/raw_email7
|
43
|
-
test/fixtures/raw_base64_encoded_string
|
44
|
-
test/fixtures/raw_email12
|
45
|
-
test/test_mail.rb
|
46
|
-
test/test_scanner.rb
|
47
|
-
test/test_port.rb
|
48
|
-
test/extctrl.rb
|
49
|
-
test/test_quote.rb
|
50
|
-
NOTES
|
51
1
|
CHANGES
|
52
|
-
|
53
|
-
README
|
2
|
+
doc
|
54
3
|
ext
|
4
|
+
ext/Makefile
|
55
5
|
ext/tmailscanner
|
56
6
|
ext/tmailscanner/tmail
|
57
7
|
ext/tmailscanner/tmail/depend
|
58
|
-
ext/tmailscanner/tmail/MANIFEST
|
59
8
|
ext/tmailscanner/tmail/extconf.rb
|
9
|
+
ext/tmailscanner/tmail/MANIFEST
|
60
10
|
ext/tmailscanner/tmail/tmailscanner.c
|
61
|
-
|
62
|
-
|
11
|
+
lib
|
12
|
+
lib/tmail
|
13
|
+
lib/tmail/address.rb
|
14
|
+
lib/tmail/attachments.rb
|
15
|
+
lib/tmail/base64.rb
|
16
|
+
lib/tmail/compat.rb
|
17
|
+
lib/tmail/config.rb
|
18
|
+
lib/tmail/core_extensions.rb
|
19
|
+
lib/tmail/encode.rb
|
20
|
+
lib/tmail/header.rb
|
21
|
+
lib/tmail/index.rb
|
22
|
+
lib/tmail/interface.rb
|
23
|
+
lib/tmail/loader.rb
|
24
|
+
lib/tmail/mail.rb
|
25
|
+
lib/tmail/mailbox.rb
|
26
|
+
lib/tmail/main.rb
|
27
|
+
lib/tmail/Makefile
|
28
|
+
lib/tmail/mbox.rb
|
29
|
+
lib/tmail/net.rb
|
30
|
+
lib/tmail/obsolete.rb
|
31
|
+
lib/tmail/parser.rb
|
32
|
+
lib/tmail/parser.y
|
33
|
+
lib/tmail/port.rb
|
34
|
+
lib/tmail/quoting.rb
|
35
|
+
lib/tmail/require_arch.rb
|
36
|
+
lib/tmail/scanner.rb
|
37
|
+
lib/tmail/scanner_r.rb
|
38
|
+
lib/tmail/stringio.rb
|
39
|
+
lib/tmail/utils.rb
|
40
|
+
lib/tmail/version.rb
|
41
|
+
lib/tmail.rb
|
42
|
+
LICENSE
|
43
|
+
log
|
44
|
+
log/BugTrackingLog.txt
|
45
|
+
log/Changelog.txt
|
46
|
+
log/fixme.rdoc
|
47
|
+
log/Fixme.txt
|
48
|
+
log/Testlog.txt
|
49
|
+
log/Todo.txt
|
63
50
|
meta
|
64
51
|
meta/MANIFEST
|
65
52
|
meta/project.yaml
|
66
53
|
meta/unixname
|
67
54
|
meta/VERSION
|
55
|
+
NOTES
|
56
|
+
Rakefile
|
57
|
+
README
|
58
|
+
sample
|
59
|
+
sample/bench_base64.rb
|
60
|
+
sample/data
|
61
|
+
sample/data/multipart
|
62
|
+
sample/data/normal
|
63
|
+
sample/data/sendtest
|
64
|
+
sample/data/simple
|
65
|
+
sample/data/test
|
66
|
+
sample/extract-attachements.rb
|
67
|
+
sample/from-check.rb
|
68
|
+
sample/multipart.rb
|
69
|
+
sample/parse-bench.rb
|
70
|
+
sample/parse-test.rb
|
71
|
+
sample/sendmail.rb
|
72
|
+
setup.rb
|
68
73
|
site
|
74
|
+
site/contributing
|
75
|
+
site/contributing/index.html
|
76
|
+
site/css
|
77
|
+
site/css/clean.css
|
78
|
+
site/css/layout.css
|
79
|
+
site/css/style.css
|
80
|
+
site/download
|
81
|
+
site/download/index.html
|
69
82
|
site/img
|
70
|
-
site/img/tfire.jpg
|
71
|
-
site/img/stamp.jpg
|
72
|
-
site/img/tmail.png
|
73
|
-
site/img/mailman.gif
|
74
83
|
site/img/envelope.jpg
|
84
|
+
site/img/mailman.gif
|
75
85
|
site/img/stamp-sm.jpg
|
86
|
+
site/img/stamp.jpg
|
76
87
|
site/img/stampborder.jpg
|
77
|
-
site/
|
78
|
-
site/
|
79
|
-
site/
|
80
|
-
site/quickstart/quickstart.html
|
88
|
+
site/img/tfire.jpg
|
89
|
+
site/img/tmail.png
|
90
|
+
site/index.html
|
81
91
|
site/js
|
82
92
|
site/js/jquery.js
|
93
|
+
site/log
|
94
|
+
site/log/changelog.xml
|
95
|
+
site/log/Changelog.xsl
|
83
96
|
site/outdated
|
97
|
+
site/outdated/BUGS
|
84
98
|
site/outdated/DEPENDS
|
85
|
-
site/outdated/Incompatibilities
|
86
|
-
site/outdated/Incompatibilities.ja
|
87
|
-
site/outdated/README.ja
|
88
|
-
site/outdated/NEWS
|
89
99
|
site/outdated/doc.ja
|
90
|
-
site/outdated/doc.ja/config.html
|
91
|
-
site/outdated/doc.ja/usage.html
|
92
|
-
site/outdated/doc.ja/mailbox.html
|
93
|
-
site/outdated/doc.ja/mail.html
|
94
|
-
site/outdated/doc.ja/index.html
|
95
|
-
site/outdated/doc.ja/basics.html
|
96
|
-
site/outdated/doc.ja/tmail.html
|
97
100
|
site/outdated/doc.ja/address.html
|
101
|
+
site/outdated/doc.ja/basics.html
|
102
|
+
site/outdated/doc.ja/config.html
|
98
103
|
site/outdated/doc.ja/details.html
|
104
|
+
site/outdated/doc.ja/index.html
|
105
|
+
site/outdated/doc.ja/mail.html
|
106
|
+
site/outdated/doc.ja/mailbox.html
|
99
107
|
site/outdated/doc.ja/port.html
|
108
|
+
site/outdated/doc.ja/tmail.html
|
109
|
+
site/outdated/doc.ja/usage.html
|
110
|
+
site/outdated/Incompatibilities
|
111
|
+
site/outdated/Incompatibilities.ja
|
112
|
+
site/outdated/NEWS
|
100
113
|
site/outdated/rdd
|
101
|
-
site/outdated/rdd/
|
102
|
-
site/outdated/rdd/
|
114
|
+
site/outdated/rdd/address.rrd.m
|
115
|
+
site/outdated/rdd/basics.rd.m
|
103
116
|
site/outdated/rdd/config.rrd.m
|
117
|
+
site/outdated/rdd/details.rd.m
|
104
118
|
site/outdated/rdd/index.rhtml.m
|
119
|
+
site/outdated/rdd/mail.rrd.m
|
105
120
|
site/outdated/rdd/mailbox.rrd.m
|
106
|
-
site/outdated/rdd/
|
107
|
-
site/outdated/rdd/basics.rd.m
|
108
|
-
site/outdated/rdd/details.rd.m
|
121
|
+
site/outdated/rdd/port.rrd.m
|
109
122
|
site/outdated/rdd/tmail.rrd.m
|
110
|
-
site/outdated/rdd/
|
111
|
-
site/outdated/
|
112
|
-
site/
|
113
|
-
site/
|
114
|
-
site/
|
123
|
+
site/outdated/rdd/usage.rd.m
|
124
|
+
site/outdated/README.ja
|
125
|
+
site/quickstart
|
126
|
+
site/quickstart/index.html
|
127
|
+
site/quickstart/quickstart.html
|
128
|
+
site/quickstart/usage.html
|
115
129
|
site/reference
|
130
|
+
site/reference/address.html
|
116
131
|
site/reference/config.html
|
117
|
-
site/reference/mailbox.html
|
118
|
-
site/reference/mail.html
|
119
132
|
site/reference/index.html
|
120
|
-
site/reference/
|
121
|
-
site/reference/
|
133
|
+
site/reference/mail.html
|
134
|
+
site/reference/mailbox.html
|
122
135
|
site/reference/port.html
|
123
|
-
site/
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
sample/data/multipart
|
174
|
-
sample/data/sendtest
|
175
|
-
sample/from-check.rb
|
176
|
-
sample/sendmail.rb
|
136
|
+
site/reference/tmail.html
|
137
|
+
test
|
138
|
+
test/extctrl.rb
|
139
|
+
test/fixtures
|
140
|
+
test/fixtures/mailbox
|
141
|
+
test/fixtures/mailbox_without_any_from_or_sender
|
142
|
+
test/fixtures/mailbox_without_from
|
143
|
+
test/fixtures/mailbox_without_return_path
|
144
|
+
test/fixtures/raw_attack_email_with_zero_length_whitespace
|
145
|
+
test/fixtures/raw_base64_decoded_string
|
146
|
+
test/fixtures/raw_base64_email
|
147
|
+
test/fixtures/raw_base64_encoded_string
|
148
|
+
test/fixtures/raw_email
|
149
|
+
test/fixtures/raw_email10
|
150
|
+
test/fixtures/raw_email11
|
151
|
+
test/fixtures/raw_email12
|
152
|
+
test/fixtures/raw_email13
|
153
|
+
test/fixtures/raw_email2
|
154
|
+
test/fixtures/raw_email3
|
155
|
+
test/fixtures/raw_email4
|
156
|
+
test/fixtures/raw_email5
|
157
|
+
test/fixtures/raw_email6
|
158
|
+
test/fixtures/raw_email7
|
159
|
+
test/fixtures/raw_email8
|
160
|
+
test/fixtures/raw_email9
|
161
|
+
test/fixtures/raw_email_multiple_from
|
162
|
+
test/fixtures/raw_email_quoted_with_0d0a
|
163
|
+
test/fixtures/raw_email_reply
|
164
|
+
test/fixtures/raw_email_simple
|
165
|
+
test/fixtures/raw_email_with_bad_date
|
166
|
+
test/fixtures/raw_email_with_illegal_boundary
|
167
|
+
test/fixtures/raw_email_with_mimepart_without_content_type
|
168
|
+
test/fixtures/raw_email_with_multipart_mixed_quoted_boundary
|
169
|
+
test/fixtures/raw_email_with_nested_attachment
|
170
|
+
test/fixtures/raw_email_with_partially_quoted_subject
|
171
|
+
test/fixtures/raw_email_with_quoted_illegal_boundary
|
172
|
+
test/kcode.rb
|
173
|
+
test/temp_test_one.rb
|
174
|
+
test/test_address.rb
|
175
|
+
test/test_attachments.rb
|
176
|
+
test/test_base64.rb
|
177
|
+
test/test_encode.rb
|
178
|
+
test/test_header.rb
|
179
|
+
test/test_helper.rb
|
180
|
+
test/test_mail.rb
|
181
|
+
test/test_mbox.rb
|
182
|
+
test/test_port.rb
|
183
|
+
test/test_quote.rb
|
184
|
+
test/test_scanner.rb
|
185
|
+
test/test_utils.rb
|
177
186
|
work
|
178
187
|
work/script
|
179
|
-
work/script/
|
188
|
+
work/script/make
|
180
189
|
work/script/rdoc
|
181
190
|
work/script/setup
|
182
|
-
work/script/
|
183
|
-
log
|
184
|
-
log/BugTrackingLog.txt
|
185
|
-
log/Changelog.txt
|
186
|
-
log/Changelog-0.txt
|
187
|
-
log/Todo.txt
|
188
|
-
log/Testlog.txt
|
191
|
+
work/script/test
|
data/NOTES
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
[ANN] TMail 1.2.
|
1
|
+
[ANN] TMail 1.2.3 - Security Update - 4 Apr 2008
|
2
2
|
|
3
3
|
TMail is The Mail Handling Library for Ruby!
|
4
4
|
|
@@ -20,62 +20,50 @@ http://tmail.rubyforge.org/
|
|
20
20
|
|
21
21
|
Release Summary:
|
22
22
|
------------------
|
23
|
+
This update handles a potential DOS vulnerability on
|
24
|
+
any host using TMail to handle incomming email; a
|
25
|
+
crafted email with carefully positioned whitespace
|
26
|
+
can cause the TMail library to go into an endless
|
27
|
+
loop causing denial of service attack on email services.
|
28
|
+
|
23
29
|
New release handles five tickets in the TMail
|
24
|
-
tracker as well as
|
25
|
-
|
30
|
+
tracker as well as more documentation and more
|
31
|
+
work on the moving Ruby 1.9 Encoding/Decoding Target
|
26
32
|
|
27
|
-
Additionally added
|
33
|
+
Additionally added 7 more test cases to the library
|
28
34
|
to handle the above tickets.
|
29
35
|
|
30
36
|
This should be a drop in replacement for existing
|
31
|
-
TMail installations
|
37
|
+
TMail installations - unless you are using TMail on
|
38
|
+
Ruby 1.9, in which case, you _might_ run into encoding
|
39
|
+
problems if you are on Ruby 1.9.1, Ruby 1.9 still
|
40
|
+
works, YMMV, any feedback on TMail on 1.9.1 with
|
41
|
+
patches is really welcome!
|
32
42
|
|
33
43
|
|
34
44
|
Release Update Details:
|
35
45
|
-------------------------
|
36
46
|
|
37
|
-
Closed #
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
Closed 16025 - TMail scanner.rb would not parse ATOM
|
55
|
-
chars correctly making it fail tests where the C version
|
56
|
-
passed them. Fixed this by updating the Scanner.rb
|
57
|
-
version to be in step with the C version (there was an
|
58
|
-
extra @ symbol in the ATOM CHARS definition that was not
|
59
|
-
in the C version.) (mikel)
|
60
|
-
|
61
|
-
Closed 16283 - TMail would not decode correctly due to
|
62
|
-
bug in text-utils - put in previous patch from old tmail
|
63
|
-
trunk version. Thanks to garyo for spotting this.
|
64
|
-
|
65
|
-
Closed Bug - Handled quote boundary being gready on
|
66
|
-
content-type header fields (M. Mondragon)
|
67
|
-
|
68
|
-
Changed the name of mailscanner to tmailscanner to handle
|
69
|
-
a copyright issue. MailScanner is a copyrighted name.
|
70
|
-
|
71
|
-
Added about 15 test cases from the Rails community. Added
|
72
|
-
failing test case for an unquoted @ char in the From
|
73
|
-
header field. Need to check fully if this is needed or
|
74
|
-
not, but it is there anyway - to be resolved. I have
|
75
|
-
emailed 822 mailing list to check this out.
|
76
|
-
|
77
|
-
See the changelog for previous changes.
|
47
|
+
* Closed #18881 - TMail goes into an endless loop
|
48
|
+
if sent an crafted email which puts a whitespace
|
49
|
+
character at position 78 of the line to be wrapped.
|
50
|
+
|
51
|
+
* Closed #19203 - TMail errors in Ruby 1.9.1 on
|
52
|
+
invalid multibyte chars.
|
53
|
+
|
54
|
+
* Closed #18814 - Fixed attchment.rb failing on
|
55
|
+
mail part that had a nil content-type - now assumes
|
56
|
+
text/plain as the missing content type and preserves
|
57
|
+
the mail structure.
|
58
|
+
|
59
|
+
* Closed #18516 - Fixed TMail::Mail#preamble, and
|
60
|
+
added #preamble=, this allows you now to set and
|
61
|
+
read the preamble text of an email (the plain text
|
62
|
+
that appears before any MIME encoded attachments that
|
63
|
+
you can read in any email client) (Charles Lowe)
|
78
64
|
|
65
|
+
* Closed #18515 - Removed ftools from test case
|
66
|
+
to clean it up (Charles Lowe)
|
79
67
|
|
80
68
|
Bug Reports / Fixes:
|
81
69
|
----------------------
|
@@ -7,6 +7,10 @@ arch = Config::CONFIG['sitearch']
|
|
7
7
|
|
8
8
|
windows = (/djgpp|(cyg|ms|bcc)win|mingw/ =~ arch)
|
9
9
|
|
10
|
+
# For now use pure Ruby tmailscanner if on Windows, since
|
11
|
+
# most Window's users don't have developer tools needed.
|
12
|
+
ENV['NORUBYEXT'] = true if windows
|
13
|
+
|
10
14
|
if (ENV['NORUBYEXT'] == 'true')
|
11
15
|
File.open('Makefile', 'w') do |f|
|
12
16
|
f << "all:\n"
|