- 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
|
||||
Name: gvfs
|
||||
Version: 1.5.2
|
||||
Release: 5%{?dist}
|
||||
Version: 1.5.3
|
||||
Release: 1%{?dist}
|
||||
License: LGPLv2+
|
||||
Group: System Environment/Libraries
|
||||
URL: http://www.gtk.org
|
||||
@ -32,23 +32,13 @@ Requires(postun): desktop-file-utils
|
||||
# The patch touches Makefile.am files:
|
||||
BuildRequires: automake autoconf
|
||||
BuildRequires: libtool
|
||||
|
||||
# http://bugzilla.gnome.org/show_bug.cgi?id=567235
|
||||
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
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=552856
|
||||
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-nautilus-properties <= 0.8
|
||||
@ -144,14 +134,7 @@ including phones and music players to applications using gvfs.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .archive-integration
|
||||
%patch1 -p1 -b .afc-buildfix
|
||||
%patch2 -p1 -b .afc-libimobiledevice
|
||||
%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
|
||||
@ -332,6 +315,9 @@ killall -USR1 gvfsd >&/dev/null || :
|
||||
%{_datadir}/gvfs/remote-volume-monitors/afc.monitor
|
||||
|
||||
%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
|
||||
- ftp: backport several PASV/EPSV fixes from master (#542205, #555033)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user