gnutls: update to 3.2.13

Removes not needed or already merged patches.

Removes unused configure flags.
Tells gnutls to use the included libopts.

Removes libextra (not needed since 3.0.5).

(From OE-Core rev: 4e360033579b9501449798b2d118f786816a557f)

Signed-off-by: Valentin Popa <valentin.popa@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Valentin Popa
2014-04-28 17:27:29 +03:00
committed by Richard Purdie
parent 220c7e091d
commit 37610cc401
11 changed files with 42 additions and 1108 deletions

View File

@@ -1,46 +1,42 @@
SUMMARY = "GNU Transport Layer Security Library"
HOMEPAGE = "http://www.gnu.org/software/gnutls/"
BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls"
DEPENDS = "zlib lzo libtasn1 libgcrypt (>= 1.4.2) libcap readline"
INC_PR = "r8"
DEPENDS = "zlib nettle"
LICENSE = "GPLv3+ & LGPLv2.1+"
LICENSE_${PN} = "LGPLv2.1+"
LICENSE_${PN}-xx = "LGPLv2.1+"
LICENSE_${PN}-bin = "GPLv3+"
LICENSE_${PN}-extra = "GPLv3+"
LICENSE_${PN}-openssl = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://lib/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://libextra/COPYING;md5=d32239bcb673463ab874e80d47fae504"
file://COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343"
SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
SRC_URI = "ftp://ftp.gnutls.org/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.bz2"
SRC_URI = "ftp://ftp.gnutls.org/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz"
inherit autotools-brokensep texinfo binconfig pkgconfig gettext lib_package
EXTRA_OECONF="--with-included-opencdk --with-included-libcfg --disable-rpath \
--with-libtasn1-prefix=${STAGING_DIR_HOST}${prefix} \
--with-libgcrypt --with-libgcrypt-prefix=${STAGING_DIR_HOST}${prefix} \
--with-libdl-prefix=${STAGING_DIR_HOST}${prefix} \
EXTRA_OECONF="--disable-rpath \
--with-included-libtasn1 \
--enable-local-libopts \
--with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \
--with-libreadline-prefix=${STAGING_DIR_HOST}${prefix} \
--with-libz-prefix=${STAGING_DIR_HOST}${prefix} \
--with-lzo --disable-guile \
--disable-guile \
--without-p11-kit \
"
do_configure_prepend() {
for dir in . lib libextra; do
for dir in . lib; do
rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4
done
}
PACKAGES =+ "${PN}-openssl ${PN}-extra ${PN}-xx"
PACKAGES =+ "${PN}-openssl ${PN}-xx"
FILES_${PN}-dev += "${bindir}/gnutls-cli-debug"
FILES_${PN}-extra = "${libdir}/libgnutls-extra.so.*"
FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*"
FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*"

View File

