[Rt-commit] rt branch, 4.2/smime-v2, updated. rt-4.0.4-501-gfe4a911

Ruslan Zakirov ruz at bestpractical.com
Tue Jan 17 09:25:27 EST 2012


The branch, 4.2/smime-v2 has been updated
       via  fe4a911426330f4a9a4ab625d8f8e08d45bc34cf (commit)
       via  95f77956f4860be2691fc41cc0e24ea78643e16e (commit)
       via  a865b2f1823dcc208f79b07ee174748cd9eea952 (commit)
       via  8e7549f73afe4b31570f9c030210419160503165 (commit)
       via  e18104a176366115d6157476f522650b20893b79 (commit)
       via  81bfddb1af3fb46a6634b7d905bb5d602fa12f71 (commit)
       via  4756b32dbcd67335fe0131f9ae9c2c599e8d4445 (commit)
       via  b6e3315e478ec443c3f671d9db9aab665fab38c5 (commit)
       via  bebc957e549124d58cd03fff1dd590dae9a57fbc (commit)
       via  6bea08112b5482feb7b2b3640e5626ec39bb79b7 (commit)
       via  a95faf0e050f8616e210f360a68d42504aee32b6 (commit)
       via  f15a0e3bab5ea4fba2367a919b49f12f17959926 (commit)
       via  4722d9378bf29d701f516d5de8570b39077b169f (commit)
       via  0b32e12eed82686f129b62ee4b767ebea5eb44a4 (commit)
       via  a8e52099424f97e3ae318ab8b6f98ddf70c5883c (commit)
       via  74643adeb101b5382db89d23b0962ece9cbf9bcf (commit)
       via  cce99dc836fe18737acaf45fbfb6677af9f75b65 (commit)
       via  304c7da7eb5c64132928fc98c75d66180eec2f3b (commit)
       via  da5a772238453f36349f854d5bd4d78e13861280 (commit)
       via  3502188a1e887d36297a2b16c25b015ba711b6d6 (commit)
       via  87c044a72097f1aebabdd5d36b5a9c28836532d1 (commit)
       via  850a4e990a78f36242541c87e08bda76016f3cbb (commit)
       via  05e6f60c59698e82d49200b0545fb86e848dbe53 (commit)
       via  6cb2eed32c1e765eeff25fef3e9ba0ddebb72ce4 (commit)
       via  23917b411f04857f157ae4f64ba955285eff2495 (commit)
       via  d8b1f042e78bef81067dafd4d8f3fbfcd416c5a4 (commit)
       via  c38408f6078cbe4dd307d2177a73d5e3a451e0cd (commit)
       via  0b7e1df5940526422603a1acb31d7ac053beba66 (commit)
       via  a04886131b78f7cf4f086adf68e1eed8732e48fc (commit)
       via  e685ac49ff24da68f1a5577fdb82da1605b0fa52 (commit)
       via  567050d2ee68a9ef2a84060508fcf159d8c6884f (commit)
       via  1696c80fdd078a2faea67eefaa3531575e9c9ae3 (commit)
       via  2562202150fdc6e6604f0a4195cfd6d45cfa555f (commit)
       via  666b1c02dc5e7abbc5fc4fc2b59fb274dc0ae8d1 (commit)
       via  c08af7805d47ce11512758300ef7c577b4c62436 (commit)
       via  b6092dcf922bcf3af5d7579fa19a7a09780f55b8 (commit)
       via  1b502754f00ce006c580b75f5352e69a8aafdd96 (commit)
       via  961ae4d442e44a317bcd6b64835b07fc8f013a82 (commit)
       via  787fc5dfda5661e273ece72428e5d12a19308cc7 (commit)
       via  e26f6a333bf75c0bd5d6ffc9df928bf1c6bb8d89 (commit)
       via  f258108601329f4d2365b4b2b1f464247b3ae713 (commit)
       via  0aac67b1a348e2385752906bb52c7d93e26bfe18 (commit)
       via  48c9a7fe135419b8cadaf95dc452e313fdedbf65 (commit)
       via  a6f29f34f78bbe09e6417d521594f7b2dbfaed4b (commit)
       via  3a41ae99b41363d217fd478bd4acccb6130c28b7 (commit)
       via  fa65b29c46def6414a7b54a250469cddac19b6e0 (commit)
       via  ce07e8493fb93dd84a64323a131adae0310482a5 (commit)
       via  b43bb9ff0031ccbefbeba344f020d86cbf52c1f4 (commit)
       via  f88d29d82e26f3147b8cf5abf18b970423f5bbe2 (commit)
       via  541dfd22e612f827678a09e1b575b854ac574680 (commit)
       via  8647578775e9620e0d92a21d080bc8da35012b17 (commit)
       via  224781e7720e0569801fc0ddb211f57b3671e7c3 (commit)
       via  3f09bda0711095cd401624059cafbd7a6fd491c9 (commit)
       via  35c50f28caeb044ebe04a53d409cecefbf6a847b (commit)
       via  a4130fb46eb8d313a07ecf53b41e63f2fe01dbef (commit)
       via  89eda5ad22f4020b9bbbbccac467f9001e0545b8 (commit)
       via  63976d19a27b2cdef77c6e61211dc56b4ee8ed41 (commit)
       via  a716761bad146b172517b7ded646c2ee1e5a7613 (commit)
       via  922a37bed50e286b59f74f7f44cba6ddeb62e46a (commit)
       via  dafef110025e5b43f7c1bd0f492893ae700695cc (commit)
       via  ea54d2323fa2241131b81d4b7d813de2dd958b4a (commit)
       via  1046d51f406b67d70dc2c53c2f912ea98167e44a (commit)
       via  91744eda7535b0489b7d302b5b6b69f5036d355c (commit)
       via  852f0b1619d8650ebd4d1517c482e994972a4dce (commit)
       via  5814796c0661c4dd0310b003ef6062a55a866dca (commit)
       via  a2d30b4216da4e875b121fc14045d18cb2031e71 (commit)
       via  1241691ed4c3681e38422f14f7df89ca04937670 (commit)
       via  9e1b6081c0d5189f33f2e2af182e5a6eb90cd0d3 (commit)
       via  2dd79622a117a9662ee7d63834b720b54447de89 (commit)
       via  b822fe352ab56c6166657c98773abd2b85991f3d (commit)
       via  4f3fc78fe7cd3a2d465c52600dd04583acb015ff (commit)
       via  c75589acdac30becd9e3ce2ff3ae2340e3c7d526 (commit)
       via  08da9c77c0d2d27db49dd10ad02952b4eead1018 (commit)
       via  eb04675af9b9e713fc285c732994eaf9bee0130e (commit)
       via  a7f6eb4284a50f7ba4419a63ca752f0fafb1ee8f (commit)
       via  198efb029da28582431a952b224ad45e4e8efd5c (commit)
       via  b021c8a6668d52f1edd871b2b917449572910878 (commit)
       via  b8be666660ea3ef80747dbf219897872b953a7a3 (commit)
       via  9851f0a84c13796a88322559276498a8e8cd71ec (commit)
       via  0f216920bafe88e919d893bbb7eafbf3bc32890a (commit)
       via  30754d74e44dde3d5e6e982336d5afae5775066d (commit)
       via  d8024dc69f0470a3b9d3dc6aa4d18f2c5318811d (commit)
       via  5c86b1d1bb7440a52a2548455557a98c0ca2df63 (commit)
       via  94d3e288c36d2b0400cba6c80b5fa47e38d84212 (commit)
       via  5afc1f67202bdbaba9a9271cbefb950bdc6d176b (commit)
       via  b8a4a896b4edfa83fb1a5e218172e9f7927e5b48 (commit)
       via  0d3ad45c2611344e2ade8927f88703b08646cb4f (commit)
       via  6ab4af02fee6c327b4dd9b6bb6809a5aee6490ef (commit)
       via  7a161371f809d270bbc81ae8bd0cd57296cbb764 (commit)
       via  aebc304f73f79002d7ede6ed09f2cbbc546a823b (commit)
       via  3b44cbea866cedaddb848b540e49744db631e765 (commit)
       via  7df119f9eca9a2b4bfb8dfe6c940c3c6cd2d1a0a (commit)
       via  1536c6df265bb46199645b94a789ca549bf21266 (commit)
       via  6f2a1b02a3d2fcae0b8785a1bac455e09def6c8d (commit)
       via  725e7ea41b233a0c5c0f85cf23d3a32e572445b4 (commit)
       via  910d12127a52c449e70d3488c58f0925dc632fc7 (commit)
       via  15b47b368cfc45293f5bdbaae16bca0da0f2830e (commit)
       via  67c28a740dbcd30042a120471bb6bfd6fc21de8d (commit)
       via  a6d6e5eaa2d7a2b33603e74d114728449aaec34a (commit)
       via  646befea128b612355a629d360c520a08c3e3814 (commit)
       via  967ed40c62c2a1d1800db35c986cb5671975a29c (commit)
       via  72ddb36099be24f17fb7ee27a0666786729ed6ac (commit)
       via  2a25100668b34aaf22345b0622eb65ca508e1911 (commit)
       via  c8783479f7296df43dac6dbeb248c85f62bd960d (commit)
       via  e510687db67f8daaa5172f017e56d3a888247cda (commit)
       via  d0b32c9de9b724d42f58eac7cb6b2fbfc59e8999 (commit)
       via  e96831cf8f457b1601dc778cc336d43105f7a38b (commit)
       via  6290e01758bcfe908b1f77d13b88e6c9fe092da2 (commit)
       via  4419e37bcac2a874195fb4de1ae994e16a2ecda5 (commit)
       via  db3497168ebe34f72955545cf5344bf11198c751 (commit)
       via  7cd86e0e991d84a9bb7cab36bdd6f3e4c3c29da5 (commit)
       via  32410db102e6d074951476cf4a19ae529a7e5ef6 (commit)
       via  89a4fe7245212d9850e3a5263640c9d190179f70 (commit)
       via  e620b6d18e67e58e06d5e10a2a27411d51f5519b (commit)
       via  ca11550c4e2d8125d4c1c29dc734a1edc1445ca6 (commit)
       via  6b0ce674c5ec51fd615f5125f063dfb3eba6661f (commit)
       via  8625fed37840aa7c9e577b2f761d8c7f4c3baedc (commit)
       via  da90158e41e91573715731fd04b3595486adb843 (commit)
       via  cf6d7c05d536e56e991fbe9f86f2ba2167e10f7b (commit)
       via  5b92928923ceefbdf63a974254eabb6d38b6a41e (commit)
       via  a8f48997534eba5509c57fabc884f62e1118ed29 (commit)
       via  d815ce80161efbde2e76a9448ae721ed7e8b4fdb (commit)
       via  60e8ff715195d452c9914b11cd66554594148a89 (commit)
       via  bb4db08d9b186cfa28a90665cd0777e14776cf0e (commit)
       via  7ad260abf441ad821b1e55a2189b999c97ce134a (commit)
       via  f05cec5a272d1f08cfc3335ae4713c154db5d0d7 (commit)
       via  bba9375660e80662a69e5cc8d56be51f2f617a6b (commit)
       via  3c283b6a823d0fbd599c61dde3bc55f44238524b (commit)
       via  7262d8e459cdcc18a7767db70b3d6b7cbd9ce1f2 (commit)
       via  9b9b510d179718009f40cc677b47faed36f2ccb8 (commit)
       via  9bf1d68666d02f45d3c01b4b9f22237f6a291d83 (commit)
       via  1ef5c8a4f0b429893532d1ee01cefeadc4ed0331 (commit)
      from  82b7145dc78416f83ec254f315dd079af999e905 (commit)

