[gvfs/wip/rishi/owncloud-gssapi: 2/2] dav, http: Support GSSAPI-enabled WebDAV mounts
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs/wip/rishi/owncloud-gssapi: 2/2] dav, http: Support GSSAPI-enabled WebDAV mounts
- Date: Sun, 21 Feb 2016 20:49:32 +0000 (UTC)
commit 74c30d94dd593fa858848f3fd06274080325c78e
Author: Debarshi Ray <debarshir gnome org>
Date: Sun Feb 21 21:48:50 2016 +0100
dav, http: Support GSSAPI-enabled WebDAV mounts
daemon/gvfsbackenddav.c | 29 +++++++++++++++++++++++++++--
daemon/gvfsbackendhttp.c | 3 +++
2 files changed, 30 insertions(+), 2 deletions(-)
---
diff --git a/daemon/gvfsbackenddav.c b/daemon/gvfsbackenddav.c
index 37d55bc..8f6e1b8 100644
--- a/daemon/gvfsbackenddav.c
+++ b/daemon/gvfsbackenddav.c
@@ -423,7 +423,6 @@ redirect_handler (SoupMessage *msg, gpointer user_data)
redirect = TRUE;
}
-#if 0
else if (msg->status_code == SOUP_STATUS_SEE_OTHER ||
msg->status_code == SOUP_STATUS_FOUND)
{
@@ -436,7 +435,7 @@ redirect_handler (SoupMessage *msg, gpointer user_data)
soup_message_headers_set_encoding (msg->request_headers,
SOUP_ENCODING_NONE);
}
-#endif
+
/* ELSE:
*
* Two possibilities:
@@ -455,6 +454,32 @@ redirect_handler (SoupMessage *msg, gpointer user_data)
* redirect on 308+ either.
*/
}
+ else
+ {
+ if (msg->status_code == SOUP_STATUS_SEE_OTHER)
+ {
+ gchar *method;
+
+ g_object_get (msg, "method", &method, NULL);
+ g_message ("method: %s", method);
+ g_free (method);
+
+ if (msg->method == SOUP_METHOD_GET ||
+ msg->method == SOUP_METHOD_OPTIONS)
+ {
+ /* /\* Redirect using a GET *\/ */
+ /* g_object_set (msg, */
+ /* SOUP_MESSAGE_METHOD, SOUP_METHOD_GET, */
+ /* NULL); */
+ /* soup_message_set_request (msg, NULL, */
+ /* SOUP_MEMORY_STATIC, NULL, 0); */
+ /* soup_message_headers_set_encoding (msg->request_headers, */
+ /* SOUP_ENCODING_NONE); */
+
+ redirect = TRUE;
+ }
+ }
+ }
if (redirect)
{
diff --git a/daemon/gvfsbackendhttp.c b/daemon/gvfsbackendhttp.c
index 317c8ed..8d8db67 100644
--- a/daemon/gvfsbackendhttp.c
+++ b/daemon/gvfsbackendhttp.c
@@ -718,6 +718,9 @@ g_vfs_backend_http_class_init (GVfsBackendHttpClass *klass)
g_object_set (the_session, "ssl-strict", FALSE, NULL);
+ if (soup_auth_negotiate_supported)
+ soup_session_add_feature_by_type (the_session, SOUP_TYPE_AUTH_NEGOTIATE);
+
/* Cookie handling - stored temporarlly in memory, mostly useful for
* authentication in WebDAV. */
cookie_jar = g_object_new (SOUP_TYPE_COOKIE_JAR, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]