|  | @@ -9563,6 +9563,7 @@ handle_static_file_request(struct mg_connection *conn,
 | 
											
												
													
														|  |  	int n, truncated;
 |  |  	int n, truncated;
 | 
											
												
													
														|  |  	char gz_path[PATH_MAX];
 |  |  	char gz_path[PATH_MAX];
 | 
											
												
													
														|  |  	const char *encoding = "";
 |  |  	const char *encoding = "";
 | 
											
												
													
														|  | 
 |  | +	const char *cors_orig_cfg;
 | 
											
												
													
														|  |  	const char *cors1, *cors2, *cors3;
 |  |  	const char *cors1, *cors2, *cors3;
 | 
											
												
													
														|  |  	int is_head_request;
 |  |  	int is_head_request;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -9683,15 +9684,16 @@ handle_static_file_request(struct mg_connection *conn,
 | 
											
												
													
														|  |  #endif
 |  |  #endif
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  	/* Standard CORS header */
 |  |  	/* Standard CORS header */
 | 
											
												
													
														|  | 
 |  | +	cors_orig_cfg = conn->dom_ctx->config[ACCESS_CONTROL_ALLOW_ORIGIN];
 | 
											
												
													
														|  |  	hdr = mg_get_header(conn, "Origin");
 |  |  	hdr = mg_get_header(conn, "Origin");
 | 
											
												
													
														|  | -	if (hdr) {
 |  | 
 | 
											
												
													
														|  | 
 |  | +	if (cors_orig_cfg && *cors_orig_cfg && hdr) {
 | 
											
												
													
														|  |  		/* Cross-origin resource sharing (CORS), see
 |  |  		/* Cross-origin resource sharing (CORS), see
 | 
											
												
													
														|  |  		 * http://www.html5rocks.com/en/tutorials/cors/,
 |  |  		 * http://www.html5rocks.com/en/tutorials/cors/,
 | 
											
												
													
														|  |  		 * http://www.html5rocks.com/static/images/cors_server_flowchart.png
 |  |  		 * http://www.html5rocks.com/static/images/cors_server_flowchart.png
 | 
											
												
													
														|  |  		 * -
 |  |  		 * -
 | 
											
												
													
														|  |  		 * preflight is not supported for files. */
 |  |  		 * preflight is not supported for files. */
 | 
											
												
													
														|  |  		cors1 = "Access-Control-Allow-Origin: ";
 |  |  		cors1 = "Access-Control-Allow-Origin: ";
 | 
											
												
													
														|  | -		cors2 = conn->dom_ctx->config[ACCESS_CONTROL_ALLOW_ORIGIN];
 |  | 
 | 
											
												
													
														|  | 
 |  | +		cors2 = cors_orig_cfg;
 | 
											
												
													
														|  |  		cors3 = "\r\n";
 |  |  		cors3 = "\r\n";
 | 
											
												
													
														|  |  	} else {
 |  |  	} else {
 | 
											
												
													
														|  |  		cors1 = cors2 = cors3 = "";
 |  |  		cors1 = cors2 = cors3 = "";
 | 
											
										
											
												
													
														|  | @@ -11822,16 +11824,18 @@ handle_ssi_file_request(struct mg_connection *conn,
 | 
											
												
													
														|  |  {
 |  |  {
 | 
											
												
													
														|  |  	char date[64];
 |  |  	char date[64];
 | 
											
												
													
														|  |  	time_t curtime = time(NULL);
 |  |  	time_t curtime = time(NULL);
 | 
											
												
													
														|  | 
 |  | +	const char *cors_orig_cfg;
 | 
											
												
													
														|  |  	const char *cors1, *cors2, *cors3;
 |  |  	const char *cors1, *cors2, *cors3;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  	if ((conn == NULL) || (path == NULL) || (filep == NULL)) {
 |  |  	if ((conn == NULL) || (path == NULL) || (filep == NULL)) {
 | 
											
												
													
														|  |  		return;
 |  |  		return;
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -	if (mg_get_header(conn, "Origin")) {
 |  | 
 | 
											
												
													
														|  | 
 |  | +	cors_orig_cfg = conn->dom_ctx->config[ACCESS_CONTROL_ALLOW_ORIGIN];
 | 
											
												
													
														|  | 
 |  | +	if (cors_orig_cfg && *cors_orig_cfg && mg_get_header(conn, "Origin")) {
 | 
											
												
													
														|  |  		/* Cross-origin resource sharing (CORS). */
 |  |  		/* Cross-origin resource sharing (CORS). */
 | 
											
												
													
														|  |  		cors1 = "Access-Control-Allow-Origin: ";
 |  |  		cors1 = "Access-Control-Allow-Origin: ";
 | 
											
												
													
														|  | -		cors2 = conn->dom_ctx->config[ACCESS_CONTROL_ALLOW_ORIGIN];
 |  | 
 | 
											
												
													
														|  | 
 |  | +		cors2 = cors_orig_cfg;
 | 
											
												
													
														|  |  		cors3 = "\r\n";
 |  |  		cors3 = "\r\n";
 | 
											
												
													
														|  |  	} else {
 |  |  	} else {
 | 
											
												
													
														|  |  		cors1 = cors2 = cors3 = "";
 |  |  		cors1 = cors2 = cors3 = "";
 |