[packages/rt] - rel 2; use Content-Id if it comes over REST API
arekm
arekm at pld-linux.org
Mon Feb 23 08:57:59 CET 2015
commit df434706d4814d6ec73286233b1ce3fa1c1dba3b
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Mon Feb 23 08:57:53 2015 +0100
- rel 2; use Content-Id if it comes over REST API
content-id.patch | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
rt.spec | 4 +++-
2 files changed, 51 insertions(+), 1 deletion(-)
---
diff --git a/rt.spec b/rt.spec
index 66241a0..215276c 100644
--- a/rt.spec
+++ b/rt.spec
@@ -45,7 +45,7 @@ Summary: Request Tracker
Summary(pl.UTF-8): Request Tracker - system do śledzenia zleceń
Name: rt
Version: 4.2.9
-Release: 1
+Release: 2
License: GPL v2
Group: Applications
Source0: http://download.bestpractical.com/pub/rt/release/%{name}-%{version}.tar.gz
@@ -57,6 +57,7 @@ Source4: %{name}.logrotate
Source5: lighttpd.conf
Patch0: %{name}-layout.patch
Patch1: %{name}-config.patch
+Patch2: content-id.patch
URL: http://www.bestpractical.com/rt/
BuildRequires: autoconf
BuildRequires: automake
@@ -301,6 +302,7 @@ Pliki wspomagające używanie RT z Apache.
%setup -q
%patch0 -p0
%patch1 -p1
+%patch2 -p1
mv aclocal.m4 acinclude.m4
diff --git a/content-id.patch b/content-id.patch
new file mode 100644
index 0000000..af687cd
--- /dev/null
+++ b/content-id.patch
@@ -0,0 +1,48 @@
+From d2e519d4ed50ccc8f44b66b814f47de5ff63d0cc Mon Sep 17 00:00:00 2001
+From: Przemyslaw Plewa <przemyslaw.plewa at domena.pl>
+Date: Fri, 6 Feb 2015 13:50:11 +0100
+Subject: [PATCH] Use Content-ID when handling multipart message over REST.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Record Content-ID identifier that came over REST API.
+
+This allows us to have multipart messages with one (or more) part
+refering to other parts of message. Content-ID identifier is used for
+reference.
+
+Such message also needs multipart/related type (instead of default (in
+rt) multipart/mixed. So if we detect Content-ID in any part of multipart
+message we switch Content-Type to multipart/related.
+
+Signed-off-by: Przemysław Plewa <przemyslaw.plewa at domena.pl>
+---
+ lib/RT/Interface/REST.pm | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/lib/RT/Interface/REST.pm b/lib/RT/Interface/REST.pm
+index edfc5d3..1c8f555 100644
+--- a/lib/RT/Interface/REST.pm
++++ b/lib/RT/Interface/REST.pm
+@@ -324,11 +324,17 @@ sub process_attachments {
+ }
+
+ my $info = $cgi->uploadInfo($fh);
++ # If Content-ID exists for attachment then we need multipart/related
++ # to be able to refer to this Content-Id in core of mime message
++ if($info->{'Content-ID'}) {
++ $entity->head->set('Content-Type', 'multipart/related');
++ }
+ my $new_entity = $entity->attach(
+ Path => $tmp_fn,
+ Type => $info->{'Content-Type'} || guess_media_type($tmp_fn),
+ Filename => $file,
+ Disposition => $info->{'Content-Disposition'} || "attachment",
++ 'Content-ID' => $info->{'Content-ID'},
+ );
+ $new_entity->bodyhandle->{'_dirty_hack_to_save_a_ref_tmp_fh'} = $tmp_fh;
+ $i++;
+--
+2.3.0
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rt.git/commitdiff/df434706d4814d6ec73286233b1ce3fa1c1dba3b
More information about the pld-cvs-commit
mailing list