OBS User unknown 2008-04-22 23:40:54 +00:00 committed by Git OBS Bridge
parent 9a36deb7cf
commit 553d83b5a1
4 changed files with 83 additions and 4383 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,7 @@
Index: configure.in
===================================================================
--- configure.in (revision 924)
+++ configure.in (working copy)
@@ -140,6 +140,11 @@
=== modified file 'configure.in'
--- configure.in 2008-04-08 21:37:12 +0000
+++ configure.in 2008-04-21 17:32:27 +0000
@@ -145,6 +145,11 @@
if test "$have_ssl" = "yes"; then
AC_DEFINE(HAVE_SSL, 1, [Defined if you have SSL support])
SSL_REQUIREMENT="gnutls"
@ -15,40 +13,11 @@ Index: configure.in
else
if test "$enable_ssl" = "auto"; then
AC_MSG_WARN(Disabling SSL support);
Index: libsoup/soup-ssl.h
===================================================================
--- libsoup/soup-ssl.h (revision 924)
+++ libsoup/soup-ssl.h (working copy)
@@ -44,4 +44,24 @@
SOUP_SSL_ERROR_CERTIFICATE,
} SoupSocketError;
+#ifdef HAVE_GNUTLS_CERTIFICATE_CLIENT_SET_SIGN_FUNCTION
+#include <gnutls/gnutls.h>
+
+typedef int (*SoupGnuTLSCertificateRequestFunc) (const gnutls_datum_t *req_ca_rdn,
+ int nreqs,
+ gnutls_datum_t **cert_ret,
+ int *cert_ret_len,
+ gpointer user_data);
+
+typedef int (*SoupGnuTLSSignDataFunc) (gnutls_datum_t *cert_der,
+ const gnutls_datum_t *hash_data,
+ gnutls_datum_t *sign_data,
+ gpointer user_data);
+
+void soup_gnutls_set_callbacks (SoupSSLCredentials *creds,
+ SoupGnuTLSCertificateRequestFunc cert_func,
+ SoupGnuTLSSignDataFunc sign_func,
+ gpointer user_data);
+#endif /* HAVE_GNUTLS... */
+
#endif /* SOUP_SSL_H */
Index: libsoup/soup-gnutls.c
===================================================================
--- libsoup/soup-gnutls.c (revision 924)
+++ libsoup/soup-gnutls.c (working copy)
@@ -33,6 +33,12 @@
=== modified file 'libsoup/soup-gnutls.c'
--- libsoup/soup-gnutls.c 2008-04-20 23:11:54 +0000
+++ libsoup/soup-gnutls.c 2008-04-21 17:32:27 +0000
@@ -41,6 +41,12 @@
struct SoupSSLCredentials {
gnutls_certificate_credentials creds;
gboolean have_ca_file;
@ -61,16 +30,16 @@ Index: libsoup/soup-gnutls.c
};
typedef struct {
@@ -411,6 +417,7 @@
@@ -419,6 +425,7 @@
gnutls_dh_set_prime_bits (session, DH_BITS);
gnutls_transport_set_ptr (session, GINT_TO_POINTER (sockfd));
+ gnutls_session_set_ptr (session, creds);
chan = g_new0 (SoupGNUTLSChannel, 1);
chan = g_slice_new0 (SoupGNUTLSChannel);
chan->fd = sockfd;
@@ -451,6 +458,111 @@
soup_gnutls_inited = TRUE;
@@ -462,6 +469,111 @@
}
}
+#ifdef HAVE_GNUTLS_CERTIFICATE_CLIENT_SET_SIGN_FUNCTION
@ -181,22 +150,32 @@ Index: libsoup/soup-gnutls.c
/**
* soup_ssl_get_client_credentials:
* @ca_file: path to a file containing X509-encoded Certificate
Index: libsoup/soup-session.c
===================================================================
--- libsoup/soup-session.c (revision 924)
+++ libsoup/soup-session.c (working copy)
@@ -89,6 +89,8 @@
enum {
=== modified file 'libsoup/soup-marshal.list'
--- libsoup/soup-marshal.list 2008-01-15 17:40:47 +0000
+++ libsoup/soup-marshal.list 2008-04-21 17:34:46 +0000
@@ -5,3 +5,5 @@
NONE:OBJECT,OBJECT
NONE:OBJECT,POINTER
NONE:OBJECT,OBJECT,BOOLEAN
+INT:POINTER,INT,POINTER,POINTER
+INT:POINTER,POINTER,POINTER
=== modified file 'libsoup/soup-session.c'
--- libsoup/soup-session.c 2008-04-08 22:13:03 +0000
+++ libsoup/soup-session.c 2008-04-21 17:34:09 +0000
@@ -124,6 +124,8 @@
REQUEST_STARTED,
REQUEST_UNQUEUED,
AUTHENTICATE,
REAUTHENTICATE,
+ CERTIFICATE_REQUESTED,
+ SIGN_DATA,
LAST_SIGNAL
};
@@ -292,6 +294,35 @@
G_TYPE_POINTER,
G_TYPE_POINTER);
@@ -391,6 +393,35 @@
SOUP_TYPE_AUTH,
G_TYPE_BOOLEAN);
+ /* This signal is not part of SoupSession's public API, and
+ * *will* disappear without warning in the future.
@ -230,9 +209,9 @@ Index: libsoup/soup-session.c
/* properties */
g_object_class_install_property (
object_class, PROP_PROXY_URI,
@@ -550,6 +581,46 @@
return strcmp (one->host, two->host) == 0;
}
@@ -701,6 +732,46 @@
/* Hosts */
+#ifdef HAVE_GNUTLS_CERTIFICATE_CLIENT_SET_SIGN_FUNCTION
+static int
@ -275,9 +254,9 @@ Index: libsoup/soup-session.c
+#endif
+
static SoupSessionHost *
soup_session_host_new (SoupSession *session, const SoupUri *source_uri)
soup_session_host_new (SoupSession *session, SoupURI *source_uri)
{
@@ -563,6 +634,12 @@
@@ -714,6 +785,12 @@
!priv->ssl_creds) {
priv->ssl_creds =
soup_ssl_get_client_credentials (priv->ssl_ca_file);
@ -290,13 +269,33 @@ Index: libsoup/soup-session.c
}
return host;
Index: libsoup/soup-marshal.list
===================================================================
--- libsoup/soup-marshal.list (revision 924)
+++ libsoup/soup-marshal.list (working copy)
@@ -2,3 +2,5 @@
NONE:INT
NONE:OBJECT
NONE:OBJECT,STRING,STRING,POINTER,POINTER
+INT:POINTER,INT,POINTER,POINTER
+INT:POINTER,POINTER,POINTER
=== modified file 'libsoup/soup-ssl.h'
--- libsoup/soup-ssl.h 2008-04-20 23:11:54 +0000
+++ libsoup/soup-ssl.h 2008-04-21 17:32:27 +0000
@@ -28,4 +28,24 @@
const char *remote_host,
SoupSSLCredentials *creds);
+#ifdef HAVE_GNUTLS_CERTIFICATE_CLIENT_SET_SIGN_FUNCTION
+#include <gnutls/gnutls.h>
+
+typedef int (*SoupGnuTLSCertificateRequestFunc) (const gnutls_datum_t *req_ca_rdn,
+ int nreqs,
+ gnutls_datum_t **cert_ret,
+ int *cert_ret_len,
+ gpointer user_data);
+
+typedef int (*SoupGnuTLSSignDataFunc) (gnutls_datum_t *cert_der,
+ const gnutls_datum_t *hash_data,
+ gnutls_datum_t *sign_data,
+ gpointer user_data);
+
+void soup_gnutls_set_callbacks (SoupSSLCredentials *creds,
+ SoupGnuTLSCertificateRequestFunc cert_func,
+ SoupGnuTLSSignDataFunc sign_func,
+ gpointer user_data);
+#endif /* HAVE_GNUTLS... */
+
#endif /* SOUP_SSL_H */

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Mon Apr 21 20:03:51 CEST 2008 - maw@suse.de
- Drop libsoup-2.2.100-r924.patch, because it is now upstream
- Respin libsoup-334021.patch, and rename it to
libsoup-334021-client-ssl-certs.patch.
-------------------------------------------------------------------
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de