Summary of changes:
 Makefile.in                                        |   16 +-
 README                                             |   13 +-
 TODO.SMIME                                         |    2 -
 bin/rt-crontool.in                                 |    2 +-
 bin/rt-mailgate.in                                 |   49 ++-
 bin/rt.in                                          |    2 +-
 configure.ac                                       |   14 +
 devel/tools/change-loc-msgstr                      |   47 ++
 devel/tools/extract-message-catalog                |    4 +-
 devel/tools/factory                                |    4 +-
 devel/tools/license_tag                            |    7 +-
 devel/tools/merge-rosetta.pl                       |    4 +-
 devel/tools/rt-attributes-editor                   |    2 +-
 devel/tools/tweak-template-locstring               |    4 +-
 docs/UPGRADING.mysql                               |    6 +-
 docs/schema.dot                                    |   99 +++
 docs/security.pod                                  |   14 +-
 etc/RT_Config.pm.in                                |   45 ++-
 etc/upgrade/3.8-branded-queues-extension.in        |    2 +-
 etc/upgrade/3.8-ical-extension.in                  |    2 +-
 etc/upgrade/3.8.8/content                          |   31 -
 etc/upgrade/4.1.0/content                          |   31 +
 etc/upgrade/generate-rtaddressregexp.in            |    2 +-
 etc/upgrade/sanity-check-stylesheets.pl            |    2 +-
 etc/upgrade/shrink_cgm_table.pl                    |    2 +-
 etc/upgrade/shrink_transactions_table.pl           |    2 +-
 etc/upgrade/split-out-cf-categories.in             |    2 +-
 etc/upgrade/upgrade-articles.in                    |    2 +-
 etc/upgrade/upgrade-mysql-schema.pl                |    2 +-
 etc/upgrade/vulnerable-passwords.in                |    2 +-
 lib/RT.pm                                          |    2 +-
 lib/RT/ACE.pm                                      |    2 +-
 lib/RT/ACL.pm                                      |    2 +-
 lib/RT/Action.pm                                   |    2 +-
 lib/RT/Action/AutoOpen.pm                          |    2 +-
 lib/RT/Action/Autoreply.pm                         |    2 +-
 lib/RT/Action/CreateTickets.pm                     |   26 +-
 lib/RT/Action/EscalatePriority.pm                  |    2 +-
 lib/RT/Action/ExtractSubjectTag.pm                 |    2 +-
 lib/RT/Action/LinearEscalate.pm                    |    2 +-
 lib/RT/Action/Notify.pm                            |    2 +-
 lib/RT/Action/NotifyAsComment.pm                   |    2 +-
 lib/RT/Action/NotifyGroup.pm                       |    2 +-
 lib/RT/Action/NotifyGroupAsComment.pm              |    2 +-
 lib/RT/Action/RecordComment.pm                     |    2 +-
 lib/RT/Action/RecordCorrespondence.pm              |    2 +-
 lib/RT/Action/SendEmail.pm                         |    2 +-
 lib/RT/Action/SetPriority.pm                       |    2 +-
 lib/RT/Action/SetStatus.pm                         |    2 +-
 lib/RT/Action/UserDefined.pm                       |    2 +-
 lib/RT/Approval.pm                                 |    2 +-
 lib/RT/Approval/Rule.pm                            |    2 +-
 lib/RT/Approval/Rule/Created.pm                    |    2 +-
 lib/RT/Approval/Rule/NewPending.pm                 |    2 +-
 lib/RT/Approval/Rule/Passed.pm                     |    2 +-
 lib/RT/Approval/Rule/Rejected.pm                   |    2 +-
 lib/RT/Article.pm                                  |    2 +-
 lib/RT/Articles.pm                                 |    2 +-
 lib/RT/Attachment.pm                               |    2 +-
 lib/RT/Attachments.pm                              |    2 +-
 lib/RT/Attribute.pm                                |    2 +-
 lib/RT/Attributes.pm                               |    2 +-
 lib/RT/Base.pm                                     |    2 +-
 lib/RT/CachedGroupMember.pm                        |    2 +-
 lib/RT/CachedGroupMembers.pm                       |    2 +-
 lib/RT/Class.pm                                    |    8 +-
 lib/RT/Classes.pm                                  |    2 +-
 lib/RT/Condition.pm                                |    2 +-
 lib/RT/Condition/AnyTransaction.pm                 |    2 +-
 lib/RT/Condition/BeforeDue.pm                      |    2 +-
 lib/RT/Condition/CloseTicket.pm                    |    2 +-
 lib/RT/Condition/Overdue.pm                        |    2 +-
 lib/RT/Condition/OwnerChange.pm                    |    2 +-
 lib/RT/Condition/PriorityChange.pm                 |    2 +-
 lib/RT/Condition/PriorityExceeds.pm                |    2 +-
 lib/RT/Condition/QueueChange.pm                    |    2 +-
 lib/RT/Condition/ReopenTicket.pm                   |    2 +-
 lib/RT/Condition/StatusChange.pm                   |    2 +-
 lib/RT/Condition/UserDefined.pm                    |    2 +-
 lib/RT/Config.pm                                   |    2 +-
 lib/RT/Crypt/GnuPG.pm                              |    2 +-
 lib/RT/CurrentUser.pm                              |    2 +-
 lib/RT/CustomField.pm                              |    2 +-
 lib/RT/CustomFieldValue.pm                         |    2 +-
 lib/RT/CustomFieldValues.pm                        |    2 +-
 lib/RT/CustomFieldValues/External.pm               |    2 +-
 lib/RT/CustomFieldValues/Groups.pm                 |    2 +-
 lib/RT/CustomFields.pm                             |    2 +-
 lib/RT/Dashboard.pm                                |    2 +-
 lib/RT/Dashboard/Mailer.pm                         |    2 +-
 lib/RT/Dashboards.pm                               |    2 +-
 lib/RT/Date.pm                                     |    2 +-
 lib/RT/EmailParser.pm                              |    2 +-
 lib/RT/Generated.pm.in                             |    2 +-
 lib/RT/Graph/Tickets.pm                            |    2 +-
 lib/RT/Group.pm                                    |    2 +-
 lib/RT/GroupMember.pm                              |    2 +-
 lib/RT/GroupMembers.pm                             |    2 +-
 lib/RT/Groups.pm                                   |    2 +-
 lib/RT/Handle.pm                                   |    2 +-
 lib/RT/I18N.pm                                     |    2 +-
 lib/RT/I18N/cs.pm                                  |    2 +-
 lib/RT/I18N/i_default.pm                           |    2 +-
 lib/RT/I18N/ru.pm                                  |    2 +-
 lib/RT/Installer.pm                                |    2 +-
 lib/RT/Interface/CLI.pm                            |    3 +-
 lib/RT/Interface/Email.pm                          |    2 +-
 lib/RT/Interface/Email/Auth/GnuPG.pm               |    2 +-
 lib/RT/Interface/Email/Auth/MailFrom.pm            |    2 +-
 lib/RT/Interface/REST.pm                           |    3 +-
 lib/RT/Interface/Web.pm                            |   65 ++-
 lib/RT/Interface/Web/Handler.pm                    |    2 +-
 lib/RT/Interface/Web/Menu.pm                       |   11 +-
 lib/RT/Interface/Web/QueryBuilder.pm               |    2 +-
 lib/RT/Interface/Web/QueryBuilder/Tree.pm          |    2 +-
 lib/RT/Interface/Web/Request.pm                    |    2 +-
 lib/RT/Interface/Web/Session.pm                    |    2 +-
 lib/RT/Lifecycle.pm                                |    2 +-
 lib/RT/Link.pm                                     |    2 +-
 lib/RT/Links.pm                                    |    2 +-
 lib/RT/ObjectClass.pm                              |    2 +-
 lib/RT/ObjectClasses.pm                            |    2 +-
 lib/RT/ObjectCustomField.pm                        |    2 +-
 lib/RT/ObjectCustomFieldValue.pm                   |    2 +-
 lib/RT/ObjectCustomFieldValues.pm                  |    2 +-
 lib/RT/ObjectCustomFields.pm                       |    2 +-
 lib/RT/ObjectTopic.pm                              |    2 +-
 lib/RT/ObjectTopics.pm                             |    2 +-
 lib/RT/Plugin.pm                                   |    2 +-
 lib/RT/Principal.pm                                |    2 +-
 lib/RT/Principals.pm                               |    2 +-
 lib/RT/Queue.pm                                    |    2 +-
 lib/RT/Queues.pm                                   |    2 +-
 lib/RT/Record.pm                                   |    2 +-
 lib/RT/Reminders.pm                                |    2 +-
 lib/RT/Report/Tickets.pm                           |    2 +-
 lib/RT/Report/Tickets/Entry.pm                     |    2 +-
 lib/RT/Rule.pm                                     |    2 +-
 lib/RT/Ruleset.pm                                  |    2 +-
 lib/RT/SQL.pm                                      |    2 +-
 lib/RT/SavedSearch.pm                              |    2 +-
 lib/RT/SavedSearches.pm                            |    2 +-
 lib/RT/Scrip.pm                                    |    2 +-
 lib/RT/ScripAction.pm                              |    2 +-
 lib/RT/ScripActions.pm                             |    2 +-
 lib/RT/ScripCondition.pm                           |    2 +-
 lib/RT/ScripConditions.pm                          |    2 +-
 lib/RT/Scrips.pm                                   |    2 +-
 lib/RT/Search.pm                                   |    2 +-
 lib/RT/Search/ActiveTicketsInQueue.pm              |    2 +-
 lib/RT/Search/FromSQL.pm                           |    2 +-
 lib/RT/Search/Googleish.pm                         |    8 +-
 lib/RT/SearchBuilder.pm                            |    2 +-
 lib/RT/SharedSetting.pm                            |    2 +-
 lib/RT/SharedSettings.pm                           |    2 +-
 lib/RT/Shredder.pm                                 |    2 +-
 lib/RT/Shredder/ACE.pm                             |    2 +-
 lib/RT/Shredder/Attachment.pm                      |    2 +-
 lib/RT/Shredder/CachedGroupMember.pm               |    2 +-
 lib/RT/Shredder/Constants.pm                       |    2 +-
 lib/RT/Shredder/CustomField.pm                     |    2 +-
 lib/RT/Shredder/CustomFieldValue.pm                |    2 +-
 lib/RT/Shredder/Dependencies.pm                    |    2 +-
 lib/RT/Shredder/Dependency.pm                      |    2 +-
 lib/RT/Shredder/Exceptions.pm                      |    2 +-
 lib/RT/Shredder/Group.pm                           |    2 +-
 lib/RT/Shredder/GroupMember.pm                     |    2 +-
 lib/RT/Shredder/Link.pm                            |    2 +-
 lib/RT/Shredder/ObjectCustomFieldValue.pm          |    2 +-
 lib/RT/Shredder/POD.pm                             |    2 +-
 lib/RT/Shredder/Plugin.pm                          |    2 +-
 lib/RT/Shredder/Plugin/Attachments.pm              |    2 +-
 lib/RT/Shredder/Plugin/Base.pm                     |    2 +-
 lib/RT/Shredder/Plugin/Base/Dump.pm                |    2 +-
 lib/RT/Shredder/Plugin/Base/Search.pm              |    2 +-
 lib/RT/Shredder/Plugin/Objects.pm                  |    2 +-
 lib/RT/Shredder/Plugin/SQLDump.pm                  |    2 +-
 lib/RT/Shredder/Plugin/Summary.pm                  |    2 +-
 lib/RT/Shredder/Plugin/Tickets.pm                  |    2 +-
 lib/RT/Shredder/Plugin/Users.pm                    |    2 +-
 lib/RT/Shredder/Principal.pm                       |    2 +-
 lib/RT/Shredder/Queue.pm                           |    2 +-
 lib/RT/Shredder/Record.pm                          |    2 +-
 lib/RT/Shredder/Scrip.pm                           |    2 +-
 lib/RT/Shredder/ScripAction.pm                     |    2 +-
 lib/RT/Shredder/ScripCondition.pm                  |    2 +-
 lib/RT/Shredder/Template.pm                        |    2 +-
 lib/RT/Shredder/Ticket.pm                          |    2 +-
 lib/RT/Shredder/Transaction.pm                     |    2 +-
 lib/RT/Shredder/User.pm                            |    2 +-
 lib/RT/Squish.pm                                   |    2 +-
 lib/RT/Squish/CSS.pm                               |    2 +-
 lib/RT/Squish/JS.pm                                |    2 +-
 lib/RT/StyleGuide.pod                              |    2 +-
 lib/RT/System.pm                                   |    2 +-
 lib/RT/Template.pm                                 |    2 +-
 lib/RT/Templates.pm                                |    2 +-
 lib/RT/Test.pm                                     |   42 +-
 lib/RT/Test/Apache.pm                              |    2 +-
 lib/RT/Test/Email.pm                               |    2 +-
 lib/RT/Test/GnuPG.pm                               |    2 +-
 lib/RT/Test/Web.pm                                 |   29 +-
 lib/RT/Ticket.pm                                   |    2 +-
 lib/RT/Tickets.pm                                  |    5 +-
 lib/RT/Tickets_SQL.pm                              |    2 +-
 lib/RT/Topic.pm                                    |    2 +-
 lib/RT/Topics.pm                                   |    2 +-
 lib/RT/Transaction.pm                              |    2 +-
 lib/RT/Transactions.pm                             |    2 +-
 lib/RT/URI.pm                                      |    2 +-
 lib/RT/URI/a.pm                                    |    2 +-
 lib/RT/URI/base.pm                                 |    2 +-
 lib/RT/URI/fsck_com_article.pm                     |    2 +-
 lib/RT/URI/fsck_com_rt.pm                          |    2 +-
 lib/RT/URI/t.pm                                    |    3 +-
 lib/RT/User.pm                                     |    2 +-
 lib/RT/Users.pm                                    |    9 +-
 lib/RT/Util.pm                                     |   23 +-
 sbin/rt-attributes-viewer.in                       |    2 +-
 sbin/rt-clean-sessions.in                          |    5 +-
 sbin/rt-dump-metadata.in                           |    2 +-
 sbin/rt-email-dashboards.in                        |    2 +-
 sbin/rt-email-digest.in                            |    2 +-
 sbin/rt-email-group-admin.in                       |    2 +-
 sbin/rt-fulltext-indexer.in                        |    2 +-
 sbin/rt-message-catalog                            |    2 +-
 sbin/rt-preferences-viewer.in                      |    2 +-
 sbin/rt-server.in                                  |    2 +-
 sbin/rt-session-viewer.in                          |    2 +-
 sbin/rt-setup-database.in                          |    2 +-
 sbin/rt-setup-fulltext-index.in                    |    2 +-
 sbin/rt-shredder.in                                |    2 +-
 sbin/rt-test-dependencies.in                       |   12 +-
 sbin/rt-validator.in                               |   58 +-
 .../html/Admin/Articles/Classes/CustomFields.html  |    2 +-
 share/html/Admin/Articles/Classes/GroupRights.html |    2 +-
 share/html/Admin/Articles/Classes/Modify.html      |    2 +-
 share/html/Admin/Articles/Classes/Objects.html     |    2 +-
 share/html/Admin/Articles/Classes/Topics.html      |    2 +-
 share/html/Admin/Articles/Classes/UserRights.html  |    2 +-
 share/html/Admin/Articles/Classes/index.html       |    2 +-
 share/html/Admin/Articles/Elements/Topics          |    2 +-
 share/html/Admin/Articles/index.html               |    2 +-
 share/html/Admin/CustomFields/GroupRights.html     |    2 +-
 share/html/Admin/CustomFields/Modify.html          |    2 +-
 share/html/Admin/CustomFields/Objects.html         |    2 +-
 share/html/Admin/CustomFields/UserRights.html      |    2 +-
 share/html/Admin/CustomFields/index.html           |    2 +-
 share/html/Admin/Elements/AddCustomFieldValue      |    2 +-
 share/html/Admin/Elements/ConfigureMyRT            |    2 +-
 share/html/Admin/Elements/CreateUserCalled         |    2 +-
 share/html/Admin/Elements/EditCustomField          |    2 +-
 share/html/Admin/Elements/EditCustomFieldValues    |    2 +-
 .../Admin/Elements/EditCustomFieldValuesSource     |    2 +-
 share/html/Admin/Elements/EditCustomFields         |    2 +-
 share/html/Admin/Elements/EditQueueWatcherGroup    |    2 +-
 share/html/Admin/Elements/EditQueueWatchers        |    2 +-
 share/html/Admin/Elements/EditRights               |    2 +-
 share/html/Admin/Elements/EditRightsCategoryTabs   |    2 +-
 share/html/Admin/Elements/EditScrip                |    2 +-
 share/html/Admin/Elements/EditScrips               |    2 +-
 share/html/Admin/Elements/EditTemplates            |    2 +-
 share/html/Admin/Elements/EditUserComments         |    2 +-
 share/html/Admin/Elements/Header                   |    2 +-
 share/html/Admin/Elements/ListGlobalCustomFields   |    2 +-
 share/html/Admin/Elements/ListGlobalScrips         |    2 +-
 share/html/Admin/Elements/ModifyTemplate           |    2 +-
 share/html/Admin/Elements/PickCustomFields         |    2 +-
 share/html/Admin/Elements/PickObjects              |    2 +-
 share/html/Admin/Elements/Portal                   |    2 +-
 share/html/Admin/Elements/QueueRightsForUser       |    2 +-
 share/html/Admin/Elements/SelectCustomField        |    2 +-
 .../Admin/Elements/SelectCustomFieldLookupType     |    2 +-
 .../Admin/Elements/SelectCustomFieldRenderType     |    2 +-
 share/html/Admin/Elements/SelectCustomFieldType    |    2 +-
 share/html/Admin/Elements/SelectGroups             |    2 +-
 share/html/Admin/Elements/SelectModifyGroup        |    2 +-
 share/html/Admin/Elements/SelectModifyQueue        |    2 +-
 share/html/Admin/Elements/SelectModifyUser         |    2 +-
 share/html/Admin/Elements/SelectNewGroupMembers    |    2 +-
 share/html/Admin/Elements/SelectRights             |    2 +-
 share/html/Admin/Elements/SelectScrip              |    2 +-
 share/html/Admin/Elements/SelectScripAction        |    2 +-
 share/html/Admin/Elements/SelectScripCondition     |    2 +-
 share/html/Admin/Elements/SelectSingleOrMultiple   |    2 +-
 share/html/Admin/Elements/SelectStage              |    2 +-
 share/html/Admin/Elements/SelectTemplate           |    2 +-
 share/html/Admin/Elements/SelectUsers              |    2 +-
 share/html/Admin/Elements/ShowKeyInfo              |    2 +-
 .../Admin/Global/CustomFields/Class-Article.html   |    2 +-
 share/html/Admin/Global/CustomFields/Groups.html   |    2 +-
 .../Admin/Global/CustomFields/Queue-Tickets.html   |    2 +-
 .../Global/CustomFields/Queue-Transactions.html    |    2 +-
 share/html/Admin/Global/CustomFields/Queues.html   |    2 +-
 share/html/Admin/Global/CustomFields/Users.html    |    2 +-
 share/html/Admin/Global/CustomFields/index.html    |    2 +-
 share/html/Admin/Global/GroupRights.html           |    2 +-
 share/html/Admin/Global/MyRT.html                  |    2 +-
 share/html/Admin/Global/Scrip.html                 |    2 +-
 share/html/Admin/Global/Scrips.html                |    2 +-
 share/html/Admin/Global/Template.html              |    2 +-
 share/html/Admin/Global/Templates.html             |    2 +-
 share/html/Admin/Global/Topics.html                |    2 +-
 share/html/Admin/Global/UserRights.html            |    2 +-
 share/html/Admin/Global/index.html                 |    2 +-
 share/html/Admin/Groups/GroupRights.html           |    2 +-
 share/html/Admin/Groups/History.html               |    2 +-
 share/html/Admin/Groups/Members.html               |    2 +-
 share/html/Admin/Groups/Modify.html                |    2 +-
 share/html/Admin/Groups/UserRights.html            |    2 +-
 share/html/Admin/Groups/index.html                 |    2 +-
 share/html/Admin/Queues/CustomField.html           |    2 +-
 share/html/Admin/Queues/CustomFields.html          |    2 +-
 share/html/Admin/Queues/GroupRights.html           |    2 +-
 share/html/Admin/Queues/History.html               |    2 +-
 share/html/Admin/Queues/Modify.html                |    2 +-
 share/html/Admin/Queues/People.html                |    2 +-
 share/html/Admin/Queues/Scrip.html                 |    2 +-
 share/html/Admin/Queues/Scrips.html                |    2 +-
 share/html/Admin/Queues/Template.html              |    2 +-
 share/html/Admin/Queues/Templates.html             |    2 +-
 share/html/Admin/Queues/UserRights.html            |    2 +-
 share/html/Admin/Queues/index.html                 |    2 +-
 share/html/Admin/Tools/Configuration.html          |    2 +-
 share/html/Admin/Tools/Queries.html                |    2 +-
 share/html/Admin/Tools/Shredder/Dumps/dhandler     |    2 +-
 .../Admin/Tools/Shredder/Elements/DumpFileLink     |    2 +-
 .../Admin/Tools/Shredder/Elements/Error/NoRights   |    2 +-
 .../Admin/Tools/Shredder/Elements/Error/NoStorage  |    2 +-
 .../Tools/Shredder/Elements/Object/RT--Attachment  |    2 +-
 .../Tools/Shredder/Elements/Object/RT--Ticket      |    2 +-
 .../Admin/Tools/Shredder/Elements/Object/RT--User  |    2 +-
 .../Admin/Tools/Shredder/Elements/ObjectCheckBox   |    2 +-
 .../Admin/Tools/Shredder/Elements/PluginArguments  |    2 +-
 .../html/Admin/Tools/Shredder/Elements/PluginHelp  |    2 +-
 .../Admin/Tools/Shredder/Elements/SelectObjects    |    2 +-
 .../Admin/Tools/Shredder/Elements/SelectPlugin     |    2 +-
 share/html/Admin/Tools/Shredder/autohandler        |    2 +-
 share/html/Admin/Tools/Shredder/index.html         |    2 +-
 share/html/Admin/Tools/Theme.html                  |    5 +-
 share/html/Admin/Tools/index.html                  |    2 +-
 share/html/Admin/Users/CustomFields.html           |    2 +-
 share/html/Admin/Users/GnuPG.html                  |    2 +-
 share/html/Admin/Users/History.html                |    2 +-
 share/html/Admin/Users/Memberships.html            |    2 +-
 share/html/Admin/Users/Modify.html                 |    2 +-
 share/html/Admin/Users/MyRT.html                   |    2 +-
 share/html/Admin/Users/index.html                  |    3 +-
 share/html/Admin/autohandler                       |    2 +-
 share/html/Admin/index.html                        |    2 +-
 share/html/Approvals/Display.html                  |    2 +-
 share/html/Approvals/Elements/Approve              |   18 +-
 share/html/Approvals/Elements/PendingMyApproval    |    2 +-
 share/html/Approvals/Elements/ShowDependency       |    2 +-
 share/html/Approvals/autohandler                   |    2 +-
 share/html/Approvals/index.html                    |   10 +-
 share/html/Articles/Article/Delete.html            |    2 +-
 share/html/Articles/Article/Display.html           |    2 +-
 share/html/Articles/Article/Edit.html              |    2 +-
 share/html/Articles/Article/Elements/EditBasics    |    2 +-
 .../Articles/Article/Elements/EditCustomFields     |    2 +-
 share/html/Articles/Article/Elements/EditLinks     |    2 +-
 share/html/Articles/Article/Elements/EditTopics    |    2 +-
 .../Article/Elements/LinkEntryInstructions         |    2 +-
 share/html/Articles/Article/Elements/Preformatted  |    2 +-
 .../Articles/Article/Elements/SearchByCustomField  |    2 +-
 .../Articles/Article/Elements/SelectSavedSearches  |    2 +-
 .../Articles/Article/Elements/SelectSearchPrivacy  |    2 +-
 share/html/Articles/Article/Elements/ShowHistory   |    2 +-
 share/html/Articles/Article/Elements/ShowLinks     |    2 +-
 .../Articles/Article/Elements/ShowSavedSearches    |    2 +-
 .../Articles/Article/Elements/ShowSearchCriteria   |    2 +-
 share/html/Articles/Article/Elements/ShowTopics    |    2 +-
 share/html/Articles/Article/ExtractFromTicket.html |    2 +-
 share/html/Articles/Article/ExtractIntoClass.html  |    2 +-
 share/html/Articles/Article/ExtractIntoTopic.html  |    2 +-
 share/html/Articles/Article/History.html           |    2 +-
 share/html/Articles/Article/PreCreate.html         |    2 +-
 share/html/Articles/Article/Search.html            |    6 +-
 share/html/Articles/Elements/BeforeMessageBox      |    2 +-
 share/html/Articles/Elements/CheckSkipCreate       |    2 +-
 share/html/Articles/Elements/CreateArticle         |    2 +-
 share/html/Articles/Elements/GotoArticle           |    2 +-
 share/html/Articles/Elements/IncludeArticle        |    2 +-
 share/html/Articles/Elements/NewestArticles        |    2 +-
 share/html/Articles/Elements/QuickSearch           |    2 +-
 share/html/Articles/Elements/SelectClass           |    2 +-
 share/html/Articles/Elements/ShowTopic             |    2 +-
 share/html/Articles/Elements/UpdatedArticles       |    2 +-
 share/html/Articles/Topics.html                    |    2 +-
 share/html/Articles/index.html                     |    2 +-
 share/html/Dashboards/Elements/DashboardsForObject |    2 +-
 share/html/Dashboards/Elements/Deleted             |    2 +-
 share/html/Dashboards/Elements/HiddenSearches      |    2 +-
 share/html/Dashboards/Elements/ListOfDashboards    |    2 +-
 share/html/Dashboards/Elements/SelectPrivacy       |    2 +-
 share/html/Dashboards/Elements/ShowDashboards      |    2 +-
 .../html/Dashboards/Elements/ShowPortlet/component |    2 +-
 .../html/Dashboards/Elements/ShowPortlet/dashboard |    2 +-
 share/html/Dashboards/Elements/ShowPortlet/search  |    2 +-
 share/html/Dashboards/Modify.html                  |    2 +-
 share/html/Dashboards/Queries.html                 |    2 +-
 share/html/Dashboards/Render.html                  |    4 +-
 share/html/Dashboards/Subscription.html            |    2 +-
 share/html/Dashboards/dhandler                     |    2 +-
 share/html/Dashboards/index.html                   |    2 +-
 share/html/Download/CustomFieldValue/dhandler      |    2 +-
 share/html/Elements/BevelBoxRaisedEnd              |    2 +-
 share/html/Elements/BevelBoxRaisedStart            |    2 +-
 share/html/Elements/Callback                       |    2 +-
 share/html/Elements/Checkbox                       |    2 +-
 share/html/Elements/CollectionAsTable/Header       |    2 +-
 share/html/Elements/CollectionAsTable/ParseFormat  |    3 +-
 share/html/Elements/CollectionAsTable/Row          |    2 +-
 share/html/Elements/CollectionList                 |    2 +-
 share/html/Elements/CollectionListPaging           |    2 +-
 share/html/Elements/ColumnMap                      |    2 +-
 share/html/Elements/CreateTicket                   |    2 +-
 share/html/Elements/{GnuPG => Crypt}/KeyIssues     |    4 +-
 .../{GnuPG => Crypt}/SelectKeyForEncryption        |    2 +-
 .../Elements/{GnuPG => Crypt}/SelectKeyForSigning  |    2 +-
 .../Elements/{GnuPG => Crypt}/SignEncryptWidget    |    4 +-
 share/html/Elements/Dashboards                     |    2 +-
 share/html/Elements/EditCustomField                |    2 +-
 share/html/Elements/EditCustomFieldAutocomplete    |    4 +-
 share/html/Elements/EditCustomFieldBinary          |    2 +-
 share/html/Elements/EditCustomFieldCombobox        |    2 +-
 share/html/Elements/EditCustomFieldDate            |    2 +-
 share/html/Elements/EditCustomFieldDateTime        |    2 +-
 share/html/Elements/EditCustomFieldFreeform        |    2 +-
 share/html/Elements/EditCustomFieldIPAddress       |    2 +-
 share/html/Elements/EditCustomFieldIPAddressRange  |    2 +-
 share/html/Elements/EditCustomFieldImage           |    2 +-
 share/html/Elements/EditCustomFieldSelect          |    2 +-
 share/html/Elements/EditCustomFieldText            |    2 +-
 share/html/Elements/EditCustomFieldWikitext        |    2 +-
 share/html/Elements/EditLinks                      |    2 +-
 share/html/Elements/EditPassword                   |    2 +-
 share/html/Elements/EditTimeValue                  |    2 +-
 share/html/Elements/EmailInput                     |    2 +-
 share/html/Elements/Error                          |    2 +-
 share/html/Elements/Footer                         |    4 +-
 share/html/Elements/Framekiller                    |   47 ++
 share/html/Elements/GotoTicket                     |    2 +-
 share/html/Elements/Header                         |    2 +-
 share/html/Elements/HeaderJavascript               |    2 +-
 share/html/Elements/ListActions                    |    2 +-
 share/html/Elements/ListMenu                       |    2 +-
 share/html/Elements/Login                          |    2 +-
 share/html/Elements/Logo                           |    2 +-
 share/html/Elements/MakeClicky                     |    2 +-
 share/html/Elements/Menu                           |    2 +-
 share/html/Elements/MessageBox                     |    2 +-
 share/html/Elements/MyAdminQueues                  |    2 +-
 share/html/Elements/MyRT                           |    2 +-
 share/html/Elements/MyReminders                    |    2 +-
 share/html/Elements/MyRequests                     |    2 +-
 share/html/Elements/MySupportQueues                |    2 +-
 share/html/Elements/MyTickets                      |    2 +-
 share/html/Elements/PageLayout                     |    2 +-
 share/html/Elements/PersonalQuickbar               |    2 +-
 share/html/Elements/QueriesAsComment               |    2 +-
 share/html/Elements/QueryString                    |    2 +-
 share/html/Elements/QueueSummaryByLifecycle        |    2 +-
 share/html/Elements/QueueSummaryByStatus           |    2 +-
 share/html/Elements/QuickCreate                    |    2 +-
 share/html/Elements/Quicksearch                    |    2 +-
 share/html/Elements/RT__Article/ColumnMap          |    2 +-
 share/html/Elements/RT__Class/ColumnMap            |    2 +-
 share/html/Elements/RT__CustomField/ColumnMap      |    2 +-
 share/html/Elements/RT__Dashboard/ColumnMap        |    2 +-
 share/html/Elements/RT__Group/ColumnMap            |    2 +-
 share/html/Elements/RT__Queue/ColumnMap            |    2 +-
 share/html/Elements/RT__SavedSearch/ColumnMap      |    2 +-
 share/html/Elements/RT__Scrip/ColumnMap            |    2 +-
 share/html/Elements/RT__Template/ColumnMap         |    2 +-
 share/html/Elements/RT__Ticket/ColumnMap           |    2 +-
 share/html/Elements/RT__User/ColumnMap             |    2 +-
 share/html/Elements/Refresh                        |    2 +-
 share/html/Elements/RefreshHomepage                |    2 +-
 share/html/Elements/SavedSearches                  |    2 +-
 share/html/Elements/ScrubHTML                      |    2 +-
 share/html/Elements/Section                        |    2 +-
 share/html/Elements/SelectAttachmentField          |    2 +-
 share/html/Elements/SelectBoolean                  |    2 +-
 share/html/Elements/SelectCustomFieldOperator      |    2 +-
 share/html/Elements/SelectCustomFieldValue         |    2 +-
 share/html/Elements/SelectDate                     |    2 +-
 share/html/Elements/SelectDateRelation             |    2 +-
 share/html/Elements/SelectDateType                 |    2 +-
 share/html/Elements/SelectEqualityOperator         |    2 +-
 share/html/Elements/SelectGroups                   |    2 +-
 share/html/Elements/SelectIPRelation               |    2 +-
 share/html/Elements/SelectLang                     |    2 +-
 share/html/Elements/SelectLinkType                 |    2 +-
 share/html/Elements/SelectMatch                    |    2 +-
 share/html/Elements/SelectNewTicketQueue           |    2 +-
 share/html/Elements/SelectOwner                    |    8 +-
 share/html/Elements/SelectOwnerAutocomplete        |    2 +-
 share/html/Elements/SelectOwnerDropdown            |    2 +-
 share/html/Elements/SelectPriority                 |    2 +-
 share/html/Elements/SelectQueue                    |    2 +-
 share/html/Elements/SelectResultsPerPage           |    2 +-
 share/html/Elements/SelectSortOrder                |    2 +-
 share/html/Elements/SelectStatus                   |    2 +-
 share/html/Elements/SelectTicketSortBy             |    2 +-
 share/html/Elements/SelectTicketTypes              |    2 +-
 share/html/Elements/SelectTimeUnits                |    2 +-
 share/html/Elements/SelectTimezone                 |    2 +-
 share/html/Elements/SelectUsers                    |    2 +-
 share/html/Elements/SelectWatcherType              |    2 +-
 share/html/Elements/SetupSessionCookie             |    2 +-
 share/html/Elements/ShowCustomFieldBinary          |    2 +-
 share/html/Elements/ShowCustomFieldDate            |    2 +-
 share/html/Elements/ShowCustomFieldDateTime        |    2 +-
 share/html/Elements/ShowCustomFieldImage           |    2 +-
 share/html/Elements/ShowCustomFieldText            |    2 +-
 share/html/Elements/ShowCustomFieldWikitext        |    2 +-
 share/html/Elements/ShowCustomFields               |    2 +-
 share/html/Elements/ShowLink                       |    2 +-
 share/html/Elements/ShowLinks                      |    2 +-
 share/html/Elements/ShowMemberships                |    2 +-
 share/html/Elements/ShowRelationLabel              |    2 +-
 share/html/Elements/ShowReminders                  |    2 +-
 share/html/Elements/ShowSearch                     |    2 +-
 share/html/Elements/ShowUser                       |    2 +-
 share/html/Elements/ShowUserConcise                |    2 +-
 share/html/Elements/ShowUserEmailFrequency         |    2 +-
 share/html/Elements/ShowUserVerbose                |    2 +-
 share/html/Elements/SimpleSearch                   |    2 +-
 share/html/Elements/Submit                         |    2 +-
 share/html/Elements/Tabs                           |  707 +++++++++++---------
 share/html/Elements/TicketList                     |    2 +-
 share/html/Elements/TitleBox                       |    2 +-
 share/html/Elements/TitleBoxEnd                    |    2 +-
 share/html/Elements/TitleBoxStart                  |    2 +-
 share/html/Elements/ValidateCustomFields           |    2 +-
 share/html/Elements/WidgetBar                      |    2 +-
 share/html/Helpers/Autocomplete/CustomFieldValues  |    8 +-
 share/html/Helpers/Autocomplete/Groups             |    6 +-
 share/html/Helpers/Autocomplete/Owners             |    6 +-
 share/html/Helpers/Autocomplete/Users              |   10 +-
 share/html/Helpers/TicketHistory                   |    2 +-
 share/html/Helpers/Toggle/ShowRequestor            |    2 +-
 share/html/Helpers/Toggle/TicketBookmark           |    2 +-
 share/html/Install/Basics.html                     |    2 +-
 share/html/Install/DatabaseDetails.html            |    2 +-
 share/html/Install/DatabaseType.html               |    2 +-
 share/html/Install/Elements/Errors                 |    2 +-
 share/html/Install/Elements/Wrapper                |    2 +-
 share/html/Install/Finish.html                     |    2 +-
 share/html/Install/Global.html                     |    2 +-
 share/html/Install/Initialize.html                 |    2 +-
 share/html/Install/Sendmail.html                   |    2 +-
 share/html/Install/autohandler                     |    2 +-
 share/html/Install/index.html                      |    2 +-
 share/html/NoAuth/Helpers/CustomLogo/dhandler      |    2 +-
 share/html/NoAuth/Login.html                       |    2 +-
 share/html/NoAuth/Logout.html                      |    2 +-
 share/html/NoAuth/Reminder.html                    |    2 +-
 share/html/NoAuth/RichText/autohandler             |    2 +-
 share/html/NoAuth/RichText/dhandler                |    2 +-
 share/html/NoAuth/css/aileron/InHeader             |    2 +-
 share/html/NoAuth/css/aileron/base.css             |    2 +-
 share/html/NoAuth/css/aileron/boxes.css            |    2 +-
 share/html/NoAuth/css/aileron/forms.css            |    2 +-
 share/html/NoAuth/css/aileron/layout.css           |    2 +-
 share/html/NoAuth/css/aileron/login.css            |    2 +-
 share/html/NoAuth/css/aileron/main.css             |    2 +-
 share/html/NoAuth/css/aileron/misc.css             |    2 +-
 share/html/NoAuth/css/aileron/msie-pie.css         |    2 +-
 share/html/NoAuth/css/aileron/msie.css             |    2 +-
 share/html/NoAuth/css/aileron/msie6.css            |    2 +-
 share/html/NoAuth/css/aileron/nav.css              |    2 +-
 share/html/NoAuth/css/aileron/ticket-lists.css     |    2 +-
 share/html/NoAuth/css/aileron/ticket-search.css    |    2 +-
 share/html/NoAuth/css/aileron/ticket.css           |    2 +-
 share/html/NoAuth/css/autohandler                  |    2 +-
 share/html/NoAuth/css/ballard/InHeader             |    2 +-
 share/html/NoAuth/css/ballard/base.css             |    2 +-
 share/html/NoAuth/css/ballard/boxes.css            |    2 +-
 share/html/NoAuth/css/ballard/layout.css           |    2 +-
 share/html/NoAuth/css/ballard/main.css             |    2 +-
 share/html/NoAuth/css/ballard/misc.css             |    2 +-
 share/html/NoAuth/css/ballard/msie.css             |    2 +-
 share/html/NoAuth/css/ballard/msie6.css            |    2 +-
 share/html/NoAuth/css/ballard/nav.css              |    2 +-
 share/html/NoAuth/css/ballard/ticket-lists.css     |    2 +-
 share/html/NoAuth/css/ballard/ticket-search.css    |    2 +-
 share/html/NoAuth/css/ballard/ticket.css           |    2 +-
 share/html/NoAuth/css/base/admin.css               |    2 +-
 share/html/NoAuth/css/base/articles.css            |    2 +-
 share/html/NoAuth/css/base/collection.css          |    2 +-
 share/html/NoAuth/css/base/farbtastic.css          |    2 +-
 share/html/NoAuth/css/base/forms.css               |    2 +-
 share/html/NoAuth/css/base/history-folding.css     |    2 +-
 share/html/NoAuth/css/base/jquery-ui.css           |    2 +-
 share/html/NoAuth/css/base/login.css               |    2 +-
 share/html/NoAuth/css/base/main.css                |    2 +-
 share/html/NoAuth/css/base/misc.css                |    2 +-
 share/html/NoAuth/css/base/nav.css                 |    2 +-
 share/html/NoAuth/css/base/portlets.css            |    2 +-
 share/html/NoAuth/css/base/rights-editor.css       |    2 +-
 share/html/NoAuth/css/base/theme-editor.css        |    2 +-
 share/html/NoAuth/css/base/ticket-form.css         |    2 +-
 share/html/NoAuth/css/base/ticket.css              |    2 +-
 share/html/NoAuth/css/base/tools.css               |    2 +-
 share/html/NoAuth/css/base/ui.timepickr.custom.css |    2 +-
 share/html/NoAuth/css/dhandler                     |    2 +-
 share/html/NoAuth/css/print.css                    |  148 ++++-
 share/html/NoAuth/css/web2/InHeader                |    2 +-
 share/html/NoAuth/css/web2/base.css                |    2 +-
 share/html/NoAuth/css/web2/boxes.css               |    2 +-
 share/html/NoAuth/css/web2/layout.css              |    2 +-
 share/html/NoAuth/css/web2/main.css                |    2 +-
 share/html/NoAuth/css/web2/misc.css                |    2 +-
 share/html/NoAuth/css/web2/msie-pie.css            |    2 +-
 share/html/NoAuth/css/web2/msie.css                |    2 +-
 share/html/NoAuth/css/web2/msie6.css               |    2 +-
 share/html/NoAuth/css/web2/nav.css                 |    2 +-
 share/html/NoAuth/css/web2/ticket-lists.css        |    2 +-
 share/html/NoAuth/css/web2/ticket-search.css       |    2 +-
 share/html/NoAuth/css/web2/ticket.css              |    2 +-
 share/html/NoAuth/iCal/dhandler                    |    2 +-
 share/html/NoAuth/js/autohandler                   |    2 +-
 share/html/NoAuth/js/cascaded.js                   |    4 +-
 share/html/NoAuth/js/combobox.js                   |    2 +-
 share/html/NoAuth/js/dhandler                      |    2 +-
 share/html/NoAuth/js/history-folding.js            |    2 +-
 share/html/NoAuth/js/jquery-ui-patch-datepicker.js |    2 +-
 share/html/NoAuth/js/jquery_noconflict.js          |    2 +-
 share/html/NoAuth/js/late.js                       |    2 +-
 share/html/NoAuth/js/titlebox-state.js             |    2 +-
 share/html/NoAuth/js/userautocomplete.js           |    2 +-
 share/html/NoAuth/js/util.js                       |    2 +-
 share/html/NoAuth/rss/dhandler                     |    2 +-
 share/html/Prefs/MyRT.html                         |    2 +-
 share/html/Prefs/Other.html                        |    4 +-
 share/html/Prefs/Quicksearch.html                  |    2 +-
 share/html/Prefs/Search.html                       |    2 +-
 share/html/Prefs/SearchOptions.html                |    2 +-
 share/html/REST/1.0/Forms/attachment/default       |    2 +-
 share/html/REST/1.0/Forms/group/customfields       |    2 +-
 share/html/REST/1.0/Forms/group/default            |    2 +-
 share/html/REST/1.0/Forms/group/ns                 |    2 +-
 share/html/REST/1.0/Forms/queue/customfields       |    2 +-
 share/html/REST/1.0/Forms/queue/default            |    2 +-
 share/html/REST/1.0/Forms/queue/ns                 |    2 +-
 share/html/REST/1.0/Forms/queue/ticketcustomfields |    2 +-
 share/html/REST/1.0/Forms/ticket/attachments       |    2 +-
 share/html/REST/1.0/Forms/ticket/comment           |    2 +-
 share/html/REST/1.0/Forms/ticket/default           |    2 +-
 share/html/REST/1.0/Forms/ticket/history           |    2 +-
 share/html/REST/1.0/Forms/ticket/links             |    2 +-
 share/html/REST/1.0/Forms/ticket/merge             |    2 +-
 share/html/REST/1.0/Forms/ticket/take              |    2 +-
 share/html/REST/1.0/Forms/transaction/default      |    2 +-
 share/html/REST/1.0/Forms/user/default             |    2 +-
 share/html/REST/1.0/Forms/user/ns                  |    2 +-
 share/html/REST/1.0/NoAuth/mail-gateway            |    2 +-
 share/html/REST/1.0/autohandler                    |    2 +-
 share/html/REST/1.0/dhandler                       |    2 +-
 share/html/REST/1.0/logout                         |    2 +-
 share/html/REST/1.0/search/dhandler                |    2 +-
 share/html/REST/1.0/search/ticket                  |    2 +-
 share/html/REST/1.0/ticket/comment                 |    2 +-
 share/html/REST/1.0/ticket/link                    |    2 +-
 share/html/REST/1.0/ticket/merge                   |    2 +-
 share/html/Search/Article.html                     |    2 +-
 share/html/Search/Build.html                       |    2 +-
 share/html/Search/Bulk.html                        |    2 +-
 share/html/Search/Chart                            |    2 +-
 share/html/Search/Chart.html                       |    2 +-
 share/html/Search/Edit.html                        |    2 +-
 share/html/Search/Elements/Article                 |    2 +-
 share/html/Search/Elements/BuildFormatString       |    3 +-
 share/html/Search/Elements/Chart                   |    2 +-
 share/html/Search/Elements/ConditionRow            |    2 +-
 share/html/Search/Elements/DisplayOptions          |    2 +-
 share/html/Search/Elements/EditFormat              |    2 +-
 share/html/Search/Elements/EditQuery               |    2 +-
 share/html/Search/Elements/EditSearches            |    2 +-
 share/html/Search/Elements/EditSort                |    2 +-
 share/html/Search/Elements/Graph                   |    2 +-
 share/html/Search/Elements/NewListActions          |    2 +-
 share/html/Search/Elements/PickBasics              |    2 +-
 share/html/Search/Elements/PickCFs                 |    2 +-
 share/html/Search/Elements/PickCriteria            |    2 +-
 share/html/Search/Elements/ResultsRSSView          |    2 +-
 share/html/Search/Elements/SearchPrivacy           |    2 +-
 share/html/Search/Elements/SearchesForObject       |    2 +-
 share/html/Search/Elements/SelectAndOr             |    2 +-
 share/html/Search/Elements/SelectChartType         |    2 +-
 share/html/Search/Elements/SelectGroup             |    2 +-
 share/html/Search/Elements/SelectGroupBy           |    2 +-
 share/html/Search/Elements/SelectLinks             |    2 +-
 share/html/Search/Elements/SelectPersonType        |    2 +-
 share/html/Search/Elements/SelectSearchObject      |    2 +-
 .../html/Search/Elements/SelectSearchesForObjects  |    2 +-
 share/html/Search/Graph.html                       |    2 +-
 share/html/Search/Results.html                     |    2 +-
 share/html/Search/Results.rdf                      |    2 +-
 share/html/Search/Results.tsv                      |    2 +-
 share/html/Search/Simple.html                      |   31 +-
 share/html/SelfService/Article/Display.html        |    2 +-
 share/html/SelfService/Article/Search.html         |    2 +-
 share/html/SelfService/Article/autohandler         |    2 +-
 share/html/SelfService/Attachment/dhandler         |    2 +-
 share/html/SelfService/Closed.html                 |    2 +-
 share/html/SelfService/Create.html                 |    2 +-
 share/html/SelfService/CreateTicketInQueue.html    |    2 +-
 share/html/SelfService/Display.html                |    2 +-
 share/html/SelfService/Elements/GotoTicket         |    2 +-
 share/html/SelfService/Elements/Header             |    2 +-
 share/html/SelfService/Elements/MyRequests         |    2 +-
 share/html/SelfService/Elements/SearchArticle      |    2 +-
 share/html/SelfService/Error.html                  |    2 +-
 share/html/SelfService/Prefs.html                  |    2 +-
 share/html/SelfService/Update.html                 |    2 +-
 share/html/SelfService/index.html                  |    2 +-
 share/html/Ticket/Attachment/WithHeaders/dhandler  |    2 +-
 share/html/Ticket/Attachment/dhandler              |    2 +-
 share/html/Ticket/Create.html                      |   12 +-
 share/html/Ticket/{GnuPG.html => Crypt.html}       |    2 +-
 share/html/Ticket/Display.html                     |   93 ++--
 share/html/Ticket/Elements/AddAttachments          |    2 +-
 share/html/Ticket/Elements/AddWatchers             |    2 +-
 share/html/Ticket/Elements/Bookmark                |    2 +-
 share/html/Ticket/Elements/BulkLinks               |    2 +-
 share/html/Ticket/Elements/ClickToShowHistory      |    2 +-
 share/html/Ticket/Elements/EditBasics              |    2 +-
 share/html/Ticket/Elements/EditCustomFields        |    2 +-
 share/html/Ticket/Elements/EditDates               |    2 +-
 share/html/Ticket/Elements/EditPeople              |    2 +-
 .../Ticket/Elements/EditTransactionCustomFields    |    2 +-
 share/html/Ticket/Elements/EditWatchers            |    2 +-
 share/html/Ticket/Elements/FindAttachments         |    2 +-
 share/html/Ticket/Elements/FindTransactions        |    2 +-
 share/html/Ticket/Elements/FoldStanzaJS            |    2 +-
 share/html/Ticket/Elements/LoadTextAttachments     |    2 +-
 share/html/Ticket/Elements/PreviewScrips           |    2 +-
 share/html/Ticket/Elements/Reminders               |    2 +-
 share/html/Ticket/Elements/ShowAttachments         |    2 +-
 share/html/Ticket/Elements/ShowBasics              |    2 +-
 .../Elements/{ShowGnuPGStatus => ShowCryptStatus}  |    2 +-
 share/html/Ticket/Elements/ShowCustomFields        |    2 +-
 share/html/Ticket/Elements/ShowDates               |    2 +-
 share/html/Ticket/Elements/ShowDependencies        |    2 +-
 share/html/Ticket/Elements/ShowGroupMembers        |    2 +-
 share/html/Ticket/Elements/ShowHistory             |    2 +-
 share/html/Ticket/Elements/ShowMembers             |    2 +-
 share/html/Ticket/Elements/ShowMessageHeaders      |    2 +-
 share/html/Ticket/Elements/ShowMessageStanza       |    2 +-
 share/html/Ticket/Elements/ShowParents             |    2 +-
 share/html/Ticket/Elements/ShowPeople              |    2 +-
 share/html/Ticket/Elements/ShowPriority            |    2 +-
 share/html/Ticket/Elements/ShowQueue               |    2 +-
 share/html/Ticket/Elements/ShowRequestor           |    2 +-
 share/html/Ticket/Elements/ShowRequestorExtraInfo  |    2 +-
 share/html/Ticket/Elements/ShowRequestorTickets    |    2 +-
 .../Ticket/Elements/ShowRequestorTicketsActive     |    2 +-
 share/html/Ticket/Elements/ShowRequestorTicketsAll |    2 +-
 .../Ticket/Elements/ShowRequestorTicketsInactive   |    2 +-
 .../html/Ticket/Elements/ShowSimplifiedRecipients  |    2 +-
 share/html/Ticket/Elements/ShowSummary             |    2 +-
 share/html/Ticket/Elements/ShowTime                |    2 +-
 share/html/Ticket/Elements/ShowTransaction         |    4 +-
 .../Ticket/Elements/ShowTransactionAttachments     |    4 +-
 share/html/Ticket/Elements/ShowUpdateStatus        |    2 +-
 share/html/Ticket/Elements/ShowUserEntry           |    2 +-
 share/html/Ticket/Elements/UpdateCc                |    2 +-
 share/html/Ticket/Forward.html                     |    2 +-
 .../Ticket/Graphs/Elements/EditGraphProperties     |    2 +-
 share/html/Ticket/Graphs/Elements/ShowGraph        |    2 +-
 share/html/Ticket/Graphs/Elements/ShowLegends      |    2 +-
 share/html/Ticket/Graphs/dhandler                  |    2 +-
 share/html/Ticket/Graphs/index.html                |    2 +-
 share/html/Ticket/History.html                     |    2 +-
 share/html/Ticket/Modify.html                      |    2 +-
 share/html/Ticket/ModifyAll.html                   |    2 +-
 share/html/Ticket/ModifyDates.html                 |    2 +-
 share/html/Ticket/ModifyLinks.html                 |    2 +-
 share/html/Ticket/ModifyPeople.html                |    2 +-
 share/html/Ticket/Reminders.html                   |    2 +-
 share/html/Ticket/ShowEmailRecord.html             |    2 +-
 share/html/Ticket/Update.html                      |   12 +-
 share/html/Ticket/autohandler                      |   20 +
 share/html/Tools/MyDay.html                        |    2 +-
 share/html/Tools/MyReminders.html                  |    2 +-
 share/html/Tools/Offline.html                      |    2 +-
 share/html/Tools/index.html                        |    2 +-
 share/html/User/Prefs.html                         |    2 +-
 share/html/Widgets/BulkEdit                        |    2 +-
 share/html/Widgets/BulkProcess                     |    2 +-
 share/html/Widgets/ComboBox                        |    2 +-
 share/html/Widgets/FinalizeWidgetArguments         |    2 +-
 share/html/Widgets/Form/Boolean                    |    2 +-
 share/html/Widgets/Form/Integer                    |   11 +-
 share/html/Widgets/Form/Select                     |    2 +-
 share/html/Widgets/Form/String                     |    2 +-
 share/html/Widgets/SavedSearch                     |    2 +-
 share/html/Widgets/SelectionBox                    |    2 +-
 share/html/Widgets/TitleBox                        |    2 +-
 share/html/Widgets/TitleBoxEnd                     |    2 +-
 share/html/Widgets/TitleBoxStart                   |    2 +-
 share/html/autohandler                             |    2 +-
 share/html/dhandler                                |    2 +-
 share/html/index.html                              |    2 +-
 share/html/l                                       |    2 +-
 share/html/m/_elements/footer                      |   49 ++-
 share/html/m/_elements/full_site_link              |    2 +-
 share/html/m/_elements/header                      |    2 +-
 share/html/m/_elements/menu                        |    2 +-
 share/html/m/_elements/raw_style                   |    2 +-
 share/html/m/_elements/ticket_list                 |    2 +-
 share/html/m/_elements/ticket_menu                 |    2 +-
 share/html/m/_elements/wrapper                     |    2 +-
 share/html/m/dhandler                              |    2 +-
 share/html/m/index.html                            |    2 +-
 share/html/m/login                                 |    2 +-
 share/html/m/logout                                |    2 +-
 share/html/m/style.css                             |    2 +-
 share/html/m/ticket/autohandler                    |    8 +
 share/html/m/ticket/create                         |   12 +-
 share/html/m/ticket/history                        |    2 +-
 share/html/m/ticket/modify                         |   47 --
 share/html/m/ticket/reply                          |   12 +-
 share/html/m/ticket/select_create_queue            |    2 +-
 share/html/m/ticket/show                           |    2 +-
 share/html/m/tickets/search                        |    2 +-
 t/api/safe-run-child-util.t                        |  201 ++++++
 t/lifecycles/basics.t                              |   86 ++--
 t/lifecycles/unresolved-deps.t                     |   45 ++
 t/mail/dashboards.t                                |    2 +-
 t/ticket/googleish_search.t                        |    4 +-
 t/web/case-sensitivity.t                           |   85 +++
 t/web/dashboards-in-menu.t                         |    6 +-
 t/web/offline.t                                    |   78 +++
 838 files changed, 2591 insertions(+), 1471 deletions(-)
 create mode 100755 docs/schema.dot
 rename share/html/Elements/{GnuPG => Crypt}/KeyIssues (97%)
 rename share/html/Elements/{GnuPG => Crypt}/SelectKeyForEncryption (97%)
 rename share/html/Elements/{GnuPG => Crypt}/SelectKeyForSigning (97%)
 rename share/html/Elements/{GnuPG => Crypt}/SignEncryptWidget (97%)
 rename share/html/Ticket/{GnuPG.html => Crypt.html} (98%)
 rename share/html/Ticket/Elements/{ShowGnuPGStatus => ShowCryptStatus} (99%)
 create mode 100644 share/html/Ticket/autohandler
 create mode 100644 share/html/m/ticket/autohandler
 delete mode 100644 share/html/m/ticket/modify
 create mode 100644 t/api/safe-run-child-util.t
 create mode 100644 t/lifecycles/unresolved-deps.t
 create mode 100644 t/web/case-sensitivity.t
 create mode 100644 t/web/offline.t

