Index: lang/perl/XML-Atom-Server-Lite/trunk/lib/XML/Atom/Server/Lite.pm
===================================================================
--- lang/perl/XML-Atom-Server-Lite/trunk/lib/XML/Atom/Server/Lite.pm (revision 1784)
+++ lang/perl/XML-Atom-Server-Lite/trunk/lib/XML/Atom/Server/Lite.pm (revision 8606)
@@ -234,4 +234,9 @@
 }
 
+sub uri {
+    my $server = shift;
+    $ENV{MOD_PERL} ? $server->{apache}->uri : $server->{cgi}->url;
+}
+
 sub path_info {
     my $server = shift;
@@ -274,8 +279,9 @@
             unless $auth->{$f};
     }
+    $auth->{Nonce} = decode_base64($auth->{Nonce}) if $auth->{Nonce} !~ /==$/;
     my $password = $server->password_for_user($auth->{Username});
     defined($password) or return $server->auth_failure(403, 'Invalid login');
     my $expected = encode_base64(sha1(
-           decode_base64($auth->{Nonce}) . $auth->{Created} . $password
+           $auth->{Nonce} . $auth->{Created} . $password
     ), '');
     return $server->auth_failure(403, 'Invalid login')
Index: lang/perl/XML-Atom-Server-Lite/trunk/lib/XML/Atom/Server/Lite/Entry.pm
===================================================================
--- lang/perl/XML-Atom-Server-Lite/trunk/lib/XML/Atom/Server/Lite/Entry.pm (revision 8604)
+++ lang/perl/XML-Atom-Server-Lite/trunk/lib/XML/Atom/Server/Lite/Entry.pm (revision 8606)
@@ -95,4 +95,5 @@
         $xml .= "  <link"
              .  " rel=".XML::Atom::Server::Lite::qquote($link->{rel})
+             .  " title=".XML::Atom::Server::Lite::qquote($link->{title})
              .  " type=".XML::Atom::Server::Lite::qquote($link->{type})
              .  " href=".XML::Atom::Server::Lite::qquote($link->{href})."/>\n";
@@ -101,4 +102,10 @@
            . XML::Atom::Server::Lite::encode_xml($self->{title})
            . "</title>\n" if $self->{title};
+    $xml .= "  <icon>"
+           . XML::Atom::Server::Lite::encode_xml($self->{icon})
+           . "</icon>\n" if $self->{icon};
+    $xml .= "  <logo>"
+           . XML::Atom::Server::Lite::encode_xml($self->{logo})
+           . "</logo>\n" if $self->{logo};
     $xml .= "  <content"
          .  " mode=".XML::Atom::Server::Lite::qquote($self->{content}->{mode})
@@ -115,4 +122,10 @@
                . "</dc:subject>\n";
     }
+    $xml .= "  <published>"
+           . XML::Atom::Server::Lite::encode_xml($self->{published})
+           . "</published>\n" if $self->{published};
+    $xml .= "  <updated>"
+           . XML::Atom::Server::Lite::encode_xml($self->{updated})
+           . "</updated>\n" if $self->{updated};
     $xml .= " </entry>\n";
 }
Index: lang/perl/XML-Atom-Server-Lite/trunk/lib/XML/Atom/Server/Lite/Feed.pm
===================================================================
--- lang/perl/XML-Atom-Server-Lite/trunk/lib/XML/Atom/Server/Lite/Feed.pm (revision 8605)
+++ lang/perl/XML-Atom-Server-Lite/trunk/lib/XML/Atom/Server/Lite/Feed.pm (revision 8606)
@@ -85,5 +85,18 @@
     my $self = shift;
     my $xml = "";
-    $xml .= "<feed xmlns=\"http://purl.org/atom/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\">";
+    $xml .= "<feed xmlns=\"http://purl.org/atom/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n";
+    $xml .= " <title>"
+           . XML::Atom::Server::Lite::encode_xml($self->{title})
+           . "</title>\n" if $self->{title};
+    for my $link (@{$self->{link}}) {
+        $xml .= " <link"
+             .  " rel=".XML::Atom::Server::Lite::qquote($link->{rel})
+             .  " title=".XML::Atom::Server::Lite::qquote($link->{title})
+             .  " type=".XML::Atom::Server::Lite::qquote($link->{type})
+             .  " href=".XML::Atom::Server::Lite::qquote($link->{href})."/>\n";
+    }
+    $xml .= " <updated>"
+           . XML::Atom::Server::Lite::encode_xml($self->{updated})
+           . "</updated>\n" if $self->{updated};
     for my $entry (@{$self->{entries}}) {
         $xml .= $entry->to_xml;
