*/
static char* allow_headers;
+/**
+ * Allowed Credentials (CORS)
+ */
+static char* allow_credentials;
+
/**
* MHD Connection handle
*/
struct GNUNET_REST_RequestHandle *handle = cls;
struct GNUNET_HashCode hkey;
char *val;
+ char *lowerkey;
- GNUNET_CRYPTO_hash (key, strlen (key), &hkey);
+ lowerkey = GNUNET_strdup (key);
+ GNUNET_STRINGS_utf8_tolower (key, lowerkey);
+ GNUNET_CRYPTO_hash (lowerkey, strlen (lowerkey), &hkey);
GNUNET_asprintf (&val, "%s", value);
if (GNUNET_OK !=
GNUNET_CONTAINER_multihashmap_put (handle->header_param_map,
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Could not load add header `%s'=%s\n",
- key, value);
+ lowerkey, value);
}
+ GNUNET_free (lowerkey);
return MHD_YES;
}
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Could not load add url param `%s'=%s\n",
+ "Could not load add url param '%s'=%s\n",
key, data);
GNUNET_free(val);
}
&header_iterator,
rest_conndata_handle);
con_handle->pp = MHD_create_post_processor(con,
- 4000,
+ 65536,
post_data_iter,
rest_conndata_handle);
if (*upload_data_size)
MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN,
allow_origin);
}
+ if (NULL != allow_credentials)
+ {
+ MHD_add_response_header (con_handle->response,
+ "Access-Control-Allow-Credentials",
+ allow_credentials);
+ }
if (NULL != allow_headers)
{
MHD_add_response_header (con_handle->response,
"Shutting down...\n");
kill_httpd ();
GNUNET_free_non_null (allow_origin);
+ GNUNET_free_non_null (allow_credentials);
GNUNET_free_non_null (allow_headers);
}
struct GNUNET_HashCode key;
if (NULL == lib_ret)
{
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Could not load plugin `%s'\n",
libname);
return;
plugin,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY))
{
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Could not load add plugin `%s'\n",
libname);
return;
"No CORS Access-Control-Allow-Origin Header will be sent...\n");
}
+ if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (cfg, "rest",
+ "REST_ALLOW_CREDENTIALS",
+ &allow_credentials))
+ {
+ //No origin specified
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "No CORS Access-Control-Allow-Origin Header will be sent...\n");
+ }
+
if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (cfg, "rest",
"REST_ALLOW_HEADERS",
&allow_headers))