Rename privoxy.1 to privoxy.8
[privoxy.git] / cgi.c
diff --git a/cgi.c b/cgi.c
index acae0fe..53587e9 100644 (file)
--- a/cgi.c
+++ b/cgi.c
@@ -7,7 +7,7 @@
  *                This only contains the framework functions, the
  *                actual handler functions are declared elsewhere.
  *
- * Copyright   :  Written by and Copyright (C) 2001-2017
+ * Copyright   :  Written by and Copyright (C) 2001-2020
  *                members of the Privoxy team. https://www.privoxy.org/
  *
  *                Based on the Internet Junkbuster originally written
@@ -106,7 +106,7 @@ static const struct cgi_dispatcher cgi_dispatchers[] = {
     */
    { "client-tags",
          cgi_show_client_tags,
-         "View or toggle the tags that can be set based on the clients address",
+         "View or toggle the tags that can be set based on the client's address",
          TRUE },
 #endif
    { "show-request",
@@ -444,7 +444,9 @@ static int referrer_is_safe(const struct client_state *csp)
 {
    char *referrer;
    static const char alternative_prefix[] = "http://" CGI_SITE_1_HOST "/";
+#ifdef FEATURE_HTTPS_INSPECTION
    static const char alt_prefix_https[] = "https://" CGI_SITE_1_HOST "/";
+#endif
    const char *trusted_cgi_referrer = csp->config->trusted_cgi_referrer;
 
    referrer = grep_cgi_referrer(csp);
@@ -455,7 +457,7 @@ static int referrer_is_safe(const struct client_state *csp)
       log_error(LOG_LEVEL_ERROR, "Denying access to %s. No referrer found.",
          csp->http->url);
    }
-   else if ((0 == strncmp(referrer, CGI_PREFIX, sizeof(CGI_PREFIX)-1))
+   else if ((0 == strncmp(referrer, CGI_PREFIX_HTTP, sizeof(CGI_PREFIX_HTTP)-1))
 #ifdef FEATURE_HTTPS_INSPECTION
          || (0 == strncmp(referrer, CGI_PREFIX_HTTPS, sizeof(CGI_PREFIX_HTTPS)-1))
          || (0 == strncmp(referrer, alt_prefix_https, strlen(alt_prefix_https)))
@@ -535,7 +537,8 @@ static struct http_response *dispatch_known_cgi(struct client_state * csp,
       *query_args_start++ = '\0';
       param_list = new_map();
       err = map(param_list, "file", 1, url_decode(query_args_start), 0);
-      if (JB_ERR_OK != err) {
+      if (JB_ERR_OK != err)
+      {
          free(param_list);
          free(path_copy);
          return cgi_error_memory();
@@ -1274,7 +1277,7 @@ jb_err cgi_error_unknown(const struct client_state *csp,
    static const char body_suffix[] =
       "</b></p>\n"
       "<p>Please "
-      "<a href=\"http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118\">"
+      "<a href=\"https://sourceforge.net/p/ijbswa/bugs/\">"
       "file a bug report</a>.</p>\n"
       "</body>\n"
       "</html>\n";
@@ -1513,13 +1516,15 @@ static void get_locale_time(char *buf, size_t buffer_size)
 #elif defined(MUTEX_LOCKS_AVAILABLE)
    privoxy_mutex_lock(&localtime_mutex);
    timeptr = localtime(&current_time);
-   privoxy_mutex_unlock(&localtime_mutex);
 #else
    timeptr = localtime(&current_time);
 #endif
 
    strftime(buf, buffer_size, "%a %b %d %X %Z %Y", timeptr);
 
+#if !defined(HAVE_LOCALTIME_R) && defined(MUTEX_LOCKS_AVAILABLE)
+   privoxy_mutex_unlock(&localtime_mutex);
+#endif
 }
 
 
@@ -1556,14 +1561,14 @@ char *compress_buffer(char *buffer, size_t *buffer_length, int compression_level
          (Bytef *)buffer, *buffer_length, compression_level))
    {
       log_error(LOG_LEVEL_ERROR,
-         "compress2() failed. Buffer size: %d, compression level: %d.",
+         "compress2() failed. Buffer size: %lu, compression level: %d.",
          new_length, compression_level);
       freez(compressed_buffer);
       return NULL;
    }
 
    log_error(LOG_LEVEL_RE_FILTER,
-      "Compressed content from %d to %d bytes. Compression level: %d",
+      "Compressed content from %lu to %lu bytes. Compression level: %d",
       *buffer_length, new_length, compression_level);
 
    *buffer_length = (size_t)new_length;
@@ -2211,11 +2216,7 @@ struct map *default_exports(const struct client_state *csp, const char *caller)
    if (!err) err = map(exports, "homepage",      1, html_encode(HOME_PAGE_URL), 0);
    if (!err)
    {
-      err = map(exports, "default-cgi",   1, html_encode(
-#ifdef FEATURE_HTTPS_INSPECTION
-        client_use_ssl(csp) ? CGI_PREFIX_HTTPS :
-#endif
-        CGI_PREFIX), 0);
+      err = map(exports, "default-cgi",   1, html_encode(CGI_PREFIX), 0);
    }
    if (!err) err = map(exports, "menu",          1, make_menu(csp, caller), 0);
    if (!err) err = map(exports, "code-status",   1, CODE_STATUS, 1);
@@ -2230,11 +2231,7 @@ struct map *default_exports(const struct client_state *csp, const char *caller)
       /* Manual is delivered by Privoxy. */
       if (!err)
       {
-         err = map(exports, "user-manual", 1, html_encode(
-#ifdef FEATURE_HTTPS_INSPECTION
-           client_use_ssl(csp) ? CGI_PREFIX_HTTPS"user-manual/" :
-#endif
-           CGI_PREFIX"user-manual/"), 0);
+         err = map(exports, "user-manual", 1, html_encode(CGI_PREFIX"user-manual/"), 0);
       }
    }
    if (!err) err = map(exports, "actions-help-prefix", 1, ACTIONS_HELP_PREFIX ,1);
@@ -2452,11 +2449,7 @@ char *make_menu(const struct client_state *csp, const char *self)
           * the "blocked" template's JavaScript.
           */
          string_append(&result, "<li><a href=\"");
-         html_encoded_prefix = html_encode(
-#ifdef FEATURE_HTTPS_INSPECTION
-            client_use_ssl(csp) ? CGI_PREFIX_HTTPS :
-#endif
-            CGI_PREFIX);
+         html_encoded_prefix = html_encode(CGI_PREFIX);
          if (html_encoded_prefix == NULL)
          {
             return NULL;