Page 1 of 1

RSS reload failure

Posted: Tue Feb 10, 2009 10:38 am
by michaelgsandtner
serendipity 1.2
I assume Last-modifed header is used twice with different purposes:
serendipity/bundled-libs/Smarty/libs/Smarty.class.php
serendipity/rss.php
This may lead to a "200 OK" response with an empty list instead of "304 Not Modifed",
thus the feedreader (at least Firefox Livebookmarks) displays that empty feed, instead of keeping the unmodifed list.

Re: RSS reload failure

Posted: Tue Feb 10, 2009 10:59 am
by garvinhicking
Hi!

The smarty file should be unrelated, because the variable "cache_modified_check" is never set to true, so Smarty never emits the Last-Modified header.

Last-modified is emitted by rss.php only.

Please give more details what your actual problem is.

Regards,
Garvin

Re: RSS reload failure

Posted: Tue Feb 10, 2009 12:14 pm
by michaelgsandtner
I think Last-modified and Etag should not be different, but they are.
Reloading the Livebookmark produces the following, and then the bookmarrk is empty:
https://gondor-dev.magwien.gv.at/gsa/se ... index.rss2

GET /gsa/serendipity/index.php?/feeds/index.rss2 HTTP/1.1
Host: gondor-dev.magwien.gv.at
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
X-Moz: livebookmarks
Cookie: PHPSESSID=0eu9reuv8igroc5krcnku9gu85; serendipity[author_token]=98819dc41558ffde16b0552af9d4d41f9c6220f8; serendipity[old_session]=0eu9reuv8igroc5krcnku9gu85; serendipity[userDefLang]=de; Apache::AuthCookieHandler_GondorAuth=F/NKP9Iej4Hu+d1cfPaD3piJC5H59YNnW1JD2o7y27e8wKwk1wQ6+DKepBmj0LdD2aUYhB+xTlWi=0alumO4ox528AUUfAbecePBrHBlkS0JOcBmchdkw/54Q=3d=3d=0a; Apache::AuthCookieHandler_GondorAuth_changed=1234263372
If-Modified-Since: Tue, 10 Feb 2009 10:56:12 GMT
If-None-Match: "Tue, 13 Jan 2009 10:37:36 GMT"
Cache-Control: max-age=0

HTTP/1.x 200 OK
Date: Tue, 10 Feb 2009 11:02:42 GMT
Server: Apache
X-DL-HatStyle: wo-neu.nonav
Cache-Control: private, pre-check=0, post-check=0, max-age=0
Pragma: no-cache
Etag: "Tue, 13 Jan 2009 10:37:36 GMT"
Content-Length: 1125
Content-Type: text/xml; charset=utf-8
Expires: 0
Last-Modified: Tue, 10 Feb 2009 10:56:12 GMT
Client-Peer: 10.152.170.27:442
Client-Response-Num: 1
Set-Cookie: serendipity[old_session]=0eu9reuv8igroc5krcnku9gu85; expires=Thu, 12-Mar-2009 11:02:42 GMT; path=/gsa/serendipity/; domain=gondor-dev.magwien.gv.at
Set-Cookie: serendipity[userDefLang]=de; expires=Thu, 12-Mar-2009 11:02:42 GMT; path=/gsa/serendipity/; domain=gondor-dev.magwien.gv.at
X-Blog: Serendipity
X-Powered-By: PHP/5.2.6
X-Serendipity-InterfaceLang: de
X-Serendipity-InterfaceLangSource: Database
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
----------------------------------------------------------

Re: RSS reload failure

Posted: Tue Feb 10, 2009 1:04 pm
by garvinhicking
Hi!

Could it be other files or server settings are interferring?

Try to open your rss.php file, find the header('Last-Modified') line, change the headername to "Last-Modified-s9y" and save the file. Then check if what you see in Last-Modified-s9y" is maybe the right timestamp. It should always contain the stamp of the most recent entry.

Actually, the Etag and Last-Modified should really be identical in the s9y output. You could modify the Smarty.php line, then you'll see that it has no relevance.

Apache might enforce Last-Modified on you due to the file timestamp?

Regards,
Garvin

Re: RSS reload failure

Posted: Wed Feb 11, 2009 11:07 am
by michaelgsandtner
I located the problem, and it is not a serendipity problem.
We are running serendipity behind our self-written authentication portal (on a different host with an according event plugin). There is a bug in the portal, which overwrites the Last-modified header sent by serendipity.

Thx --Michi

Re: RSS reload failure

Posted: Wed Feb 11, 2009 1:46 pm
by garvinhicking
Hi!

Thanks for notifying us about the real cause, I was already wondering which causes this could have. :-)

Best regards,
Garvin