View File

@ -20,12 +20,10 @@ Group: Development/Libraries/GNOME
AutoReqProv: on
Summary: Simple Object Access Protocol (SOAP)
Version: 2.4.1
Release: 1
Release: 2
Source: ftp://ftp.gnome.org/pub/GNOME/stable/sources/libsoup/2.2/%{name}-%{version}.tar.bz2
# PATCH-NEEDS-REBASE libsoup-2.2.100-r924.patch
Patch1: libsoup-2.2.100-r924.patch
# PATCH-NEEDS-REBASE libsoup-334021.patch
Patch2: libsoup-334021.patch
# PATCH-FEATURE-UPSTREAM libsoup-334021-client-ssl-certs.patch bgo334021 -- client SSL certificate support
Patch0: libsoup-334021-client-ssl-certs.patch
Url: http://www.gnome.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: %{name}-2_4-1 = %{version}
@ -139,8 +137,7 @@ Authors:
%prep
%setup -q
#%patch1 -p1
#%patch2 -p0
%patch0 -p0
%build
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
@ -179,6 +176,10 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/gtk-doc/html/libsoup-2.4
%changelog
* Mon Apr 21 2008 maw@suse.de
- Drop libsoup-2.2.100-r924.patch, because it is now upstream
- Respin libsoup-334021.patch, and rename it to
libsoup-334021-client-ssl-certs.patch.
* Thu Apr 10 2008 ro@suse.de
- added baselibs.conf file to build xxbit packages
for multilib support