couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rnew...@apache.org
Subject [21/31] mochiweb commit: updated refs/heads/upstream to 23dc119
Date Mon, 14 Aug 2017 15:38:31 GMT
adding the other RFC1918 addresss space to the allowed x-forwarded-for header (#183)



Project: http://git-wip-us.apache.org/repos/asf/couchdb-mochiweb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-mochiweb/commit/e1dd5bcf
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-mochiweb/tree/e1dd5bcf
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-mochiweb/diff/e1dd5bcf

Branch: refs/heads/upstream
Commit: e1dd5bcf09d9bd75e61515a1569cbbb4f2041a10
Parents: 62eac24
Author: kyletrueex <kyle@trueex.com>
Authored: Sun Dec 18 14:00:04 2016 -0500
Committer: Bob Ippolito <bob@redivi.com>
Committed: Sun Dec 18 11:00:04 2016 -0800

----------------------------------------------------------------------
 src/mochiweb_request.erl | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-mochiweb/blob/e1dd5bcf/src/mochiweb_request.erl
----------------------------------------------------------------------
diff --git a/src/mochiweb_request.erl b/src/mochiweb_request.erl
index 302d6bc..ec0ad36 100644
--- a/src/mochiweb_request.erl
+++ b/src/mochiweb_request.erl
@@ -119,6 +119,21 @@ get(peer, {?MODULE, [Socket, _Opts, _Method, _RawPath, _Version, _Headers]}=THIS
                 Hosts ->
                     string:strip(lists:last(string:tokens(Hosts, ",")))
             end;
+        %% Copied this syntax from webmachine contributor Steve Vinoski
+        {ok, {Addr={172, Second, _, _}, _Port}} when (Second > 15) andalso (Second <
32) ->
+            case get_header_value("x-forwarded-for", THIS) of
+                undefined ->
+                    inet_parse:ntoa(Addr);
+                Hosts ->
+                    string:strip(lists:last(string:tokens(Hosts, ",")))
+            end;
+        {ok, {Addr={192, 168, _, _}, _Port}} ->
+            case get_header_value("x-forwarded-for", THIS) of
+                undefined ->
+                    inet_parse:ntoa(Addr);
+                Hosts ->
+                    string:strip(lists:last(string:tokens(Hosts, ",")))
+            end;
         {ok, {{127, 0, 0, 1}, _Port}} ->
             case get_header_value("x-forwarded-for", THIS) of
                 undefined ->


Mime
View raw message