summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/urldb.c123
1 files changed, 40 insertions, 83 deletions
diff --git a/content/urldb.c b/content/urldb.c
index c59d9691b..84996df47 100644
--- a/content/urldb.c
+++ b/content/urldb.c
@@ -304,7 +304,7 @@ static struct search_node *search_trees[NUM_SEARCH_TREES] = {
#define MIN_COOKIE_FILE_VERSION 100
#define COOKIE_FILE_VERSION 101
static int loaded_cookie_file_version;
-#define MIN_URL_FILE_VERSION 105
+#define MIN_URL_FILE_VERSION 106
#define URL_FILE_VERSION 106
/**
@@ -356,23 +356,12 @@ void urldb_load(const char *filename)
if (!fgets(s, MAXIMUM_URL_LENGTH, fp))
break;
urls = atoi(s);
- for (i = 0; i < ((version == 105 ? 6 : 8) * urls);
- i++)
+ /* Eight fields/url */
+ for (i = 0; i < (8 * urls); i++) {
if (!fgets(s, MAXIMUM_URL_LENGTH, fp))
break;
- continue;
- }
-
- if (version == 105) {
- /* file:/ -> localhost */
- if (strcasecmp(host, "file:/") == 0)
- snprintf(host, sizeof host, "localhost");
- else {
- /* strip any port number */
- char *colon = strrchr(host, ':');
- if (colon)
- *colon = '\0';
}
+ continue;
}
/* read number of URLs */
@@ -395,77 +384,45 @@ void urldb_load(const char *filename)
/* load the non-corrupt data */
for (i = 0; i < urls; i++) {
struct path_data *p = NULL;
+ char scheme[64], ports[10];
+ char url[64 + 3 + 256 + 6 + 4096 + 1];
+ unsigned int port;
+ bool is_file = false;
- if (version == 105) {
- if (!fgets(s, MAXIMUM_URL_LENGTH, fp))
- break;
- length = strlen(s) - 1;
- s[length] = '\0';
-
- if (strncasecmp(s, "file:", 5) == 0) {
- /* local file, so fudge insertion */
- char url[7 + 4096];
-
- snprintf(url, sizeof url,
- "file://%s", s + 5);
-
- p = urldb_add_path("file", 0, h,
- s + 5, NULL, NULL, url);
- if (!p) {
- LOG(("Failed inserting '%s'",
- url));
- die("Memory exhausted "
- "whilst loading "
- "URL file");
- }
- } else {
- if (!urldb_add_url(s)) {
- LOG(("Failed inserting '%s'",
- s));
- }
- p = urldb_find_url(s);
- }
- } else {
- char scheme[64], ports[10];
- char url[64 + 3 + 256 + 6 + 4096 + 1];
- unsigned int port;
- bool is_file = false;
-
- if (!fgets(scheme, sizeof scheme, fp))
- break;
- length = strlen(scheme) - 1;
- scheme[length] = '\0';
-
- if (!fgets(ports, sizeof ports, fp))
- break;
- length = strlen(ports) - 1;
- ports[length] = '\0';
- port = atoi(ports);
+ if (!fgets(scheme, sizeof scheme, fp))
+ break;
+ length = strlen(scheme) - 1;
+ scheme[length] = '\0';
- if (!fgets(s, MAXIMUM_URL_LENGTH, fp))
- break;
- length = strlen(s) - 1;
- s[length] = '\0';
+ if (!fgets(ports, sizeof ports, fp))
+ break;
+ length = strlen(ports) - 1;
+ ports[length] = '\0';
+ port = atoi(ports);
- if (!strcasecmp(host, "localhost") &&
- !strcasecmp(scheme, "file"))
- is_file = true;
-
- snprintf(url, sizeof url, "%s://%s%s%s%s",
- scheme,
- /* file URLs have no host */
- (is_file ? "" : host),
- (port ? ":" : ""),
- (port ? ports : ""),
- s);
-
- p = urldb_add_path(scheme, port, h, s, NULL, NULL,
- url);
- if (!p) {
- LOG(("Failed inserting '%s'", url));
- die("Memory exhausted whilst loading "
- "URL file");
- }
+ if (!fgets(s, MAXIMUM_URL_LENGTH, fp))
+ break;
+ length = strlen(s) - 1;
+ s[length] = '\0';
+
+ if (!strcasecmp(host, "localhost") &&
+ !strcasecmp(scheme, "file"))
+ is_file = true;
+
+ snprintf(url, sizeof url, "%s://%s%s%s%s",
+ scheme,
+ /* file URLs have no host */
+ (is_file ? "" : host),
+ (port ? ":" : ""),
+ (port ? ports : ""),
+ s);
+
+ p = urldb_add_path(scheme, port, h, s, NULL, NULL,
+ url);
+ if (!p) {
+ LOG(("Failed inserting '%s'", url));
+ die("Memory exhausted whilst loading "
+ "URL file");
}
if (!fgets(s, MAXIMUM_URL_LENGTH, fp))