- Log -----------------------------------------------------------------
commit 4756b32dbcd67335fe0131f9ae9c2c599e8d4445
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Tue Jan 17 15:05:02 2012 +0400

    return back some wording to make patching old RT easier

diff --git a/lib/RT/Test.pm b/lib/RT/Test.pm
index dda83ea..f05186c 100644
--- a/lib/RT/Test.pm
+++ b/lib/RT/Test.pm
@@ -304,12 +304,12 @@ sub bootstrap_config {
     my $self = shift;
     my %args = @_;
 
-    my $config = $self->new_temp_file( config => RT => 'RT_SiteConfig.pm' );
-    open( my $config_fh, '>', $config )
-        or die "Couldn't open $config: $!";
+    my $config_file = $self->new_temp_file( config => RT => 'RT_SiteConfig.pm' );
+    open( my $config, '>', $config_file )
+        or die "Couldn't open $config_file: $!";
 
     my $dbname = $ENV{RT_TEST_PARALLEL}? "rt4test_$port" : "rt4test";
-    print $config_fh qq{
+    print $config qq{
 Set( \$WebDomain, "localhost");
 Set( \$WebPort,   $port);
 Set( \$WebPath,   "");
@@ -319,34 +319,34 @@ Set( \$LogDir,     '$tmp{directory}');
 Set( \$LogToFile , "debug");
 };
     if ( $ENV{'RT_TEST_DB_SID'} ) { # oracle case
-        print $config_fh "Set( \$DatabaseName , '$ENV{'RT_TEST_DB_SID'}' );\n";
-        print $config_fh "Set( \$DatabaseUser , '$dbname');\n";
+        print $config "Set( \$DatabaseName , '$ENV{'RT_TEST_DB_SID'}' );\n";
+        print $config "Set( \$DatabaseUser , '$dbname');\n";
     } else {
-        print $config_fh "Set( \$DatabaseName , '$dbname');\n";
-        print $config_fh "Set( \$DatabaseUser , 'u${dbname}');\n";
+        print $config "Set( \$DatabaseName , '$dbname');\n";
+        print $config "Set( \$DatabaseUser , 'u${dbname}');\n";
     }
 
     if ( $args{'plugins'} ) {
-        print $config_fh "Set( \@Plugins, qw(". join( ' ', @{ $args{'plugins'} } ) .") );\n";
+        print $config "Set( \@Plugins, qw(". join( ' ', @{ $args{'plugins'} } ) .") );\n";
     }
 
     if ( $INC{'Devel/Cover.pm'} ) {
-        print $config_fh "Set( \$DevelMode, 0 );\n";
+        print $config "Set( \$DevelMode, 0 );\n";
     }
     elsif ( $ENV{RT_TEST_DEVEL} ) {
-        print $config_fh "Set( \$DevelMode, 1 );\n";
+        print $config "Set( \$DevelMode, 1 );\n";
     }
     else {
-        print $config_fh "Set( \$DevelMode, 0 );\n";
+        print $config "Set( \$DevelMode, 0 );\n";
     }
 
-    $self->bootstrap_logging( $config_fh );
+    $self->bootstrap_logging( $config );
 
     # set mail catcher
     my $mail_catcher = $tmp{'mailbox'} = File::Spec->catfile(
         $tmp{'directory'}->dirname, 'mailbox.eml'
     );
-    print $config_fh <<END;
+    print $config <<END;
 Set( \$MailCommand, sub {
     my \$MIME = shift;
 
@@ -359,15 +359,15 @@ Set( \$MailCommand, sub {
 } );
 END
 
-    $self->bootstrap_more_config($config_fh, \%args);
+    $self->bootstrap_more_config($config, \%args);
 
-    print $config_fh $args{'config'} if $args{'config'};
+    print $config $args{'config'} if $args{'config'};
 
-    print $config_fh "\n1;\n";
+    print $config "\n1;\n";
     $ENV{'RT_SITE_CONFIG'} = $config;
-    close $config_fh;
+    close $config;
 
-    return $config;
+    return $config_file;
 }
 
 sub bootstrap_more_config { }

commit e18104a176366115d6157476f522650b20893b79
Merge: 4756b32 81bfddb
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Tue Jan 17 15:12:54 2012 +0400

    Merge branch 'master' into 4.2/smime-v2

diff --cc configure.ac
index ec35027,e405243..f3e8163
--- a/configure.ac
+++ b/configure.ac
@@@ -306,21 -306,21 +306,35 @@@ els
  fi
  AC_SUBST(RT_GPG)
  
+ dnl SSL support for RT's mailgate
+ AC_ARG_WITH(ssl-mailgate,[],RT_SSL_MAILGATE=$withval,RT_SSL_MAILGATE="0")
+ AC_ARG_ENABLE(ssl-mailgate,
+             AC_HELP_STRING([--enable-ssl-mailgate],
+                            [Turns on support for HTTPS in rt-mailgate]),
+             RT_SSL_MAILGATE=$enableval,
+             RT_SSL_MAILGATE=$RT_SSL_MAILGATE)
+ if test "$RT_SSL_MAILGATE" = yes; then
+         RT_SSL_MAILGATE="1"
+ else
+         RT_SSL_MAILGATE="0"
+ fi
+ AC_SUBST(RT_SSL_MAILGATE)
+ 
  
 +dnl RT's SMIME support
 +AC_CHECK_PROG([RT_SMIME], [openssl], "yes", "no")
 +AC_ARG_ENABLE(smime,
 +            AC_HELP_STRING([--enable-smime],
 +                           [Turns on Secure MIME (SMIME) support]),
 +            RT_SMIME=$enableval)
 +if test "$RT_SMIME" = yes; then
 +        RT_SMIME="1"
 +else
 +        RT_SMIME="0"
 +fi
 +AC_SUBST(RT_SMIME)
 +
 +
  dnl This section maps the variable names this script 'natively' generates
  dnl to their existing names. They should be removed from here as the .in
  dnl files are changed to use the new names.

commit 8e7549f73afe4b31570f9c030210419160503165
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Tue Jan 17 15:43:10 2012 +0400

    move SMIME upgrade script from 3.8.8 to 4.1.0

diff --git a/TODO.SMIME b/TODO.SMIME
index 949abca..a82110d 100644
--- a/TODO.SMIME
+++ b/TODO.SMIME
@@ -9,5 +9,3 @@
 * figure out what happened with t/web/gnupg-outgoing.t
   and restore all changes from SMIME branch that changed
   this file
-
-* move SMIME upgrade steps from etc/upgrade/3.8.8/content
diff --git a/etc/upgrade/3.8.8/content b/etc/upgrade/3.8.8/content
index e7748e7..cad77e9 100644
--- a/etc/upgrade/3.8.8/content
+++ b/etc/upgrade/3.8.8/content
@@ -34,36 +34,5 @@
             $prev_type = $lt;
         }
     },
-    sub {
-        my $cf = RT::CustomField->new( $RT::SystemUser );
-        $cf->LoadByCols(
-            Name       => 'PublicKey',
-            LookupType => RT::User->new( $RT::SystemUser )->CustomFieldLookupType,
-        );
-        unless ( $cf->id ) {
-            $RT::Logger->info("You don't have PublicKey. Nothing to do.");
-            return 1;
-        }
-        my ($status, $msg) = $cf->SetName('SMIME Key');
-        unless ( $status ) {
-            $RT::Logger->error("Couldn't rename custom field: $msg");
-        } else {
-            $RT::Logger->info("Renamed custom field: $msg");
-        }
-        return 1;
-    },
-    sub {
-        $RT::Logger->info("Going to delete all SMIMEKeyNotAfter attributes");
-        my $attrs = RT::Attributes->new( $RT::SystemUser );
-        $attrs->Limit( FIELD => 'ObjectType', VALUE => 'RT::User' );
-        $attrs->Limit( FIELD => 'Name', VALUE => 'SMIMEKeyNotAfter' );
-        while ( my $attr = $attrs->Next ) {
-            my ($status, $msg) = $attr->Delete;
-            unless ( $status ) {
-                $RT::Logger->error("Couldn't delete attribute: $msg");
-            }
-        }
-        return 1;
-    },
 );
 
