anchor.diff:      AuthorizationHeader = header_value(Req, "Authorization"),
       case AuthorizationHeader of
       "Basic " ++ Base64Value ->
  -        case string:tokens(?b2l(base64:decode(Base64Value)),":") of
  +        case re:split(base64:decode(Base64Value), ":",
  +                      [{return, list}, {parts, 2}]) of
           ["_", "_"] ->
               % special name and pass to be logged out
               nil;
           [User, Pass] ->
               {User, Pass};
  -        [User | Pass] ->
  -            {User, string:join(Pass, ":")};
           _ ->
               nil
           end;
  
positive.code:     undefined -> Req;
      [] -> Req;
      Cookie ->
          [User, TimeStr | HashParts] = try
              AuthSession = couch_util:decodeBase64Url(Cookie),
              [_A, _B | _Cs] = re:split(?b2l(AuthSession), ":", [{return, list}])
          catch
              _:_Error ->
                  Reason = <<"Malformed AuthSession cookie. Please clear your cookies.">>,
  
negative.code:                 UserSalt = couch_util:get_value(<<"salt">>, UserProps, <<"">>),
                  FullSecret = <<Secret/binary, UserSalt/binary>>,
                  ExpectedHash = crypto:sha_mac(FullSecret, User ++ ":" ++ TimeStr),
                  Hash = ?l2b(HashStr),
                  Timeout = list_to_integer(
                      couch_config:get("couch_httpd_auth", "timeout", "600")),
                  ?LOG_DEBUG("timeout ~p", [Timeout]),
  