Commit 3e8b853e authored by William Woodruff's avatar William Woodruff
Browse files

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.
parent d4b383c7
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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
+11 −7
Original line number Diff line number Diff line
@@ -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);
+4 −2
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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;