[Rt-commit] rt branch, 4.4/gateway-refactor, repushed

Alex Vandiver alexmv at bestpractical.com
Wed Mar 19 10:57:00 EDT 2014


The branch 4.4/gateway-refactor was deleted and repushed:
       was 19fdd16e61ef405287e8e6b6567435c03e0cf8ab
       now d4dd6eca094739fa3bbe5442434cd803ae4b99cc

 1:  15a0c3b =  1:  15a0c3b RT::Interface::Email doesn't need to be an Exporter
 2:  9b135a2 =  2:  9b135a2 Reorder functions to more obviously split sending and receiving mail
 3:  670a057 =  3:  670a057 Adjust POD headers to reflect split
 4:  5dfc009 =  4:  5dfc009 Update MailPlugins to only reference existant modules
 5:  b9ed3c2 =  5:  b9ed3c2 Move MailPlugins documentation out of rt-mailgate, where is is mostly irrelevant
 6:  e3d18e3 =  6:  e3d18e3 Remove duplicate ParseCcAddressesFromHead in RT::EmailParser
 7:  a93449c =  7:  a93449c Use Scope::Upper to allow returns from Gateway from nested subs
 8:  f993bae =  8:  f993bae Add a base email plugin role, which provides TMPFAIL/FAILURE/SUCCESS
 9:  64fdc23 !  9:  c2e65a5 Check if each named mail plugin DOES the mail plugin role
    @@ -13,7 +13,7 @@
     -            unless ( defined *{ $Class . "::GetCurrentUser" }{CODE} ) {
     -                $RT::Logger->crit( "No GetCurrentUser code found in $Class module");
     +            unless ( $Class->DOES( "RT::Interface::Email::Role" ) ) {
    -+                $RT::Logger->crit( "$Class is not an RT::Interface::Email::Role");
    ++                $RT::Logger->crit( "$Class does not implement RT::Interface::Email::Role.  Mail plugins from RT 4.2 and earlier are not forward-compatible with RT 4.4.");
                      next;
                  }
                  push @res, $Class;
10:  1a448cc = 10:  a997949 Return values of ApplyBeforeDecode plugins' GetCurrentUser are irrelevant
11:  de17bee = 11:  588a509 Push bounce short-circuiting down into _HandleMachineGeneratedMail
12:  72bbb64 = 12:  1887b21 $IsALoop is now unused in Gateway
13:  4d6b1f9 = 13:  314ad1b Stop moving RT-Squelch-Replies-To aside
14:  e16c9c5 = 14:  19607b9 Simplify _HandleMachineGeneratedMail logic
15:  b1311e0 = 15:  531b96b Use different method names rather than an ApplyBeforeDecode method
16:  44b1d1c = 16:  70daad9 Use FAILURE to abort from GetCurrentUser, rather than a magic -1 value
17:  5c2a914 = 17:  5a0942b Remove the unused $error variable
18:  e7b4f2b = 18:  8cabccc Move $Right to where it is used
19:  cc59983 = 19:  52e24c3 Move SystemTicket definition to where it is first used
20:  4219e9c = 20:  6f62839 Move NewSubject to where it is used
21:  23852d8 = 21:  6d715aa Remove CreateUser, merging to form a more featureful LoadOrCreateByEmail
22:  289c789 = 22:  e9e5e8b Always create the user; this simplifies ACL checking greatly
23:  c4b59b4 = 23:  e82d433 Split authentication from authorization
24:  60c6021 = 24:  d1c4c8b Remove no-longer-used _NoAuthorizedUserFound
25:  f5329f6 = 25:  afadc73 Remove now-unused $Right variable, previously used by _NoAuthorizedUserFound
26:  e8c4c03 = 26:  73f1c62 Fail if the first action is unauthenticated
27:  5ac55e4 = 27:  a5fc795 Notify the owner on common mis-configurations
28:  1a6e40c = 28:  6163947 Remove extra error in mail-gateway
29:  5aaefff = 29:  87b474c Add back a warning that is now lacking
30:  947f1d4 ! 30:  c9d8ab4 Stop passing mail plugins around; load them lazily in one Plugins() method
    @@ -68,7 +68,7 @@
     -                do { $RT::Logger->error("Couldn't load $Class: $@"); next };
     -
     -            unless ( $Class->DOES( "RT::Interface::Email::Role" ) ) {
    --                $RT::Logger->crit( "$Class is not an RT::Interface::Email::Role");
    +-                $RT::Logger->crit( "$Class does not implement RT::Interface::Email::Role.  Mail plugins from RT 4.2 and earlier are not forward-compatible with RT 4.4.");
     -                next;
     +sub Plugins {
     +    my %args = (
    @@ -93,7 +93,7 @@
     +                    do { $RT::Logger->error("Couldn't load $Class: $@"); next };
     +
     +                unless ( $Class->DOES( "RT::Interface::Email::Role" ) ) {
    -+                    $RT::Logger->crit( "$Class is not an RT::Interface::Email::Role");
    ++                    $RT::Logger->crit( "$Class does not implement RT::Interface::Email::Role.  Mail plugins from RT 4.2 and earlier are not forward-compatible with RT 4.4.");
     +                    next;
     +                }
     +                push @PLUGINS, $Class;
31:  0401e0a = 31:  60d8040 Split action handling into plugin classes
32:  6f60405 = 32:  b707acb It is possible that plugins will alter @actions; ensure that we have a valid action before calling it
33:  83090c2 = 33:  82c43c3 Split default authentication from default authorization
34:  a538af3 = 34:  3430b59 Local'ize MailErrors to avoid having to pass $ErrorsTo everywhere
35:  5165ece = 35:  a3b032a Remove the warning about the deprecated Auth::GnuPG/Auth::SMIME plugins
36:  68b2c5e = 36:  8127768 Allow lazy adding of Auth::MailFrom if no other GetCurrentUser plugins exist
37:  607666f = 37:  dae5c31 There is no reason to not always enable Auth::Crypt
38:  da92d8c = 38:  3c0d075 Make Crypt not an Auth:: plugin, but hardcoded
39:  981c743 = 39:  ddd76e6 Move RejectOnUnencrypted to being a mail plugin
40:  4b243e9 = 40:  7df59ef Merge ParseAddressFromHeader and RT::EmailParser->ParseEmailAddress
41:  f0f6076 = 41:  0910b6f Fix callsites of ParseSenderAddressFromHead to be slightly less incomprehensible
42:  261158b = 42:  6b3c173 $MessageId is only used in IsMachineGeneratedMail; move it in there
43:  1e75588 = 43:  48a5394 Merge CheckForSuspiciousSender, CheckForAutoGenerated, and CheckForBounce
44:  31dfb4f = 44:  e211446 Reduce repetition by making MailError handle throwing the FAILURE, as well
45:  5754fdd = 45:  2f7826f Move ACL checking for Take and Resolve into their own plugins
46:  19fdd16 = 46:  d4dd6ec Update POD for new methods and functionality



More information about the rt-commit mailing list