# The 12 Step program for a new yahoo cookie Curfloo # 1. download curfloo from http://www.jfcinnovations.com/curfloo # 2. cd to some directory where you have write permissions # 3. copy this file and the curfloo.tar.gz file to that directory # 4. tar zxvf curfloo.tar.gz # 5. patch -p0 < diff_PM # 6. cd curfloo-0.76b # 7. make # 8. su # 9. make install # 10. exit # 11. man curfloo # 12. curfloo diff -rduN curfloo-0.76b-orig/YahooProto.C curfloo-0.76b/YahooProto.C --- curfloo-0.76b-orig/YahooProto.C Fri Jun 8 14:32:41 2001 +++ curfloo-0.76b/YahooProto.C Thu Jun 13 02:52:53 2002 @@ -483,6 +483,8 @@ char *ptr, *tptr, + *ptr2, + *tptr2, loginString[256], returnData[4096]; string @@ -493,7 +495,7 @@ sutl.straightReplace(" ","%20",username, true); sutl.straightReplace(" ","%20",passwd, true); - sprintf(loginString, "GET /config/ncclogin?.src=bl&login=%s&passwd=%s&n=1 " + sprintf(loginString, "GET /config/login?login=%s&passwd=%s&.chkP=Y " "HTTP/1.0\r\nAccept: */*\r\n\r\n\r\n", username.c_str(), passwd.c_str()); if (sock.open()) { @@ -506,7 +508,11 @@ logger.log("YahooProto::fetchCookie: read returned %d",i); return -3; } - if ((ptr=strstr(returnData,"Set-Cookie:"))==NULL) { + if ((ptr=strstr(returnData,"Set-Cookie: Y"))==NULL) { + logger.log("YahooProto::fetchCookie: no cookie in da cookie!"); + return -4; + } + if ((ptr2=strstr(returnData,"Set-Cookie: T"))==NULL) { logger.log("YahooProto::fetchCookie: no cookie in da cookie!"); return -4; } @@ -515,13 +521,26 @@ return -5; } *tptr=0; - while(((*ptr)!='v') && (ptr