@@ -1,636 +0,0 @@
Description: Update gdoc script from gnutls master.
This includes bef38b98c0536d81c0e4b2e78a9182e1df1d451c among other fixes:
.
[PATCH] Avoid depending on hash order in gdoc.
.
Previously, gdoc had a hash of regexp replacements for each output
format, and applied the replacements in the order that "keys" returned
for the hash. However, not all orders are safe -- and now that Perl 5.18
randomises hash order per-process, it only worked sometimes!
Bug-Debian: http://bugs.debian.org/724167
Upstream-Status: Backport
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
--- gnutls26-2.12.23.orig/doc/scripts/gdoc
+++ gnutls26-2.12.23/doc/scripts/gdoc
@@ -1,4 +1,6 @@
-#!/usr/bin/perl
+eval '(exit $?0)' && eval 'exec perl "$0" ${1+"$@"}'
+ & eval 'exec perl "$0" $argv:q'
+ if 0;
## Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
## added -texinfo, -listfunc, -pkg-name
@@ -7,6 +9,8 @@
## Copyright (c) 2001, 2002 Nikos Mavrogiannopoulos
## added -tex
## Copyright (c) 1998 Michael Zucchi
+## Copyright (c) 2013 Adam Sampson
+## made highlighting not depend on hash order, for Perl 5.18
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -132,57 +136,59 @@
use POSIX qw(strftime);
# match expressions used to find embedded type information
-$type_constant = "((?<!\")\\\%(\\w+))";
-$type_func = "(\\w+\\(\\))";
-$type_param = "\\\@(\\w+)";
-$type_struct = "\\\#(\\w+)";
-$type_env = "(\\\$\\w+)";
+$type_constant = "\\\%([A-Za-z0-9_]+)";
+$type_func = "([A-Za-z0-9_]+\\(\\))";
+$type_param = '\@([A-Za-z0-9_]+)\s*';
+$type_struct = "\\\#([A-Za-z0-9_]+)";
+$type_env = "(\\\$[A-Za-z0-9_]+)";
# Output conversion substitutions.
# One for each output format
# these work fairly well
-%highlights_html = ( $type_constant, "<i>\$2</i>",
- $type_func, "<b>\$1</b>",
- $type_struct, "<i>\$1</i>",
- $type_param, "<tt><b>\$1</b></tt>" );
+@highlights_html = ( [$type_constant, '"<i>$1</i>"'],
+ [$type_func, '"<b>$1</b>"'],
+ [$type_struct, '"<i>$1</i>"'],
+ [$type_param, '" <tt><b>$1</b></tt> "'] );
$blankline_html = "<p>";
-%highlights_texinfo = ( $type_constant, "\\\@code{\$2}",
- $type_func, "\\\@code{\$1}",
- $type_struct, "\\\@code{\$1}",
- $type_param, "\\\@code{\$1}" );
+@highlights_texinfo = ( [$type_param, '" \@code{$1} "'],
+ [$type_constant, '"\@code{$1} "'],
+ [$type_func, '"\@code{$1} "'],
+ [$type_struct, '"\@code{$1} "'],
+ );
$blankline_texinfo = "";
-%highlights_tex = ( $type_constant, "{\\\\it \$2}",
- $type_func, "{\\\\bf \$1}",
- $type_struct, "{\\\\it \$1}",
- $type_param, "{\\\\bf \$1}" );
+@highlights_tex = ( [$type_param, '" {\\\bf $1} "'],
+ [$type_constant, '"{\\\it $1}"'],
+ [$type_func, '"{\\\bf $1}"'],
+ [$type_struct, '"{\\\it $1}"'],
+ );
$blankline_tex = "\\\\";
# sgml, docbook format
-%highlights_sgml = ( $type_constant, "<replaceable class=\"option\">\$2</replaceable>",
- $type_func, "<function>\$1</function>",
- $type_struct, "<structname>\$1</structname>",
- $type_env, "<envar>\$1</envar>",
- $type_param, "<parameter>\$1</parameter>" );
+@highlights_sgml = ( [$type_constant, '"<replaceable class=\"option\">$1</replaceable>"'],
+ [$type_func, '"<function>$1</function>"'],
+ [$type_struct, '"<structname>$1</structname>"'],
+ [$type_env, '"<envar>$1</envar>"'],
+ [$type_param, '" <parameter>$1</parameter> "'] );
$blankline_sgml = "</para><para>\n";
# these are pretty rough
-%highlights_man = ( $type_constant, "\\\\fB\$2\\\\fP",
- $type_func, "\\\\fB\$1\\\\fP",
- $type_struct, "\\\\fB\$1\\\\fP",
- $type_param, "\\\\fI\$1\\\\fP" );
+@highlights_man = ( [$type_constant, '"\\\fB$1\\\fP"'],
+ [$type_func, '"\\\fB$1\\\fP"'],
+ [$type_struct, '"\\\fB$1\\\fP"'],
+ [$type_param, '" \\\fI$1\\\fP "'] );
$blankline_man = "";
# text-mode
-%highlights_text = ( $type_constant, "\$2",
- $type_func, "\$1",
- $type_struct, "\$1",
- $type_param, "\$1" );
+@highlights_text = ( [$type_constant, '"$1"'],
+ [$type_func, '"$1"'],
+ [$type_struct, '"$1"'],
+ [$type_param, '"$1 "'] );
$blankline_text = "";
-
+my $lineprefix = "";
sub usage {
print "Usage: $0 [ -v ] [ -docbook | -html | -text | -man | -tex | -texinfo -listfunc ]\n";
@@ -201,7 +207,7 @@ if ($#ARGV==-1) {
$verbose = 0;
$output_mode = "man";
-%highlights = %highlights_man;
+@highlights = @highlights_man;
$blankline = $blankline_man;
$modulename = "API Documentation";
$sourceversion = strftime "%Y-%m-%d", localtime;
@@ -210,27 +216,27 @@ while ($ARGV[0] =~ m/^-(.*)/) {
$cmd = shift @ARGV;
if ($cmd eq "-html") {
$output_mode = "html";
- %highlights = %highlights_html;
+ @highlights = @highlights_html;
$blankline = $blankline_html;
} elsif ($cmd eq "-man") {
$output_mode = "man";
- %highlights = %highlights_man;
+ @highlights = @highlights_man;
$blankline = $blankline_man;
} elsif ($cmd eq "-tex") {
$output_mode = "tex";
- %highlights = %highlights_tex;
+ @highlights = @highlights_tex;
$blankline = $blankline_tex;
} elsif ($cmd eq "-texinfo") {
$output_mode = "texinfo";
- %highlights = %highlights_texinfo;
+ @highlights = @highlights_texinfo;
$blankline = $blankline_texinfo;
} elsif ($cmd eq "-text") {
$output_mode = "text";
- %highlights = %highlights_text;
+ @highlights = @highlights_text;
$blankline = $blankline_text;
} elsif ($cmd eq "-docbook") {
$output_mode = "sgml";
- %highlights = %highlights_sgml;
+ @highlights = @highlights_sgml;
$blankline = $blankline_sgml;
} elsif ($cmd eq "-listfunc") {
$output_mode = "listfunc";
@@ -270,6 +276,8 @@ sub dump_section {
my $name = shift @_;
my $contents = join "\n", @_;
+ $name = " $name";
+
if ($name =~ m/$type_constant/) {
$name = $1;
# print STDERR "constant section '$1' = '$contents'\n";
@@ -280,6 +288,7 @@ sub dump_section {
$parameters{$name} = $contents;
} else {
# print STDERR "other section '$name' = '$contents'\n";
+ $name =~ tr/ //d;
$sections{$name} = $contents;
push @sectionlist, $name;
}
@@ -296,35 +305,15 @@ sub dump_section {
# sections => %descriont descriptions
#
-sub repstr {
- $pattern = shift;
- $repl = shift;
- $match1 = shift;
- $match2 = shift;
- $match3 = shift;
- $match4 = shift;
-
- $output = $repl;
- $output =~ s,\$1,$match1,g;
- $output =~ s,\$2,$match2,g;
- $output =~ s,\$3,$match3,g;
- $output =~ s,\$4,$match4,g;
-
- eval "\$return = qq/$output/";
-
-# print "pattern $pattern matched 1=$match1 2=$match2 3=$match3 4=$match4 replace $repl yielded $output interpolated $return\n";
-
- $return;
-}
-
sub just_highlight {
my $contents = join "\n", @_;
my $line;
my $ret = "";
- foreach $pattern (keys %highlights) {
-# print "scanning pattern $pattern ($highlights{$pattern})\n";
- $contents =~ s:$pattern:repstr($pattern, $highlights{$pattern}, $1, $2, $3, $4):gse;
+ foreach $highlight (@highlights) {
+ my ($pattern, $replace) = @$highlight;
+ #print "scanning pattern $pattern ($replace)\n";
+ $contents =~ s/$pattern/$replace/gees;
}
foreach $line (split "\n", $contents) {
if ($line eq ""){
@@ -370,13 +359,45 @@ sub output_texinfo {
}
}
foreach $section (@{$args{'sectionlist'}}) {
+ $section =~ s/\@//g;
print "\n\@strong{$section:} " if $section ne $section_default;
- $args{'sections'}{$section} =~ s:([{}]):\@\1:gs;
+ $args{'sections'}{$section} =~ s:([{}]):\@$1:gs;
output_highlight($args{'sections'}{$section});
}
print "\@end deftypefun\n\n";
}
+sub output_enum_texinfo {
+ my %args = %{$_[0]};
+ my ($parameter, $section);
+ my $count;
+ my $name = $args{'enum'};
+ my $param;
+ my $param2;
+ my $sec;
+ my $check;
+ my $type;
+
+ print "\n\@c $name\n";
+ print "\@table \@code\n";
+
+ $check=0;
+ foreach $parameter (@{$args{'parameterlist'}}) {
+ $param1 = $parameter;
+ $param1 =~ s/_/_\@-/g;
+
+ $check = 1;
+ print "\@item ".$param1."\n";
+# print "\n";
+
+ $param2 = $args{'parameters'}{$parameter};
+ $out = just_highlight($param2);
+ chomp $out;
+ print $out . "\n";
+ }
+ print "\@end table\n";
+}
+
# output in html
sub output_html {
my %args = %{$_[0]};
@@ -428,7 +449,9 @@ sub output_tex {
$func =~ s/_/\\_/g;
- print "\n\n\\subsection{". $func . "}\n\\label{" . $args{'function'} . "}\n";
+ print "\n\n\\begin{function}\n";
+ print "\\functionTitle{". $func . "}\n";
+ print "\\index{". $func . "}\n";
$type = $args{'functiontype'};
$type =~ s/_/\\_/g;
@@ -451,9 +474,8 @@ sub output_tex {
}
print ")\n";
- print "\n{\\large{Arguments}}\n";
+ print "\n\\begin{functionArguments}\n";
- print "\\begin{itemize}\n";
$check=0;
foreach $parameter (@{$args{'parameterlist'}}) {
$param1 = $args{'parametertypes'}{$parameter};
@@ -462,11 +484,12 @@ sub output_tex {
$param2 =~ s/_/\\_/g;
$check = 1;
- print "\\item {\\it ".$param1."} {\\bf ".$param2."}: \n";
+ print "\\functionArgument {\\it ".$param1."} {\\bf ".$param2."}: \n";
# print "\n";
$param3 = $args{'parameters'}{$parameter};
- $param3 =~ s/#([a-zA-Z\_]+)/{\\it \1}/g;
+ $param3 =~ s/\#([a-zA-Z\_]+)/{\\it $1}/g;
+ $param3 =~ s/\%([a-zA-Z\_]+)/{\\bf $1}/g;
$out = just_highlight($param3);
$out =~ s/_/\\_/g;
@@ -475,31 +498,72 @@ sub output_tex {
if ($check==0) {
print "\\item void\n";
}
- print "\\end{itemize}\n";
+ print "\\end{functionArguments}\n";
foreach $section (@{$args{'sectionlist'}}) {
$sec = $section;
$sec =~ s/_/\\_/g;
- $sec =~ s/#([a-zA-Z\_]+)/{\\it \1}/g;
+ $sec =~ s/#([a-zA-Z\_]+)/{\\it $1}/g;
- print "\n{\\large{$sec}}\\\\\n";
- print "\\begin{rmfamily}\n";
+ print "\n\\begin{function${sec}}\n";
+ $out = $args{'sections'}{$section};
- $sec = $args{'sections'}{$section};
- $sec =~ s/\\:/:/g;
- $sec =~ s/#([a-zA-Z\_]+)/{\\it \1}/g;
- $sec =~ s/->/\$\\rightarrow\$/g;
- $sec =~ s/([0-9]+)\^([0-9]+)/\$\{\1\}\^\{\2\}\$/g;
-
- $out = just_highlight($sec);
- $out =~ s/_/\\_/g;
+ $out =~ s/\#([a-zA-Z\_]+)/{\\it $1}/g;
+ $out =~ s/\%([a-zA-Z\_]+)/{\\bf $1}/g;
+ $out =~ s/\@([a-zA-Z\_]+)/{\\bf $1}/g;
+ $out =~ s/_/\\_\\-/g;
+ $out =~ s/\$/\\\$/g;
+ $out =~ s/#/\\#/g;
+ $out =~ s/\n\n/\n/g;
+ $out =~ s/\\:/:/g;
+ $out =~ s/\-\>/\$\\rightarrow\$/g;
+ $out =~ s/([0-9]+)\^([0-9]+)/\$\{$1\}\^\{$2\}\$/g;
print $out;
- print "\\end{rmfamily}\n";
+ print "\\end{function${sec}}\n";
}
- print "\n";
+ print "\\end{function}\n\n";
}
+sub output_enum_tex {
+ my %args = %{$_[0]};
+ my ($parameter, $section);
+ my $count;
+ my $name = $args{'enum'};
+ my $param;
+ my $param2;
+ my $sec;
+ my $check;
+ my $type;
+
+ print "\n\n\\begin{enum}\n";
+ $name =~ s/_/\\_/g;
+ print "\\enumTitle{". $name . "}\n";
+ print "\\index{". $name . "}\n";
+
+ print "\n\\begin{enumList}\n";
+
+ $check=0;
+ foreach $parameter (@{$args{'parameterlist'}}) {
+ $param1 = $parameter;
+ $param1 =~ s/_/\\_\\-/g;
+
+ $check = 1;
+ print "\\enumElement{".$param1."}{";
+# print "\n";
+
+ $param2 = $args{'parameters'}{$parameter};
+ $param2 =~ s/\#([a-zA-Z\_]+)/{\\it $1}/g;
+ $param2 =~ s/\%([a-zA-Z\_]+)/{\\bf $1}/g;
+ $out = just_highlight($param2);
+ $out =~ s/_/\\_/g;
+ chomp $out;
+ print $out . "}\n";
+ }
+ print "\\end{enumList}\n";
+
+ print "\\end{enum}\n\n";
+}
# output in sgml DocBook
sub output_sgml {
@@ -639,11 +703,14 @@ sub output_man {
if ($args{'bugsto'}) {
print ".SH \"REPORTING BUGS\"\n";
print "Report bugs to <". $args{'bugsto'} . ">.\n";
+ print ".br\n";
+ print "General guidelines for reporting bugs: http://www.gnu.org/gethelp/\n";
+ print ".br\n";
if ($args{'pkgname'}) {
print $args{'pkgname'} . " home page: " .
"http://www.gnu.org/software/" . $args{'module'} . "/\n";
}
- print "General help using GNU software: http://www.gnu.org/gethelp/\n";
+ print "\n";
}
if ($args{'copyright'}) {
@@ -670,6 +737,10 @@ sub output_man {
print ".B info " . $args{'seeinfo'} . "\n";
print ".PP\n";
print "should give you access to the complete manual.\n";
+ print "As an alternative you may obtain the manual from:\n";
+ print ".IP\n";
+ print ".B http://www.gnu.org/software/" . $args{'module'} . "/manual/\n";
+ print ".PP\n";
}
}
@@ -705,6 +776,10 @@ sub output_function {
eval "output_".$output_mode."(\@_);";
}
+sub output_enum {
+ eval "output_enum_".$output_mode."(\@_);";
+}
+
##
# takes a function prototype and spits out all the details
@@ -744,7 +819,7 @@ sub dump_function {
# print STDERR " :> @args\n";
$type = join " ", @args;
- if ($parameters{$param} eq "" && $param != "void") {
+ if ((!defined($parameters{$param}) || $parameters{$param} eq "") && $param ne "void") {
$parameters{$param} = "-- undescribed --";
print STDERR "warning: $lineno: Function parameter '$param' not described in '$function_name'\n";
}
@@ -781,6 +856,56 @@ sub dump_function {
}
}
+sub dump_enum {
+ my $prototype = shift @_;
+
+ if (($prototype =~ m/^\s*typedef\s+enum\s*[a-zA-Z0-9_~:]*\s*\{([\-a-zA-Z0-9_~=,:\s\(\)\<]+)\s*\}\s*([a-zA-Z0-9_]+);.*/)) {
+# || $prototype =~ m/^\s*enum\s+([a-zA-Z0-9_~:]+).*/) {
+ $args = $1;
+ $name = $2;
+
+ foreach $arg (split ',', $args) {
+ # strip leading/trailing spaces
+ $arg =~ s/^\s*//;
+ $arg =~ s/\s*$//;
+ $arg =~ s/([A-Za-z0-9_]+)\s*=.*/$1/g;
+# print STDERR "SCAN ARG: '$arg'\n";
+
+ next if $arg eq '';
+ if ((!defined($parameters{$arg}) || $parameters{$arg} eq "")) {
+ $parameters{$arg} = "-- undescribed --";
+ print STDERR "warning: $lineno: Enumeration parameter '$arg' not described in '$name'\n";
+ }
+
+ push @parameterlist, $arg;
+
+# print STDERR "param = '$arg'\n";
+ }
+ } else {
+# print STDERR "warning: $lineno: Cannot understand enumeration: '$prototype'\n";
+ return;
+ }
+
+ output_enum({'enum' => $name,
+ 'module' => $modulename,
+ 'sourceversion' => $sourceversion,
+ 'include' => $include,
+ 'includefuncprefix' => $includefuncprefix,
+ 'bugsto' => $bugsto,
+ 'pkgname' => $pkgname,
+ 'copyright' => $copyright,
+ 'verbatimcopying' => $verbatimcopying,
+ 'seeinfo' => $seeinfo,
+ 'functiontype' => $return_type,
+ 'parameterlist' => \@parameterlist,
+ 'parameters' => \%parameters,
+ 'parametertypes' => \%parametertypes,
+ 'sectionlist' => \@sectionlist,
+ 'sections' => \%sections,
+ 'purpose' => $function_purpose
+ });
+}
+
######################################################################
# main
# states
@@ -797,7 +922,7 @@ $doc_start = "^/\\*\\*\$";
$doc_end = "\\*/";
$doc_com = "\\s*\\*\\s*";
$doc_func = $doc_com."(\\w+):?";
-$doc_sect = $doc_com."([".$doc_special."[:upper:]][\\w ]+):\\s*(.*)";
+$doc_sect = $doc_com."([".$doc_special."[:upper:]][\\w]+):\\s*(.*)";
$doc_content = $doc_com."(.*)";
%constants = ();
@@ -809,6 +934,7 @@ $doc_content = $doc_com."(.*)";
$contents = "";
$section_default = "Description"; # default section
$section = $section_default;
+$enum = 0;
$lineno = 0;
foreach $file (@ARGV) {
@@ -816,18 +942,21 @@ foreach $file (@ARGV) {
print STDERR "Error: Cannot open file $file\n";
next;
}
- while (<IN>) {
+ while ($line = <IN>) {
$lineno++;
if ($state == 0) {
- if (/$doc_start/o) {
+ if ($line =~ /$doc_start/o) {
$state = 1; # next line is always the function name
+# print STDERR "XXX: start of doc comment\n";
}
} elsif ($state == 1) { # this line is the function name (always)
- if (/$doc_func/o) {
+ if ($line =~ /$doc_func/o) {
$function = $1;
$state = 2;
- if (/-\s*(.*)/) {
+# print STDERR "XXX: start of doc comment, looking for prototype\n";
+
+ if ($line =~ /-\s*(.*)/) {
$function_purpose = $1;
} else {
$function_purpose = "";
@@ -841,11 +970,11 @@ foreach $file (@ARGV) {
$state = 0;
}
} elsif ($state == 2) { # look for head: lines, and include content
- if (/$doc_sect/o) {
+ if ($line =~ /$doc_sect/o) {
$newsection = $1;
$newcontents = $2;
- if ($contents ne "") {
+ if ($contents ne '') {
dump_section($section, $contents);
$section = $section_default;
}
@@ -855,7 +984,7 @@ foreach $file (@ARGV) {
$contents .= "\n";
}
$section = $newsection;
- } elsif (/$doc_end/) {
+ } elsif ($line =~ /$doc_end/) {
if ($contents ne "") {
dump_section($section, $contents);
@@ -863,13 +992,12 @@ foreach $file (@ARGV) {
$contents = "";
}
-# print STDERR "end of doc comment, looking for prototype\n";
$prototype = "";
$state = 3;
- } elsif (/$doc_content/) {
+ } elsif ($line =~ /$doc_content/) {
# miguel-style comment kludge, look for blank lines after
# @parameter line to signify start of description
- if ($1 eq "" && $section =~ m/^@/) {
+ if ($1 eq '' && $section =~ m/^@/) {
dump_section($section, $contents);
$section = $section_default;
$contents = "";
@@ -881,13 +1009,16 @@ foreach $file (@ARGV) {
print STDERR "warning: $lineno: Bad line: $_";
}
} elsif ($state == 3) { # scanning for function { (end of prototype)
- if (m#\s*/\*\s+MACDOC\s*#io) {
+ if ($line =~ m#\s*/\*\s+MACDOC\s*#io) {
# do nothing
}
- elsif (/([^\{]*)/) {
+ elsif ($enum == 1 && $line =~ /(^\s*\{).*/) {
+ $prototype .= "{";
+ }
+ elsif ($line =~ /([^\{]*)/) {
$prototype .= $1;
}
- if (/\{/) {
+ if ($enum == 0 && $line =~ /\{/) {
$prototype =~ s@/\*.*?\*/@@gos; # strip comments.
$prototype =~ s@[\r\n]+@ @gos; # strip newlines/cr's.
$prototype =~ s@^ +@@gos; # strip leading spaces
@@ -901,9 +1032,32 @@ foreach $file (@ARGV) {
%sections = ();
@sectionlist = ();
$prototype = "";
+ $enum = 0;
$state = 0;
}
+ elsif ($enum == 1 && $line =~ /\}/) {
+ $prototype =~ s@/\*.*?\*/@@gos; # strip comments.
+ $prototype =~ s@[\r\n]+@ @gos; # strip newlines/cr's.
+ $prototype =~ s@^ +@@gos; # strip leading spaces
+ dump_enum($prototype);
+
+ $function = "";
+ %constants = ();
+ %parameters = ();
+ %parametertypes = ();
+ @parameterlist = ();
+ %sections = ();
+ @sectionlist = ();
+ $prototype = "";
+ $enum = 0;
+
+ $state = 0;
+ }
+ elsif ($line =~ /([a-zA-Z\s]+)enum(.*)$/) {
+ $enum = 1;
+ }
+
}
}
}

View File

@@ -1,106 +0,0 @@
From 6aa26f78150ccbdf0aec1878a41c17c41d358a3b Mon Sep 17 00:00:00 2001
From: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Date: Thu, 27 Feb 2014 19:42:26 +0100
Subject: [PATCH 1/3] corrected return codes
Upstream-Status: Backport
Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
---
lib/x509/verify.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/lib/x509/verify.c b/lib/x509/verify.c
index c9a6b0d..eef85a8 100644
--- a/lib/x509/verify.c
+++ b/lib/x509/verify.c
@@ -141,7 +141,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
if (result < 0)
{
gnutls_assert ();
- goto cleanup;
+ goto fail;
}
result =
@@ -150,7 +150,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
if (result < 0)
{
gnutls_assert ();
- goto cleanup;
+ goto fail;
}
result =
@@ -158,7 +158,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
if (result < 0)
{
gnutls_assert ();
- goto cleanup;
+ goto fail;
}
result =
@@ -166,7 +166,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
if (result < 0)
{
gnutls_assert ();
- goto cleanup;
+ goto fail;
}
/* If the subject certificate is the same as the issuer
@@ -206,6 +206,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
else
gnutls_assert ();
+fail:
result = 0;
cleanup:
@@ -330,7 +331,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert,
gnutls_datum_t cert_signed_data = { NULL, 0 };
gnutls_datum_t cert_signature = { NULL, 0 };
gnutls_x509_crt_t issuer = NULL;
- int issuer_version, result;
+ int issuer_version, result = 0;
if (output)
*output = 0;
@@ -363,7 +364,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert,
if (issuer_version < 0)
{
gnutls_assert ();
- return issuer_version;
+ return 0;
}
if (!(flags & GNUTLS_VERIFY_DISABLE_CA_SIGN) &&
@@ -385,6 +386,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert,
if (result < 0)
{
gnutls_assert ();
+ result = 0;
goto cleanup;
}
@@ -393,6 +395,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert,
if (result < 0)
{
gnutls_assert ();
+ result = 0;
goto cleanup;
}
@@ -410,6 +413,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert,
else if (result < 0)
{
gnutls_assert();
+ result = 0;
goto cleanup;
}
--
1.8.3.2

View File

@@ -1,33 +0,0 @@
From 467478d8ff08a3cb4be3034ff04c9d08a0ceba3e Mon Sep 17 00:00:00 2001
From: Nikos Mavrogiannopoulos <nmav@redhat.com>
Date: Wed, 12 Feb 2014 16:41:33 +0100
Subject: [PATCH 1/5] Fixed bug that prevented the rejection of v1 intermediate
CA certificates.
Upstream-Status: Backport
Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
---
lib/x509/verify.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/x509/verify.c b/lib/x509/verify.c
index 2efcebf..c9a6b0d 100644
--- a/lib/x509/verify.c
+++ b/lib/x509/verify.c
@@ -645,7 +645,10 @@ _gnutls_x509_verify_certificate (const gnutls_x509_crt_t * certificate_list,
* certificates can exist in a supplied chain.
*/
if (!(flags & GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT))
- flags &= ~(GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT);
+ {
+ flags &= ~(GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT);
+ flags |= GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT;
+ }
if ((ret =
_gnutls_verify_certificate2 (certificate_list[i - 1],
&certificate_list[i], 1, flags,
--
1.8.3.2

View File

@@ -1,51 +0,0 @@
Upstream-Status: Inappropriate
automake 1.12.x has deprecated AM_PROG_MKDIR_P , and throws a warning for that,
and the warnings are treated as errors because of the -Werror parameter.
These AM_PROG_MKDIR_P are coming from gettext, and the latest gettext code has not
eliminated these deprecated macros yet. So disable the treatment of warnings
as errors until gettext is updated to remove the deprecated macros.
Signed-Off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2012/07/09
Index: gnutls-2.12.19/configure.ac
===================================================================
--- gnutls-2.12.19.orig/configure.ac
+++ gnutls-2.12.19/configure.ac
@@ -26,7 +26,7 @@ AC_INIT([GnuTLS], [2.12.19], [bug-gnutls
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 -Wall -Werror -Wno-override])
+AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 -Wall -Wno-override])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_CONFIG_HEADER(config.h)
Index: gnutls-2.12.19/lib/configure.ac
===================================================================
--- gnutls-2.12.19.orig/lib/configure.ac
+++ gnutls-2.12.19/lib/configure.ac
@@ -26,7 +26,7 @@ AC_INIT([libgnutls], [2.12.19], [bug-gnu
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-override])
+AM_INIT_AUTOMAKE([1.10 -Wall -Wno-override])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_CONFIG_HEADER(config.h)
Index: gnutls-2.12.19/libextra/configure.ac
===================================================================
--- gnutls-2.12.19.orig/libextra/configure.ac
+++ gnutls-2.12.19/libextra/configure.ac
@@ -26,7 +26,7 @@ AC_INIT([libgnutls-extra], [2.12.19], [b
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-override])
+AM_INIT_AUTOMAKE([1.10 -Wall -Wno-override])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_CONFIG_HEADER(config.h)

View File

@@ -1,65 +0,0 @@
Upstream-Status: Inappropriate [distribution]
rebased from original configure_madness.patch
libtasn1 provides an .pc file in upstream,
and a libgcrypt.pc is added in libgcrypt recipe,
so use Requires.private for these two.
against 2.8.6
07/02/2010 - qhe
---
Index: gnutls-2.12.11/lib/configure.ac
===================================================================
--- gnutls-2.12.11.orig/lib/configure.ac
+++ gnutls-2.12.11/lib/configure.ac
@@ -126,8 +126,8 @@ lgl_INIT
AC_CHECK_FUNCS(getrusage,,)
AC_LIB_HAVE_LINKFLAGS(pthread,, [#include <pthread.h>], [pthread_mutex_lock (0);])
-LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBS"
-LIBGNUTLS_CFLAGS="-I${includedir}"
+LIBGNUTLS_LIBS="-lgnutls $LIBS"
+LIBGNUTLS_CFLAGS=""
AC_SUBST(LIBGNUTLS_LIBS)
AC_SUBST(LIBGNUTLS_CFLAGS)
Index: gnutls-2.12.11/lib/gnutls.pc.in
===================================================================
--- gnutls-2.12.11.orig/lib/gnutls.pc.in
+++ gnutls-2.12.11/lib/gnutls.pc.in
@@ -20,6 +20,4 @@ Description: Transport Security Layer im
URL: http://www.gnu.org/software/gnutls/
Version: @VERSION@
Libs: -L${libdir} -lgnutls
-Libs.private: @LTLIBGCRYPT@ @LTLIBNETTLE@ @NETTLE_LIBS@ @GNUTLS_ZLIB_LIBS_PRIVATE@
-@GNUTLS_REQUIRES_PRIVATE@
Cflags: -I${includedir}
Index: gnutls-2.12.11/libextra/configure.ac
===================================================================
--- gnutls-2.12.11.orig/libextra/configure.ac
+++ gnutls-2.12.11/libextra/configure.ac
@@ -41,8 +41,8 @@ LIBGNUTLS_EXTRA_HOOKS
xgl_INIT
-LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LZO_LIBS $LIBGNUTLS_LIBS"
-LIBGNUTLS_EXTRA_CFLAGS="-I${includedir}"
+LIBGNUTLS_EXTRA_LIBS="-lgnutls-extra $LZO_LIBS $LIBGNUTLS_LIBS"
+LIBGNUTLS_EXTRA_CFLAGS=""
AC_SUBST(LIBGNUTLS_EXTRA_LIBS)
AC_SUBST(LIBGNUTLS_EXTRA_CFLAGS)
Index: gnutls-2.12.11/libextra/gnutls-extra.pc.in
===================================================================
--- gnutls-2.12.11.orig/libextra/gnutls-extra.pc.in
+++ gnutls-2.12.11/libextra/gnutls-extra.pc.in
@@ -22,5 +22,5 @@ URL: http://www.gnu.org/software/gnutls/
Requires: gnutls
Version: @VERSION@
Libs: -L${libdir} -lgnutls-extra
-Libs.private: @LIBGNUTLS_EXTRA_LIBS@
+Libs.private: -llzo2
Cflags: -I${includedir}

View File

@@ -1,3 +1,8 @@
From ae3370788ed3447bba16969d9eb1bf1b9631e1b7 Mon Sep 17 00:00:00 2001
From: Valentin Popa <valentin.popa@intel.com>
Date: Fri, 25 Apr 2014 13:58:55 +0300
Subject: [PATCH] Correct rpl_gettimeofday signature
Currently we fail on uclibc like below
| In file included from /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-uclibc/sysroots/qemuarm/usr/include/sys/procfs.h:32:0,
@@ -14,7 +19,6 @@ Currently we fail on uclibc like below
| make[4]: *** [ex-cxx.o] Error 1
| make[4]: *** Waiting for unfinished jobs....
GCC detects that we call 'restrict' as param name in function
signatures and complains since both params are called 'restrict'
therefore we use __restrict to denote the C99 keywork
@@ -25,14 +29,17 @@ eglibc otherwise we will have same issue there too
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
---
gl/sys_time.in.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
Index: gnutls-2.12.14/gl/sys_time.in.h
===================================================================
--- gnutls-2.12.14.orig/gl/sys_time.in.h 2012-01-15 10:54:39.517285351 -0800
+++ gnutls-2.12.14/gl/sys_time.in.h 2012-01-15 10:59:23.773299108 -0800
@@ -82,20 +82,20 @@
# define gettimeofday rpl_gettimeofday
# endif
diff --git a/gl/sys_time.in.h b/gl/sys_time.in.h
index 84a17c9..6ceadc3 100644
--- a/gl/sys_time.in.h
+++ b/gl/sys_time.in.h
@@ -93,20 +93,20 @@ struct timeval
# define gettimeofday rpl_gettimeofday
# endif
_GL_FUNCDECL_RPL (gettimeofday, int,
- (struct timeval *restrict, void *restrict)
+ (struct timeval *__restrict, void *__restrict)
@@ -40,18 +47,21 @@ Index: gnutls-2.12.14/gl/sys_time.in.h
_GL_CXXALIAS_RPL (gettimeofday, int,
- (struct timeval *restrict, void *restrict));
+ (struct timeval *__restrict, void *__restrict));
# else
# if !@HAVE_GETTIMEOFDAY@
# else
# if !@HAVE_GETTIMEOFDAY@
_GL_FUNCDECL_SYS (gettimeofday, int,
- (struct timeval *restrict, void *restrict)
+ (struct timeval *__restrict, void *__restrict)
_GL_ARG_NONNULL ((1)));
# endif
# endif
/* Need to cast, because on glibc systems, by default, the second argument is
struct timezone *. */
_GL_CXXALIAS_SYS_CAST (gettimeofday, int,
- (struct timeval *restrict, void *restrict));
+ (struct timeval *__restrict, void *__restrict));
# endif
# endif
_GL_CXXALIASWARN (gettimeofday);
# elif defined GNULIB_POSIXCHECK
#elif defined GNULIB_POSIXCHECK
--
1.9.1

View File

@@ -1,46 +0,0 @@
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Index: gnutls-2.12.14/lib/po/Makefile.in.in
===================================================================
--- gnutls-2.12.14.orig/lib/po/Makefile.in.in
+++ gnutls-2.12.14/lib/po/Makefile.in.in
@@ -8,8 +8,8 @@
# Please note that the actual code of GNU gettext is covered by the GNU
# General Public License and is *not* in the public domain.
#
-# Origin: gettext-0.17
-GETTEXT_MACRO_VERSION = 0.17
+# Origin: gettext-0.18
+GETTEXT_MACRO_VERSION = 0.18
PACKAGE = @PACKAGE@
VERSION = @VERSION@
Index: gnutls-2.12.14/lib/m4/po.m4
===================================================================
--- gnutls-2.12.14.orig/lib/m4/po.m4
+++ gnutls-2.12.14/lib/m4/po.m4
@@ -29,7 +29,7 @@ AC_DEFUN([AM_PO_SUBDIRS],
dnl Release version of the gettext macros. This is used to ensure that
dnl the gettext macros and po/Makefile.in.in are in sync.
- AC_SUBST([GETTEXT_MACRO_VERSION], [0.17])
+ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
dnl Perform the following tests also if --disable-nls has been given,
dnl because they are needed for "make dist" to work.
Index: gnutls-2.12.14/lib/configure.ac
===================================================================
--- gnutls-2.12.14.orig/lib/configure.ac
+++ gnutls-2.12.14/lib/configure.ac
@@ -39,7 +39,7 @@ AC_PROG_LIBTOOL
LIBGNUTLS_HOOKS
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION([0.17])
+AM_GNU_GETTEXT_VERSION([0.18])
AC_C_BIGENDIAN

View File

@@ -1,126 +0,0 @@
Upstream-Status: Backport
Index: gnutls-1.6.0/libextra/gnutls_openssl.c
===================================================================
--- gnutls-1.6.0.orig/libextra/gnutls_openssl.c 2006-08-13 22:34:09.000000000 +0200
+++ gnutls-1.6.0/libextra/gnutls_openssl.c 2006-12-12 15:07:59.002227000 +0100
@@ -256,12 +256,17 @@
ssl->rfd = (gnutls_transport_ptr_t) - 1;
ssl->wfd = (gnutls_transport_ptr_t) - 1;
+ ssl->ssl_peek_buffer = NULL;
+ ssl->ssl_peek_buffer_size = ssl->ssl_peek_avail = 0;
+
return ssl;
}
void
SSL_free (SSL * ssl)
{
+ if (ssl->ssl_peek_buffer)
+ free(ssl->ssl_peek_buffer);
gnutls_certificate_free_credentials (ssl->gnutls_cred);
gnutls_deinit (ssl->gnutls_state);
free (ssl);
@@ -285,6 +290,7 @@
SSL_set_fd (SSL * ssl, int fd)
{
gnutls_transport_set_ptr (ssl->gnutls_state, GNUTLS_INT_TO_POINTER (fd));
+ ssl->rfd = ssl->wfd = fd;
return 1;
}
@@ -310,6 +316,17 @@
return 1;
}
+int SSL_get_rfd(SSL *ssl)
+{
+ return ssl->rfd;
+}
+
+int SSL_get_wfd(SSL *ssl)
+{
+ return ssl->wfd;
+}
+
+
void
SSL_set_bio (SSL * ssl, BIO * rbio, BIO * wbio)
{
@@ -325,6 +342,8 @@
int
SSL_pending (SSL * ssl)
{
+ if (ssl->ssl_peek_avail)
+ return ssl->ssl_peek_avail;
return gnutls_record_check_pending (ssl->gnutls_state);
}
@@ -480,11 +499,50 @@
return 1;
}
+int SSL_peek(SSL *ssl, void *buf, int len)
+{
+ if (len > ssl->ssl_peek_buffer_size) {
+ ssl->ssl_peek_buffer = realloc (ssl->ssl_peek_buffer, len);
+ ssl->ssl_peek_buffer_size = len;
+ }
+
+ if (ssl->ssl_peek_avail == 0) {
+
+ int ret;
+
+ ret = gnutls_record_recv(ssl->gnutls_state, ssl->ssl_peek_buffer, len);
+ ssl->last_error = ret;
+
+ if (ret > 0)
+ ssl->ssl_peek_avail += ret;
+ }
+
+ if (len > ssl->ssl_peek_avail)
+ len = ssl->ssl_peek_avail;
+
+ memcpy (buf, ssl->ssl_peek_buffer, len);
+
+ return len;
+}
+
int
SSL_read (SSL * ssl, void *buf, int len)
{
int ret;
+ if (ssl->ssl_peek_avail) {
+ int n = (ssl->ssl_peek_avail > len) ? len : ssl->ssl_peek_avail;
+
+ memcpy (buf, ssl->ssl_peek_buffer, n);
+
+ if (ssl->ssl_peek_avail > n)
+ memmove (ssl->ssl_peek_buffer, ssl->ssl_peek_buffer + n, ssl->ssl_peek_avail - n);
+
+ ssl->ssl_peek_avail -= n;
+
+ return n;
+ }
+
ret = gnutls_record_recv (ssl->gnutls_state, buf, len);
ssl->last_error = ret;
Index: gnutls-1.6.0/includes/gnutls/openssl.h
===================================================================
--- gnutls-1.6.0.orig/libextra/includes/gnutls/openssl.h 2006-03-08 11:44:58.000000000 +0100
+++ gnutls-1.6.0/libextra/includes/gnutls/openssl.h 2006-12-12 15:07:26.032227000 +0100
@@ -164,6 +164,11 @@
gnutls_transport_ptr_t rfd;
gnutls_transport_ptr_t wfd;
+
+ char *ssl_peek_buffer;
+ size_t ssl_peek_buffer_size;
+ size_t ssl_peek_avail;
+
};
#define rbio gnutls_state

View File

@@ -1,16 +0,0 @@
require gnutls.inc
PR = "${INC_PR}.4"
SRC_URI += "file://gnutls-openssl.patch \
file://correct_rpl_gettimeofday_signature.patch \
file://configure-fix.patch \
file://avoid_AM_PROG_MKDIR_P_warning_error_with_automake_1.12.patch \
file://CVE-2014-1959-rejection-of-v1-intermediate-cert.patch \
file://CVE-2014-0092-corrected-return-codes.patch \
file://25_updatedgdocfrommaster.diff \
${@['', 'file://fix-gettext-version.patch'][bb.data.inherits_class('native', d) or (not ((d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1))]} \
"
SRC_URI[md5sum] = "f3c1d34bd5f113395c4be0d5dfc2b7fe"
SRC_URI[sha256sum] = "dfa67a7e40727eb0913e75f3c44911d5d8cd58d1ead5acfe73dd933fc0d17ed2"

View File

@@ -0,0 +1,7 @@
require gnutls.inc
SRC_URI += "file://correct_rpl_gettimeofday_signature.patch \
"
SRC_URI[md5sum] = "300e5f413054e2f4719c1c3b5179a611"
SRC_URI[sha256sum] = "e83676218ba80c4d577d7027b5b087692280347a9b06f90a452403ba70faa604"