=== modified file 'includes/common.inc'
--- includes/common.inc	2007-09-12 18:29:31 +0000
+++ includes/common.inc	2007-09-20 22:00:46 +0000
@@ -881,6 +881,30 @@ function format_rss_channel($title, $lin
 }
 
 /**
+ * Convert relative URLs in a block of HTML to absolute URLs.
+ *
+ * @param $html
+ *   A chunk of html.
+ * @return
+ *   The same HTML with URL in <a href=""> and  <... src=""> attributes
+ *   changed to absolute.
+ */
+function drupal_create_absolute_urls($url) {
+  global $base_url;
+  // Relative URLs.
+  $src = '%( href| src)="(?!\w+://)([^/][^"]*)"%';
+  $dst = '$1="'. $base_url .'/$2"';
+  $url = preg_replace($src, $dst, $url);
+
+  // URLs that are relative to the root.
+  $src = '%( href| src)="(?!\w+://)/?([^"]*)"%';
+  $dst = '$1="'. $base_url .'/$2"';
+  $url = preg_replace($src, $dst, $url);
+
+  return $url;
+}
+
+/**
  * Format a single RSS item.
  *
  * Arbitrary elements may be added using the $args associative array.
@@ -889,7 +913,7 @@ function format_rss_item($title, $link, 
   $output = "<item>\n";
   $output .= ' <title>'. check_plain($title) ."</title>\n";
   $output .= ' <link>'. check_url($link) ."</link>\n";
-  $output .= ' <description>'. check_plain($description) ."</description>\n";
+  $output .= ' <description>'. check_plain(drupal_create_absolute_urls($description, $link)) ."</description>\n";
   $output .= format_xml_elements($args);
   $output .= "</item>\n";
 

=== modified file 'modules/node/node.module'
--- modules/node/node.module	2007-09-11 14:50:04 +0000
+++ modules/node/node.module	2007-09-20 22:13:12 +0000
@@ -924,7 +924,7 @@ function node_view($node, $teaser = FALS
   $node = node_build_content($node, $teaser, $page);
 
   if ($links) {
-    $node->links = module_invoke_all('link', 'node', $node, !$page);
+    $node->links = module_invoke_all('link', 'node', $node, $teaser);
     drupal_alter('link', $node->links, $node);
   }
 

