[Rt-commit] rt branch, 4.2/smime, repushed

Alex Vandiver alexmv at bestpractical.com
Thu Aug 29 15:04:25 EDT 2013


The branch 4.2/smime was deleted and repushed:
       was ead85becddcd4a5170ec56c0e198da6ac5ecb55d
       now 9d6481c4c7c980a96e256a43c6f42e0aeade362f

  1:  81da587 =   1:  81da587 Process Sign/Encrypt values later on update
  2:  ac0d3a1 =   2:  ac0d3a1 Refactor code which calls GPG::Interface to elimate duplicate code
  3:  bcb1f89 =   3:  bcb1f89 Generalize CallGnuPG slightly more, allowing more code reuse
  4:  b0dba81 =   4:  b0dba81 Minor cleanups to Probe, the one remaining non-CallGnuPG gpg interaction
  5:  0da7281 =   5:  0da7281 Catch errors on close()
  6:  80c0798 =   6:  80c0798 Rename Key to Signer for clarity and consistency
  7:  1194665 =   7:  1194665 Rename Method to Command for clarity; "--foo" is not a "method"
  8:  079e3e1 =   8:  079e3e1 Only set the default key if we actually have one
  9:  8938e19 =   9:  8938e19 Only set the passphrase if we have one
 10:  312cb6e =  10:  312cb6e Split IO::Handle::CRLF into its own file in RT::Crypt::GnuPG::CRLFHandle
 11:  09d54d2 =  11:  09d54d2 Switch out RT::Crypt::GnuPG function calls for class methods
 12:  6b99048 =  12:  6b99048 Create a generic RT::Crypt class to dispatch methods from
 13:  6d2312e =  13:  6d2312e Move data-storage UseKeyFor... methods onto RT::Crypt
 14:  aad107d =  14:  aad107d Provide a RT::Crypt->LoadImplementation method to load RT::Crypt::...
 15:  30ab442 =  15:  30ab442 Add RT::Crypt->Protocols, to return the supported encryption protocols
 16:  3ffc9fd =  16:  3ffc9fd Make protocol loading case-insensitive
 17:  217e572 =  17:  217e572 Add a role for encryption classes
 18:  57c195c =  18:  57c195c Move GetPassphrase onto the role
 19:  967cfef =  19:  967cfef Move SignEncrypt to dispatch from RT::Crypt
 20:  d0ecfdc =  20:  d0ecfdc Do not error if no From address is provided
 21:  b3a3025 =  21:  b3a3025 Turn FindProtectedParts into a two-step process
 22:  d24d92e =  22:  d24d92e Move FindProtectedParts into RT::Crypt
 23:  621a397 =  23:  621a397 Unclaimed multipart/signed or multipart/encrypted parts should be skipped
 24:  23c6432 =  24:  23c6432 Assume multipart/{signed,encrypted} parts may be GPG-encrypted
 25:  cf8ee45 =  25:  cf8ee45 Move VerifyDecrypt to dispatch from RT::Crypt
 26:  acdfefb =  26:  acdfefb Fix which part is labelled "Top" in signature attachments
 27:  9dca0e0 =  27:  9dca0e0 Remove Top argument from where it is not needed
 28:  f24b69f =  28:  f24b69f Merge two identical AddStatus/SetStatus blocks into one
 29:  24f5c2a =  29:  24f5c2a Remove unused Detach argument
 30:  8c935dc =  30:  8c935dc Remove unnecessary passing of SetStatus to VerifyRFC3156
 31:  bd32d0a =  31:  bd32d0a Remove AddStatus/SetStatus arguments to VerifyDecrypt
 32:  e5db507 =  32:  e5db507 Move status header setting into RT::Crypt
 33:  73d06cf =  33:  73d06cf Move alteration of Top component into Verify/Decrypt methods
 34:  5a31c00 =  34:  5a31c00 Move ParseStatus to dispatch from RT::Crypt
 35:  084345c =  35:  084345c Move key retrieval to dispatch from RT::Crypt
 36:  a397c66 =  36:  a397c66 Refactor UseKeyFor* and GetKeysFor* for generic use
 37:  3522a04 =  37:  3522a04 Add Protocol information to GetPublicKeyInfo call
 38:  f0a5142 =  38:  f0a5142 Move DrySign into RT::Crypt
 39:  b65c6eb =  39:  b65c6eb move ParseDate method into RT::Crypt::Role to allow re-use
 40:  30beaa8 =  40:  30beaa8 Move CheckRecipients into RT::Crypt
 41:  86d3d32 =  41:  86d3d32 Move logic from RT::Interface::Email::Auth::GnuPG into ::Crypt
 42:  602dc5a =  42:  602dc5a Warn about Auth::GnuPG and Auth::SMIME MailPlugins, and switch to Auth::Crypt
 43:  f81211a =  43:  f81211a Remove unnecessary GnuPG disabling during testing
 44:  dad0e76 =  44:  dad0e76 Generalize RT::Interface::Email::Auth::Crypt for multiple protocols
 45:  64a9b43 =  45:  64a9b43 By default, VerifyDecrypt should iterate to fixed-point
 46:  1c68fcb =  46:  1c68fcb Generalize GnuPG re-verification
 47:  71a39b4 =  47:  71a39b4 Remove an unused variable
 48:  45002d0 =  48:  45002d0 Abstract out a general Crypt setting, and split incoming and outgoing
 49:  c6d664d =  49:  c6d664d Handle if the incoming protocol is but a scalar
 50:  32147d9 =  50:  32147d9 Move GnuPG enabling/disabling to GnuPG PostLoadCheck
 51:  b4b6f18 =  51:  b4b6f18 Move canonicalization of GnuPG homedir to PostLoadCheck
 52:  9aed02a =  52:  9aed02a Ensure that RT->Config->Options returns keys in consistent order
 53:  d5c6da1 =  53:  d5c6da1 Add "Probe" as a requirement of RT::Crypt::Role
 54:  e03e44b =  54:  e03e44b Allow safe_run_child to run before ConnectToDatabase runs
 55:  8b9d934 =  55:  8b9d934 Genericize loading and ->Probe of RT::Crypt::* classes during PostLoadCheck
 56:  9cf1908 =  56:  9cf1908 Don't load crypt implementations upon RT::Crypt load
 57:  12bd3b0 =  57:  12bd3b0 Drop extraneous "require RT::Crypt" lines
 58:  66826e7 =  58:  66826e7 Switch iterations over all protocols to merely enabled ones
 59:  90d1eef =  59:  90d1eef Place Passphrase configuration on individual configurations
 60:  a7b88b0 =  60:  a7b88b0 Move RejectOnMissingPrivateKey and RejectOnBadData to generic Crypt settings
 61:  c0e3f4b =  61:  c0e3f4b Ensure that ContentType is only updated after successful encryption/decryption
 62:  086b633 =  62:  086b633 Refactor encryption of attachment content into the role, and move config
 63:  c7cfc5a =  63:  c7cfc5a Switch to generic Crypt checks instead of GnuPG
 64:  79e541e =  64:  79e541e All outgoing defaults should default to UseForOutgoing, not GnuPG
 65:  f44e951 =  65:  f44e951 Fix a typo in a comment
 66:  5dd001a =  66:  5dd001a Don't report unsafe permissions on gpg tests
 67:  bc0e44b =  67:  bc0e44b One entity may have information about multiple crypt runs
 68:  34ac88b =  68:  34ac88b Rename "bad data" template to not be GnuPG-specific
 69:  7f3785e =  69:  7f3785e Move non-GPG specific docs to RT::Crypt
 70:  82e3e61 =  70:  82e3e61 Wording fixes for RT::Crypt::GnuPG documentation
 71:  e854b0c =  71:  e854b0c Add a 'configure' option to enable SMIME support
 72:  782b13f =  72:  782b13f Add the skeleton of SMIME support, in RT::Crypt::SMIME
 73:  f751318 =  73:  f751318 SMIME: Store the path to openssl in a configuration option
 74:  7825d71 =  74:  7825d71 SMIME: probe for openssl existance, and smime subcommand
 75:  5ccb49b =  75:  5ccb49b SMIME: part detection
 76:  80e63c5 =  76:  80e63c5 SMIME: Format status into headers
 77:  f1b1536 =  77:  f1b1536 SMIME: Read and parse key content from a Keyring directory
 78:  a5383fa =  78:  a5383fa SMIME: Ensure that the keyring path is absolute, and exists
 79:  2db873e =  79:  2db873e SMIME: Store user keys in a user column
 80:  d12d753 =  80:  d12d753 SMIME: Message verification
 81:  f65e4ac =  81:  f65e4ac SMIME: Import signing keys after verification
 82:  02f5845 =  82:  02f5845 SMIME: Verifying the signing entity of SMIME certificates
 83:  93df8fc =  83:  93df8fc SMIME: Allow an insecure mode which accepts untrusted certificates
 84:  03df19e =  84:  03df19e SMIME: Document passphrase loading
 85:  fe3e256 =  85:  fe3e256 Pass queue and actions into mail plugins, and thence to VerifyDecrypt
 86:  c56f040 =  86:  c56f040 SMIME: Message decryption
 87:  7acc2d8 =  87:  7acc2d8 SMIME: Testing keys and certificates
 88:  3c3f958 =  88:  3c3f958 Factor out find_relocatable_path
 89:  c102a7f =  89:  c102a7f SMIME: Add a testing module
 90:  b46b7d3 =  90:  b46b7d3 SMIME: Test incoming mail verification and encryption
 91:  37f1d2a =  91:  37f1d2a SMIME: Message signing and encryption
 92:  f289b2f =  92:  f289b2f SMIME: If passphrase is empty, then don't provide -passin
 93:  49fc5c4 =  93:  49fc5c4 SMIME: Test outgoing mail
 94:  62a59a6 =  94:  62a59a6 SMIME: Test parsing of real mail
 95:  01d750d =  95:  01d750d Always pass Top entity when we detecting crypto parts
 96:  a98efb3 =  96:  a98efb3 SMIME: Improve recipient detection by examining all possibilities
 97:  b7c47ef =  97:  b7c47ef SMIME: Be more verbose on how it looks for, and fails to find, private keys
 98:  30be6a5 =  98:  30be6a5 SMIME: Encrypting and decrypting attachments in the database
 99:  5186f9a =  99:  5186f9a Upgrade script for users of RT::Extension::SMIME and ::Crypt
