summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWilliam Woodruff <william@tuffbizz.com>2016-01-07 23:45:15 -0500
committerWilliam Woodruff <william@tuffbizz.com>2016-01-07 23:57:09 -0500
commit3e8b853ec7cbe794108c250419ff01e56c656202 (patch)
tree68a7e119e4b576d7ee21f1d8e60d312eed682a04 /src
parentd4b383c74ece244f076d2b201b1dc6a3b234e671 (diff)
Changes:
* Added an --insecure option to disable host/peer verification in libcurl. This allows feh to load images on HTTPS hosts with self-signed certificates. For security, this is not the default. * Fixed an include in show_usage.
Diffstat (limited to 'src')
-rw-r--r--src/help.raw1
-rw-r--r--src/imlib.c18
-rw-r--r--src/options.c6
-rw-r--r--src/options.h1
4 files changed, 17 insertions, 9 deletions
diff --git a/src/help.raw b/src/help.raw
index 4232860..f99ee27 100644
--- a/src/help.raw
+++ b/src/help.raw
@@ -38,6 +38,7 @@ OPTIONS
--cycle-once Exit after one loop through the slideshow
-R, --reload NUM Reload images after NUM seconds
-k, --keep-http Keep local copies when viewing HTTP/FTP files
+ --insecure Disable peer/host verification when using HTTPS.
-K, --caption-path PATH Path to caption directory, enables caption display
-j, --output-dir With -k: Output directory for saved files
-l, --list list mode: ls-style output with image information
diff --git a/src/imlib.c b/src/imlib.c
index 58a8608..6d6f979 100644
--- a/src/imlib.c
+++ b/src/imlib.c
@@ -394,7 +394,7 @@ static char *feh_http_load_image(char *url)
if (strlen(tmpname) > (NAME_MAX-6))
tmpname[NAME_MAX-7] = '\0';
-
+
sfn = estrjoin("_", tmpname, "XXXXXX", NULL);
free(tmpname);
@@ -411,6 +411,10 @@ static char *feh_http_load_image(char *url)
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, ebuff);
curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1L);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
+ if (opt.insecure_ssl) {
+ curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
+ curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
+ }
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
@@ -631,7 +635,7 @@ void feh_draw_filename(winwidget w)
return;
}
-#ifdef HAVE_LIBEXIF
+#ifdef HAVE_LIBEXIF
void feh_draw_exif(winwidget w)
{
static Imlib_Font fn = NULL;
@@ -656,13 +660,13 @@ void feh_draw_exif(winwidget w)
fn = feh_load_font(w);
- if (buffer == NULL)
+ if (buffer == NULL)
{
snprintf(buffer, EXIF_MAX_DATA, "%s", estrdup("Failed to run exif command"));
gib_imlib_get_text_size(fn, &buffer[0], NULL, &width, &height, IMLIB_TEXT_TO_RIGHT);
no_lines = 1;
}
- else
+ else
{
while ( (no_lines < 128) && (pos < EXIF_MAX_DATA) )
@@ -688,9 +692,9 @@ void feh_draw_exif(winwidget w)
pos++;
break;
}
-
+
pos++;
- pos2++;
+ pos2++;
}
gib_imlib_get_text_size(fn, info_line, NULL, &line_width,
@@ -720,7 +724,7 @@ void feh_draw_exif(winwidget w)
feh_imlib_image_fill_text_bg(im, width, height);
- for (i = 0; i < no_lines; i++)
+ for (i = 0; i < no_lines; i++)
{
gib_imlib_text_draw(im, fn, NULL, 2, (i * line_height) + 2,
info_buf[i], IMLIB_TEXT_TO_RIGHT, 0, 0, 0, 255);
diff --git a/src/options.c b/src/options.c
index 804b485..75ca381 100644
--- a/src/options.c
+++ b/src/options.c
@@ -406,7 +406,7 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
{"keep-zoom-vp" , 0, 0, 237},
{"scroll-step" , 1, 0, 238},
{"xinerama-index", 1, 0, 239},
-
+ {"insecure" , 0, 0, 240},
{0, 0, 0, 0}
};
int optch = 0, cmdx = 0;
@@ -759,6 +759,8 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun)
case 239:
opt.xinerama_index = atoi(optarg);
break;
+ case 240:
+ opt.insecure_ssl = 1;
default:
break;
}
@@ -863,7 +865,7 @@ static void show_usage(void)
{
fputs(
#ifdef INCLUDE_HELP
-#include "help.inc"
+#include "help.raw"
#else
"See 'man " PACKAGE "'\n"
#endif
diff --git a/src/options.h b/src/options.h
index 923aa41..78deaae 100644
--- a/src/options.h
+++ b/src/options.h
@@ -73,6 +73,7 @@ struct __fehoptions {
unsigned char image_bg;
unsigned char no_fehbg;
unsigned char keep_zoom_vp;
+ unsigned char insecure_ssl;
char *output_file;
char *output_dir;