diff --git a/config.make b/config.make
new file mode 100644
index 0000000000000000000000000000000000000000..37d163efb942c3b1cc53bde65832f92c2bcadf90
--- /dev/null
+++ b/config.make
@@ -0,0 +1,2 @@
+echo "objs/addon/src/ngx_http_voms_module.o: CFLAGS += --std=c++1y -Werror" >> $NGX_MAKEFILE
+
diff --git a/src/ngx_http_voms_module.cpp b/src/ngx_http_voms_module.cpp
index bee998fc68e5edb6f9d41bd7a342798ac53fc3e5..c76a9f709c3039b1bae161ac6f2972708d9b56c4 100644
--- a/src/ngx_http_voms_module.cpp
+++ b/src/ngx_http_voms_module.cpp
@@ -328,7 +328,7 @@ static void cache_voms_ac(ngx_http_request_t* r,
   auto c = r->connection;
   auto cln = ngx_pool_cleanup_add(c->pool, 0);
   if (cln) {
-    auto r = ac_cache.insert({c, std::move(acp)});
+    auto r = ac_cache.insert(std::make_pair(c, std::move(acp)));
     // we insert into the cache exactly once per connection
     assert(r.second);
     cln->handler = clean_voms_ac;
@@ -353,7 +353,7 @@ static MaybeVomsAc const& get_voms_ac(ngx_http_request_t* r)
   MaybeVomsAc* acp = get_voms_ac_from_cache(r);
 
   if (!acp) {
-    auto p = std::make_unique<MaybeVomsAc>(retrieve_voms_ac_from_proxy(r));
+    std::unique_ptr<MaybeVomsAc> p{new MaybeVomsAc(retrieve_voms_ac_from_proxy(r))};
     acp = p.get();
     cache_voms_ac(r, std::move(p));
   }
@@ -624,7 +624,7 @@ static ngx_int_t get_ssl_client_ee_cert_raw(ngx_http_request_t* r,
 {
   ngx_log_error(NGX_LOG_DEBUG, r->connection->log, 0, "%s", __func__);
 
-  *result = {};
+  *result = {0, nullptr};
 
   auto ee_cert = get_ee_cert(r);
 
@@ -661,6 +661,15 @@ static ngx_int_t get_ssl_client_ee_cert_raw(ngx_http_request_t* r,
   return NGX_OK;
 }
 
+namespace boost {
+template <typename IteratorT, typename IntegerT>
+inline iterator_range<IteratorT> make_iterator_range_n(IteratorT first,
+                                                       IntegerT n)
+{
+  return iterator_range<IteratorT>(first, boost::next(first, n));
+}
+}  // namespace boost
+
 static ngx_int_t get_ssl_client_ee_cert(ngx_http_request_t* r,
                                         ngx_http_variable_value_t* v,
                                         uintptr_t data)
@@ -670,7 +679,7 @@ static ngx_int_t get_ssl_client_ee_cert(ngx_http_request_t* r,
   v->not_found = 1;
   v->valid = 0;
 
-  ngx_str_t cert{};
+  ngx_str_t cert{0, nullptr};
 
   if (get_ssl_client_ee_cert_raw(r, &cert) != NGX_OK) {
     return NGX_ERROR;