diff --git a/etc/upgrade/4.1.0/content b/etc/upgrade/4.1.0/content
index 80783eb..855690b 100644
--- a/etc/upgrade/4.1.0/content
+++ b/etc/upgrade/4.1.0/content
@@ -20,6 +20,37 @@
         $settings->{sidebar} = delete $settings->{summary};
         $default_portlets->SetContent($settings);
     },
+    sub {
+        my $cf = RT::CustomField->new( $RT::SystemUser );
+        $cf->LoadByCols(
+            Name       => 'PublicKey',
+            LookupType => RT::User->new( $RT::SystemUser )->CustomFieldLookupType,
+        );
+        unless ( $cf->id ) {
+            $RT::Logger->info("You don't have PublicKey CF. Nothing to do.");
+            return 1;
+        }
+        my ($status, $msg) = $cf->SetName('SMIME Key');
+        unless ( $status ) {
+            $RT::Logger->error("Couldn't rename custom field: $msg");
+        } else {
+            $RT::Logger->info("Renamed custom field: $msg");
+        }
+        return 1;
+    },
+    sub {
+        $RT::Logger->info("Going to delete all SMIMEKeyNotAfter attributes");
+        my $attrs = RT::Attributes->new( $RT::SystemUser );
+        $attrs->Limit( FIELD => 'ObjectType', VALUE => 'RT::User' );
+        $attrs->Limit( FIELD => 'Name', VALUE => 'SMIMEKeyNotAfter' );
+        while ( my $attr = $attrs->Next ) {
+            my ($status, $msg) = $attr->Delete;
+            unless ( $status ) {
+                $RT::Logger->error("Couldn't delete attribute: $msg");
+            }
+        }
+        return 1;
+    },
 );
 
 

