- Update to 1.5.3
This commit is contained in:
parent
94d0e75508
commit
3f4ce1d31a
@ -1 +1 @@
|
|||||||
gvfs-1.5.2.tar.bz2
|
gvfs-1.5.3.tar.bz2
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
From b1423ef4ae8883bc38a510fd606377a91fbe6201 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Benjamin Otte <otte@redhat.com>
|
|
||||||
Date: Sun, 07 Feb 2010 19:01:06 +0000
|
|
||||||
Subject: ftp: Prefer PASV/PORT to EPSV/EPRT for IPv4
|
|
||||||
|
|
||||||
As PASV and PORT are older, there's a higher chance that they are
|
|
||||||
supported. As only IPv4 connections can use these commands, IPv6 will
|
|
||||||
still prefer EPSV/EPRT.
|
|
||||||
|
|
||||||
The order of methods now looks like this (assuming EPSV and EPRT are
|
|
||||||
supported):
|
|
||||||
IPv4: PASV EPSV PORT EPRT
|
|
||||||
IPv6: EPSV EPRT PASV
|
|
||||||
Note that PASV for IPv6 will try the returned port and the known remote
|
|
||||||
address since the IP is not reliable (That's the fallback part in IPv4).
|
|
||||||
---
|
|
||||||
diff --git a/daemon/gvfsftptask.c b/daemon/gvfsftptask.c
|
|
||||||
index 3e37bf1..8c5f7fb 100644
|
|
||||||
--- a/daemon/gvfsftptask.c
|
|
||||||
+++ b/daemon/gvfsftptask.c
|
|
||||||
@@ -1027,10 +1027,10 @@ static GVfsFtpMethod
|
|
||||||
g_vfs_ftp_task_setup_data_connection_any (GVfsFtpTask *task, GVfsFtpMethod unused)
|
|
||||||
{
|
|
||||||
static const GVfsFtpOpenDataConnectionMethod funcs_ordered[] = {
|
|
||||||
- { G_VFS_FTP_FEATURE_EPSV, G_SOCKET_FAMILY_INVALID, g_vfs_ftp_task_setup_data_connection_epsv },
|
|
||||||
{ 0, G_SOCKET_FAMILY_IPV4, g_vfs_ftp_task_setup_data_connection_pasv },
|
|
||||||
- { G_VFS_FTP_FEATURE_EPRT, G_SOCKET_FAMILY_INVALID, g_vfs_ftp_task_setup_data_connection_eprt },
|
|
||||||
- { 0, G_SOCKET_FAMILY_IPV4, g_vfs_ftp_task_setup_data_connection_port }
|
|
||||||
+ { G_VFS_FTP_FEATURE_EPSV, G_SOCKET_FAMILY_INVALID, g_vfs_ftp_task_setup_data_connection_epsv },
|
|
||||||
+ { 0, G_SOCKET_FAMILY_IPV4, g_vfs_ftp_task_setup_data_connection_port },
|
|
||||||
+ { G_VFS_FTP_FEATURE_EPRT, G_SOCKET_FAMILY_INVALID, g_vfs_ftp_task_setup_data_connection_eprt }
|
|
||||||
};
|
|
||||||
GVfsFtpMethod method;
|
|
||||||
GSocketFamily family;
|
|
||||||
--
|
|
||||||
cgit v0.8.3.1
|
|
@ -1,96 +0,0 @@
|
|||||||
From cc97f892cecceaea38e981c63cc37a9c3d2e37b1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Benjamin Otte <otte@redhat.com>
|
|
||||||
Date: Sun, 07 Feb 2010 19:00:23 +0000
|
|
||||||
Subject: ftp: Require IPv4 connections for PASV/PORT commands
|
|
||||||
|
|
||||||
---
|
|
||||||
diff --git a/daemon/gvfsftptask.c b/daemon/gvfsftptask.c
|
|
||||||
index 5393d0c..3e37bf1 100644
|
|
||||||
--- a/daemon/gvfsftptask.c
|
|
||||||
+++ b/daemon/gvfsftptask.c
|
|
||||||
@@ -980,36 +980,68 @@ typedef GVfsFtpMethod (* GVfsFtpOpenDataConnectionFunc) (GVfsFtpTask *task, GVfs
|
|
||||||
typedef struct _GVfsFtpOpenDataConnectionMethod GVfsFtpOpenDataConnectionMethod;
|
|
||||||
struct _GVfsFtpOpenDataConnectionMethod {
|
|
||||||
GVfsFtpFeature required_feature;
|
|
||||||
+ GSocketFamily required_family;
|
|
||||||
GVfsFtpOpenDataConnectionFunc func;
|
|
||||||
};
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
g_vfs_ftp_task_open_data_connection_method_is_supported (const GVfsFtpOpenDataConnectionMethod *method,
|
|
||||||
- GVfsFtpTask * task)
|
|
||||||
+ GVfsFtpTask * task,
|
|
||||||
+ GSocketFamily family)
|
|
||||||
{
|
|
||||||
if (method->required_feature &&
|
|
||||||
!g_vfs_backend_ftp_has_feature (task->backend, method->required_feature))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
+ if (method->required_family != G_SOCKET_FAMILY_INVALID &&
|
|
||||||
+ method->required_family != family)
|
|
||||||
+ return FALSE;
|
|
||||||
+
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static GSocketFamily
|
|
||||||
+g_vfs_ftp_task_get_socket_family (GVfsFtpTask *task)
|
|
||||||
+{
|
|
||||||
+ GSocketAddress *addr;
|
|
||||||
+ GSocketFamily family;
|
|
||||||
+
|
|
||||||
+ /* workaround for the task not having a connection yet */
|
|
||||||
+ if (task->conn == NULL &&
|
|
||||||
+ g_vfs_ftp_task_send (task, 0, "NOOP") == 0)
|
|
||||||
+ {
|
|
||||||
+ g_vfs_ftp_task_clear_error (task);
|
|
||||||
+ return G_SOCKET_FAMILY_INVALID;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ addr = g_vfs_ftp_connection_get_address (task->conn, NULL);
|
|
||||||
+ if (addr == NULL)
|
|
||||||
+ return G_SOCKET_FAMILY_INVALID;
|
|
||||||
+
|
|
||||||
+ family = g_socket_address_get_family (addr);
|
|
||||||
+ g_object_unref (addr);
|
|
||||||
+ return family;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static GVfsFtpMethod
|
|
||||||
g_vfs_ftp_task_setup_data_connection_any (GVfsFtpTask *task, GVfsFtpMethod unused)
|
|
||||||
{
|
|
||||||
static const GVfsFtpOpenDataConnectionMethod funcs_ordered[] = {
|
|
||||||
- { G_VFS_FTP_FEATURE_EPSV, g_vfs_ftp_task_setup_data_connection_epsv },
|
|
||||||
- { 0, g_vfs_ftp_task_setup_data_connection_pasv },
|
|
||||||
- { G_VFS_FTP_FEATURE_EPRT, g_vfs_ftp_task_setup_data_connection_eprt },
|
|
||||||
- { 0, g_vfs_ftp_task_setup_data_connection_port }
|
|
||||||
+ { G_VFS_FTP_FEATURE_EPSV, G_SOCKET_FAMILY_INVALID, g_vfs_ftp_task_setup_data_connection_epsv },
|
|
||||||
+ { 0, G_SOCKET_FAMILY_IPV4, g_vfs_ftp_task_setup_data_connection_pasv },
|
|
||||||
+ { G_VFS_FTP_FEATURE_EPRT, G_SOCKET_FAMILY_INVALID, g_vfs_ftp_task_setup_data_connection_eprt },
|
|
||||||
+ { 0, G_SOCKET_FAMILY_IPV4, g_vfs_ftp_task_setup_data_connection_port }
|
|
||||||
};
|
|
||||||
GVfsFtpMethod method;
|
|
||||||
+ GSocketFamily family;
|
|
||||||
guint i;
|
|
||||||
|
|
||||||
+ family = g_vfs_ftp_task_get_socket_family (task);
|
|
||||||
+
|
|
||||||
/* first try all advertised features */
|
|
||||||
for (i = 0; i < G_N_ELEMENTS (funcs_ordered); i++)
|
|
||||||
{
|
|
||||||
- if (!g_vfs_ftp_task_open_data_connection_method_is_supported (&funcs_ordered[i], task))
|
|
||||||
+ if (!g_vfs_ftp_task_open_data_connection_method_is_supported (&funcs_ordered[i], task, family))
|
|
||||||
continue;
|
|
||||||
method = funcs_ordered[i].func (task, G_VFS_FTP_METHOD_ANY);
|
|
||||||
if (method != G_VFS_FTP_METHOD_ANY)
|
|
||||||
@@ -1021,7 +1053,7 @@ g_vfs_ftp_task_setup_data_connection_any (GVfsFtpTask *task, GVfsFtpMethod unuse
|
|
||||||
/* then try if the non-advertised features work */
|
|
||||||
for (i = 0; i < G_N_ELEMENTS (funcs_ordered); i++)
|
|
||||||
{
|
|
||||||
- if (g_vfs_ftp_task_open_data_connection_method_is_supported (&funcs_ordered[i], task))
|
|
||||||
+ if (g_vfs_ftp_task_open_data_connection_method_is_supported (&funcs_ordered[i], task, family))
|
|
||||||
continue;
|
|
||||||
method = funcs_ordered[i].func (task, G_VFS_FTP_METHOD_ANY);
|
|
||||||
if (method != G_VFS_FTP_METHOD_ANY)
|
|
||||||
--
|
|
||||||
cgit v0.8.3.1
|
|
@ -1,33 +0,0 @@
|
|||||||
From 4113a6fd0e4b628a71a7144e4009012523945cc9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Benjamin Otte <otte@redhat.com>
|
|
||||||
Date: Sun, 07 Feb 2010 18:34:53 +0000
|
|
||||||
Subject: ftp: Name the struct used for selecting the data connection method
|
|
||||||
|
|
||||||
---
|
|
||||||
diff --git a/daemon/gvfsftptask.c b/daemon/gvfsftptask.c
|
|
||||||
index 4cabf14..fcf01ab 100644
|
|
||||||
--- a/daemon/gvfsftptask.c
|
|
||||||
+++ b/daemon/gvfsftptask.c
|
|
||||||
@@ -977,14 +977,16 @@ g_vfs_ftp_task_setup_data_connection_port (GVfsFtpTask *task, GVfsFtpMethod unus
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef GVfsFtpMethod (* GVfsFtpOpenDataConnectionFunc) (GVfsFtpTask *task, GVfsFtpMethod method);
|
|
||||||
+typedef struct _GVfsFtpOpenDataConnectionMethod GVfsFtpOpenDataConnectionMethod;
|
|
||||||
+struct _GVfsFtpOpenDataConnectionMethod {
|
|
||||||
+ GVfsFtpFeature required_feature;
|
|
||||||
+ GVfsFtpOpenDataConnectionFunc func;
|
|
||||||
+};
|
|
||||||
|
|
||||||
static GVfsFtpMethod
|
|
||||||
g_vfs_ftp_task_setup_data_connection_any (GVfsFtpTask *task, GVfsFtpMethod unused)
|
|
||||||
{
|
|
||||||
- static const struct {
|
|
||||||
- GVfsFtpFeature required_feature;
|
|
||||||
- GVfsFtpOpenDataConnectionFunc func;
|
|
||||||
- } funcs_ordered[] = {
|
|
||||||
+ static const GVfsFtpOpenDataConnectionMethod funcs_ordered[] = {
|
|
||||||
{ G_VFS_FTP_FEATURE_EPSV, g_vfs_ftp_task_setup_data_connection_epsv },
|
|
||||||
{ 0, g_vfs_ftp_task_setup_data_connection_pasv },
|
|
||||||
{ G_VFS_FTP_FEATURE_EPRT, g_vfs_ftp_task_setup_data_connection_eprt },
|
|
||||||
--
|
|
||||||
cgit v0.8.3.1
|
|
@ -1,50 +0,0 @@
|
|||||||
From 153fae8d1f6796686d46de0ecbd58281738f30e9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Benjamin Otte <otte@redhat.com>
|
|
||||||
Date: Sun, 07 Feb 2010 18:53:11 +0000
|
|
||||||
Subject: ftp: put check if a method is supported into its own function
|
|
||||||
|
|
||||||
---
|
|
||||||
diff --git a/daemon/gvfsftptask.c b/daemon/gvfsftptask.c
|
|
||||||
index fcf01ab..5393d0c 100644
|
|
||||||
--- a/daemon/gvfsftptask.c
|
|
||||||
+++ b/daemon/gvfsftptask.c
|
|
||||||
@@ -983,6 +983,17 @@ struct _GVfsFtpOpenDataConnectionMethod {
|
|
||||||
GVfsFtpOpenDataConnectionFunc func;
|
|
||||||
};
|
|
||||||
|
|
||||||
+static gboolean
|
|
||||||
+g_vfs_ftp_task_open_data_connection_method_is_supported (const GVfsFtpOpenDataConnectionMethod *method,
|
|
||||||
+ GVfsFtpTask * task)
|
|
||||||
+{
|
|
||||||
+ if (method->required_feature &&
|
|
||||||
+ !g_vfs_backend_ftp_has_feature (task->backend, method->required_feature))
|
|
||||||
+ return FALSE;
|
|
||||||
+
|
|
||||||
+ return TRUE;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static GVfsFtpMethod
|
|
||||||
g_vfs_ftp_task_setup_data_connection_any (GVfsFtpTask *task, GVfsFtpMethod unused)
|
|
||||||
{
|
|
||||||
@@ -998,8 +1009,7 @@ g_vfs_ftp_task_setup_data_connection_any (GVfsFtpTask *task, GVfsFtpMethod unuse
|
|
||||||
/* first try all advertised features */
|
|
||||||
for (i = 0; i < G_N_ELEMENTS (funcs_ordered); i++)
|
|
||||||
{
|
|
||||||
- if (funcs_ordered[i].required_feature &&
|
|
||||||
- !g_vfs_backend_ftp_has_feature (task->backend, funcs_ordered[i].required_feature))
|
|
||||||
+ if (!g_vfs_ftp_task_open_data_connection_method_is_supported (&funcs_ordered[i], task))
|
|
||||||
continue;
|
|
||||||
method = funcs_ordered[i].func (task, G_VFS_FTP_METHOD_ANY);
|
|
||||||
if (method != G_VFS_FTP_METHOD_ANY)
|
|
||||||
@@ -1011,8 +1021,7 @@ g_vfs_ftp_task_setup_data_connection_any (GVfsFtpTask *task, GVfsFtpMethod unuse
|
|
||||||
/* then try if the non-advertised features work */
|
|
||||||
for (i = 0; i < G_N_ELEMENTS (funcs_ordered); i++)
|
|
||||||
{
|
|
||||||
- if (!funcs_ordered[i].required_feature ||
|
|
||||||
- g_vfs_backend_ftp_has_feature (task->backend, funcs_ordered[i].required_feature))
|
|
||||||
+ if (g_vfs_ftp_task_open_data_connection_method_is_supported (&funcs_ordered[i], task))
|
|
||||||
continue;
|
|
||||||
method = funcs_ordered[i].func (task, G_VFS_FTP_METHOD_ANY);
|
|
||||||
if (method != G_VFS_FTP_METHOD_ANY)
|
|
||||||
--
|
|
||||||
cgit v0.8.3.1
|
|
@ -1,47 +0,0 @@
|
|||||||
From d3f5454a53127b5c73738e394db461070c81942f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Benjamin Otte <otte@redhat.com>
|
|
||||||
Date: Sun, 07 Feb 2010 17:11:50 +0000
|
|
||||||
Subject: ftp: Handle cases where symlink target is not defined
|
|
||||||
|
|
||||||
This can happen when systems emulate ls -l output but fail.
|
|
||||||
Surprisingly, ProFtpd seems to be one of these.
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=608621
|
|
||||||
---
|
|
||||||
diff --git a/daemon/gvfsftpdircache.c b/daemon/gvfsftpdircache.c
|
|
||||||
index dffebbc..8ae963a 100644
|
|
||||||
--- a/daemon/gvfsftpdircache.c
|
|
||||||
+++ b/daemon/gvfsftpdircache.c
|
|
||||||
@@ -241,6 +241,7 @@ g_vfs_ftp_dir_cache_resolve_symlink (GVfsFtpDirCache * cache,
|
|
||||||
GFileInfo *info, *result;
|
|
||||||
GVfsFtpFile *tmp, *link;
|
|
||||||
guint i, lookups = 0;
|
|
||||||
+ const char *target;
|
|
||||||
|
|
||||||
if (!g_file_info_get_is_symlink (original) ||
|
|
||||||
g_vfs_ftp_task_is_in_error (task))
|
|
||||||
@@ -248,10 +249,18 @@ g_vfs_ftp_dir_cache_resolve_symlink (GVfsFtpDirCache * cache,
|
|
||||||
|
|
||||||
info = g_object_ref (original);
|
|
||||||
link = g_vfs_ftp_file_copy (file);
|
|
||||||
- do
|
|
||||||
- {
|
|
||||||
- /* This must not happen, as we use one of our own GFileInfos */
|
|
||||||
- g_assert (g_file_info_get_symlink_target (info) != NULL);
|
|
||||||
+ do {
|
|
||||||
+ target = g_file_info_get_symlink_target (info);
|
|
||||||
+ if (target == NULL)
|
|
||||||
+ {
|
|
||||||
+ /* This happens when bad servers don't report a symlink target.
|
|
||||||
+ * We now want to figure out if this is a directory or regular file,
|
|
||||||
+ * so we can at least report something useful.
|
|
||||||
+ */
|
|
||||||
+ g_object_unref (info);
|
|
||||||
+ info = cache->funcs->lookup_uncached (task, file);
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
tmp = link;
|
|
||||||
link = cache->funcs->resolve_symlink (task, tmp, g_file_info_get_symlink_target (info));
|
|
||||||
g_vfs_ftp_file_free (tmp);
|
|
||||||
--
|
|
||||||
cgit v0.8.3.1
|
|
@ -1,77 +0,0 @@
|
|||||||
From a496883e99676e30e56280b7a43551c796552d5f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bastien Nocera <hadess@hadess.net>
|
|
||||||
Date: Tue, 26 Jan 2010 14:30:56 +0000
|
|
||||||
Subject: Update AFC backend and volume monitor for libiphone 0.9.6
|
|
||||||
|
|
||||||
---
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index b3a96f3..b47f091 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -331,7 +331,7 @@ AFC_LIBS=
|
|
||||||
AFC_CFLAGS=
|
|
||||||
|
|
||||||
if test "x$enable_afc" != "xno" ; then
|
|
||||||
- PKG_CHECK_EXISTS(libiphone-1.0 >= 0.9.4, msg_afc=yes)
|
|
||||||
+ PKG_CHECK_EXISTS(libiphone-1.0 >= 0.9.6, msg_afc=yes)
|
|
||||||
|
|
||||||
if test "x$msg_afc" = "xyes"; then
|
|
||||||
PKG_CHECK_MODULES(AFC, libiphone-1.0)
|
|
||||||
diff --git a/daemon/gvfsbackendafc.c b/daemon/gvfsbackendafc.c
|
|
||||||
index 783ed86..2d42d15 100644
|
|
||||||
--- a/daemon/gvfsbackendafc.c
|
|
||||||
+++ b/daemon/gvfsbackendafc.c
|
|
||||||
@@ -249,7 +249,8 @@ g_vfs_backend_afc_mount (GVfsBackend *backend,
|
|
||||||
const char *str;
|
|
||||||
char *tmp;
|
|
||||||
char *display_name;
|
|
||||||
- int port, virtual_port;
|
|
||||||
+ guint16 port;
|
|
||||||
+ int virtual_port;
|
|
||||||
GMountSpec *real_spec;
|
|
||||||
GVfsBackendAfc *self;
|
|
||||||
int retries;
|
|
||||||
@@ -330,8 +331,9 @@ g_vfs_backend_afc_mount (GVfsBackend *backend,
|
|
||||||
|
|
||||||
if (G_UNLIKELY(g_vfs_backend_iphone_check(err, G_VFS_JOB(job))))
|
|
||||||
goto out_destroy_service;
|
|
||||||
- if (G_UNLIKELY(g_vfs_backend_lockdownd_check (lockdownd_client_new (self->dev,
|
|
||||||
- &lockdown_cli),
|
|
||||||
+ if (G_UNLIKELY(g_vfs_backend_lockdownd_check (lockdownd_client_new_with_handshake (self->dev,
|
|
||||||
+ &lockdown_cli,
|
|
||||||
+ "gvfsd-afc"),
|
|
||||||
G_VFS_JOB(job))))
|
|
||||||
{
|
|
||||||
goto out_destroy_dev;
|
|
||||||
@@ -1305,7 +1307,6 @@ g_vfs_backend_afc_init (GVfsBackendAfc *self)
|
|
||||||
{
|
|
||||||
/* enable full debugging */
|
|
||||||
iphone_set_debug_level (1);
|
|
||||||
- iphone_set_debug_mask (DBGMASK_ALL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/monitor/afc/afcvolume.c b/monitor/afc/afcvolume.c
|
|
||||||
index 3af4661..a0413ec 100644
|
|
||||||
--- a/monitor/afc/afcvolume.c
|
|
||||||
+++ b/monitor/afc/afcvolume.c
|
|
||||||
@@ -77,7 +77,7 @@ _g_vfs_afc_volume_update_metadata (GVfsAfcVolume *self)
|
|
||||||
iphone_error_t err;
|
|
||||||
guint retries;
|
|
||||||
char *model, *display_name;
|
|
||||||
- int port;
|
|
||||||
+ guint16 port;
|
|
||||||
|
|
||||||
retries = 0;
|
|
||||||
do {
|
|
||||||
@@ -90,7 +90,7 @@ _g_vfs_afc_volume_update_metadata (GVfsAfcVolume *self)
|
|
||||||
if (err != IPHONE_E_SUCCESS)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
- if (lockdownd_client_new (dev, &lockdown_cli) != LOCKDOWN_E_SUCCESS)
|
|
||||||
+ if (lockdownd_client_new_with_handshake (dev, &lockdown_cli, "gvfs-afc-volume-monitor") != LOCKDOWN_E_SUCCESS)
|
|
||||||
{
|
|
||||||
iphone_device_free (dev);
|
|
||||||
return 0;
|
|
||||||
--
|
|
||||||
cgit v0.8.3.1
|
|
@ -1,287 +0,0 @@
|
|||||||
From 3f3f130072c94e38d6f07ef37d425a1c86bddd29 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nikias Bassen <nikias@gmx.li>
|
|
||||||
Date: Sun, 31 Jan 2010 11:54:44 +0000
|
|
||||||
Subject: Update AFC backend and volume monitor for libimobiledevice 0.9.7
|
|
||||||
|
|
||||||
---
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index b47f091..f366d3a 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -331,10 +331,10 @@ AFC_LIBS=
|
|
||||||
AFC_CFLAGS=
|
|
||||||
|
|
||||||
if test "x$enable_afc" != "xno" ; then
|
|
||||||
- PKG_CHECK_EXISTS(libiphone-1.0 >= 0.9.6, msg_afc=yes)
|
|
||||||
+ PKG_CHECK_EXISTS(libimobiledevice-1.0 >= 0.9.7, msg_afc=yes)
|
|
||||||
|
|
||||||
if test "x$msg_afc" = "xyes"; then
|
|
||||||
- PKG_CHECK_MODULES(AFC, libiphone-1.0)
|
|
||||||
+ PKG_CHECK_MODULES(AFC, libimobiledevice-1.0)
|
|
||||||
AC_DEFINE(HAVE_AFC, 1, [Define to 1 if AFC is going to be built])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
diff --git a/daemon/gvfsbackendafc.c b/daemon/gvfsbackendafc.c
|
|
||||||
index 2d42d15..c056718 100644
|
|
||||||
--- a/daemon/gvfsbackendafc.c
|
|
||||||
+++ b/daemon/gvfsbackendafc.c
|
|
||||||
@@ -16,9 +16,9 @@
|
|
||||||
#include <glib/gi18n.h>
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
-#include <libiphone/libiphone.h>
|
|
||||||
-#include <libiphone/lockdown.h>
|
|
||||||
-#include <libiphone/afc.h>
|
|
||||||
+#include <libimobiledevice/libimobiledevice.h>
|
|
||||||
+#include <libimobiledevice/lockdown.h>
|
|
||||||
+#include <libimobiledevice/afc.h>
|
|
||||||
|
|
||||||
#include "gvfsbackendafc.h"
|
|
||||||
#include "gvfsjobopenforread.h"
|
|
||||||
@@ -46,7 +46,7 @@ struct _GVfsBackendAfc {
|
|
||||||
char *model;
|
|
||||||
gboolean connected;
|
|
||||||
|
|
||||||
- iphone_device_t dev;
|
|
||||||
+ idevice_t dev;
|
|
||||||
afc_client_t afc_cli;
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ g_vfs_backend_afc_close_connection (GVfsBackendAfc *self)
|
|
||||||
afc_client_free (self->afc_cli);
|
|
||||||
g_free (self->model);
|
|
||||||
self->model = NULL;
|
|
||||||
- iphone_device_free (self->dev);
|
|
||||||
+ idevice_free (self->dev);
|
|
||||||
}
|
|
||||||
self->connected = FALSE;
|
|
||||||
}
|
|
||||||
@@ -194,23 +194,23 @@ g_vfs_backend_lockdownd_check (lockdownd_error_t cond, GVfsJob *job)
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
-g_vfs_backend_iphone_check (iphone_error_t cond, GVfsJob *job)
|
|
||||||
+g_vfs_backend_idevice_check (idevice_error_t cond, GVfsJob *job)
|
|
||||||
{
|
|
||||||
- if (G_LIKELY(cond == IPHONE_E_SUCCESS))
|
|
||||||
+ if (G_LIKELY(cond == IDEVICE_E_SUCCESS))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
switch (cond)
|
|
||||||
{
|
|
||||||
- case IPHONE_E_INVALID_ARG:
|
|
||||||
+ case IDEVICE_E_INVALID_ARG:
|
|
||||||
g_vfs_job_failed (job, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,
|
|
||||||
- _("iPhone Device Error: Invalid Argument"));
|
|
||||||
+ _("libimobiledevice Error: Invalid Argument"));
|
|
||||||
break;
|
|
||||||
- case IPHONE_E_NO_DEVICE:
|
|
||||||
+ case IDEVICE_E_NO_DEVICE:
|
|
||||||
g_vfs_job_failed (job, G_IO_ERROR, G_IO_ERROR_FAILED,
|
|
||||||
- _("iPhone Device Error: No device found. Make sure usbmuxd is set up correctly."));
|
|
||||||
+ _("libimobiledevice Error: No device found. Make sure usbmuxd is set up correctly."));
|
|
||||||
default:
|
|
||||||
g_vfs_job_failed (job, G_IO_ERROR, G_IO_ERROR_FAILED,
|
|
||||||
- _("Unhandled iPhone Device error (%d)"), cond);
|
|
||||||
+ _("Unhandled libimobiledevice error (%d)"), cond);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -218,12 +218,12 @@ g_vfs_backend_iphone_check (iphone_error_t cond, GVfsJob *job)
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
-_iphone_event_cb (const iphone_event_t *event, void *user_data)
|
|
||||||
+_idevice_event_cb (const idevice_event_t *event, void *user_data)
|
|
||||||
{
|
|
||||||
GVfsBackendAfc *afc_backend = G_VFS_BACKEND_AFC (user_data);
|
|
||||||
|
|
||||||
g_return_if_fail (afc_backend->uuid != NULL);
|
|
||||||
- if (event->event != IPHONE_DEVICE_REMOVE)
|
|
||||||
+ if (event->event != IDEVICE_DEVICE_REMOVE)
|
|
||||||
return;
|
|
||||||
if (g_str_equal (event->uuid, afc_backend->uuid) == FALSE)
|
|
||||||
return;
|
|
||||||
@@ -232,7 +232,7 @@ _iphone_event_cb (const iphone_event_t *event, void *user_data)
|
|
||||||
|
|
||||||
g_vfs_backend_afc_close_connection (afc_backend);
|
|
||||||
|
|
||||||
- iphone_event_unsubscribe ();
|
|
||||||
+ idevice_event_unsubscribe ();
|
|
||||||
|
|
||||||
/* TODO: need a cleaner way to force unmount ourselves */
|
|
||||||
exit (1);
|
|
||||||
@@ -254,7 +254,7 @@ g_vfs_backend_afc_mount (GVfsBackend *backend,
|
|
||||||
GMountSpec *real_spec;
|
|
||||||
GVfsBackendAfc *self;
|
|
||||||
int retries;
|
|
||||||
- iphone_error_t err;
|
|
||||||
+ idevice_error_t err;
|
|
||||||
lockdownd_client_t lockdown_cli = NULL;
|
|
||||||
char *camera_x_content_types[] = { "x-content/audio-player", "x-content/image-dcf", NULL};
|
|
||||||
char *media_player_x_content_types[] = {"x-content/audio-player", NULL};
|
|
||||||
@@ -263,7 +263,7 @@ g_vfs_backend_afc_mount (GVfsBackend *backend,
|
|
||||||
self = G_VFS_BACKEND_AFC(backend);
|
|
||||||
self->connected = FALSE;
|
|
||||||
|
|
||||||
- iphone_event_subscribe (_iphone_event_cb, self);
|
|
||||||
+ idevice_event_subscribe (_idevice_event_cb, self);
|
|
||||||
|
|
||||||
/* setup afc */
|
|
||||||
|
|
||||||
@@ -323,13 +323,13 @@ g_vfs_backend_afc_mount (GVfsBackend *backend,
|
|
||||||
|
|
||||||
retries = 0;
|
|
||||||
do {
|
|
||||||
- err = iphone_device_new(&self->dev, self->uuid);
|
|
||||||
- if (err == IPHONE_E_SUCCESS)
|
|
||||||
+ err = idevice_new(&self->dev, self->uuid);
|
|
||||||
+ if (err == IDEVICE_E_SUCCESS)
|
|
||||||
break;
|
|
||||||
g_usleep (G_USEC_PER_SEC);
|
|
||||||
} while (retries++ < 10);
|
|
||||||
|
|
||||||
- if (G_UNLIKELY(g_vfs_backend_iphone_check(err, G_VFS_JOB(job))))
|
|
||||||
+ if (G_UNLIKELY(g_vfs_backend_idevice_check(err, G_VFS_JOB(job))))
|
|
||||||
goto out_destroy_service;
|
|
||||||
if (G_UNLIKELY(g_vfs_backend_lockdownd_check (lockdownd_client_new_with_handshake (self->dev,
|
|
||||||
&lockdown_cli,
|
|
||||||
@@ -408,7 +408,7 @@ out_destroy_lockdown:
|
|
||||||
lockdownd_client_free (lockdown_cli);
|
|
||||||
|
|
||||||
out_destroy_dev:
|
|
||||||
- iphone_device_free (self->dev);
|
|
||||||
+ idevice_free (self->dev);
|
|
||||||
|
|
||||||
out_destroy_service:
|
|
||||||
g_free (self->service);
|
|
||||||
@@ -1306,7 +1306,7 @@ g_vfs_backend_afc_init (GVfsBackendAfc *self)
|
|
||||||
if (g_getenv ("GVFS_DEBUG") != NULL)
|
|
||||||
{
|
|
||||||
/* enable full debugging */
|
|
||||||
- iphone_set_debug_level (1);
|
|
||||||
+ idevice_set_debug_level (1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/monitor/afc/afcvolume.c b/monitor/afc/afcvolume.c
|
|
||||||
index a0413ec..26da41f 100644
|
|
||||||
--- a/monitor/afc/afcvolume.c
|
|
||||||
+++ b/monitor/afc/afcvolume.c
|
|
||||||
@@ -9,9 +9,9 @@
|
|
||||||
#include <glib.h>
|
|
||||||
#include <gio/gio.h>
|
|
||||||
|
|
||||||
-#include <libiphone/libiphone.h>
|
|
||||||
-#include <libiphone/lockdown.h>
|
|
||||||
-#include <libiphone/afc.h>
|
|
||||||
+#include <libimobiledevice/libimobiledevice.h>
|
|
||||||
+#include <libimobiledevice/lockdown.h>
|
|
||||||
+#include <libimobiledevice/afc.h>
|
|
||||||
|
|
||||||
#include "afcvolume.h"
|
|
||||||
|
|
||||||
@@ -71,28 +71,28 @@ g_vfs_afc_volume_class_init (GVfsAfcVolumeClass *klass)
|
|
||||||
static int
|
|
||||||
_g_vfs_afc_volume_update_metadata (GVfsAfcVolume *self)
|
|
||||||
{
|
|
||||||
- iphone_device_t dev;
|
|
||||||
+ idevice_t dev;
|
|
||||||
afc_client_t afc_cli;
|
|
||||||
lockdownd_client_t lockdown_cli = NULL;
|
|
||||||
- iphone_error_t err;
|
|
||||||
+ idevice_error_t err;
|
|
||||||
guint retries;
|
|
||||||
char *model, *display_name;
|
|
||||||
guint16 port;
|
|
||||||
|
|
||||||
retries = 0;
|
|
||||||
do {
|
|
||||||
- err = iphone_device_new (&dev, self->uuid);
|
|
||||||
- if (err == IPHONE_E_SUCCESS)
|
|
||||||
+ err = idevice_new (&dev, self->uuid);
|
|
||||||
+ if (err == IDEVICE_E_SUCCESS)
|
|
||||||
break;
|
|
||||||
g_usleep (G_USEC_PER_SEC);
|
|
||||||
} while (retries++ < 10);
|
|
||||||
|
|
||||||
- if (err != IPHONE_E_SUCCESS)
|
|
||||||
+ if (err != IDEVICE_E_SUCCESS)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (lockdownd_client_new_with_handshake (dev, &lockdown_cli, "gvfs-afc-volume-monitor") != LOCKDOWN_E_SUCCESS)
|
|
||||||
{
|
|
||||||
- iphone_device_free (dev);
|
|
||||||
+ idevice_free (dev);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ _g_vfs_afc_volume_update_metadata (GVfsAfcVolume *self)
|
|
||||||
if (lockdownd_start_service (lockdown_cli, DEFAULT_SERVICE, &port) != LOCKDOWN_E_SUCCESS)
|
|
||||||
{
|
|
||||||
lockdownd_client_free (lockdown_cli);
|
|
||||||
- iphone_device_free (dev);
|
|
||||||
+ idevice_free (dev);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ _g_vfs_afc_volume_update_metadata (GVfsAfcVolume *self)
|
|
||||||
}
|
|
||||||
|
|
||||||
lockdownd_client_free (lockdown_cli);
|
|
||||||
- iphone_device_free (dev);
|
|
||||||
+ idevice_free (dev);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
diff --git a/monitor/afc/afcvolumemonitor.c b/monitor/afc/afcvolumemonitor.c
|
|
||||||
index 91b3e41..d10e862 100644
|
|
||||||
--- a/monitor/afc/afcvolumemonitor.c
|
|
||||||
+++ b/monitor/afc/afcvolumemonitor.c
|
|
||||||
@@ -10,7 +10,7 @@
|
|
||||||
#include <gvfsproxyvolumemonitordaemon.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <gio/gio.h>
|
|
||||||
-#include <libiphone/libiphone.h>
|
|
||||||
+#include <libimobiledevice/libimobiledevice.h>
|
|
||||||
#include "afcvolume.h"
|
|
||||||
#include "afcvolumemonitor.h"
|
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ g_vfs_afc_monitor_remove_volume (GVfsAfcVolumeMonitor *self,
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
-g_vfs_afc_monitor_iphone_event (const iphone_event_t *event, void *user_data)
|
|
||||||
+g_vfs_afc_monitor_idevice_event (const idevice_event_t *event, void *user_data)
|
|
||||||
{
|
|
||||||
GVfsAfcVolumeMonitor *self;
|
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ g_vfs_afc_monitor_iphone_event (const iphone_event_t *event, void *user_data)
|
|
||||||
|
|
||||||
self = G_VFS_AFC_VOLUME_MONITOR(user_data);
|
|
||||||
|
|
||||||
- if (event->event == IPHONE_DEVICE_ADD)
|
|
||||||
+ if (event->event == IDEVICE_DEVICE_ADD)
|
|
||||||
g_vfs_afc_monitor_create_volume (self, event->uuid);
|
|
||||||
else
|
|
||||||
g_vfs_afc_monitor_remove_volume (self, event->uuid);
|
|
||||||
@@ -95,7 +95,7 @@ g_vfs_afc_volume_monitor_constructor (GType type, guint ncps,
|
|
||||||
|
|
||||||
self->volumes = NULL;
|
|
||||||
|
|
||||||
- iphone_event_subscribe(g_vfs_afc_monitor_iphone_event, self);
|
|
||||||
+ idevice_event_subscribe(g_vfs_afc_monitor_idevice_event, self);
|
|
||||||
|
|
||||||
g_print ("Volume monitor alive\n");
|
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ g_vfs_afc_volume_monitor_finalize (GObject *_self)
|
|
||||||
if (self->volumes)
|
|
||||||
list_free (self->volumes);
|
|
||||||
|
|
||||||
- iphone_event_unsubscribe();
|
|
||||||
+ idevice_event_unsubscribe();
|
|
||||||
|
|
||||||
if (G_OBJECT_CLASS(g_vfs_afc_volume_monitor_parent_class)->finalize)
|
|
||||||
(*G_OBJECT_CLASS(g_vfs_afc_volume_monitor_parent_class)->finalize)( G_OBJECT(self));
|
|
||||||
--
|
|
||||||
cgit v0.8.3.1
|
|
26
gvfs.spec
26
gvfs.spec
@ -1,7 +1,7 @@
|
|||||||
Summary: Backends for the gio framework in GLib
|
Summary: Backends for the gio framework in GLib
|
||||||
Name: gvfs
|
Name: gvfs
|
||||||
Version: 1.5.2
|
Version: 1.5.3
|
||||||
Release: 5%{?dist}
|
Release: 1%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
URL: http://www.gtk.org
|
URL: http://www.gtk.org
|
||||||
@ -32,23 +32,13 @@ Requires(postun): desktop-file-utils
|
|||||||
# The patch touches Makefile.am files:
|
# The patch touches Makefile.am files:
|
||||||
BuildRequires: automake autoconf
|
BuildRequires: automake autoconf
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
|
|
||||||
# http://bugzilla.gnome.org/show_bug.cgi?id=567235
|
# http://bugzilla.gnome.org/show_bug.cgi?id=567235
|
||||||
Patch0: gvfs-archive-integration.patch
|
Patch0: gvfs-archive-integration.patch
|
||||||
# from upstream
|
|
||||||
Patch1: gvfs-1.5.3-afc-new-libiphone.patch
|
|
||||||
Patch2: gvfs-1.5.3-use-libimobiledevice.patch
|
|
||||||
# Recognize gphoto2 cameras which don't implement get storageinfo
|
# Recognize gphoto2 cameras which don't implement get storageinfo
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=552856
|
# https://bugzilla.redhat.com/show_bug.cgi?id=552856
|
||||||
Patch15: gvfs-1.5.1-gphoto2-no-storageinfo-support.patch
|
Patch15: gvfs-1.5.1-gphoto2-no-storageinfo-support.patch
|
||||||
|
|
||||||
# from upstream
|
|
||||||
Patch19: gvfs-1.5.2-ftp-symlink-target-not-defined.patch
|
|
||||||
Patch20: gvfs-1.5.2-ftp-name-data-connection-method.patch
|
|
||||||
Patch21: gvfs-1.5.2-ftp-separate-data-connection-method-supported.patch
|
|
||||||
Patch22: gvfs-1.5.2-ftp-PASV-v4.patch
|
|
||||||
Patch23: gvfs-1.5.2-ftp-PASV-EPASV-v4-v6.patch
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Obsoletes: gnome-mount <= 0.8
|
Obsoletes: gnome-mount <= 0.8
|
||||||
Obsoletes: gnome-mount-nautilus-properties <= 0.8
|
Obsoletes: gnome-mount-nautilus-properties <= 0.8
|
||||||
@ -144,14 +134,7 @@ including phones and music players to applications using gvfs.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1 -b .archive-integration
|
%patch0 -p1 -b .archive-integration
|
||||||
%patch1 -p1 -b .afc-buildfix
|
|
||||||
%patch2 -p1 -b .afc-libimobiledevice
|
|
||||||
%patch15 -p1 -b .gphoto2-storageinfo
|
%patch15 -p1 -b .gphoto2-storageinfo
|
||||||
%patch19 -p1 -b .ftp-symlink-target-not-defined
|
|
||||||
%patch20 -p1 -b .ftp-name-data-connection-method
|
|
||||||
%patch21 -p1 -b .ftp-separate-data-connection-method-supported
|
|
||||||
%patch22 -p1 -b .ftp-PASV-v4
|
|
||||||
%patch23 -p1 -b .ftp-PASV-EPASV-v4-v6
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -332,6 +315,9 @@ killall -USR1 gvfsd >&/dev/null || :
|
|||||||
%{_datadir}/gvfs/remote-volume-monitors/afc.monitor
|
%{_datadir}/gvfs/remote-volume-monitors/afc.monitor
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 9 2010 Tomas Bzatek <tbzatek@redhat.com> - 1.5.3-1
|
||||||
|
- Update to 1.5.3
|
||||||
|
|
||||||
* Mon Feb 8 2010 Tomas Bzatek <tbzatek@redhat.com> - 1.5.2-5
|
* Mon Feb 8 2010 Tomas Bzatek <tbzatek@redhat.com> - 1.5.2-5
|
||||||
- ftp: backport several PASV/EPSV fixes from master (#542205, #555033)
|
- ftp: backport several PASV/EPSV fixes from master (#542205, #555033)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user