diff options
-rwxr-xr-x | nsa | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -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 |