[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