On Tue, Feb 8, 2011 at 11:11 PM, Tristan Van Berkom <tvb@xxxxxxxxx> wrote: > On Wed, Feb 9, 2011 at 4:19 AM, Jim George <jimgeorge@xxxxxxxxx> 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 _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list