100:  b1ad243 = 100:  b1ad243 Factor out sending templated errors for convenient future use
101:  f7e861a = 101:  f7e861a Add RejectOnUnencrypted to force all incoming messages to be encrypted
102:  70a3f5a = 102:  70a3f5a Allow encryption/signing of dashboards
103:  8982b44 = 103:  8982b44 Refactor common delegation code
104:  278b990 = 104:  278b990 Only GnuPG supports multiple private keys per user; restrict PrivateKey
105:  7a25437 = 105:  7a25437 SMIME: Admin interface for updating SMIME keys
106:  4bdeb9d = 106:  4bdeb9d /Admin/Users/GnuPG.html is no longer just GPG, but all secret keys
107:  a100e31 = 107:  a100e31 Rename GnuPG mason components to Crypt
108:  da8523b = 108:  da8523b Reword UI messages implying the GnuPG is the only form of encryption
109:  d79a53c = 109:  d79a53c Display Created and Expire dates in the user's preferred format by setting CurrentUser
110:  bc4b1b1 = 110:  bc4b1b1 On UIDs with neither expiration nor created dates (SMIME), skip the dates
111:  ff42449 = 111:  ff42449 Display GnuPG/SMIME issues box in yellow, much like results
112:  5750602 = 112:  5750602 Resolve SMIME/GnuPG inconsistency when asking for non-existent keys
113:  ead85be ! 113:  9d6481c Visualize trust level of signing entity
    @@ -88,7 +88,7 @@
     +        return (0, "Couldn't get transaction of attachment #". $top->id);
     +    }
     +
    -+    my $attachments = $txn->Messages->Clone;
    ++    my $attachments = $txn->Attachments->Clone;
     +    $attachments->Limit( FIELD => 'ContentType', VALUE => 'application/x-rt-original-message' );
     +    my $original = $attachments->First;
     +    unless ( $original ) {
    @@ -457,3 +457,34 @@
     +.transaction .message-header-value.verify.done.trust-FULL      { color: #060; }
     +.transaction .message-header-value.verify.done.trust-FULLY     { color: #060; }
     +.transaction .message-header-value.verify.done.trust-ULTIMATE  { color: #060; }
    +
    +diff --git a/t/web/ticket-create-utf8.t b/t/web/ticket-create-utf8.t
    +--- a/t/web/ticket-create-utf8.t
    ++++ b/t/web/ticket-create-utf8.t
    +@@
    +     $m->submit;
    + 
    +     $m->content_like( 
    +-        qr{<td\s+class="message-header-value"[^>]*>\s*\Q$test_str\E\s*</td>}i,
    ++        qr{<td\s+class="message-header-value\s*"[^>]*>\s*\Q$test_str\E\s*</td>}i,
    +         'header on the page'
    +     );
    + 
    +@@
    +         $m->submit;
    + 
    +         $m->content_like( 
    +-            qr{<td\s+class="message-header-value"[^>]*>\s*\Q$test_str\E\s*</td>}i,
    ++            qr{<td\s+class="message-header-value\s*"[^>]*>\s*\Q$test_str\E\s*</td>}i,
    +             'header on the page'
    +         );
    +         $m->content_contains(
    +@@
    +         $m->submit;
    + 
    +         $m->content_like( 
    +-            qr{<td\s+class="message-header-value"[^>]*>\s*\Q$test_str\E\s*</td>}i,
    ++            qr{<td\s+class="message-header-value\s*"[^>]*>\s*\Q$test_str\E\s*</td>}i,
    +             'header on the page'
    +         );
    +         $m->content_contains(



More information about the Rt-commit mailing list