# 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*>
<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>
# 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>\
@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;
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 {
@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;
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 <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;
}
</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/&/&/g;
+ s/</</g;
+ s/>/>/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>
#
$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> $2</td>\n";
<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 © 1999-2005 <a href="http://www.openssl.org/">The OpenSSL Project</a>,
+are Copyright © 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>
##
## 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.
##