Update last modified date
[openssl-web.git] / openssl.wml
index 58f51d88bae1c2f2144a86f84f89b9f48fe6e83a..2adc21b604cf7edb7918b4f19119e7dc95ce71de 100644 (file)
@@ -21,9 +21,9 @@
 
 #   insert information about the webpage
 <info style=comment domainname="openssl.org"
-      copyright="1998-2000 The OpenSSL Project, http://www.openssl.org/">
+      copyright="1998-2014 The OpenSSL Project, http://www.openssl.org/">
 <info style=meta domainname="openssl.org"
-      copyright="1998-2000 The OpenSSL Project, http://www.openssl.org/">
+      copyright="1998-2014 The OpenSSL Project, http://www.openssl.org/">
 
 #   insert overideable title container
 <title*>OpenSSL: {#PAGE_TITLE#}</title*>
@@ -128,15 +128,13 @@ H3    { font-weight: bold; font-size: 12pt; line-height: 12pt; \
     <tr><td>
   </navbar:prolog>
   #   the buttons itself
-  <navbar:button id=title    url="."      txt="Title"        img=page-navbar-ti-*.jpg>
-  <navbar:button id=FAQ      url=support/faq.html   txt="FAQ"          img=page-navbar-fq-*.jpg>
+  <navbar:button id=title    url="."      txt="Home"        img=page-navbar-ti-*.jpg>
+  <navbar:button id=source   url=source/  txt="Download"       img=page-navbar-so-*.jpg>
   <navbar:button id=about    url=about/   txt="About"        img=page-navbar-ab-*.jpg>
   <navbar:button id=news     url=news/    txt="News"         img=page-navbar-ne-*.jpg>
+  <navbar:button id=FAQ      url=support/faq.html   txt="FAQ"          img=page-navbar-fq-*.jpg>
   <navbar:button id=docs     url=docs/    txt="Documents"    img=page-navbar-do-*.jpg>
-  <navbar:button id=source   url=source/  txt="Source"       img=page-navbar-so-*.jpg>
-  <navbar:button id=contrib  url=contrib/ txt="Contribution" img=page-navbar-co-*.jpg>
   <navbar:button id=support  url=support/ txt="Support"      img=page-navbar-su-*.jpg>
-  <navbar:button id=related  url=related/ txt="Related"      img=page-navbar-re-*.jpg>
   #   button epilog
   <navbar:epilog>
     </td></tr>
@@ -166,7 +164,7 @@ H3    { font-weight: bold; font-size: 12pt; line-height: 12pt; \
 #   define the <snb>...</snb> container tag
 <define-tag snb endtag=required>
   #   1. define the navigation bar through a grammar
-  <navbar:define name=snb urlbase="$(SNB_ROOT)" 
+  <navbar:define name=snb urlbase="$(SNB_ROOT)"
                  txtcol_normal="#666666" txtcol_select="#000000">
     #   bar header
     <navbar:header>\
@@ -290,7 +288,7 @@ sub ls {
         @T = localtime($S[9]);
         my @moy = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                    'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
-        push(@R, sprintf("%"."8d %"."s %"."2d %"."02d:%"."02d:%"."02d %"."d %"."s\n", 
+        push(@R, sprintf("%"."8d %"."s %"."2d %"."02d:%"."02d:%"."02d %"."d %"."s\n",
              $S[7], $moy[$T[4]], $T[3], $T[2], $T[1], $T[0], 1900+$T[5], $f));
     }
     return @R;
@@ -319,7 +317,21 @@ foreach $l (@L) {
 open(FP, "<index.current");
 while (<FP>) {
    s|\s*\n$||;
-   push(@HI, $_);
+   s/#.*$//;
+   next if (/^\s*$/);
+   # If line is of form "last <regex>" look for last
+   # matching filename in the list.
+   # This means "last openssl-1*.tar.gz" will automatically
+   # mark the last version of OpenSSL as the latest without
+   # the need to manually update index.current on each release.
+   if (/^\s*last\s*(\S+)\s*$/) {
+       # Get list of all file, skip betas
+       my @list = sort grep(!/beta/, glob($1));
+       my $lastfile = pop @list;
+       push(@HI, $lastfile) if (-f $lastfile);
+   } elsif (-f $_) {
+       push(@HI, $_);
+   }
 }
 close(FP);
 sub ls {
@@ -339,7 +351,7 @@ sub ls {
         @T = localtime($S[9]);
         my @moy = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                    'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
-        push(@R, sprintf("%"."8d %"."s %"."2d %"."02d:%"."02d:%"."02d %"."d %"."s\n", 
+        push(@R, sprintf("%"."8d %"."s %"."2d %"."02d:%"."02d:%"."02d %"."d %"."s\n",
              $S[7], $moy[$T[4]], $T[3], $T[2], $T[1], $T[0], 1900+$T[5], $f));
     }
     return @R;
@@ -354,13 +366,14 @@ foreach $l (@L) {
        my $r = "<a href=\"$f\">$f</a>";
        if (-f "$f.md5") { $r .= " (<a href=\"$f.md5\">MD5</a>)"; }
        if (-f "$f.sha1") { $r .= " (<a href=\"$f.sha1\">SHA1</a>)"; }
+       if (-f "$f.sha256") { $r .= " (<a href=\"$f.sha256\">SHA256</a>)"; }
        if (-f "$f.asc") { $r .= " (<a href=\"$f.asc\">PGP sign</a>)"; }
        $l = $h.$r.$t;
     }
     $l =~ s|(\s+)(\S+/)(\s*\n)$|$1."<a href=\"$2\"><b>$2</b></a>".$3|e;
     foreach $hi (@HI) {
         $l =~ s|^(.*$hi.*)$|<font color="#cc3333">$1&nbsp;&nbsp;<b>[LATEST]</b></font>|;
-        $l =~ s|>($hi)<|><font color="#cc3333">$1</font><|;
+        $l =~ s|>($hi)<|><font color="#cc3333"><span class="latest">$1</span></font><|;
     }
     print $l;
 }
@@ -368,13 +381,98 @@ foreach $l (@L) {
 </pre>
 </define-tag>
 
-#   define a <cvs> container which can be used to reference 
-#   files within the CVS repository similar to <a>.
-<define-tag cvs endtag=required>
-<preserve href>\
-<set-var %attributes>\
-  <a href="$(ROOT)/source/exp/<get-var href>"><get-var href></a>\
-<restore href>\
+<define-tag notes>
+<preserve minversion>
+<preserve maxversion>
+<preserve filename>
+<set-var %attributes>
+<:
+
+my $minversion = "<get-var minversion>";
+my $maxversion = "<get-var maxversion>";
+my $dirname = "<get-var dirname>";
+my $file;
+my $custompage = 0;
+
+if ($maxversion eq "") {
+       $minversion="<get-var WML_SRC_FILENAME>";
+       $minversion =~ s/^.*-(\d+\.\d+\.\d+)-.*$/$1/;
+       $maxversion = $minversion;
+} else {
+       $custompage = 1;
+}
+
+
+my $dir = defined $ENV{PODSHOME} ? "$ENV{PODSHOME}/../.." : "/var/cache/openssl/checkouts";
+if ($dirname ne "") {
+       $file = "${dir}/$dirname/NEWS";
+       $custompage = 1;
+} else {
+       $file = "${dir}/openssl-${minversion}-stable/NEWS";
+}
+# For testing
+$file = $ENV{NEWSTEST} if defined $ENV{NEWSTEST};
+if ($custompage == 0) {
+       my $brname = $minversion;
+       $brname =~ tr/./_/;
+       $brname = "OpenSSL_${brname}-stable";
+       print <<"END"
+<title>OpenSSL $minversion Release Notes.</title>
+<h1>OpenSSL $minversion Branch Release notes</h1>
+
+The major changes and known issues for the $minversion branch of the OpenSSL
+toolkit are summarised below. The contents reflect the current state of the
+<tt>NEWS</tt> file inside the git repository.
+<p>
+Additional details of changes can be found in the
+<a href="https://github.com/openssl/openssl/blob/$brname/CHANGES">
+change log.</a>.
+<p>
+The complete list of changes can be found in the
+<a href="https://github.com/openssl/openssl/commits/$brname">commit log</a>.
+<p>
+
+END
+}
+
+my $copy = 0;
+my $in_ul = 0;
+open(FP, "<$file") || die "Can't open $file";
+while (<FP>) {
+       if (/^\s*Major changes between.*(\d+\.\d+\.\d+)\D.*$/ ||
+               /^\s*Known issues in.*(\d+\.\d+\.\d+)\D.*$/) {
+               if ($1 ge $minversion && $1 le $maxversion) {
+                       $copy = 1;
+                       s|^(.*)$|<b>$1</b>|;
+                       if ($in_ul) {
+                               print "</ul>\n";
+                               $in_ul = 0;
+                       }
+               print;
+               next;
+               } elsif ($copy) {
+                       last;
+               }
+       }
+       if ($copy) {
+               s/&/&amp;/g;
+               s/</&lt;/g;
+               s/>/&gt;/g;
+               if (s/^\s+o\s+/<li>/ && !$in_ul) {
+                       print "<ul>\n";
+                       $in_ul = 1;
+               }
+               s/CVE-(\d{4}-\d{4})/<a href=vulnerabilities.html#$1>CVE-$1<\/a>/g;
+       print;
+       }
+       
+}
+close(FP);
+print "</ul>";
+:>
+<restore minversion>
+<restore maxversion>
+<restore filename>
 </define-tag>
 
 #
@@ -399,7 +497,6 @@ foreach $l (@L) {
         $ncol = ($ncol + 1) % 2;
         $col  = $COL[$ncol];
         s|="ROOT|="$(ROOT)|g;
-        s|="CVS|="$(ROOT)/source/exp/|g;
         if (m|^(.+?):(.+)|) {
             print "<tr bgcolor=\"$col\">\n";
             print "  <td align=right><font face=\"Arial,Helvetica\"><b>$1:</b></font></td> <td>&nbsp;&nbsp;$2</td>\n";
@@ -442,30 +539,26 @@ IS YOUR RESPONSIBILITY.
 <p>
 <font face="Arial,Helvetica" size=-1>
 CREDIT INFORMATION:
-This product includes cryptographic software written by Eric A. Young
-(eay@cryptsoft.com).  This product includes software written by Tim J.  Hudson
-(tjh@cryptsoft.com).
+This product includes cryptographic software written by Eric Young.
+This product includes software written by Tim Hudson (tjh@cryptsoft.com).
 </font>
 </define-tag>
 
-#  a tag displaying the used tools   
+#  a tag displaying the used tools
 <define-tag website-tools>
-<font face="Arial,Helvetica" size=-1> 
+<font face="Arial,Helvetica" size=-1>
 Website designed by
 <a href="http://www.engelschall.com/">Ralf S. Engelschall</a>
 and generated with
 <a href="http://thewml.org/"><font color="#000000">
 Website META Language</font></a> (WML).<br>
 All markup code and graphics on this website
-are Copyright &copy; 1999-2005 <a href="http://www.openssl.org/">The OpenSSL Project</a>, 
+are Copyright &copy; 1999-2014 <a href="http://www.openssl.org/">The OpenSSL Project</a>,
 All rights reserved.<br>
-This website is served by an 
+This website is served by an
 <a href="http://www.apache.org/"><font color="#000000">Apache</font></a>/
 <a href="http://www.modssl.org/"><font color="#000000">mod_ssl</font></a>
 webserver environment.<br>
-Hardware and bandwidth provided by 
-<a href="http://www.space.net/"><font color="#000000">
-SpaceNet AG</font></a>.
 </font>
 </define-tag>
 
@@ -502,7 +595,7 @@ SpaceNet AG</font></a>.
 
 ##
 ##  Finally, the layout is now rendered, so divert all
-##  following stuff (the code in the local file after the #use 
+##  following stuff (the code in the local file after the #use
 ##  for this template!) into the white body area.
 ##