summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xnsa8
1 files changed, 8 insertions, 0 deletions
diff --git a/nsa b/nsa
index 0e6f180..c0573ac 100755
--- a/nsa
+++ b/nsa
@@ -419,6 +419,7 @@ while (1) do
project = nil
lines = []
commitmsg = ""
+ transfer_encoding = "plain"
fh.readlines.each { |line|
line.chomp!
in_headers = false if line == ""
@@ -430,6 +431,8 @@ while (1) do
if m
project = m[1];
end
+ elsif header.upcase == "Content-Transfer-Encoding"
+ transfer_encoding = content
end
elsif (not in_headers)
lines.push line
@@ -439,6 +442,11 @@ while (1) do
fh.close
File.unlink(filename)
+ if transfer_encoding == "base64"
+ require 'base64'
+ lines = Base64.decode64(lines.join()).split("\n")
+ end
+
if project.nil?
puts "Ignoring invalid mail without project"
next