GNU HTTP Tunnel for S60

«»


httptunnelHere’s the story :


I subscribed, few weeks ago, to an “unlimited data plan” from my mobile provider. I was so enthusiast that I sold my old Nokia N70 (Symbian OS8) on Ebay to buy an expensive Nokia E90 (OS9), infinitely more adequate for heavy use of www and networking applications.


I quiclky discovered “what’s under the hood” : this “unlimited” data plan is restricted to HTTP traffic on port 80 by use of proxy filtering that mean no IMAP, no POP, no VNC, nor TELNET… :-x

Moreover, there’s an extra filtering on User-Agent to (loosely) prevent its use from your computer by using the phone as modem for example.


I quickly had to found a solution, and the only one available was Tunneling, more precisely HTTP Tunneling, since writing Tun/Tap drivers on Symbian platforms is not possible without manufacturer’s SDK. After some Googling, I found the GNU HTTP Tunnel under GPL license.



PIPS


Thanks to port of Posix libraries on Symbian OS9 (P.I.P.S), the porting of the project to S60 tooks less than 48h. The most difficult parts were :

  1. No poll() function
  2. Small heap/stack
  3. lack of console

The first point was solved by replacing poll() functions by select(), using threading as workaround to limitations due to implementation :



“select operation cannot be called for the second time on the same socket descriptor before the first select operation on the same socket descriptor completes. (i.e) Only one select operation can be outstanding on a Socket. This is because of the limitation of the underlying Ioctl Ioctl operation. Only one operation may be outstanding for each socket.”

The second point involved reducing size of local arrays, and by increasing default heap/stack size of application using correct statements in mmp file.


Concerning the lack of console, I used stdioserver as output console, and Python for passing command line.


1 2 3 4 5 » First tests



5 comments so far

Hi Biloute,

Good job !

You write weirdly, you’re cockeyed :) It isn’t Ch’ti Mi language. I don’t understand !!!

You don’t drink the good beer.

A Nosteke !

Bebert
April 1st, 2008 at 9:33 pm

[...] | GNU HTTP Tunnel for S60 trackback ¿Recomendarías este post? Más noticias sobre: Desarrollo, Aplicaciones [...]

GNU HTTP Tunnel para los S60
April 9th, 2008 at 11:47 am

Quick question, did the proxy used by the network operators allow for https connections or not?

Theo
April 19th, 2008 at 9:08 pm

Quick answer: yes.
I heard about the CONNECT method, but this hack isn’t working in most cases.

Renaud
April 20th, 2008 at 8:54 pm

Rimsky went look closer buy cytotec dead hand held.

Pwhndvve
August 9th, 2008 at 6:00 pm

Leave a Comment

Name (required)

Mail (will not be published) (required)

Website

Comment