summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2016-01-08 13:31:54 +0100
committerDaniel Friesel <derf@finalrewind.org>2016-01-08 13:31:54 +0100
commit9685938b8ff1d1fa5fdb77f1f05e01802dd8e165 (patch)
tree94941aa3a164947e763732b1affaa8cc63020172
parentd4b383c74ece244f076d2b201b1dc6a3b234e671 (diff)
parent12cdc1afc5d88aa0c084c948113738a7d6eb1770 (diff)
Merge branch 'woodruffw-master'
-rw-r--r--man/feh.pre6
-rw-r--r--src/help.raw1
-rw-r--r--src/imlib.c18
-rw-r--r--src/options.c4
-rw-r--r--src/options.h1
5 files changed, 22 insertions, 8 deletions
diff --git a/man/feh.pre b/man/feh.pre
index e23c697..5d1b9fc 100644
--- a/man/feh.pre
+++ b/man/feh.pre
@@ -392,6 +392,12 @@ with
.Qq Nm
in the name.
.
+.It Cm --insecure
+.
+When viewing files with HTTPS, this option disables strict hostname and peer
+checking. This allows images on sites with self-signed certificates to be
+opened, but is no more secure than plain HTTP.
+.
.It Cm --keep-zoom-vp
.
When switching images, keep zoom and viewport settings
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..0a8bbdf 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;
}
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;