|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
From: Krzysztof Jurewicz <krzysztof.jurewicz@gmail.com>
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
Date: Tue, 21 Jul 2015 11:10:47 +0200
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
Subject: [PATCH] Fix handling of default values in cookie options
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
MIME-Version: 1.0
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
Content-Type: text/plain; charset=UTF-8
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
Content-Transfer-Encoding: 8bit
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
Previously, an error would be raised when explicitly passing a default
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
value for either “http_only” or “secure” option.
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
diff --git a/src/cow_cookie.erl b/src/cow_cookie.erl
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
index 150efeb..b31a528 100644
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
--- a/src/cow_cookie.erl
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
+++ b/src/cow_cookie.erl
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
@@ -197,10 +197,12 @@ setcookie(Name, Value, Opts) ->
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
end,
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
SecureBin = case lists:keyfind(secure, 1, Opts) of
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
false -> <<>>;
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
+ {_, false} -> <<>>;
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
{_, true} -> <<"; Secure">>
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
end,
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
HttpOnlyBin = case lists:keyfind(http_only, 1, Opts) of
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
false -> <<>>;
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
+ {_, false} -> <<>>;
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
{_, true} -> <<"; HttpOnly">>
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
end,
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
[Name, <<"=">>, Value, <<"; Version=1">>,
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
@@ -218,6 +220,12 @@ setcookie_test_() ->
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
[{path, <<"/acme">>}],
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
<<"Customer=WILE_E_COYOTE; Version=1; Path=/acme">>},
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
{<<"Customer">>, <<"WILE_E_COYOTE">>,
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
+ [{secure, true}],
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
+ <<"Customer=WILE_E_COYOTE; Version=1; Secure">>},
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
+ {<<"Customer">>, <<"WILE_E_COYOTE">>,
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
+ [{secure, false}, {http_only, false}],
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
+ <<"Customer=WILE_E_COYOTE; Version=1">>},
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
+ {<<"Customer">>, <<"WILE_E_COYOTE">>,
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
[{path, <<"/acme">>}, {badoption, <<"negatory">>}],
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
<<"Customer=WILE_E_COYOTE; Version=1; Path=/acme">>}
|
|
![](https://seccdn.libravatar.org/avatar/1b7a77357f4dd4c806fa9adab84f94a5213f1dd67aef752eeafb38e6086f0da7?s=16&d=retro) |
adeb5bb |
],
|