rack-mail_exception 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (321) hide show
  1. data/.document +5 -0
  2. data/.gitignore +22 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +38 -0
  5. data/Rakefile +56 -0
  6. data/VERSION +1 -0
  7. data/lib/rack/mail_exception.rb +103 -0
  8. data/test/helper.rb +13 -0
  9. data/test/test_rack_mail_exception.rb +93 -0
  10. data/vendor/mail/.bundle/config +2 -0
  11. data/vendor/mail/CHANGELOG.rdoc +370 -0
  12. data/vendor/mail/Dependencies.txt +3 -0
  13. data/vendor/mail/Gemfile +17 -0
  14. data/vendor/mail/README.rdoc +572 -0
  15. data/vendor/mail/ROADMAP +92 -0
  16. data/vendor/mail/Rakefile +41 -0
  17. data/vendor/mail/TODO.rdoc +9 -0
  18. data/vendor/mail/lib/mail.rb +76 -0
  19. data/vendor/mail/lib/mail/attachments_list.rb +99 -0
  20. data/vendor/mail/lib/mail/body.rb +287 -0
  21. data/vendor/mail/lib/mail/configuration.rb +67 -0
  22. data/vendor/mail/lib/mail/core_extensions/blank.rb +26 -0
  23. data/vendor/mail/lib/mail/core_extensions/nil.rb +11 -0
  24. data/vendor/mail/lib/mail/core_extensions/string.rb +27 -0
  25. data/vendor/mail/lib/mail/elements.rb +14 -0
  26. data/vendor/mail/lib/mail/elements/address.rb +306 -0
  27. data/vendor/mail/lib/mail/elements/address_list.rb +74 -0
  28. data/vendor/mail/lib/mail/elements/content_disposition_element.rb +30 -0
  29. data/vendor/mail/lib/mail/elements/content_location_element.rb +25 -0
  30. data/vendor/mail/lib/mail/elements/content_transfer_encoding_element.rb +24 -0
  31. data/vendor/mail/lib/mail/elements/content_type_element.rb +35 -0
  32. data/vendor/mail/lib/mail/elements/date_time_element.rb +26 -0
  33. data/vendor/mail/lib/mail/elements/envelope_from_element.rb +34 -0
  34. data/vendor/mail/lib/mail/elements/message_ids_element.rb +29 -0
  35. data/vendor/mail/lib/mail/elements/mime_version_element.rb +26 -0
  36. data/vendor/mail/lib/mail/elements/phrase_list.rb +21 -0
  37. data/vendor/mail/lib/mail/elements/received_element.rb +30 -0
  38. data/vendor/mail/lib/mail/encodings.rb +258 -0
  39. data/vendor/mail/lib/mail/encodings/7bit.rb +31 -0
  40. data/vendor/mail/lib/mail/encodings/8bit.rb +31 -0
  41. data/vendor/mail/lib/mail/encodings/base64.rb +33 -0
  42. data/vendor/mail/lib/mail/encodings/binary.rb +31 -0
  43. data/vendor/mail/lib/mail/encodings/quoted_printable.rb +38 -0
  44. data/vendor/mail/lib/mail/encodings/transfer_encoding.rb +58 -0
  45. data/vendor/mail/lib/mail/envelope.rb +35 -0
  46. data/vendor/mail/lib/mail/field.rb +223 -0
  47. data/vendor/mail/lib/mail/field_list.rb +33 -0
  48. data/vendor/mail/lib/mail/fields.rb +35 -0
  49. data/vendor/mail/lib/mail/fields/bcc_field.rb +56 -0
  50. data/vendor/mail/lib/mail/fields/cc_field.rb +55 -0
  51. data/vendor/mail/lib/mail/fields/comments_field.rb +41 -0
  52. data/vendor/mail/lib/mail/fields/common/address_container.rb +16 -0
  53. data/vendor/mail/lib/mail/fields/common/common_address.rb +125 -0
  54. data/vendor/mail/lib/mail/fields/common/common_date.rb +42 -0
  55. data/vendor/mail/lib/mail/fields/common/common_field.rb +50 -0
  56. data/vendor/mail/lib/mail/fields/common/common_message_id.rb +43 -0
  57. data/vendor/mail/lib/mail/fields/common/parameter_hash.rb +52 -0
  58. data/vendor/mail/lib/mail/fields/content_description_field.rb +19 -0
  59. data/vendor/mail/lib/mail/fields/content_disposition_field.rb +69 -0
  60. data/vendor/mail/lib/mail/fields/content_id_field.rb +63 -0
  61. data/vendor/mail/lib/mail/fields/content_location_field.rb +42 -0
  62. data/vendor/mail/lib/mail/fields/content_transfer_encoding_field.rb +50 -0
  63. data/vendor/mail/lib/mail/fields/content_type_field.rb +185 -0
  64. data/vendor/mail/lib/mail/fields/date_field.rb +55 -0
  65. data/vendor/mail/lib/mail/fields/from_field.rb +55 -0
  66. data/vendor/mail/lib/mail/fields/in_reply_to_field.rb +55 -0
  67. data/vendor/mail/lib/mail/fields/keywords_field.rb +44 -0
  68. data/vendor/mail/lib/mail/fields/message_id_field.rb +83 -0
  69. data/vendor/mail/lib/mail/fields/mime_version_field.rb +53 -0
  70. data/vendor/mail/lib/mail/fields/optional_field.rb +13 -0
  71. data/vendor/mail/lib/mail/fields/received_field.rb +67 -0
  72. data/vendor/mail/lib/mail/fields/references_field.rb +55 -0
  73. data/vendor/mail/lib/mail/fields/reply_to_field.rb +55 -0
  74. data/vendor/mail/lib/mail/fields/resent_bcc_field.rb +55 -0
  75. data/vendor/mail/lib/mail/fields/resent_cc_field.rb +55 -0
  76. data/vendor/mail/lib/mail/fields/resent_date_field.rb +35 -0
  77. data/vendor/mail/lib/mail/fields/resent_from_field.rb +55 -0
  78. data/vendor/mail/lib/mail/fields/resent_message_id_field.rb +34 -0
  79. data/vendor/mail/lib/mail/fields/resent_sender_field.rb +62 -0
  80. data/vendor/mail/lib/mail/fields/resent_to_field.rb +55 -0
  81. data/vendor/mail/lib/mail/fields/return_path_field.rb +64 -0
  82. data/vendor/mail/lib/mail/fields/sender_field.rb +67 -0
  83. data/vendor/mail/lib/mail/fields/structured_field.rb +51 -0
  84. data/vendor/mail/lib/mail/fields/subject_field.rb +16 -0
  85. data/vendor/mail/lib/mail/fields/to_field.rb +55 -0
  86. data/vendor/mail/lib/mail/fields/unstructured_field.rb +166 -0
  87. data/vendor/mail/lib/mail/header.rb +262 -0
  88. data/vendor/mail/lib/mail/mail.rb +234 -0
  89. data/vendor/mail/lib/mail/message.rb +1867 -0
  90. data/vendor/mail/lib/mail/network.rb +9 -0
  91. data/vendor/mail/lib/mail/network/delivery_methods/file_delivery.rb +40 -0
  92. data/vendor/mail/lib/mail/network/delivery_methods/sendmail.rb +62 -0
  93. data/vendor/mail/lib/mail/network/delivery_methods/smtp.rb +110 -0
  94. data/vendor/mail/lib/mail/network/delivery_methods/test_mailer.rb +40 -0
  95. data/vendor/mail/lib/mail/network/retriever_methods/imap.rb +18 -0
  96. data/vendor/mail/lib/mail/network/retriever_methods/pop3.rb +149 -0
  97. data/vendor/mail/lib/mail/parsers/address_lists.rb +64 -0
  98. data/vendor/mail/lib/mail/parsers/address_lists.treetop +19 -0
  99. data/vendor/mail/lib/mail/parsers/content_disposition.rb +387 -0
  100. data/vendor/mail/lib/mail/parsers/content_disposition.treetop +46 -0
  101. data/vendor/mail/lib/mail/parsers/content_location.rb +139 -0
  102. data/vendor/mail/lib/mail/parsers/content_location.treetop +20 -0
  103. data/vendor/mail/lib/mail/parsers/content_transfer_encoding.rb +162 -0
  104. data/vendor/mail/lib/mail/parsers/content_transfer_encoding.treetop +20 -0
  105. data/vendor/mail/lib/mail/parsers/content_type.rb +539 -0
  106. data/vendor/mail/lib/mail/parsers/content_type.treetop +58 -0
  107. data/vendor/mail/lib/mail/parsers/date_time.rb +114 -0
  108. data/vendor/mail/lib/mail/parsers/date_time.treetop +11 -0
  109. data/vendor/mail/lib/mail/parsers/envelope_from.rb +194 -0
  110. data/vendor/mail/lib/mail/parsers/envelope_from.treetop +32 -0
  111. data/vendor/mail/lib/mail/parsers/message_ids.rb +45 -0
  112. data/vendor/mail/lib/mail/parsers/message_ids.treetop +15 -0
  113. data/vendor/mail/lib/mail/parsers/mime_version.rb +144 -0
  114. data/vendor/mail/lib/mail/parsers/mime_version.treetop +19 -0
  115. data/vendor/mail/lib/mail/parsers/phrase_lists.rb +45 -0
  116. data/vendor/mail/lib/mail/parsers/phrase_lists.treetop +15 -0
  117. data/vendor/mail/lib/mail/parsers/received.rb +71 -0
  118. data/vendor/mail/lib/mail/parsers/received.treetop +11 -0
  119. data/vendor/mail/lib/mail/parsers/rfc2045.rb +464 -0
  120. data/vendor/mail/lib/mail/parsers/rfc2045.treetop +36 -0
  121. data/vendor/mail/lib/mail/parsers/rfc2822.rb +5318 -0
  122. data/vendor/mail/lib/mail/parsers/rfc2822.treetop +410 -0
  123. data/vendor/mail/lib/mail/parsers/rfc2822_obsolete.rb +3757 -0
  124. data/vendor/mail/lib/mail/parsers/rfc2822_obsolete.treetop +241 -0
  125. data/vendor/mail/lib/mail/part.rb +102 -0
  126. data/vendor/mail/lib/mail/parts_list.rb +34 -0
  127. data/vendor/mail/lib/mail/patterns.rb +30 -0
  128. data/vendor/mail/lib/mail/utilities.rb +181 -0
  129. data/vendor/mail/lib/mail/version.rb +10 -0
  130. data/vendor/mail/lib/mail/version_specific/ruby_1_8.rb +97 -0
  131. data/vendor/mail/lib/mail/version_specific/ruby_1_9.rb +87 -0
  132. data/vendor/mail/lib/tasks/corpus.rake +125 -0
  133. data/vendor/mail/lib/tasks/treetop.rake +10 -0
  134. data/vendor/mail/mail.gemspec +20 -0
  135. data/vendor/mail/reference/US ASCII Table.txt +130 -0
  136. data/vendor/mail/reference/rfc1035 Domain Implementation and Specification.txt +3083 -0
  137. data/vendor/mail/reference/rfc1049 Content-Type Header Field for Internet Messages.txt +451 -0
  138. data/vendor/mail/reference/rfc1344 Implications of MIME for Internet Mail Gateways.txt +586 -0
  139. data/vendor/mail/reference/rfc1345 Character Mnemonics & Character Sets.txt +5761 -0
  140. data/vendor/mail/reference/rfc1524 A User Agent Configuration Mechanism For Multimedia Mail Format Information.txt +675 -0
  141. data/vendor/mail/reference/rfc1652 SMTP Service Extension for 8bit-MIMEtransport.txt +339 -0
  142. data/vendor/mail/reference/rfc1892 Multipart Report .txt +227 -0
  143. data/vendor/mail/reference/rfc1893 Mail System Status Codes.txt +843 -0
  144. data/vendor/mail/reference/rfc2045 Multipurpose Internet Mail Extensions (1).txt +1739 -0
  145. data/vendor/mail/reference/rfc2046 Multipurpose Internet Mail Extensions (2).txt +2467 -0
  146. data/vendor/mail/reference/rfc2047 Multipurpose Internet Mail Extensions (3).txt +843 -0
  147. data/vendor/mail/reference/rfc2048 Multipurpose Internet Mail Extensions (4).txt +1180 -0
  148. data/vendor/mail/reference/rfc2049 Multipurpose Internet Mail Extensions (5).txt +1347 -0
  149. data/vendor/mail/reference/rfc2111 Content-ID and Message-ID URLs.txt +283 -0
  150. data/vendor/mail/reference/rfc2183 Content-Disposition Header Field.txt +675 -0
  151. data/vendor/mail/reference/rfc2231 MIME Parameter Value and Encoded Word Extensions.txt +563 -0
  152. data/vendor/mail/reference/rfc2387 MIME Multipart-Related Content-type.txt +563 -0
  153. data/vendor/mail/reference/rfc2821 Simple Mail Transfer Protocol.txt +3711 -0
  154. data/vendor/mail/reference/rfc2822 Internet Message Format.txt +2859 -0
  155. data/vendor/mail/reference/rfc3462 Reporting of Mail System Administrative Messages.txt +396 -0
  156. data/vendor/mail/reference/rfc3696 Checking and Transformation of Names.txt +898 -0
  157. data/vendor/mail/reference/rfc4155 The application-mbox Media Type.txt +502 -0
  158. data/vendor/mail/reference/rfc4234 Augmented BNF for Syntax Specifications: ABNF.txt +899 -0
  159. data/vendor/mail/reference/rfc822 Standard for the Format of ARPA Internet Text Messages.txt +2900 -0
  160. data/vendor/mail/spec/environment.rb +15 -0
  161. data/vendor/mail/spec/features/making_a_new_message.feature +14 -0
  162. data/vendor/mail/spec/features/steps/env.rb +6 -0
  163. data/vendor/mail/spec/features/steps/making_a_new_message_steps.rb +11 -0
  164. data/vendor/mail/spec/fixtures/attachments/basic_email.eml +31 -0
  165. data/vendor/mail/spec/fixtures/attachments/test.gif +0 -0
  166. data/vendor/mail/spec/fixtures/attachments/test.jpg +0 -0
  167. data/vendor/mail/spec/fixtures/attachments/test.pdf +0 -0
  168. data/vendor/mail/spec/fixtures/attachments/test.png +0 -0
  169. data/vendor/mail/spec/fixtures/attachments/test.tiff +0 -0
  170. data/vendor/mail/spec/fixtures/attachments/test.zip +0 -0
  171. data/vendor/mail/spec/fixtures/attachments//343/201/246/343/201/231/343/201/250.txt +2 -0
  172. data/vendor/mail/spec/fixtures/emails/attachment_emails/attachment_content_disposition.eml +29 -0
  173. data/vendor/mail/spec/fixtures/emails/attachment_emails/attachment_content_location.eml +32 -0
  174. data/vendor/mail/spec/fixtures/emails/attachment_emails/attachment_message_rfc822.eml +92 -0
  175. data/vendor/mail/spec/fixtures/emails/attachment_emails/attachment_only_email.eml +17 -0
  176. data/vendor/mail/spec/fixtures/emails/attachment_emails/attachment_pdf.eml +70 -0
  177. data/vendor/mail/spec/fixtures/emails/attachment_emails/attachment_with_encoded_name.eml +47 -0
  178. data/vendor/mail/spec/fixtures/emails/attachment_emails/attachment_with_quoted_filename.eml +60 -0
  179. data/vendor/mail/spec/fixtures/emails/error_emails/cant_parse_from.eml +33 -0
  180. data/vendor/mail/spec/fixtures/emails/error_emails/content_transfer_encoding_7-bit.eml +231 -0
  181. data/vendor/mail/spec/fixtures/emails/error_emails/content_transfer_encoding_empty.eml +33 -0
  182. data/vendor/mail/spec/fixtures/emails/error_emails/content_transfer_encoding_plain.eml +148 -0
  183. data/vendor/mail/spec/fixtures/emails/error_emails/content_transfer_encoding_qp_with_space.eml +53 -0
  184. data/vendor/mail/spec/fixtures/emails/error_emails/content_transfer_encoding_spam.eml +44 -0
  185. data/vendor/mail/spec/fixtures/emails/error_emails/content_transfer_encoding_text-html.eml +50 -0
  186. data/vendor/mail/spec/fixtures/emails/error_emails/content_transfer_encoding_with_8bits.eml +770 -0
  187. data/vendor/mail/spec/fixtures/emails/error_emails/content_transfer_encoding_with_semi_colon.eml +269 -0
  188. data/vendor/mail/spec/fixtures/emails/error_emails/content_transfer_encoding_x_uuencode.eml +79 -0
  189. data/vendor/mail/spec/fixtures/emails/error_emails/empty_group_lists.eml +162 -0
  190. data/vendor/mail/spec/fixtures/emails/error_emails/header_fields_with_empty_values.eml +33 -0
  191. data/vendor/mail/spec/fixtures/emails/error_emails/missing_body.eml +16 -0
  192. data/vendor/mail/spec/fixtures/emails/error_emails/missing_content_disposition.eml +43 -0
  193. data/vendor/mail/spec/fixtures/emails/error_emails/multiple_content_types.eml +25 -0
  194. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email11.eml +34 -0
  195. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email12.eml +32 -0
  196. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email2.eml +114 -0
  197. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email4.eml +59 -0
  198. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email7.eml +66 -0
  199. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email_encoded_stack_level_too_deep.eml +53 -0
  200. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email_with_illegal_boundary.eml +58 -0
  201. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email_with_mimepart_without_content_type.eml +94 -0
  202. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email_with_multipart_mixed_quoted_boundary.eml +50 -0
  203. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email_with_nested_attachment.eml +100 -0
  204. data/vendor/mail/spec/fixtures/emails/mime_emails/raw_email_with_quoted_illegal_boundary.eml +58 -0
  205. data/vendor/mail/spec/fixtures/emails/mime_emails/sig_only_email.eml +29 -0
  206. data/vendor/mail/spec/fixtures/emails/mime_emails/two_from_in_message.eml +42 -0
  207. data/vendor/mail/spec/fixtures/emails/multi_charset/japanese.eml +9 -0
  208. data/vendor/mail/spec/fixtures/emails/multi_charset/japanese_attachment.eml +27 -0
  209. data/vendor/mail/spec/fixtures/emails/multi_charset/japanese_attachment_long_name.eml +44 -0
  210. data/vendor/mail/spec/fixtures/emails/multipart_report_emails/multi_address_bounce1.eml +179 -0
  211. data/vendor/mail/spec/fixtures/emails/multipart_report_emails/multi_address_bounce2.eml +179 -0
  212. data/vendor/mail/spec/fixtures/emails/multipart_report_emails/report_422.eml +98 -0
  213. data/vendor/mail/spec/fixtures/emails/multipart_report_emails/report_530.eml +97 -0
  214. data/vendor/mail/spec/fixtures/emails/plain_emails/basic_email.eml +31 -0
  215. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email.eml +14 -0
  216. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email10.eml +20 -0
  217. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email5.eml +19 -0
  218. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email6.eml +20 -0
  219. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email8.eml +47 -0
  220. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_bad_time.eml +62 -0
  221. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_double_at_in_header.eml +14 -0
  222. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_incorrect_header.eml +28 -0
  223. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_multiple_from.eml +30 -0
  224. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_quoted_with_0d0a.eml +14 -0
  225. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_reply.eml +32 -0
  226. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_simple.eml +11 -0
  227. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_string_in_date_field.eml +17 -0
  228. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_trailing_dot.eml +21 -0
  229. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_with_bad_date.eml +48 -0
  230. data/vendor/mail/spec/fixtures/emails/plain_emails/raw_email_with_partially_quoted_subject.eml +14 -0
  231. data/vendor/mail/spec/fixtures/emails/rfc2822/example01.eml +8 -0
  232. data/vendor/mail/spec/fixtures/emails/rfc2822/example02.eml +9 -0
  233. data/vendor/mail/spec/fixtures/emails/rfc2822/example03.eml +7 -0
  234. data/vendor/mail/spec/fixtures/emails/rfc2822/example04.eml +7 -0
  235. data/vendor/mail/spec/fixtures/emails/rfc2822/example05.eml +8 -0
  236. data/vendor/mail/spec/fixtures/emails/rfc2822/example06.eml +10 -0
  237. data/vendor/mail/spec/fixtures/emails/rfc2822/example07.eml +9 -0
  238. data/vendor/mail/spec/fixtures/emails/rfc2822/example08.eml +12 -0
  239. data/vendor/mail/spec/fixtures/emails/rfc2822/example09.eml +15 -0
  240. data/vendor/mail/spec/fixtures/emails/rfc2822/example10.eml +15 -0
  241. data/vendor/mail/spec/fixtures/emails/rfc2822/example11.eml +6 -0
  242. data/vendor/mail/spec/fixtures/emails/rfc2822/example12.eml +8 -0
  243. data/vendor/mail/spec/fixtures/emails/rfc2822/example13.eml +10 -0
  244. data/vendor/mail/spec/fixtures/emails/sample_output_multipart +0 -0
  245. data/vendor/mail/spec/mail/attachments_list_spec.rb +214 -0
  246. data/vendor/mail/spec/mail/body_spec.rb +385 -0
  247. data/vendor/mail/spec/mail/configuration_spec.rb +19 -0
  248. data/vendor/mail/spec/mail/core_extensions/string_spec.rb +62 -0
  249. data/vendor/mail/spec/mail/core_extensions_spec.rb +99 -0
  250. data/vendor/mail/spec/mail/elements/address_list_spec.rb +109 -0
  251. data/vendor/mail/spec/mail/elements/address_spec.rb +609 -0
  252. data/vendor/mail/spec/mail/elements/date_time_element_spec.rb +20 -0
  253. data/vendor/mail/spec/mail/elements/envelope_from_element_spec.rb +31 -0
  254. data/vendor/mail/spec/mail/elements/message_ids_element_spec.rb +43 -0
  255. data/vendor/mail/spec/mail/elements/phrase_list_spec.rb +22 -0
  256. data/vendor/mail/spec/mail/elements/received_element_spec.rb +34 -0
  257. data/vendor/mail/spec/mail/encoding_spec.rb +189 -0
  258. data/vendor/mail/spec/mail/encodings/base64_spec.rb +25 -0
  259. data/vendor/mail/spec/mail/encodings/quoted_printable_spec.rb +25 -0
  260. data/vendor/mail/spec/mail/encodings_spec.rb +664 -0
  261. data/vendor/mail/spec/mail/example_emails_spec.rb +303 -0
  262. data/vendor/mail/spec/mail/field_list_spec.rb +33 -0
  263. data/vendor/mail/spec/mail/field_spec.rb +198 -0
  264. data/vendor/mail/spec/mail/fields/bcc_field_spec.rb +89 -0
  265. data/vendor/mail/spec/mail/fields/cc_field_spec.rb +79 -0
  266. data/vendor/mail/spec/mail/fields/comments_field_spec.rb +25 -0
  267. data/vendor/mail/spec/mail/fields/common/address_container_spec.rb +18 -0
  268. data/vendor/mail/spec/mail/fields/common/common_address_spec.rb +132 -0
  269. data/vendor/mail/spec/mail/fields/common/common_date_spec.rb +25 -0
  270. data/vendor/mail/spec/mail/fields/common/common_field_spec.rb +69 -0
  271. data/vendor/mail/spec/mail/fields/common/common_message_id_spec.rb +30 -0
  272. data/vendor/mail/spec/mail/fields/common/parameter_hash_spec.rb +56 -0
  273. data/vendor/mail/spec/mail/fields/content_description_field_spec.rb +39 -0
  274. data/vendor/mail/spec/mail/fields/content_disposition_field_spec.rb +55 -0
  275. data/vendor/mail/spec/mail/fields/content_id_field_spec.rb +117 -0
  276. data/vendor/mail/spec/mail/fields/content_location_field_spec.rb +46 -0
  277. data/vendor/mail/spec/mail/fields/content_transfer_encoding_field_spec.rb +113 -0
  278. data/vendor/mail/spec/mail/fields/content_type_field_spec.rb +678 -0
  279. data/vendor/mail/spec/mail/fields/date_field_spec.rb +73 -0
  280. data/vendor/mail/spec/mail/fields/envelope_spec.rb +48 -0
  281. data/vendor/mail/spec/mail/fields/from_field_spec.rb +89 -0
  282. data/vendor/mail/spec/mail/fields/in_reply_to_field_spec.rb +62 -0
  283. data/vendor/mail/spec/mail/fields/keywords_field_spec.rb +66 -0
  284. data/vendor/mail/spec/mail/fields/message_id_field_spec.rb +147 -0
  285. data/vendor/mail/spec/mail/fields/mime_version_field_spec.rb +166 -0
  286. data/vendor/mail/spec/mail/fields/received_field_spec.rb +44 -0
  287. data/vendor/mail/spec/mail/fields/references_field_spec.rb +35 -0
  288. data/vendor/mail/spec/mail/fields/reply_to_field_spec.rb +67 -0
  289. data/vendor/mail/spec/mail/fields/resent_bcc_field_spec.rb +66 -0
  290. data/vendor/mail/spec/mail/fields/resent_cc_field_spec.rb +66 -0
  291. data/vendor/mail/spec/mail/fields/resent_date_field_spec.rb +39 -0
  292. data/vendor/mail/spec/mail/fields/resent_from_field_spec.rb +66 -0
  293. data/vendor/mail/spec/mail/fields/resent_message_id_field_spec.rb +24 -0
  294. data/vendor/mail/spec/mail/fields/resent_sender_field_spec.rb +58 -0
  295. data/vendor/mail/spec/mail/fields/resent_to_field_spec.rb +66 -0
  296. data/vendor/mail/spec/mail/fields/return_path_field_spec.rb +52 -0
  297. data/vendor/mail/spec/mail/fields/sender_field_spec.rb +58 -0
  298. data/vendor/mail/spec/mail/fields/structured_field_spec.rb +72 -0
  299. data/vendor/mail/spec/mail/fields/to_field_spec.rb +92 -0
  300. data/vendor/mail/spec/mail/fields/unstructured_field_spec.rb +134 -0
  301. data/vendor/mail/spec/mail/header_spec.rb +578 -0
  302. data/vendor/mail/spec/mail/mail_spec.rb +34 -0
  303. data/vendor/mail/spec/mail/message_spec.rb +1409 -0
  304. data/vendor/mail/spec/mail/mime_messages_spec.rb +435 -0
  305. data/vendor/mail/spec/mail/multipart_report_spec.rb +112 -0
  306. data/vendor/mail/spec/mail/network/delivery_methods/file_delivery_spec.rb +79 -0
  307. data/vendor/mail/spec/mail/network/delivery_methods/sendmail_spec.rb +125 -0
  308. data/vendor/mail/spec/mail/network/delivery_methods/smtp_spec.rb +133 -0
  309. data/vendor/mail/spec/mail/network/delivery_methods/test_mailer_spec.rb +57 -0
  310. data/vendor/mail/spec/mail/network/retriever_methods/pop3_spec.rb +180 -0
  311. data/vendor/mail/spec/mail/network_spec.rb +359 -0
  312. data/vendor/mail/spec/mail/parsers/address_lists_parser_spec.rb +15 -0
  313. data/vendor/mail/spec/mail/parsers/content_transfer_encoding_parser_spec.rb +72 -0
  314. data/vendor/mail/spec/mail/part_spec.rb +129 -0
  315. data/vendor/mail/spec/mail/parts_list_spec.rb +12 -0
  316. data/vendor/mail/spec/mail/round_tripping_spec.rb +44 -0
  317. data/vendor/mail/spec/mail/utilities_spec.rb +327 -0
  318. data/vendor/mail/spec/mail/version_specific/escape_paren_1_8_spec.rb +32 -0
  319. data/vendor/mail/spec/matchers/break_down_to.rb +35 -0
  320. data/vendor/mail/spec/spec_helper.rb +163 -0
  321. metadata +442 -0
