Re: g_file_read fails when running on a remote machine via ssh
- From: Jim George <jimgeorge gmail com>
- To: Tristan Van Berkom <tvb gnome org>
- Cc: gtk-list gnome org
- Subject: Re: g_file_read fails when running on a remote machine via ssh
- Date: Wed, 9 Feb 2011 07:13:16 -0700
On Tue, Feb 8, 2011 at 11:11 PM, Tristan Van Berkom <tvb gnome org> wrote:
> On Wed, Feb 9, 2011 at 4:19 AM, Jim George <jimgeorge gmail com> wrote:
>> Hi all,
>> In a larger GTK application that needs to do HTTP gets, I replaced use
>> of cURL and some helper functions called "glibcurl" with GIO calls. I
>> now face a strange problem that when the program runs locally,
>> everything is fine, but when run over an SSH tunnel with X forwarding,
>> the call to g_file_read fails, with a GError->message of "Operation
>> not supported".
>>
>> To investigate this further, I wrote a small test program pasted below:
>>
>> #include <glib.h>
>> #include <gio/gio.h>
>> #include <stdio.h>
>> #include <string.h>
>>
>> int main(int argc, char *argv[])
>> {
>> char url[256] = "http://www.google.com";
>> GFile *file;
>> GFileInputStream *istream;
>> GError *err = NULL;
>>
>> if (argc > 1) {
>> strncpy(url, argv[1], 256);
>> }
>>
>> printf("Opening %s\n", url);
>> file = g_file_new_for_uri(url);
>> istream = g_file_read(file, NULL, &err);
>>
>> if (err != NULL) {
>> g_error("Could not open %s for reading: %s\n", url, err->message);
>> g_error_free(err);
>> return 1;
>> }
>>
>> g_input_stream_close(G_INPUT_STREAM(istream), NULL, &err);
>> g_object_unref(file);
>>
>> return 0;
>> }
>>
>> I compiled this using: gcc -g -O0 `pkg-config --cflags --libs gio-2.0
>> gtk+-2.0` -o test test.c
>>
>> Running ./test locally gives me the "Opening http://www.google.com"
>> message, and a normal exit.
>> When I run the program on a different machine, to which I have opened
>> an ssh connection, I get this:
>>
>> Opening http://www.google.com
>>
>> ** ERROR **: Could not open http://www.google.com for reading:
>> Operation not supported
>>
>> aborting...
>> Aborted (core dumped)
>>
>> This matches the behavior on my main gtk program. As a test, the
>> behavior of the test program is identical when trying to access a text
>> file on one of our local web servers.
>>
>> I couldn't find much documentation on gfile and gio by way of a
>> tutorial, so I'm pretty much feeling my way around right now. What am
>> I doing wrong?
>
> I'm the wrong person to answer you directly about GIO, but I did
> hear that the tls support is only very recently added to GIO.
>
> Check that you are indeed using the unstable and unreleased new
> glib package that includes this support.
>
> Cheers,
> -Tristan
>
Hi Tristan,
Sorry, I forgot to mention, first system (where I did the build and
initial test that succeeded) is running Fedora 14, with gtk2 package
version of 2.22.0, the second one from where I did the "ssh" runs
Fedora 13, with gtk2 package version 2.20.1.
I believe these versions do support http via GIO, what stumps me is
why things should behave differently when I'm running my program
remotely (over a pts), as opposed to running it locally (from tty).
The connection to the webserver is still plain http, and should not be
using TLS in both cases.
Sequence of operations: log in locally on my F13 box, use ssh to
connect to the F14 box and run the test program included in the
previous email. In this case, I get an error message ("Operation not
supported"). If I log in locally at the F14 box and run the same
program, it works fine.
Thanks,
-Jim
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]