commit a865b2f1823dcc208f79b07ee174748cd9eea952
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Tue Jan 17 15:59:07 2012 +0400

    rename *GnuPG* components to *Crypt*

diff --git a/share/html/Elements/GnuPG/KeyIssues b/share/html/Elements/Crypt/KeyIssues
similarity index 98%
rename from share/html/Elements/GnuPG/KeyIssues
rename to share/html/Elements/Crypt/KeyIssues
index 23276c2..9875f80 100644
--- a/share/html/Elements/GnuPG/KeyIssues
+++ b/share/html/Elements/Crypt/KeyIssues
@@ -74,7 +74,7 @@ There is a problem with key(s) for address <% $issue->{'EmailAddress'} %>, but t
 <% $issue->{'Message'} %>
 <br />
 Select a key you want to use for encryption:
-<& /Elements/GnuPG/SelectKeyForEncryption,
+<& /Elements/Crypt/SelectKeyForEncryption,
     Name         => 'UseKey-'. $issue->{'EmailAddress'},
     EmailAddress => $issue->{'EmailAddress'},
     Default      => ( $issue->{'User'}? $issue->{'User'}->PreferredKey : undef ),
diff --git a/share/html/Elements/GnuPG/SelectKeyForEncryption b/share/html/Elements/Crypt/SelectKeyForEncryption
similarity index 100%
rename from share/html/Elements/GnuPG/SelectKeyForEncryption
rename to share/html/Elements/Crypt/SelectKeyForEncryption
diff --git a/share/html/Elements/GnuPG/SelectKeyForSigning b/share/html/Elements/Crypt/SelectKeyForSigning
similarity index 100%
rename from share/html/Elements/GnuPG/SelectKeyForSigning
rename to share/html/Elements/Crypt/SelectKeyForSigning
diff --git a/share/html/Elements/GnuPG/SignEncryptWidget b/share/html/Elements/Crypt/SignEncryptWidget
similarity index 99%
rename from share/html/Elements/GnuPG/SignEncryptWidget
rename to share/html/Elements/Crypt/SignEncryptWidget
index 2136381..d3be307 100644
--- a/share/html/Elements/GnuPG/SignEncryptWidget
+++ b/share/html/Elements/Crypt/SignEncryptWidget
@@ -91,7 +91,7 @@ $self => undef,
 <%INIT>
 return unless $self;
 
