OBS User unknown 2007-10-25 16:10:26 +00:00 committed by Git OBS Bridge
parent 3a99938d1c
commit 05a71fb6c2
6 changed files with 67 additions and 389 deletions

View File

@ -1,148 +0,0 @@
--- gnutls-1.4.4/includes/gnutls/gnutls.h.in~ 2007-03-06 10:58:32.000000000 -0500
+++ gnutls-1.4.4/includes/gnutls/gnutls.h.in 2007-03-08 14:59:14.000000000 -0500
@@ -970,6 +970,14 @@ extern "C"
(gnutls_certificate_credentials_t cred,
gnutls_certificate_server_retrieve_function * func);
+ typedef int gnutls_certificate_client_sign_function (gnutls_datum_t * cert,
+ gnutls_certificate_type_t cert_type,
+ const gnutls_datum_t *hash_concat,
+ gnutls_datum_t * signature);
+ void gnutls_certificate_client_set_sign_function
+ (gnutls_certificate_credentials_t cred,
+ gnutls_certificate_client_sign_function * func);
+
void gnutls_certificate_server_set_request (gnutls_session_t session,
gnutls_certificate_request_t
req);
--- gnutls-1.4.4/lib/auth_cert.h~ 2006-03-08 05:44:59.000000000 -0500
+++ gnutls-1.4.4/lib/auth_cert.h 2007-03-08 14:37:10.000000000 -0500
@@ -95,6 +95,7 @@ typedef struct gnutls_certificate_creden
gnutls_certificate_client_retrieve_function *client_get_cert_callback;
gnutls_certificate_server_retrieve_function *server_get_cert_callback;
+ gnutls_certificate_client_sign_function *client_sign_callback;
} certificate_credentials_st;
typedef struct rsa_info_st
--- gnutls-1.4.4/lib/gnutls_cert.c~ 2006-03-21 11:11:25.000000000 -0500
+++ gnutls-1.4.4/lib/gnutls_cert.c 2007-03-08 15:13:28.000000000 -0500
@@ -363,6 +363,12 @@ void gnutls_certificate_server_set_retri
cred->server_get_cert_callback = func;
}
+void gnutls_certificate_client_set_sign_function
+ (gnutls_certificate_credentials_t cred,
+ gnutls_certificate_client_sign_function * func)
+{
+ cred->client_sign_callback = func;
+}
/* These are set by the gnutls_extra library's initialization function.
*/
--- gnutls-1.4.4/lib/auth_cert.c~ 2006-06-28 05:06:09.000000000 -0400
+++ gnutls-1.4.4/lib/auth_cert.c 2007-03-08 15:01:28.000000000 -0500
@@ -1301,20 +1301,25 @@ _gnutls_gen_cert_client_cert_vrfy (gnutl
return ret;
}
- if (apr_pkey != NULL)
+ if (apr_pkey == NULL)
{
- if ((ret =
- _gnutls_tls_sign_hdata (session,
- &apr_cert_list[0],
- apr_pkey, &signature)) < 0)
- {
- gnutls_assert ();
- return ret;
- }
- }
- else
+ gnutls_certificate_credentials_t cred;
+ cred = (gnutls_certificate_credentials_t)
+ _gnutls_get_cred (session->key, GNUTLS_CRD_CERTIFICATE, NULL);
+
+ if (cred == NULL || cred->client_sign_callback == NULL)
+ {
+ return 0;
+ }
+ }
+
+ if ((ret =
+ _gnutls_tls_sign_hdata (session,
+ &apr_cert_list[0],
+ apr_pkey, &signature)) < 0)
{
- return 0;
+ gnutls_assert ();
+ return ret;
}
*data = gnutls_malloc (signature.size + 2);
--- gnutls-1.4.4/lib/gnutls_sig.c~ 2006-03-08 05:44:59.000000000 -0500
+++ gnutls-1.4.4/lib/gnutls_sig.c 2007-03-08 15:06:52.000000000 -0500
@@ -57,6 +57,7 @@ _gnutls_tls_sign_hdata (gnutls_session_t
mac_hd_t td_md5;
mac_hd_t td_sha;
gnutls_protocol_t ver = gnutls_protocol_get_version (session);
+ gnutls_certificate_credentials_t cred;
td_sha = _gnutls_hash_copy (session->internals.handshake_mac_handle_sha);
if (td_sha == NULL)
@@ -111,7 +112,15 @@ _gnutls_tls_sign_hdata (gnutls_session_t
gnutls_assert ();
return GNUTLS_E_INTERNAL_ERROR;
}
- ret = _gnutls_tls_sign (cert, pkey, &dconcat, signature);
+
+ cred = (gnutls_certificate_credentials_t)
+ _gnutls_get_cred (session->key, GNUTLS_CRD_CERTIFICATE, NULL);
+
+ if (cred != NULL && cred->client_sign_callback != NULL)
+ ret = cred->client_sign_callback (&cert->raw, cert->cert_type, &dconcat, signature);
+ else
+ ret = _gnutls_tls_sign (cert, pkey, &dconcat, signature);
+
if (ret < 0)
{
gnutls_assert ();
--- gnutls-1.4.4/includes/gnutls/gnutls.h.in~ 2007-03-09 12:48:09.000000000 -0500
+++ gnutls-1.4.4/includes/gnutls/gnutls.h.in 2007-03-09 12:48:48.000000000 -0500
@@ -970,7 +970,8 @@ extern "C"
(gnutls_certificate_credentials_t cred,
gnutls_certificate_server_retrieve_function * func);
- typedef int gnutls_certificate_client_sign_function (gnutls_datum_t * cert,
+ typedef int gnutls_certificate_client_sign_function (gnutls_session_t session,
+ gnutls_datum_t * cert,
gnutls_certificate_type_t cert_type,
const gnutls_datum_t *hash_concat,
gnutls_datum_t * signature);
--- gnutls-1.4.4/lib/gnutls_sig.c~ 2007-03-09 12:50:46.000000000 -0500
+++ gnutls-1.4.4/lib/gnutls_sig.c 2007-03-09 12:51:15.000000000 -0500
@@ -117,7 +117,9 @@ _gnutls_tls_sign_hdata (gnutls_session_t
_gnutls_get_cred (session->key, GNUTLS_CRD_CERTIFICATE, NULL);
if (cred != NULL && cred->client_sign_callback != NULL)
- ret = cred->client_sign_callback (&cert->raw, cert->cert_type, &dconcat, signature);
+ ret = cred->client_sign_callback (session,
+ &cert->raw, cert->cert_type,
+ &dconcat, signature);
else
ret = _gnutls_tls_sign (cert, pkey, &dconcat, signature);
--- gnutls-1.4.4/lib/auth_cert.c~ 2007-03-12 12:48:09.000000000 -0400
+++ gnutls-1.4.4/lib/auth_cert.c 2007-03-13 14:52:42.000000000 -0400
@@ -1301,6 +1301,11 @@ _gnutls_gen_cert_client_cert_vrfy (gnutl
return ret;
}
+ if (apr_cert_list_length == 0)
+ {
+ return 0;
+ }
+
if (apr_pkey == NULL)
{
gnutls_certificate_credentials_t cred;

View File

@ -1,215 +0,0 @@
Index: gnutls-1.6.1/lib/gnutls_session_pack.c
===================================================================
--- gnutls-1.6.1.orig/lib/gnutls_session_pack.c
+++ gnutls-1.6.1/lib/gnutls_session_pack.c
@@ -342,7 +342,7 @@ unpack_certificate_auth_info (gnutls_ses
const gnutls_datum_t * packed_session)
{
int pos = 0, size, ret;
- unsigned int i, j;
+ unsigned int i = 0, j;
size_t pack_size;
cert_auth_info_t info;
Index: gnutls-1.6.1/lib/gnutls_sig.c
===================================================================
--- gnutls-1.6.1.orig/lib/gnutls_sig.c
+++ gnutls-1.6.1/lib/gnutls_sig.c
@@ -36,6 +36,7 @@
#include <gnutls_buffers.h>
#include <gnutls_sig.h>
#include <gnutls_kx.h>
+#include "gnutls_auth_int.h"
static
int _gnutls_tls_sign (gnutls_cert * cert, gnutls_privkey * pkey,
Index: gnutls-1.6.1/lib/gnutls_x509.c
===================================================================
--- gnutls-1.6.1.orig/lib/gnutls_x509.c
+++ gnutls-1.6.1/lib/gnutls_x509.c
@@ -1886,6 +1886,7 @@ int
gnutls_x509_crt_t cert = NULL;
gnutls_x509_crl_t crl = NULL;
int ret;
+ size_t tmp_size;
ret = gnutls_pkcs12_init (&p12);
if (ret < 0)
@@ -1894,13 +1895,14 @@ int
return ret;
}
- p12blob.data = read_binary_file (pkcs12file, &p12blob.size);
+ p12blob.data = read_binary_file (pkcs12file, &tmp_size);
if (p12blob.data == NULL)
{
gnutls_assert ();
gnutls_pkcs12_deinit (p12);
return GNUTLS_E_FILE_ERROR;
}
+ p12blob.size = (unsigned int)tmp_size;
ret = gnutls_pkcs12_import (p12, &p12blob, type, 0);
free (p12blob.data);
Index: gnutls-1.6.1/lib/auth_srp.c
===================================================================
--- gnutls-1.6.1.orig/lib/auth_srp.c
+++ gnutls-1.6.1/lib/auth_srp.c
@@ -171,11 +171,13 @@ _gnutls_gen_srp_server_kx (gnutls_sessio
}
/* copy from pwd_entry to local variables (actually in session) */
- if (_gnutls_mpi_scan_nz (&G, pwd_entry->g.data, &pwd_entry->g.size) < 0)
+ tmp_size = (size_t)pwd_entry->g.size;
+ if (_gnutls_mpi_scan_nz (&G, pwd_entry->g.data, &tmp_size) < 0)
{
gnutls_assert ();
return GNUTLS_E_MPI_SCAN_FAILED;
}
+ pwd_entry->g.size = (unsigned int)tmp_size;
tmp_size = pwd_entry->n.size;
if (_gnutls_mpi_scan_nz (&N, pwd_entry->n.data, &tmp_size) < 0)
Index: gnutls-1.6.1/lib/auth_psk_passwd.c
===================================================================
--- gnutls-1.6.1.orig/lib/auth_psk_passwd.c
+++ gnutls-1.6.1/lib/auth_psk_passwd.c
@@ -48,6 +48,7 @@ pwd_put_values (gnutls_datum * psk, char
{
char *p;
int len, ret;
+ size_t tmp_size;
p = strchr (str, ':');
if (p == NULL)
@@ -76,7 +77,8 @@ pwd_put_values (gnutls_datum * psk, char
return GNUTLS_E_MEMORY_ERROR;
}
- ret = _gnutls_hex2bin ((opaque *) p, len, psk->data, &psk->size);
+ tmp_size = (size_t)psk->size;
+ ret = _gnutls_hex2bin ((opaque *) p, len, psk->data, &tmp_size);
if (ret < 0)
{
gnutls_assert ();
Index: gnutls-1.6.1/lib/gnutls_psk.c
===================================================================
--- gnutls-1.6.1.orig/lib/gnutls_psk.c
+++ gnutls-1.6.1/lib/gnutls_psk.c
@@ -95,6 +95,7 @@ gnutls_psk_set_client_credentials (gnutl
unsigned int flags)
{
int ret;
+ size_t tmp_size;
if (username == NULL || key == NULL || key->data == NULL)
{
@@ -126,7 +127,8 @@ gnutls_psk_set_client_credentials (gnutl
goto error;
}
- ret = gnutls_hex_decode (key, (char *) res->key.data, &res->key.size);
+ tmp_size = (size_t)res->key.size;
+ ret = gnutls_hex_decode (key, (char *) res->key.data, &tmp_size);
if (ret < 0)
{
gnutls_assert ();
Index: gnutls-1.6.1/src/crypt.c
===================================================================
--- gnutls-1.6.1.orig/src/crypt.c
+++ gnutls-1.6.1/src/crypt.c
@@ -187,7 +187,7 @@ _verify_passwd_int (const char *username
{
char _salt[1024];
gnutls_datum tmp, raw_salt, new_verifier;
- int salt_size;
+ size_t salt_size;
char *pos;
if (salt == NULL || verifier == NULL)
Index: gnutls-1.6.1/libextra/gnutls_openpgp.c
===================================================================
--- gnutls-1.6.1.orig/libextra/gnutls_openpgp.c
+++ gnutls-1.6.1/libextra/gnutls_openpgp.c
@@ -528,7 +528,7 @@ stream_to_datum (cdk_stream_t inp, gnutl
uint8_t buf[4096];
int rc = 0, nread, nbytes = 0;
- if (!buf || !raw)
+ if (!raw)
{
gnutls_assert ();
return GNUTLS_E_INVALID_REQUEST;
@@ -728,6 +728,7 @@ gnutls_certificate_set_openpgp_key_file
struct stat statbuf;
int rc = 0;
gnutls_datum_t key, cert;
+ size_t tmp_size;
if (!res || !keyfile || !certfile)
{
@@ -741,20 +742,22 @@ gnutls_certificate_set_openpgp_key_file
return GNUTLS_E_FILE_ERROR;
}
- cert.data = read_binary_file (certfile, &cert.size);
+ cert.data = read_binary_file (certfile, &tmp_size);
if (cert.data == NULL)
{
gnutls_assert ();
return GNUTLS_E_FILE_ERROR;
}
+ cert.size = (unsigned int)tmp_size;
- key.data = read_binary_file (keyfile, &key.size);
+ key.data = read_binary_file (keyfile, &tmp_size);
if (key.data == NULL)
{
gnutls_assert ();
free (cert.data);
return GNUTLS_E_FILE_ERROR;
}
+ key.size = (unsigned int)tmp_size;
rc = gnutls_certificate_set_openpgp_key_mem (res, &cert, &key);
Index: gnutls-1.6.1/libextra/openssl_compat.c
===================================================================
--- gnutls-1.6.1.orig/libextra/openssl_compat.c
+++ gnutls-1.6.1/libextra/openssl_compat.c
@@ -537,6 +537,7 @@ gnutls_x509_extract_certificate_dn_strin
{
gnutls_x509_crt_t xcert;
int result;
+ size_t tmp_size = sizeof_buf;
result = gnutls_x509_crt_init (&xcert);
if (result < 0)
@@ -550,9 +551,9 @@ gnutls_x509_extract_certificate_dn_strin
}
if (!issuer)
- result = gnutls_x509_crt_get_dn (xcert, buf, &sizeof_buf);
+ result = gnutls_x509_crt_get_dn (xcert, buf, &tmp_size);
else
- result = gnutls_x509_crt_get_issuer_dn (xcert, buf, &sizeof_buf);
+ result = gnutls_x509_crt_get_issuer_dn (xcert, buf, &tmp_size);
gnutls_x509_crt_deinit (xcert);
Index: gnutls-1.6.1/src/common.c
===================================================================
--- gnutls-1.6.1.orig/src/common.c
+++ gnutls-1.6.1/src/common.c
@@ -101,8 +101,10 @@ print_x509_info (gnutls_session session,
const char *cstr;
unsigned int bits, algo;
time_t expiret, activet;
+ unsigned int tmp_size;
- cert_list = gnutls_certificate_get_peers (session, &cert_list_size);
+ cert_list = gnutls_certificate_get_peers (session, &tmp_size);
+ cert_list_size = tmp_size;
if (cert_list_size == 0)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7711a351913731db25e12b20bc6f51e488f28df9c2673efdfa6e35034884cb41
size 4226536

3
gnutls-2.0.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6314580fbcc167e6f5987b634ef26fec687a0317570c26cc1a078048db8d9793
size 4837109

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Tue Oct 23 13:59:25 CEST 2007 - mkoenig@suse.de
- update to version 2.0.1
- change package layout to conform shlib policy:
rename gnutls-devel -> libgnutls-devel
new subpackage libgnutls13
- removed patches:
gnutls-1.4.4-sign-callback.patch
gnutls-1.6.1-compiler_warnings.patch
-------------------------------------------------------------------
Thu Aug 30 12:35:34 CEST 2007 - mkoenig@suse.de

View File

@ -1,5 +1,5 @@
#
# spec file for package gnutls (Version 1.6.1)
# spec file for package gnutls (Version 2.0.1)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@ -12,20 +12,18 @@
Name: gnutls
BuildRequires: gcc-c++ libgcrypt-devel libopencdk-devel lzo-devel
Version: 1.6.1
Release: 32
Version: 2.0.1
Release: 1
License: GPL v2 or later
BuildRoot: %{_tmppath}/%{name}-%{version}-build
URL: http://www.gnutls.org/
Url: http://www.gnutls.org/
Source0: %name-%version.tar.bz2
Patch0: gnutls-char-signedness.patch
Patch1: gnutls-fix_size_t.patch
Patch2: gnutls-1.4.4-sign-callback.patch
Patch3: gnutls-1.6.1-compiler_warnings.patch
Patch4: gnutls-1.6.1-srptool.patch
Patch2: gnutls-1.6.1-srptool.patch
Summary: The GNU Transport Layer Security Library
Group: Productivity/Networking/Security
Autoreqprov: on
AutoReqProv: on
PreReq: %install_info_prereq
%description
@ -42,12 +40,33 @@ Authors:
Timo Schulz
Andrew McDonald
%package devel
%package -n libgnutls13
Summary: The GNU Transport Layer Security Library
Group: Productivity/Networking/Security
%description -n libgnutls13
The GnuTLS project aims to develop a library that provides a secure
layer over a reliable transport layer. Currently the GnuTLS library
implements the proposed standards of the IETF's TLS working group.
Authors:
--------
Nikos Mavroyanopoulos
Fabio Fiorina
Timo Schulz
Andrew McDonald
%package -n libgnutls-devel
Summary: Development package for gnutls
Group: Development/Libraries/C and C++
Requires: %name = %version glibc-devel libopencdk-devel libgcrypt-devel libgpg-error-devel zlib-devel lzo-devel
Requires: libgnutls13 = %version glibc-devel libopencdk-devel libgcrypt-devel libgpg-error-devel zlib-devel lzo-devel
# gnutls-devel last used in 10.3
Obsoletes: gnutls-devel < %version
Provides: gnutls-devel = %version
%description devel
%description -n libgnutls-devel
Files needed for software development using gnutls.
@ -64,8 +83,6 @@ Authors:
%patch0
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build
autoreconf -fi
@ -83,21 +100,24 @@ make
make DESTDIR=$RPM_BUILD_ROOT install
rm -rf doc/examples/.deps doc/examples/.libs doc/examples/*.{o,lo,la} doc/examples/Makefile{,.in}
find doc/examples -perm -111 -exec rm {} \;
rm -rf %{buildroot}/usr/share/locale/en@{,bold}quot
# Do not package static libs and libtool files
rm -f %{buildroot}%{_libdir}/*.{a,la}
%find_lang %name
%clean
rm -rf %buildroot
%post
%post -n libgnutls13
%run_ldconfig
%post devel
%post -n libgnutls-devel
%install_info --info-dir=%{_infodir} %{_infodir}/gnutls.info.gz
%postun
%postun -n libgnutls13
%run_ldconfig
%postun devel
%postun -n libgnutls-devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gnutls.info.gz
%files -f %name.lang
@ -109,25 +129,35 @@ rm -rf %buildroot
%_bindir/gnutls-serv
%_bindir/srptool
%_bindir/psktool
%_libdir/*.so.*
%_mandir/man1/*
%files devel
%files -n libgnutls13
%defattr(-,root,root)
%_libdir/libgnutls.so.13*
%_libdir/libgnutls-extra.so.13*
%_libdir/libgnutls-openssl.so.13*
%_libdir/libgnutlsxx.so.13*
%files -n libgnutls-devel
%defattr(-, root, root)
%_bindir/libgnutls-config
%_bindir/libgnutls-extra-config
%_includedir/*
%_libdir/*.a
%_libdir/*.la
%_libdir/*.so
%_datadir/aclocal/*
%_libdir/pkgconfig/*
%_mandir/man3/*
%_infodir/%{name}*
%doc doc/examples doc/gnutls.html doc/*.png doc/gnutls.pdf doc/reference/html/*
%changelog
* Tue Oct 23 2007 - mkoenig@suse.de
- update to version 2.0.1
- change package layout to conform shlib policy:
rename gnutls-devel -> libgnutls-devel
new subpackage libgnutls13
- removed patches:
gnutls-1.4.4-sign-callback.patch
gnutls-1.6.1-compiler_warnings.patch
* Thu Aug 30 2007 - mkoenig@suse.de
- fix srptool [#208227]
- fix some compiler warnings