Hi list, Have fixed a BUG in gwlib/protected.c in line 99:. For detailed problem description see in the list the subject of this mail .
The main problem is the return code of 0 in the original file, it should be -1. Is the return code 0 so Kannel loops in a "state RESULT_WAIT, event Timedout-A". The wrong IP "192.1.1/foobar.wml" is not recognised as wrong IP, kannel trys to lookup it in a loop. The wrong IP "192.1.1./fobar.wml" is recognised as wrong IP and kannel says "http lookup failed, oops" that's ok. [important is the last dot in the IP.] This rewritten code will fix that problem. Cheers Bjoern Here is that fixed part (it is not really nice programmed, I know, I'm not a "C" programmer but it works, it was my first time :-)))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gwlib/protected.c [FIXED BUG] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /* * * FIXME :: BUG gethostbyname * */ int ret; struct hostent *p; /* int oct1,oct2,oct3,oct4; * IP addr. */ int valid; valid=1; sscanf(name,"%d.%d.%d.%d",&oct1,&oct2,&oct3,&oct4); if ((oct1<0) || (oct1>255) || (oct1 == NULL)) { valid=0; } if ((oct2<0) || (oct2>255) || (oct2 == NULL)) { valid=0; } if ((oct3<0) || (oct3>255) || (oct3 == NULL)) { valid=0; } if ((oct4<0) || (oct4>255) || (oct4 == NULL)) { valid=0; } /* * failed to get hostname or ip and die */ if (valid==0) { ret = -1; return ret; } lock(GETHOSTBYNAME); p = gethostbyname(name); if ((p == NULL)) ret = -1; else { ret = 0; *ent = *p; } unlock(GETHOSTBYNAME); return ret; } ########################################### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gwlib/protected.c [ORIGINAL] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { int ret; struct hostent *p; lock(GETHOSTBYNAME); p = gethostbyname(name); if (p == NULL) ret = -1; else { ret = 0; *ent = *p; } unlock(GETHOSTBYNAME); return ret; } ############################################# kind regards Bjoern Buettner Vodafone Information Systems GmbH Daniel-Goldbach-Str. 17-19 D-40880 Ratingen Tel.: +49-2102-97-2013 Fax: +49-2102-97-1310 mailto: [EMAIL PROTECTED] http://www.vodafone.com http://www.vodafone-is.de