diff -pruN 0.8-9/debian/changelog 0.8-9ubuntu2/debian/changelog
--- 0.8-9/debian/changelog	2020-12-19 20:12:17.000000000 +0000
+++ 0.8-9ubuntu2/debian/changelog	2021-11-24 10:25:55.000000000 +0000
@@ -1,3 +1,17 @@
+sslsniff (0.8-9ubuntu2) jammy; urgency=medium
+
+  * No-change rebuild against openssl3
+
+ -- Simon Chopin <simon.chopin@canonical.com>  Wed, 24 Nov 2021 11:25:55 +0100
+
+sslsniff (0.8-9ubuntu1) hirsute; urgency=low
+
+  * Merge from Debian unstable. Remaining changes:
+    - Apply patch for Debian #914162: unusual HTTP header capitalization
+      breaks sslsniff.
+
+ -- Dimitri John Ledkov <xnox@ubuntu.com>  Sun, 20 Dec 2020 21:00:23 +0000
+
 sslsniff (0.8-9) unstable; urgency=medium
 
   [ Samuel Henrique ]
@@ -24,6 +38,26 @@ sslsniff (0.8-8.1) unstable; urgency=med
 
  -- Sebastian Ramacher <sramacher@debian.org>  Mon, 08 Jun 2020 23:32:00 +0200
 
