summaryrefslogtreecommitdiff
path: root/daemon/gvfsbackendftp.h
diff options
context:
space:
mode:
authorMantas Mikulėnas <grawity@gmail.com>2018-06-09 16:58:32 +0300
committerOndrej Holy <oholy@redhat.com>2018-07-30 14:32:04 +0000
commit708fd040f8848e9afdf30a91a2c0c87e49f13ba9 (patch)
tree0f57fbafe53bbf4b6ded98ea7cd237b71bb21702 /daemon/gvfsbackendftp.h
parent7b991137b8a820f018ddaa970d54f91d1f411a0f (diff)
downloadgvfs-708fd040f8848e9afdf30a91a2c0c87e49f13ba9.tar.gz
ftp: Add implicit TLS mode
Although specs discourage it, ftps:// is generally accepted to mean "implicit" TLS on a separate port (in the same style as HTTPS); some servers still use this method and it's regaining popularity within IANA. gvfs couldn't connect to such servers, as it only implemented "explicit" TLS (STARTTLS) mode. This patch implements "implicit" TLS mode and adds the 'ftpis' URI scheme for it. https://gitlab.gnome.org/GNOME/gvfs/issues/4
Diffstat (limited to 'daemon/gvfsbackendftp.h')
-rw-r--r--daemon/gvfsbackendftp.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/daemon/gvfsbackendftp.h b/daemon/gvfsbackendftp.h
index bd98a79f..e4c03cfb 100644
--- a/daemon/gvfsbackendftp.h
+++ b/daemon/gvfsbackendftp.h
@@ -32,6 +32,12 @@ G_BEGIN_DECLS
#define G_VFS_FTP_TIMEOUT_IN_SECONDS 30
typedef enum {
+ G_VFS_FTP_TLS_MODE_NONE, /* plaintext */
+ G_VFS_FTP_TLS_MODE_IMPLICIT, /* port 990 */
+ G_VFS_FTP_TLS_MODE_EXPLICIT, /* STARTTLS (RFC 4217) */
+} GVfsFtpTlsMode;
+
+typedef enum {
G_VFS_FTP_FEATURE_MDTM,
G_VFS_FTP_FEATURE_SIZE,
G_VFS_FTP_FEATURE_TVFS,
@@ -92,7 +98,7 @@ struct _GVfsBackendFtp
char * host_display_name;
/* ftps support */
- gboolean use_tls;
+ GVfsFtpTlsMode tls_mode;
GSocketConnectable * server_identity; /* Server identity used for verification */
GTlsCertificate * certificate; /* Initial server certificate */
GTlsCertificateFlags certificate_errors; /* Errors received during TLS handshake */