Вы можете добавить заголовок Access-Control-Allow-Origin в ответ клиента магистрали Icecast, добавив свой заголовок в следующую строку в функции util_http_build_header util.c.
См. "Access-Control-Allow-Origin: http://foo.example\r\n",
после contenttype_buffer.
ret = snprintf (out, len, "%sServer: %s\r\n%s%s%s%s%s%s",
status_buffer,
config->server_id,
currenttime_buffer,
contenttype_buffer,
"Access-Control-Allow-Origin: http://foo.example\r\n",
(status == 401 ? "WWW-Authenticate: Basic realm=\"Icecast2 Server\"\r\n" : ""),
(cache ? "" : "Cache-Control: no-cache\r\n"
"Expires: Mon, 26 Jul 1997 05:00:00 GMT\r\n"
"Pragma: no-cache\r\n"),
(datablock ? "\r\n" : ""),
(datablock ? datablock : ""));
Вы можете добавить заголовок Access-Control-Allow-Origin в ответ клиента Icecast 2.3.2, добавив следующее:
bytes = snprintf (ptr, remaining, "Access-Control-Allow-Origin: http://foo.example\r\n");
remaining -= bytes;
ptr += bytes;
к методу format_prepare_headers в format.c после строки, добавляющей сервер заголовок и перед строкой, добавляющей заголовок Cache Control.
Другие улучшения этого предложения включают создание переменных конфигурации Icecast имени заголовка и значений (добавление их в структуру ice_config_tag в cfgfile.h и доступ к ним перед вызовом config_release_config();
) или добавление обработки для поддержки общих (например, без ICY) заголовков из источника, поскольку текущая логика в той же функции добавляет icy ко всем заголовкам из источника.
Если вы добавили переменную для пользовательского заголовка в cfgfile.h, например char *custom_header;
добавить в определение структуры, а затем изменить _parse_root
, config_clear
, _set_defaults
функции в cfgfile.c, вы сможете установить собственный заголовок в файле конфигурации Icecast, как и любую другую переменную конфигурации.
person
Appleman1234
schedule
13.06.2014