summaryrefslogtreecommitdiff
path: root/audio/streamripper/patches/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'audio/streamripper/patches/patch-ab')
-rw-r--r--audio/streamripper/patches/patch-ab165
1 files changed, 0 insertions, 165 deletions
diff --git a/audio/streamripper/patches/patch-ab b/audio/streamripper/patches/patch-ab
deleted file mode 100644
index b579d911dc5..00000000000
--- a/audio/streamripper/patches/patch-ab
+++ /dev/null
@@ -1,165 +0,0 @@
-$NetBSD: patch-ab,v 1.2 2009/01/07 18:45:54 drochner Exp $
-
---- lib/http.c.orig 2009-01-07 18:27:06.000000000 +0100
-+++ lib/http.c
-@@ -115,7 +115,7 @@ httplib_parse_url(const char *url, URLIN
-
- /* search for a login '@' token */
- if (strchr(url, '@') != NULL) {
-- ret = sscanf(url, "%[^:]:%[^@]", urlinfo->username, urlinfo->password);
-+ ret = sscanf(url, "%1023[^:]:%1023[^@]", urlinfo->username, urlinfo->password);
- #if defined (commentout)
- if (ret < 2) return SR_ERROR_PARSE_FAILURE;
- #endif
-@@ -132,13 +132,13 @@ httplib_parse_url(const char *url, URLIN
-
- /* search for a port seperator */
- if (strchr(url, ':') != NULL) {
-- ret = sscanf(url, "%[^:]:%hu/%s", urlinfo->host,
-+ ret = sscanf(url, "%511[^:]:%hu/%252s", urlinfo->host,
- (short unsigned int*)&urlinfo->port, urlinfo->path+1);
- if (urlinfo->port < 1) return SR_ERROR_PARSE_FAILURE;
- ret -= 1;
- } else {
- urlinfo->port = 80;
-- ret = sscanf(url, "%[^/]/%s", urlinfo->host, urlinfo->path+1);
-+ ret = sscanf(url, "%511[^/]/%252s", urlinfo->host, urlinfo->path+1);
- }
- if (ret < 1) return SR_ERROR_INVALID_URL;
-
-@@ -258,11 +258,11 @@ httplib_construct_page_request (const ch
-
- /* Return 1 if a match was found, 0 if not found */
- int
--extract_header_value (char *header, char *dest, char *match)
-+extract_header_value (char *header, char *dest, char *match, int maxlen)
- {
- char* start = (char *)strstr(header, match);
- if (start) {
-- subnstr_until(start+strlen(match), "\n", dest, MAX_ICY_STRING);
-+ subnstr_until(start+strlen(match), "\n", dest, maxlen);
- return 1;
- } else {
- return 0;
-@@ -321,24 +321,32 @@ httplib_parse_sc_header (const char *url
- }
-
- // read generic headers
-- extract_header_value(header, info->http_location, "Location:");
-- extract_header_value(header, info->server, "Server:");
-- rc = extract_header_value(header, info->icy_name, "icy-name:");
-+ extract_header_value(header, info->http_location, "Location:",
-+ sizeof(info->http_location));
-+ extract_header_value(header, info->server, "Server:",
-+ sizeof(info->server));
-+ rc = extract_header_value(header, info->icy_name, "icy-name:",
-+ sizeof(info->icy_name));
- if (rc == 0) {
- /* Icecast 2.0.1 */
-- rc = extract_header_value(header, info->icy_name, "ice-name:");
-+ rc = extract_header_value(header, info->icy_name, "ice-name:",
-+ sizeof(info->icy_name));
- }
- info->have_icy_name = rc;
-- extract_header_value(header, info->icy_url, "icy-url:");
-- rc = extract_header_value(header, stempbr, "icy-br:");
-+ extract_header_value(header, info->icy_url, "icy-url:",
-+ sizeof(info->icy_url));
-+ rc = extract_header_value(header, stempbr,
-+ "icy-br:", sizeof(stempbr));
- if (rc) {
- info->icy_bitrate = atoi(stempbr);
- }
-
- /* interpret the content type from http header */
-- rc = extract_header_value(header, stempbr, "Content-Type:");
-+ rc = extract_header_value(header, stempbr,
-+ "Content-Type:", sizeof(stempbr));
- if (rc == 0) {
-- rc = extract_header_value(header, stempbr, "content-type:");
-+ rc = extract_header_value(header, stempbr,
-+ "content-type:", sizeof(stempbr));
- }
- if (rc == 0) {
- info->content_type = CONTENT_TYPE_UNKNOWN;
-@@ -407,6 +415,7 @@ httplib_parse_sc_header (const char *url
- info->content_type = content_type_by_url;
- }
- }
-+
- // Check for Icecast 1
- else if ((start = (char *)strstr(header, "icecast")) != NULL) {
- if (!info->server[0]) {
-@@ -418,19 +427,19 @@ httplib_parse_sc_header (const char *url
- }
-
- // icecast 1.x headers.
-- extract_header_value(header, info->icy_url, "x-audiocast-server-url:");
-- rc = extract_header_value(header, info->icy_name, "x-audiocast-name:");
-+ extract_header_value(header, info->icy_url, "x-audiocast-server-url:",
-+ sizeof(info->icy_url));
-+ rc = extract_header_value(header, info->icy_name, "x-audiocast-name:",
-+ sizeof(info->icy_name));
- info->have_icy_name |= rc;
-- extract_header_value(header, info->icy_genre, "x-audiocast-genre:");
-- rc = extract_header_value(header, stempbr, "x-audiocast-bitrate:");
-+ extract_header_value(header, info->icy_genre, "x-audiocast-genre:",
-+ sizeof(info->icy_genre));
-+ rc = extract_header_value(header, stempbr, "x-audiocast-bitrate:",
-+ sizeof(stempbr));
- if (rc) {
- info->icy_bitrate = atoi(stempbr);
- }
- }
-- // WTF is Zwitterion?
-- else if ((start = (char *)strstr(header, "Zwitterion v")) != NULL) {
-- sscanf(start, "%[^<]<", info->server);
-- }
-
- /* Last chance to deduce content type */
- if (info->content_type == CONTENT_TYPE_UNKNOWN) {
-@@ -626,16 +635,17 @@ httplib_get_pls (HSOCKET *sock, SR_HTTP_
- int best_open = 0;
-
- sprintf (buf1, "File%d=", s);
-- if (!extract_header_value (buf, location_buf, buf1)) {
-+ if (!extract_header_value (buf, location_buf, buf1,
-+ sizeof(location_buf))) {
- break;
- }
- if (s == 1) {
-- strcpy (info->http_location, location_buf);
-+ sr_strncpy (info->http_location, location_buf, MAX_HOST_LEN);
- rc = SR_SUCCESS;
- }
-
- sprintf (buf1, "Title%d=", s);
-- if (!extract_header_value (buf, title_buf, buf1)) {
-+ if (!extract_header_value (buf, title_buf, buf1, sizeof(title_buf))) {
- break;
- }
- num_scanned = sscanf (title_buf, "(#%*[0-9] - %d/%d",&used,&total);
-@@ -644,12 +654,12 @@ httplib_get_pls (HSOCKET *sock, SR_HTTP_
- }
- open = total - used;
- if (open > best_open) {
-- strcpy (info->http_location, location_buf);
-+ sr_strncpy (info->http_location, location_buf, MAX_HOST_LEN);
- best_open = open;
- }
- }
-
-- strcpy (info->http_location, location_buf);
-+ sr_strncpy (info->http_location, location_buf, MAX_HOST_LEN);
-
- return rc;
- }
-@@ -689,7 +699,7 @@ httplib_get_m3u (HSOCKET *sock, SR_HTTP_
- if (len > 4 && !strcmp (&p[len-4], ".mp3")) {
- continue;
- }
-- strcpy (info->http_location, p);
-+ sr_strncpy (info->http_location, p, MAX_HOST_LEN);
- debug_printf ("Redirecting from M3U to: %s\n", p);
- return SR_SUCCESS;
- }