-return $m->comp( '/Elements/GnuPG/KeyIssues',
+return $m->comp( '/Elements/Crypt/KeyIssues',
     Issues => $self->{'GnuPGRecipientsKeyIssues'} || [],
     SignAddresses => $self->{'GnuPGCanNotSignAs'} || [],
 );
diff --git a/share/html/Prefs/Other.html b/share/html/Prefs/Other.html
index 12749f2..4357882 100644
--- a/share/html/Prefs/Other.html
+++ b/share/html/Prefs/Other.html
@@ -68,7 +68,7 @@
 
 % if ( RT->Config->Get('GnuPG')->{'Enable'} ) {
 <&|/Widgets/TitleBox, title => loc( 'Cryptography' ) &>
-<&|/l&>Preferred key</&>: <& /Elements/GnuPG/SelectKeyForEncryption, EmailAddress => $UserObj->EmailAddress, Default => $UserObj->PreferredKey &>
+<&|/l&>Preferred key</&>: <& /Elements/Crypt/SelectKeyForEncryption, EmailAddress => $UserObj->EmailAddress, Default => $UserObj->PreferredKey &>
 </&>
 % }
 
diff --git a/share/html/Ticket/Create.html b/share/html/Ticket/Create.html
index d41c090..262a2e3 100755
--- a/share/html/Ticket/Create.html
+++ b/share/html/Ticket/Create.html
@@ -58,7 +58,7 @@
 % $m->callback( CallbackName => 'FormStart', QueueObj => $QueueObj, ARGSRef => \%ARGS );
 
 % if ($gnupg_widget) {
-  <& /Elements/GnuPG/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
+  <& /Elements/Crypt/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
 % }
 
 <div id="Ticket-Create-basics">
@@ -164,7 +164,7 @@
 
 % if ( $gnupg_widget ) {
 <tr><td> </td><td colspan="5">
-<& /Elements/GnuPG/SignEncryptWidget, self => $gnupg_widget, QueueObj => $QueueObj &>
+<& /Elements/Crypt/SignEncryptWidget, self => $gnupg_widget, QueueObj => $QueueObj &>
 </td></tr>
 % }
 
@@ -400,15 +400,15 @@ unless (keys %{$session{'Attachments'}} and $ARGS{'id'} eq 'new') {
 
 my $checks_failure = 0;
 
-my $gnupg_widget = $m->comp('/Elements/GnuPG/SignEncryptWidget:new', Arguments => \%ARGS );
-$m->comp( '/Elements/GnuPG/SignEncryptWidget:Process',
+my $gnupg_widget = $m->comp('/Elements/Crypt/SignEncryptWidget:new', Arguments => \%ARGS );
+$m->comp( '/Elements/Crypt/SignEncryptWidget:Process',
     self      => $gnupg_widget,
     QueueObj  => $QueueObj,
 );
 
 
 if ( !exists $ARGS{'AddMoreAttach'} && ($ARGS{'id'}||'') eq 'new' ) {
-    my $status = $m->comp('/Elements/GnuPG/SignEncryptWidget:Check',
+    my $status = $m->comp('/Elements/Crypt/SignEncryptWidget:Check',
         self      => $gnupg_widget,
         Operation => 'Create',
         QueueObj  => $QueueObj,
diff --git a/share/html/Ticket/GnuPG.html b/share/html/Ticket/Crypt.html
similarity index 100%
rename from share/html/Ticket/GnuPG.html
rename to share/html/Ticket/Crypt.html
diff --git a/share/html/Ticket/Elements/ShowGnuPGStatus b/share/html/Ticket/Elements/ShowCryptStatus
similarity index 100%
rename from share/html/Ticket/Elements/ShowGnuPGStatus
rename to share/html/Ticket/Elements/ShowCryptStatus
diff --git a/share/html/Ticket/Elements/ShowTransaction b/share/html/Ticket/Elements/ShowTransaction
index 00db146..1cb9f21 100755
--- a/share/html/Ticket/Elements/ShowTransaction
+++ b/share/html/Ticket/Elements/ShowTransaction
@@ -85,7 +85,7 @@ $DisplayPath => RT->Config->Get('WebPath')."/Ticket/Display.html?id=".$Ticket->i
 $AttachPath => RT->Config->Get('WebPath')."/Ticket/Attachment"
 $UpdatePath => RT->Config->Get('WebPath')."/Ticket/Update.html"
 $ForwardPath => RT->Config->Get('WebPath')."/Ticket/Forward.html"
-$EncryptionPath => RT->Config->Get('WebPath')."/Ticket/GnuPG.html"
+$EncryptionPath => RT->Config->Get('WebPath')."/Ticket/Crypt.html"
 $EmailRecordPath => RT->Config->Get('WebPath')."/Ticket/ShowEmailRecord.html"
 $Attachments => undef
 $AttachmentContent => undef
diff --git a/share/html/Ticket/Elements/ShowTransactionAttachments b/share/html/Ticket/Elements/ShowTransactionAttachments
index 877201f..4b33230 100644
--- a/share/html/Ticket/Elements/ShowTransactionAttachments
+++ b/share/html/Ticket/Elements/ShowTransactionAttachments
@@ -51,7 +51,7 @@
 foreach my $message ( grep $_->__Value('Parent') == $Parent, @$Attachments ) {
 
     if (RT->Config->Get('GnuPG')->{'Enable'}) {
-        $m->comp( 'ShowGnuPGStatus', Attachment => $message, WarnUnsigned => $WarnUnsigned );
+        $m->comp( 'ShowCryptStatus', Attachment => $message, WarnUnsigned => $WarnUnsigned );
     }
 
     $m->comp( 'ShowMessageHeaders',
diff --git a/share/html/Ticket/Update.html b/share/html/Ticket/Update.html
index 672d8ab..71de5f2 100755
--- a/share/html/Ticket/Update.html
+++ b/share/html/Ticket/Update.html
@@ -58,7 +58,7 @@
 <input type="hidden" class="hidden" name="DefaultStatus" value="<% $DefaultStatus ||''%>" />
 <input type="hidden" class="hidden" name="Action" value="<% $ARGS{Action}||'' %>" />
 
-<& /Elements/GnuPG/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
+<& /Elements/Crypt/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
 
 <div id="ticket-update-metadata">
   <&|/Widgets/TitleBox, title => loc('Ticket and Transaction') &>
@@ -151,7 +151,7 @@
 
 % if ( $gnupg_widget ) {
 <tr><td> </td><td>
-<& /Elements/GnuPG/SignEncryptWidget,
+<& /Elements/Crypt/SignEncryptWidget,
     self => $gnupg_widget,
     TicketObj => $TicketObj,
 &>
@@ -268,8 +268,8 @@ unless (keys %{$session{'Attachments'}} and $ARGS{'UpdateAttach'}) {
     delete $session{'Attachments'};
 }
 
-my $gnupg_widget = $m->comp('/Elements/GnuPG/SignEncryptWidget:new', Arguments => \%ARGS );
-$m->comp( '/Elements/GnuPG/SignEncryptWidget:Process',
+my $gnupg_widget = $m->comp('/Elements/Crypt/SignEncryptWidget:new', Arguments => \%ARGS );
+$m->comp( '/Elements/Crypt/SignEncryptWidget:Process',
     self => $gnupg_widget,
     TicketObj => $TicketObj,
 );
@@ -297,7 +297,7 @@ if ( $ARGS{'SubmitTicket'} ) {
             push @results, loc($CF->Name) . ': ' . $msg;
         }
     }
-    my $status = $m->comp('/Elements/GnuPG/SignEncryptWidget:Check',
+    my $status = $m->comp('/Elements/Crypt/SignEncryptWidget:Check',
         self      => $gnupg_widget,
         TicketObj => $TicketObj,
     );
diff --git a/share/html/m/ticket/create b/share/html/m/ticket/create
index 44547d1..15ba69b 100644
--- a/share/html/m/ticket/create
+++ b/share/html/m/ticket/create
@@ -193,15 +193,15 @@ unless (keys %{$session{'Attachments'}} and $ARGS{'id'} eq 'new') {
 
 my $checks_failure = 0;
 
-my $gnupg_widget = $m->comp('/Elements/GnuPG/SignEncryptWidget:new', Arguments => \%ARGS );
-$m->comp( '/Elements/GnuPG/SignEncryptWidget:Process',
+my $gnupg_widget = $m->comp('/Elements/Crypt/SignEncryptWidget:new', Arguments => \%ARGS );
+$m->comp( '/Elements/Crypt/SignEncryptWidget:Process',
     self      => $gnupg_widget,
     QueueObj  => $QueueObj,
 );
 
 
 if ( !exists $ARGS{'AddMoreAttach'} && ($ARGS{'id'}||'') eq 'new' ) {
-    my $status = $m->comp('/Elements/GnuPG/SignEncryptWidget:Check',
+    my $status = $m->comp('/Elements/Crypt/SignEncryptWidget:Check',
         self      => $gnupg_widget,
         Operation => 'Create',
         QueueObj  => $QueueObj,
@@ -254,7 +254,7 @@ if ((!exists $ARGS{'AddMoreAttach'}) and (defined($ARGS{'id'}) and $ARGS{'id'} e
 <input type="hidden" class="hidden" name="id" value="new" />
 % $m->callback( CallbackName => 'FormStart', QueueObj => $QueueObj, ARGSRef => \%ARGS );
 % if ($gnupg_widget) {
-<& /Elements/GnuPG/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
+<& /Elements/Crypt/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
 % }
 
 
@@ -360,7 +360,7 @@ $showrows->(
 
 
 % if ( $gnupg_widget ) {
-<& /Elements/GnuPG/SignEncryptWidget, self => $gnupg_widget, QueueObj => $QueueObj &>
+<& /Elements/Crypt/SignEncryptWidget, self => $gnupg_widget, QueueObj => $QueueObj &>
 % }
 
 
diff --git a/share/html/m/ticket/reply b/share/html/m/ticket/reply
index 00c8e2b..86546d0 100644
--- a/share/html/m/ticket/reply
+++ b/share/html/m/ticket/reply
@@ -56,7 +56,7 @@
 <input type="hidden" class="hidden" name="Action" value="<% $ARGS{Action}||'' %>" />
 
 % if ($gnupg_widget) {
-<& /Elements/GnuPG/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
+<& /Elements/Crypt/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
 % }
 
 <div class="entry"><span class="label"><&|/l&>Status</&>:</span>
@@ -135,7 +135,7 @@
 </div>
 
 % if ( $gnupg_widget ) {
-<& /Elements/GnuPG/SignEncryptWidget, self => $gnupg_widget, QueueObj => $t->QueueObj &>
+<& /Elements/Crypt/SignEncryptWidget, self => $gnupg_widget, QueueObj => $t->QueueObj &>
 % }
 
 <& /Elements/Submit, Label => loc('Update Ticket'), Name => 'SubmitTicket' &>
@@ -234,14 +234,14 @@ unless ( keys %{ $session{'Attachments'} }
     }
 }
 
-my $gnupg_widget = $m->comp('/Elements/GnuPG/SignEncryptWidget:new', Arguments => \%ARGS );
-$m->comp( '/Elements/GnuPG/SignEncryptWidget:Process',
+my $gnupg_widget = $m->comp('/Elements/Crypt/SignEncryptWidget:new', Arguments => \%ARGS );
+$m->comp( '/Elements/Crypt/SignEncryptWidget:Process',
     self => $gnupg_widget,
     TicketObj => $t,
 );
 
 if ( !$checks_failure && exists $ARGS{SubmitTicket} ) {
-    my $status = $m->comp('/Elements/GnuPG/SignEncryptWidget:Check',
+    my $status = $m->comp('/Elements/Crypt/SignEncryptWidget:Check',
         self      => $gnupg_widget,
         TicketObj => $t,
     );

commit 95f77956f4860be2691fc41cc0e24ea78643e16e
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Tue Jan 17 18:12:58 2012 +0400

    return more of master's RT::Test

diff --git a/lib/RT/Test.pm b/lib/RT/Test.pm
index 1a82bd4..7f32f30 100644
--- a/lib/RT/Test.pm
+++ b/lib/RT/Test.pm
@@ -364,10 +364,10 @@ END
     print $config $args{'config'} if $args{'config'};
 
     print $config "\n1;\n";
-    $ENV{'RT_SITE_CONFIG'} = $config;
+    $ENV{'RT_SITE_CONFIG'} = $config_file;
     close $config;
 
-    return $config_file;
+    return $config;
 }
 
 sub bootstrap_more_config { }

commit fe4a911426330f4a9a4ab625d8f8e08d45bc34cf
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Tue Jan 17 18:13:43 2012 +0400

    we do the same in bootstrap_logging

diff --git a/lib/RT/Test.pm b/lib/RT/Test.pm
index 7f32f30..073be16 100644
--- a/lib/RT/Test.pm
+++ b/lib/RT/Test.pm
@@ -315,8 +315,6 @@ Set( \$WebPort,   $port);
 Set( \$WebPath,   "");
 Set( \@LexiconLanguages, qw(en zh_TW zh_CN fr ja));
 Set( \$RTAddressRegexp , qr/^bad_re_that_doesnt_match\$/i);
-Set( \$LogDir,     '$tmp{directory}');
-Set( \$LogToFile , "debug");
 };
     if ( $ENV{'RT_TEST_DB_SID'} ) { # oracle case
         print $config "Set( \$DatabaseName , '$ENV{'RT_TEST_DB_SID'}' );\n";

-----------------------------------------------------------------------


More information about the Rt-commit mailing list