@@ -0,0 +1,563 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+ Network Working Group N. Freed
8
+ Request for Comments: 2231 Innosoft
9
+ Updates: 2045, 2047, 2183 K. Moore
10
+ Obsoletes: 2184 University of Tennessee
11
+ Category: Standards Track November 1997
12
+
13
+
14
+ MIME Parameter Value and Encoded Word Extensions:
15
+ Character Sets, Languages, and Continuations
16
+
17
+
18
+ Status of this Memo
19
+
20
+ This document specifies an Internet standards track protocol for the
21
+ Internet community, and requests discussion and suggestions for
22
+ improvements. Please refer to the current edition of the "Internet
23
+ Official Protocol Standards" (STD 1) for the standardization state
24
+ and status of this protocol. Distribution of this memo is unlimited.
25
+
26
+ Copyright Notice
27
+
28
+ Copyright (C) The Internet Society (1997). All Rights Reserved.
29
+
30
+ 1. Abstract
31
+
32
+ This memo defines extensions to the RFC 2045 media type and RFC 2183
33
+ disposition parameter value mechanisms to provide
34
+
35
+ (1) a means to specify parameter values in character sets
36
+ other than US-ASCII,
37
+
38
+ (2) to specify the language to be used should the value be
39
+ displayed, and
40
+
41
+ (3) a continuation mechanism for long parameter values to
42
+ avoid problems with header line wrapping.
43
+
44
+ This memo also defines an extension to the encoded words defined in
45
+ RFC 2047 to allow the specification of the language to be used for
46
+ display as well as the character set.
47
+
48
+ 2. Introduction
49
+
50
+ The Multipurpose Internet Mail Extensions, or MIME [RFC-2045, RFC-
51
+ 2046, RFC-2047, RFC-2048, RFC-2049], define a message format that
52
+ allows for:
53
+
54
+
55
+
56
+
57
+
58
+ Freed & Moore Standards Track [Page 1]
59
+
60
+ RFC 2231 MIME Value and Encoded Word Extensions November 1997
61
+
62
+
63
+ (1) textual message bodies in character sets other than
64
+ US-ASCII,
65
+
66
+ (2) non-textual message bodies,
67
+
68
+ (3) multi-part message bodies, and
69
+
70
+ (4) textual header information in character sets other than
71
+ US-ASCII.
72
+
73
+ MIME is now widely deployed and is used by a variety of Internet
74
+ protocols, including, of course, Internet email. However, MIME's
75
+ success has resulted in the need for additional mechanisms that were
76
+ not provided in the original protocol specification.
77
+
78
+ In particular, existing MIME mechanisms provide for named media type
79
+ (content-type field) parameters as well as named disposition
80
+ (content-disposition field). A MIME media type may specify any
81
+ number of parameters associated with all of its subtypes, and any
82
+ specific subtype may specify additional parameters for its own use. A
83
+ MIME disposition value may specify any number of associated
84
+ parameters, the most important of which is probably the attachment
85
+ disposition's filename parameter.
86
+
87
+ These parameter names and values end up appearing in the content-type
88
+ and content-disposition header fields in Internet email. This
89
+ inherently imposes three crucial limitations:
90
+
91
+ (1) Lines in Internet email header fields are folded
92
+ according to RFC 822 folding rules. This makes long
93
+ parameter values problematic.
94
+
95
+ (2) MIME headers, like the RFC 822 headers they often
96
+ appear in, are limited to 7bit US-ASCII, and the
97
+ encoded-word mechanisms of RFC 2047 are not available
98
+ to parameter values. This makes it impossible to have
99
+ parameter values in character sets other than US-ASCII
100
+ without specifying some sort of private per-parameter
101
+ encoding.
102
+
103
+ (3) It has recently become clear that character set
104
+ information is not sufficient to properly display some
105
+ sorts of information -- language information is also
106
+ needed [RFC-2130]. For example, support for
107
+ handicapped users may require reading text string
108
+
109
+
110
+
111
+
112
+
113
+
114
+ Freed & Moore Standards Track [Page 2]
115
+
116
+ RFC 2231 MIME Value and Encoded Word Extensions November 1997
117
+
118
+
119
+ aloud. The language the text is written in is needed
120
+ for this to be done correctly. Some parameter values
121
+ may need to be displayed, hence there is a need to
122
+ allow for the inclusion of language information.
123
+
124
+ The last problem on this list is also an issue for the encoded words
125
+ defined by RFC 2047, as encoded words are intended primarily for
126
+ display purposes.
127
+
128
+ This document defines extensions that address all of these
129
+ limitations. All of these extensions are implemented in a fashion
130
+ that is completely compatible at a syntactic level with existing MIME
131
+ implementations. In addition, the extensions are designed to have as
132
+ little impact as possible on existing uses of MIME.
133
+
134
+ IMPORTANT NOTE: These mechanisms end up being somewhat gibbous when
135
+ they actually are used. As such, these mechanisms should not be used
136
+ lightly; they should be reserved for situations where a real need for
137
+ them exists.
138
+
139
+ 2.1. Requirements notation
140
+
141
+ This document occasionally uses terms that appear in capital letters.
142
+ When the terms "MUST", "SHOULD", "MUST NOT", "SHOULD NOT", and "MAY"
143
+ appear capitalized, they are being used to indicate particular
144
+ requirements of this specification. A discussion of the meanings of
145
+ these terms appears in [RFC- 2119].
146
+
147
+ 3. Parameter Value Continuations
148
+
149
+ Long MIME media type or disposition parameter values do not interact
150
+ well with header line wrapping conventions. In particular, proper
151
+ header line wrapping depends on there being places where linear
152
+ whitespace (LWSP) is allowed, which may or may not be present in a
153
+ parameter value, and even if present may not be recognizable as such
154
+ since specific knowledge of parameter value syntax may not be
155
+ available to the agent doing the line wrapping. The result is that
156
+ long parameter values may end up getting truncated or otherwise
157
+ damaged by incorrect line wrapping implementations.
158
+
159
+ A mechanism is therefore needed to break up parameter values into
160
+ smaller units that are amenable to line wrapping. Any such mechanism
161
+ MUST be compatible with existing MIME processors. This means that
162
+
163
+ (1) the mechanism MUST NOT change the syntax of MIME media
164
+ type and disposition lines, and
165
+
166
+
167
+
168
+
169
+
170
+ Freed & Moore Standards Track [Page 3]
171
+
172
+ RFC 2231 MIME Value and Encoded Word Extensions November 1997
173
+
174
+
175
+ (2) the mechanism MUST NOT depend on parameter ordering
176
+ since MIME states that parameters are not order
177
+ sensitive. Note that while MIME does prohibit
178
+ modification of MIME headers during transport, it is
179
+ still possible that parameters will be reordered when
180
+ user agent level processing is done.
181
+
182
+ The obvious solution, then, is to use multiple parameters to contain
183
+ a single parameter value and to use some kind of distinguished name
184
+ to indicate when this is being done. And this obvious solution is
185
+ exactly what is specified here: The asterisk character ("*") followed
186
+ by a decimal count is employed to indicate that multiple parameters
187
+ are being used to encapsulate a single parameter value. The count
188
+ starts at 0 and increments by 1 for each subsequent section of the
189
+ parameter value. Decimal values are used and neither leading zeroes
190
+ nor gaps in the sequence are allowed.
191
+
192
+ The original parameter value is recovered by concatenating the
193
+ various sections of the parameter, in order. For example, the
194
+ content-type field
195
+
196
+ Content-Type: message/external-body; access-type=URL;
197
+ URL*0="ftp://";
198
+ URL*1="cs.utk.edu/pub/moore/bulk-mailer/bulk-mailer.tar"
199
+
200
+ is semantically identical to
201
+
202
+ Content-Type: message/external-body; access-type=URL;
203
+ URL="ftp://cs.utk.edu/pub/moore/bulk-mailer/bulk-mailer.tar"
204
+
205
+ Note that quotes around parameter values are part of the value
206
+ syntax; they are NOT part of the value itself. Furthermore, it is
207
+ explicitly permitted to have a mixture of quoted and unquoted
208
+ continuation fields.
209
+
210
+ 4. Parameter Value Character Set and Language Information
211
+
212
+ Some parameter values may need to be qualified with character set or
213
+ language information. It is clear that a distinguished parameter
214
+ name is needed to identify when this information is present along
215
+ with a specific syntax for the information in the value itself. In
216
+ addition, a lightweight encoding mechanism is needed to accommodate 8
217
+ bit information in parameter values.
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+ Freed & Moore Standards Track [Page 4]
227
+
228
+ RFC 2231 MIME Value and Encoded Word Extensions November 1997
229
+
230
+
231
+ Asterisks ("*") are reused to provide the indicator that language and
232
+ character set information is present and encoding is being used. A
233
+ single quote ("'") is used to delimit the character set and language
234
+ information at the beginning of the parameter value. Percent signs
235
+ ("%") are used as the encoding flag, which agrees with RFC 2047.
236
+
237
+ Specifically, an asterisk at the end of a parameter name acts as an
238
+ indicator that character set and language information may appear at
239
+ the beginning of the parameter value. A single quote is used to
240
+ separate the character set, language, and actual value information in
241
+ the parameter value string, and an percent sign is used to flag
242
+ octets encoded in hexadecimal. For example:
243
+
244
+ Content-Type: application/x-stuff;
245
+ title*=us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A
246
+
247
+ Note that it is perfectly permissible to leave either the character
248
+ set or language field blank. Note also that the single quote
249
+ delimiters MUST be present even when one of the field values is
250
+ omitted. This is done when either character set, language, or both
251
+ are not relevant to the parameter value at hand. This MUST NOT be
252
+ done in order to indicate a default character set or language --
253
+ parameter field definitions MUST NOT assign a default character set
254
+ or language.
255
+
256
+ 4.1. Combining Character Set, Language, and Parameter Continuations
257
+
258
+ Character set and language information may be combined with the
259
+ parameter continuation mechanism. For example:
260
+
261
+ Content-Type: application/x-stuff
262
+ title*0*=us-ascii'en'This%20is%20even%20more%20
263
+ title*1*=%2A%2A%2Afun%2A%2A%2A%20
264
+ title*2="isn't it!"
265
+
266
+ Note that:
267
+
268
+ (1) Language and character set information only appear at
269
+ the beginning of a given parameter value.
270
+
271
+ (2) Continuations do not provide a facility for using more
272
+ than one character set or language in the same
273
+ parameter value.
274
+
275
+ (3) A value presented using multiple continuations may
276
+ contain a mixture of encoded and unencoded segments.
277
+
278
+
279
+
280
+
281
+
282
+ Freed & Moore Standards Track [Page 5]
283
+
284
+ RFC 2231 MIME Value and Encoded Word Extensions November 1997
285
+
286
+
287
+ (4) The first segment of a continuation MUST be encoded if
288
+ language and character set information are given.
289
+
290
+ (5) If the first segment of a continued parameter value is
291
+ encoded the language and character set field delimiters
292
+ MUST be present even when the fields are left blank.
293
+
294
+ 5. Language specification in Encoded Words
295
+
296
+ RFC 2047 provides support for non-US-ASCII character sets in RFC 822
297
+ message header comments, phrases, and any unstructured text field.
298
+ This is done by defining an encoded word construct which can appear
299
+ in any of these places. Given that these are fields intended for
300
+ display, it is sometimes necessary to associate language information
301
+ with encoded words as well as just the character set. This
302
+ specification extends the definition of an encoded word to allow the
303
+ inclusion of such information. This is simply done by suffixing the
304
+ character set specification with an asterisk followed by the language
305
+ tag. For example:
306
+
307
+ From: =?US-ASCII*EN?Q?Keith_Moore?= <moore@cs.utk.edu>
308
+
309
+ 6. IMAP4 Handling of Parameter Values
310
+
311
+ IMAP4 [RFC-2060] servers SHOULD decode parameter value continuations
312
+ when generating the BODY and BODYSTRUCTURE fetch attributes.
313
+
314
+ 7. Modifications to MIME ABNF
315
+
316
+ The ABNF for MIME parameter values given in RFC 2045 is:
317
+
318
+ parameter := attribute "=" value
319
+
320
+ attribute := token
321
+ ; Matching of attributes
322
+ ; is ALWAYS case-insensitive.
323
+
324
+ This specification changes this ABNF to:
325
+
326
+ parameter := regular-parameter / extended-parameter
327
+
328
+ regular-parameter := regular-parameter-name "=" value
329
+
330
+ regular-parameter-name := attribute [section]
331
+
332
+ attribute := 1*attribute-char
333
+
334
+
335
+
336
+
337
+
338
+ Freed & Moore Standards Track [Page 6]
339
+
340
+ RFC 2231 MIME Value and Encoded Word Extensions November 1997
341
+
342
+
343
+ attribute-char := <any (US-ASCII) CHAR except SPACE, CTLs,
344
+ "*", "'", "%", or tspecials>
345
+
346
+ section := initial-section / other-sections
347
+
348
+ initial-section := "*0"
349
+
350
+ other-sections := "*" ("1" / "2" / "3" / "4" / "5" /
351
+ "6" / "7" / "8" / "9") *DIGIT)
352
+
353
+ extended-parameter := (extended-initial-name "="
354
+ extended-value) /
355
+ (extended-other-names "="
356
+ extended-other-values)
357
+
358
+ extended-initial-name := attribute [initial-section] "*"
359
+
360
+ extended-other-names := attribute other-sections "*"
361
+
362
+ extended-initial-value := [charset] "'" [language] "'"
363
+ extended-other-values
364
+
365
+ extended-other-values := *(ext-octet / attribute-char)
366
+
367
+ ext-octet := "%" 2(DIGIT / "A" / "B" / "C" / "D" / "E" / "F")
368
+
369
+ charset := <registered character set name>
370
+
371
+ language := <registered language tag [RFC-1766]>
372
+
373
+ The ABNF given in RFC 2047 for encoded-words is:
374
+
375
+ encoded-word := "=?" charset "?" encoding "?" encoded-text "?="
376
+
377
+ This specification changes this ABNF to:
378
+
379
+ encoded-word := "=?" charset ["*" language] "?" encoded-text "?="
380
+
381
+ 8. Character sets which allow specification of language
382
+
383
+ In the future it is likely that some character sets will provide
384
+ facilities for inline language labeling. Such facilities are
385
+ inherently more flexible than those defined here as they allow for
386
+ language switching in the middle of a string.
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+ Freed & Moore Standards Track [Page 7]
395
+
396
+ RFC 2231 MIME Value and Encoded Word Extensions November 1997
397
+
398
+
399
+ If and when such facilities are developed they SHOULD be used in
400
+ preference to the language labeling facilities specified here. Note
401
+ that all the mechanisms defined here allow for the omission of
402
+ language labels so as to be able to accommodate this possible future
403
+ usage.
404
+
405
+ 9. Security Considerations
406
+
407
+ This RFC does not discuss security issues and is not believed to
408
+ raise any security issues not already endemic in electronic mail and
409
+ present in fully conforming implementations of MIME.
410
+
411
+ 10. References
412
+
413
+ [RFC-822]
414
+ Crocker, D., "Standard for the Format of ARPA Internet
415
+ Text Messages", STD 11, RFC 822 August 1982.
416
+
417
+ [RFC-1766]
418
+ Alvestrand, H., "Tags for the Identification of
419
+ Languages", RFC 1766, March 1995.
420
+
421
+ [RFC-2045]
422
+ Freed, N., and N. Borenstein, "Multipurpose Internet Mail
423
+ Extensions (MIME) Part One: Format of Internet Message
424
+ Bodies", RFC 2045, December 1996.
425
+
426
+ [RFC-2046]
427
+ Freed, N. and N. Borenstein, "Multipurpose Internet Mail
428
+ Extensions (MIME) Part Two: Media Types", RFC 2046,
429
+ December 1996.
430
+
431
+ [RFC-2047]
432
+ Moore, K., "Multipurpose Internet Mail Extensions (MIME)
433
+ Part Three: Representation of Non-ASCII Text in Internet
434
+ Message Headers", RFC 2047, December 1996.
435
+
436
+ [RFC-2048]
437
+ Freed, N., Klensin, J. and J. Postel, "Multipurpose
438
+ Internet Mail Extensions (MIME) Part Four: MIME
439
+ Registration Procedures", RFC 2048, December 1996.
440
+
441
+ [RFC-2049]
442
+ Freed, N. and N. Borenstein, "Multipurpose Internet Mail
443
+ Extensions (MIME) Part Five: Conformance Criteria and
444
+ Examples", RFC 2049, December 1996.
445
+
446
+
447
+
448
+
449
+
450
+ Freed & Moore Standards Track [Page 8]
451
+
452
+ RFC 2231 MIME Value and Encoded Word Extensions November 1997
453
+
454
+
455
+ [RFC-2060]
456
+ Crispin, M., "Internet Message Access Protocol - Version
457
+ 4rev1", RFC 2060, December 1996.
458
+
459
+ [RFC-2119]
460
+ Bradner, S., "Key words for use in RFCs to Indicate
461
+ Requirement Levels", RFC 2119, March 1997.
462
+
463
+ [RFC-2130]
464
+ Weider, C., Preston, C., Simonsen, K., Alvestrand, H.,
465
+ Atkinson, R., Crispin, M., and P. Svanberg, "Report from the
466
+ IAB Character Set Workshop", RFC 2130, April 1997.
467
+
468
+ [RFC-2183]
469
+ Troost, R., Dorner, S. and K. Moore, "Communicating
470
+ Presentation Information in Internet Messages: The
471
+ Content-Disposition Header", RFC 2183, August 1997.
472
+
473
+ 11. Authors' Addresses
474
+
475
+ Ned Freed
476
+ Innosoft International, Inc.
477
+ 1050 Lakes Drive
478
+ West Covina, CA 91790
479
+ USA
480
+
481
+ Phone: +1 626 919 3600
482
+ Fax: +1 626 919 3614
483
+ EMail: ned.freed@innosoft.com
484
+
485
+
486
+ Keith Moore
487
+ Computer Science Dept.
488
+ University of Tennessee
489
+ 107 Ayres Hall
490
+ Knoxville, TN 37996-1301
491
+ USA
492
+
493
+ EMail: moore@cs.utk.edu
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+ Freed & Moore Standards Track [Page 9]
507
+
508
+ RFC 2231 MIME Value and Encoded Word Extensions November 1997
509
+
510
+
511
+ 12. Full Copyright Statement
512
+
513
+ Copyright (C) The Internet Society (1997). All Rights Reserved.
514
+
515
+ This document and translations of it may be copied and furnished to
516
+ others, and derivative works that comment on or otherwise explain it
517
+ or assist in its implementation may be prepared, copied, published
518
+ and distributed, in whole or in part, without restriction of any
519
+ kind, provided that the above copyright notice and this paragraph are
520
+ included on all such copies and derivative works. However, this
521
+ document itself may not be modified in any way, such as by removing
522
+ the copyright notice or references to the Internet Society or other
523
+ Internet organizations, except as needed for the purpose of
524
+ developing Internet standards in which case the procedures for
525
+ copyrights defined in the Internet Standards process must be
526
+ followed, or as required to translate it into languages other than
527
+ English.
528
+
529
+ The limited permissions granted above are perpetual and will not be
530
+ revoked by the Internet Society or its successors or assigns.
531
+
532
+ This document and the information contained herein is provided on an
533
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
534
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
535
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
536
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
537
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+
557
+
558
+
559
+
560
+
561
+
562
+ Freed & Moore Standards Track [Page 10]
563
+