Janine, Now I'm getting confused. If the browser or the telnet sends the cookie it just received, the outputheaders on test2.tcl don't include a set-cookie header. So it isn't in the outputheaders I guess. I just did this:
[EMAIL PROTECTED]:/media/floppy> telnet temp.nybooks.com 80 Trying 209.162.194.75... Connected to temp.nybooks.com. Escape character is '^]'. GET /test.tcl HTTP/1.0 Host: temp.nybooks.com HTTP/1.0 302 Found Host: temp.nybooks.com Set-Cookie: ad_session_id=80111104%2c0+%7b663+1140228924+1E0DA0457345E6F9CE3F6D34E60EA76197B8858D%7d; Path=/; Max-Age=1200 location: http://temp.nybooks.com/test2.tcl MIME-Version: 1.0 Date: Sat, 18 Feb 2006 01:55:24 GMT Server: AOLserver/4.0.10 Content-Type: text/plain; charset=iso-8859-1 Content-Length: 8 Connection: close RedirectConnection closed by foreign host. [EMAIL PROTECTED]:/media/floppy> telnet temp.nybooks.com 80 Trying 209.162.194.75... Connected to temp.nybooks.com. Escape character is '^]'. GET /test2.tcl HTTP/1.0 Host: temp.nybooks.com Cookie: ad_session_id=80111104%2c0+%7b663+1140228924+1E0DA0457345E6F9CE3F6D34E60EA76197B8858D%7d; HTTP/1.0 200 OK MIME-Version: 1.0 Content-Type: text/html Server: AOLserver/4.0 ns_conn headers - size = 2<br> key = Host, value = temp.nybooks.com<br> key = Cookie, value = ad_session_id=80111104%2c0+%7b663+1140228924+1E0DA0457345E6F9CE3F6D34E60EA76197B8858D%7d;<br> <p> ad_conn headers - size = 2<br> key = Host, value = temp.nybooks.com<br> key = Cookie, value = ad_session_id=80111104%2c0+%7b663+1140228924+1E0DA0457345E6F9CE3F6D34E60EA76197B8858D%7d;<br> <p> ns_conn outputheaders - size = 1<br> key = Server, value = AOLserver/4.0<br> <p> ad_conn outputheaders - size = 1<br> key = Server, value = AOLserver/4.0<br> Connection closed by foreign host. My browser shows the same behavior as telnet. OACS isn't filling the outputheader with the set-cookie if the browser/client has a cookie. tom jackson On Friday 17 February 2006 17:35, Janine Sisk wrote: > Well no, I'm not sure that it sends the Set-Cookie header on every > request. But something about the change I made is causing OACS to > act as though the browser has cookies turned off, so I kind of zeroed > in on that. If there are other things that could cause that symptom > I should look at those too, I just didn't know what they might be. > > janine > > On Feb 17, 2006, at 5:24 PM, Tom Jackson wrote: > > Janine, > > > > I would try the second request via telnet, but send the cookie > > value you > > received on the first request. Are you sure that OACS sends the Set- > > Cookie > > header on every request? Maybe it doesn't do it since the cookie is > > already > > there? > > > > tom jackson > > > > GET /test.tcl HTTP/1.0 > > Host: temp.nybooks.com > > Cookie: > > ad_session_id=80111002%2c0+%7b542+1140224229 > > +57E9A3EA3E33AB40F47F8EA71184A3D012E347ED%7d; > > > > On Friday 17 February 2006 16:44, Janine Sisk wrote: > >> OK, so here we go. test.tcl contains a single line, a call to > >> ad_returnredirect, which has been modified to use ns_respond instead > >> of ns_returnredirect. > >> > >> GET /test.tcl HTTP/1.0 > >> > >> HTTP/1.0 302 Found > >> Set-Cookie: ad_session_id=80111002%2c0+%7b542+1140224229 > >> +57E9A3EA3E33AB40F47F8EA71184A3D012E347ED%7d; Path=/; Max-Age=1200 > >> location: http://temp.nybooks.com/test2.tcl > >> MIME-Version: 1.0 > >> Date: Sat, 18 Feb 2006 00:37:09 GMT > >> Server: AOLserver/4.0.10 > >> Content-Type: text/plain; charset=iso-8859-1 > >> Content-Length: 8 > >> Connection: close > >> > >> RedirectConnection closed by foreign host. > >> > >> And if I request test2.tcl directly, I get > >> > >> GET /test2.tcl HTTP/1.0 > >> > >> HTTP/1.0 200 OK > >> MIME-Version: 1.0 > >> Content-Type: text/html > >> Set-Cookie: ad_session_id=80111202%2c0+%7b453+1140224589 > >> +962CB2C08C8F3888B4A1FF91770F02814E70BB45%7d; Path=/; Max-Age=1200 > >> Server: AOLserver/4.0 > >> > >> ns_conn headers - size = 0<br> > >> <p> > >> ad_conn headers - size = 0<br> > >> <p> > >> ns_conn outputheaders - size = 2<br> > >> key = Set-Cookie, value = ad_session_id=80111202%2c0+%7b453 > >> +1140224589 > >> +962CB2C08C8F3888B4A1FF91770F02814E70BB45%7d; Path=/; Max- > >> Age=1200<br> > >> key = Server, value = AOLserver/4.0<br> > >> <p> > >> ad_conn outputheaders - size = 2<br> > >> key = Set-Cookie, value = ad_session_id=80111202%2c0+%7b453 > >> +1140224589 > >> +962CB2C08C8F3888B4A1FF91770F02814E70BB45%7d; Path=/; Max- > >> Age=1200<br> > >> key = Server, value = AOLserver/4.0<br> > >> Connection closed by foreign host. > >> > >> So Set-Cookie is there. > >> > >> However, if I request test.tcl in the browser, I get redirected to > >> test2.tcl which prints out the output of ad/ns_conn headers and ad/ > >> ns_conn outputheaders, where there is nary a Set-Cookie in sight. > >> Somehow it's getting lost along the way. > >> > >> I'm perplexed. > >> > >> janine > >> > >> On Feb 17, 2006, at 3:45 PM, Tom Jackson wrote: > >>> Janine, > >>> > >>> So the command sequence I use goes like this: > >>> > >>> $ telnet rmadilo.com 80 > >>> Trying 216.211.130.179... > >>> Connected to rmadilo.com. > >>> Escape character is '^]'. > >>> GET /mypage HTTP/1.0 > >>> Host: rmadilo.com > >>> > >>> HTTP/1.0 200 OK > >>> Set-Cookie: SessionID = > >>> "9A7EDDAAACCD226251DFC34240FA7A320FA7FE5C" ; Max-Age = > >>> 911003711 ; Path=/ > >>> Set-Cookie2: SessionID = > >>> "9A7EDDAAACCD226251DFC34240FA7A320FA7FE5C" ; Max-Age > >>> = 911003711 ; Path=/ ; Version = 1 > >>> Last-Modified: Mon, 09 May 2005 23:27:28 GMT > >>> MIME-Version: 1.0 > >>> Date: Sat, 18 Feb 2006 00:24:49 GMT > >>> Server: AOLserver/4.0.10 > >>> Content-Type: text/html; charset=iso-8859-1 > >>> Content-Length: 29 > >>> Connection: close > >>> > >>> <a href="/files/">Files</a> > >>> > >>> > >>> It is only necessary to use the Host: header if you use virtual > >>> hosting. > >>> > >>> tom jackson > >>> > >>> On Friday 17 February 2006 15:12, Janine Sisk wrote: > >>>> If I telnet in and do "GET /" I just get the HTML for the page, > >>>> like > >>>> you would expect: > >>>> > >>>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > >>>> "http://www.w3.org/TR/html4/loose.dtd"> > >>>> <html> > >>>> <head> > >>>> > >>>> and so forth. If I request the page that does the redirect I get > >>>> > >>>> GET test.tcl > >>>> RedirectConnection closed by foreign host. > >>>> > >>>> However if I request test.tcl in the browser I do get properly > >>>> redirected to test2.tcl. I am not very well versed in telnet > >>>> commands, so if there's something else I can do to get more info, > >>>> please let me know. > >>>> > >>>> Yes, I have printed out the contents of outputheaders and the Set- > >>>> Cookie is there, but it doesn't make it through the redirect. > >>>> > >>>> janine > >>>> > >>>> On Feb 17, 2006, at 2:48 PM, Tom Jackson wrote: > >>>>> Janine, > >>>>> > >>>>> If you telnet into the page, what do you get sent back? > >>>>> > >>>>> I'm not sure where in here you add the Set-Cookie header? Do you > >>>>> know that it > >>>>> is in the output headers at the time you grab a copy of the set? > >>>>> > >>>>> tom jackson > >>>>> > >>>>> On Friday 17 February 2006 14:10, Janine Sisk wrote: > >>>>>> This should be simple, but it's turning out not to be. > >>>>>> > >>>>>> First I used this code, which I got from a post at openacs.org > >>>>>> (and > >>>>>> the poster got it from the AOLserver docs for ns_respond): > >>>>>> > >>>>>> set headers [ns_set new myheaders] > >>>>>> ns_set put $headers location $url > >>>>>> ns_respond -status $return_code -type text/plain -string > >>>>>> Redirect - > >>>>>> headers $headers > >>>>>> > >>>>>> This worked as far as the redirect and status code are > >>>>>> concerned, but > >>>>>> cookies were no longer functioning. > >>>>>> > >>>>>> I noticed that ad_set_cookie (an openacs proc) adds a key called > >>>>>> Set- > >>>>>> Cookie to the "ns_conn outputheaders" set, so I tried this, > >>>>>> hoping to > >>>>>> capture all possible relevant values: > >>>>>> > >>>>>> set headers [ad_conn headers] > >>>>>> set outputheaders [ad_conn outputheaders] > >>>>>> set allheaders [ns_set merge $headers $outputheaders] > >>>>>> ns_set idelkey $allheaders location > >>>>>> ns_set put $allheaders location $url > >>>>>> ns_respond -status $return_code -type text/plain -string > >>>>>> Redirect - > >>>>>> headers $allheaders > >>>>>> > >>>>>> No improvement; cookies still don't work. BTW, I tried it with > >>>>>> both > >>>>>> ns_conn and ad_conn but they both give the exact same output, so > >>>>>> same > >>>>>> end result. > >>>>>> > >>>>>> Any suggestions on what I might be doing wrong here? > >>>>>> > >>>>>> I know that the best way to fix this would be to create an > >>>>>> ns_returnmoved function in AOLserver, but I was trying to avoid > >>>>>> having any of our clients using a customized version. > >>>>>> > >>>>>> Thanks for any suggestions, > >>>>>> > >>>>>> janine > >>>>>> > >>>>>> > >>>>>> -- > >>>>>> AOLserver - http://www.aolserver.com/ > >>>>>> > >>>>>> To Remove yourself from this list, simply send an email to > >>>>>> <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" > >>>>>> in the > >>>>>> email message. You can leave the Subject: field of your email > >>>>>> blank. > >>>>> > >>>>> -- > >>>>> AOLserver - http://www.aolserver.com/ > >>>>> > >>>>> To Remove yourself from this list, simply send an email to > >>>>> <[EMAIL PROTECTED]> with the > >>>>> body of "SIGNOFF AOLSERVER" in the email message. You can leave > >>>>> the > >>>>> Subject: field of your email blank. > >>>> > >>>> -- > >>>> AOLserver - http://www.aolserver.com/ > >>>> > >>>> To Remove yourself from this list, simply send an email to > >>>> <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" > >>>> in the > >>>> email message. You can leave the Subject: field of your email > >>>> blank. > >>> > >>> -- > >>> AOLserver - http://www.aolserver.com/ > >>> > >>> To Remove yourself from this list, simply send an email to > >>> <[EMAIL PROTECTED]> with the > >>> body of "SIGNOFF AOLSERVER" in the email message. You can leave the > >>> Subject: field of your email blank. > >> > >> -- > >> AOLserver - http://www.aolserver.com/ > >> > >> To Remove yourself from this list, simply send an email to > >> <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" > >> in the > >> email message. You can leave the Subject: field of your email blank. > > > > -- > > AOLserver - http://www.aolserver.com/ > > > > To Remove yourself from this list, simply send an email to > > <[EMAIL PROTECTED]> with the > > body of "SIGNOFF AOLSERVER" in the email message. You can leave the > > Subject: field of your email blank. > > -- > AOLserver - http://www.aolserver.com/ > > To Remove yourself from this list, simply send an email to > <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the > email message. You can leave the Subject: field of your email blank. -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.