+sslsniff (0.8-8ubuntu1) groovy; urgency=medium
+
+  * Fix ftbfs, patch taken from the Debian BTS.
+  * Fix FTBFS with Boost 1.71.
+  * Apply patch for Debian #914162: unusual HTTP header capitalization breaks sslsniff.
+
+ -- Matthias Klose <doko@ubuntu.com>  Wed, 20 May 2020 17:48:40 +0200
+
+sslsniff (0.8-8build2) focal; urgency=medium
+
+  * No-change rebuild for libgcc-s1 package name change.
+
+ -- Matthias Klose <doko@ubuntu.com>  Mon, 23 Mar 2020 08:58:31 +0100
+
+sslsniff (0.8-8build1) focal; urgency=medium
+
+  * No change rebuild against new boost1.71 ABI
+
+ -- Dimitri John Ledkov <xnox@ubuntu.com>  Mon, 03 Feb 2020 21:44:19 +0000
+
 sslsniff (0.8-8) unstable; urgency=medium
 
   * Fix build with wl,asneeded (Closes: #849695)
@@ -121,3 +155,4 @@ sslsniff (0.6-1) unstable; urgency=low
   * Initial release (Closes: #542472)
 
  -- Pierre Chifflier <pollux@debian.org>  Sun, 16 Aug 2009 22:39:51 +0200
+
diff -pruN 0.8-9/debian/control 0.8-9ubuntu2/debian/control
--- 0.8-9/debian/control	2020-12-19 18:57:23.000000000 +0000
+++ 0.8-9ubuntu2/debian/control	2020-12-20 21:00:23.000000000 +0000
@@ -1,7 +1,8 @@
 Source: sslsniff
 Section: admin
 Priority: optional
-Maintainer: Debian Security Tools <team+pkg-security@tracker.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian Security Tools <team+pkg-security@tracker.debian.org>
 Uploaders: Pierre Chifflier <pollux@debian.org>, Raphaël Hertzog <hertzog@debian.org>
 Build-Depends: debhelper-compat (= 11),
     libssl-dev,
diff -pruN 0.8-9/debian/patches/f8c4274d1bfc3c2eca241d65f96de746bb0065e0.diff 0.8-9ubuntu2/debian/patches/f8c4274d1bfc3c2eca241d65f96de746bb0065e0.diff
--- 0.8-9/debian/patches/f8c4274d1bfc3c2eca241d65f96de746bb0065e0.diff	1970-01-01 00:00:00.000000000 +0000
+++ 0.8-9ubuntu2/debian/patches/f8c4274d1bfc3c2eca241d65f96de746bb0065e0.diff	2020-05-20 15:48:40.000000000 +0000
@@ -0,0 +1,76 @@
+diff --git a/HTTPSBridge.cpp b/HTTPSBridge.cpp
+index 79e2458..8a2e89d 100644
+--- a/HTTPSBridge.cpp
++++ b/HTTPSBridge.cpp
+@@ -29,7 +29,7 @@ void HTTPSBridge::buildRequestFromHeaders(HttpHeaders &headers, std::string &req
+ 	  << "HTTP/1.0\r\n";
+       
+   std::map<std::string,std::string>::iterator iter;
+-  std::map<std::string,std::string>& headersMap = headers.getHeaders();
++  std::map<std::string,std::string,ci_less>& headersMap = headers.getHeaders();
+   for( iter = headersMap.begin(); iter != headersMap.end(); ++iter ) {
+     std::string key   = iter->first;
+     std::string value = iter->second;
+diff --git a/http/HttpHeaders.cpp b/http/HttpHeaders.cpp
+index 938a4d4..6964e8d 100644
+--- a/http/HttpHeaders.cpp
++++ b/http/HttpHeaders.cpp
+@@ -22,7 +22,7 @@
+ #include "../Logger.hpp"
+ 
+ 
+-std::map<std::string, std::string>& HttpHeaders::getHeaders() {
++std::map<std::string, std::string, ci_less>& HttpHeaders::getHeaders() {
+   return headers;
+ }
+ 
+diff --git a/http/HttpHeaders.hpp b/http/HttpHeaders.hpp
+index ad821ed..0afd93a 100644
+--- a/http/HttpHeaders.hpp
++++ b/http/HttpHeaders.hpp
+@@ -37,6 +37,27 @@ class HttpHeaderException : public std::exception {
+   }
+ };
+ 
++/************************************************************************/
++/* Comparator for case-insensitive comparison in STL assos. containers  */
++/************************************************************************/
++struct ci_less : std::binary_function<std::string, std::string, bool>
++{
++  // case-independent (ci) compare_less binary function
++  struct nocase_compare : public std::binary_function<unsigned char,unsigned char,bool> 
++  {
++    bool operator() (const unsigned char& c1, const unsigned char& c2) const {
++        return tolower (c1) < tolower (c2);
++    }
++  };
++  bool operator() (const std::string & s1, const std::string & s2) const {
++    return std::lexicographical_compare
++      (s1.begin (), s1.end (),   // source range
++      s2.begin (), s2.end (),   // dest range
++      nocase_compare ());  // comparison
++  }
++};
++
++
+ class HttpHeaders {
+ 
+ private:
+@@ -52,7 +73,7 @@ class HttpHeaders {
+   std::string postData;
+   std::string key;
+   std::string value;
+-  std::map<std::string, std::string> headers;
++  std::map<std::string, std::string, ci_less> headers;
+ 
+   int readLine(char *buffer, int *offset, int length);
+   int readAction(char *buffer, int length);
+@@ -71,7 +92,7 @@ class HttpHeaders {
+   bool process(char * buffer, int length);
+   bool isPost();
+ 
+-  std::map<std::string, std::string>& getHeaders();
++  std::map<std::string, std::string, ci_less>& getHeaders();
+   std::string& getHeader(std::string& header);
+   std::string& getMethod();
+   std::string& getRequest();  
diff -pruN 0.8-9/debian/patches/series 0.8-9ubuntu2/debian/patches/series
--- 0.8-9/debian/patches/series	2020-12-19 18:59:18.000000000 +0000
+++ 0.8-9ubuntu2/debian/patches/series	2020-12-20 21:00:23.000000000 +0000
@@ -5,3 +5,4 @@ Fix-OpenSSL-1.1-FTBFS.patch
 boost-1.67.patch
 Fix-FTBFS-with-Boost-1.71.patch
 fix_FTBFS_boost174.patch
+f8c4274d1bfc3c2eca241d65f96de746bb0065e0.diff
