[gnutls-dev] Building gnutls from CVS without opencdk
Andrew McDonald
andrew@mcdonald.org.uk
Fri Feb 8 22:52:01 2002
--xgyAXRrhYN0wYx8y
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Nikos et al.,
I built gnutls from CVS without opencdk support. However, I ended up
with some unresolved symbols when linking my program. The attached diff
fixes these.
Also, I had some trouble with x509_ASN.y:
gcc -DHAVE_CONFIG_H -I. -I. -I.. -O2 -pipe -Wp,-MD,.deps/x509_ASN.pp -c
x509_ASN.c -fPIC -DPIC -o .libs/x509_ASN.lo
x509_ASN.y: In function `yyparse':
x509_ASN.y:279: parse error before }'
x509_ASN.y:339: parse error before }'
x509_ASN.y:341: parse error before }'
x509_ASN.y:382: parse error before `const'
x509_ASN.y:410: `c' undeclared (first use in this function)
x509_ASN.y:410: (Each undeclared identifier is reported only once
x509_ASN.y:410: for each function it appears in.)
x509_ASN.y:421: `counter' undeclared (first use in this function)
x509_ASN.y:428: `string' undeclared (first use in this function)
x509_ASN.y:440: `k' undeclared (first use in this function)
x509_ASN.y:449: `key_word' undeclared (first use in this function)
x509_ASN.y:450: `key_word_token' undeclared (first use in this function)
x509_ASN.y:475: parse error before `int'
x509_ASN.y:477: `pointer' undeclared (first use in this function)
x509_ASN.y:480: `file_name' undeclared (first use in this function)
x509_ASN.y:527: parse error before `int'
x509_ASN.y:551: `result' undeclared (first use in this function)
Somehow I eventually created a x509_ASN.tab.c. Copying this to
x509_ASN.c solved it. I'm using Debian unstables bison 1.32-3.
Regards,
Andrew
--
Andrew McDonald
E-mail: andrew@mcdonald.org.uk
http://www.mcdonald.org.uk/andrew/
--xgyAXRrhYN0wYx8y
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=gnutlsdiff
Index: lib/auth_cert.c
===================================================================
RCS file: /cvs/gnutls/gnutls/lib/auth_cert.c,v
retrieving revision 2.9
diff -u -r2.9 auth_cert.c
--- lib/auth_cert.c 2002/02/07 20:58:47 2.9
+++ lib/auth_cert.c 2002/02/08 21:38:07
@@ -795,6 +795,7 @@
return 0;
}
+#ifdef HAVE_LIBOPENCDK
#define CLEAR_CERTS for(x=0;x<peer_certificate_list_size;x++) gnutls_free_cert(peer_certificate_list[x])
int _gnutls_proc_openpgp_server_certificate(GNUTLS_STATE state,
@@ -918,15 +919,17 @@
return 0;
}
+#endif /* HAVE_LIBOPENCDK */
-
int _gnutls_proc_cert_server_certificate(GNUTLS_STATE state, opaque * data,
int data_size)
{
switch (state->security_parameters.cert_type) {
+#ifdef HAVE_LIBOPENCDK
case GNUTLS_CRT_OPENPGP:
return _gnutls_proc_openpgp_server_certificate(state, data,
data_size);
+#endif /* HAVE_LIBOPENCDK */
case GNUTLS_CRT_X509:
return _gnutls_proc_x509_server_certificate(state, data,
data_size);
@@ -1119,6 +1122,7 @@
info->
raw_certificate_list[0]);
break;
+#ifdef HAVE_LIBOPENCDK
case GNUTLS_CRT_OPENPGP:
ret =
_gnutls_openpgp_cert2gnutls_cert(&peer_cert,
@@ -1126,7 +1130,7 @@
raw_certificate_list
[0]);
break;
-
+#endif /* HAVE_LIBOPENCDK */
default:
gnutls_assert();
return GNUTLS_E_UNKNOWN_ERROR;
Index: lib/auth_dhe.c
===================================================================
RCS file: /cvs/gnutls/gnutls/lib/auth_dhe.c,v
retrieving revision 1.4
diff -u -r1.4 auth_dhe.c
--- lib/auth_dhe.c 2002/02/03 18:30:25 1.4
+++ lib/auth_dhe.c 2002/02/08 21:38:08
@@ -341,6 +341,7 @@
return ret;
}
break;
+#ifdef HAVE_LIBOPENCDK
case GNUTLS_CRT_OPENPGP:
if ((ret =
_gnutls_openpgp_cert2gnutls_cert( &peer_cert,
@@ -349,7 +350,7 @@
return ret;
}
break;
-
+#endif /* HAVE_LIBOPENCDK */
default:
gnutls_assert();
return GNUTLS_E_UNKNOWN_ERROR;
Index: lib/auth_rsa.c
===================================================================
RCS file: /cvs/gnutls/gnutls/lib/auth_rsa.c,v
retrieving revision 2.54
diff -u -r2.54 auth_rsa.c
--- lib/auth_rsa.c 2002/02/03 18:30:25 2.54
+++ lib/auth_rsa.c 2002/02/08 21:38:09
@@ -86,6 +86,7 @@
return ret;
}
break;
+#ifdef HAVE_LIBOPENCDK
case GNUTLS_CRT_OPENPGP:
if ((ret =
_gnutls_openpgp_cert2gnutls_cert( &peer_cert,
@@ -94,7 +95,7 @@
return ret;
}
break;
-
+#endif /* HAVE_LIBOPENCDK */
default:
gnutls_assert();
return GNUTLS_E_UNKNOWN_ERROR;
Index: lib/gnutls_cert.c
===================================================================
RCS file: /cvs/gnutls/gnutls/lib/gnutls_cert.c,v
retrieving revision 2.81
diff -u -r2.81 gnutls_cert.c
--- lib/gnutls_cert.c 2002/02/05 12:18:47 2.81
+++ lib/gnutls_cert.c 2002/02/08 21:38:10
@@ -296,6 +296,7 @@
state->gnutls_internals.server_cert_callback = func;
}
+#ifdef HAVE_LIBOPENCDK
/*-
* _gnutls_openpgp_cert_verify_peers - This function returns the peer's certificate status
* @state: is a gnutls state
@@ -353,6 +354,7 @@
return verify;
}
+#endif /* HAVE_LIBOPENCDK */
/**
* gnutls_certificate_verify_peers - This function returns the peer's certificate verification status
@@ -382,8 +384,10 @@
switch( gnutls_cert_type_get( state)) {
case GNUTLS_CRT_X509:
return _gnutls_x509_cert_verify_peers( state);
+#ifdef HAVE_LIBOPENCDK
case GNUTLS_CRT_OPENPGP:
return _gnutls_openpgp_cert_verify_peers( state);
+#endif /* HAVE_LIBOPENCDK */
default:
return GNUTLS_E_INVALID_REQUEST;
}
--xgyAXRrhYN0wYx8y--