rack-mail_exception 0.0.1

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.
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
+