# HG changeset patch
# Parent 53c8b050b7f6aa63af8cec3569c5bd8dc89af224
diff --git a/trac/timeline/web_ui.py b/trac/timeline/web_ui.py
--- a/trac/timeline/web_ui.py
+++ b/trac/timeline/web_ui.py
@@ -83,7 +83,11 @@
     # IRequestHandler methods
 
     def match_request(self, req):
-        return req.path_info == '/timeline'
+        if req.path_info == '/timeline':
+            return True
+        elif req.path_info == '/login/timeline' \
+                                and req.args.get('format', '') == 'rss':
+            return True
 
     def process_request(self, req):
         req.perm.assert_permission('TIMELINE_VIEW')
@@ -208,7 +212,8 @@
             data['context'] = html_context
 
         add_stylesheet(req, 'common/css/timeline.css')
-        rss_href = req.href.timeline([(f, 'on') for f in filters],
+        rss_href = req.href(req.authname != 'anonymous' and 'login' or None,
+                                     'timeline', [(f, 'on') for f in filters],
                                      daysback=90, max=50, authors=authors,
                                      format='rss')
         add_link(req, 'alternate', rss_href, _('RSS Feed'),

