diff options
author | Mantas Mikulėnas <grawity@gmail.com> | 2018-06-09 16:58:32 +0300 |
---|---|---|
committer | Ondrej Holy <oholy@redhat.com> | 2018-07-30 14:32:04 +0000 |
commit | 708fd040f8848e9afdf30a91a2c0c87e49f13ba9 (patch) | |
tree | 0f57fbafe53bbf4b6ded98ea7cd237b71bb21702 /daemon/gvfsbackendftp.h | |
parent | 7b991137b8a820f018ddaa970d54f91d1f411a0f (diff) | |
download | gvfs-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.h | 8 |
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 */ |