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.

Reply via email to