svn commit: lorikeet r762 - in trunk/heimdal/lib/hx509: .

lha at samba.org lha at samba.org
Tue Jun 26 12:45:44 GMT 2007


Author: lha
Date: 2007-06-26 12:45:44 +0000 (Tue, 26 Jun 2007)
New Revision: 762

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=lorikeet&rev=762

Log:
Merged with Heimdal svn revision 21340
Modified:
   trunk/heimdal/lib/hx509/ChangeLog
   trunk/heimdal/lib/hx509/hxtool.c
   trunk/heimdal/lib/hx509/req.c
   trunk/heimdal/lib/hx509/version-script.map


Changeset:
Modified: trunk/heimdal/lib/hx509/ChangeLog
===================================================================
--- trunk/heimdal/lib/hx509/ChangeLog	2007-06-26 12:12:22 UTC (rev 761)
+++ trunk/heimdal/lib/hx509/ChangeLog	2007-06-26 12:45:44 UTC (rev 762)
@@ -1,5 +1,11 @@
 2007-06-26  Love Hörnquist Åstrand  <lha at it.su.se>
 
+	* version-script.map: Add initialize_hx_error_table_r.
+
+	* req.c: Move _hx509_request_print here.
+
+	* hxtool.c: use _hx509_request_print
+
 	* version-script.map: Export more crap^W semiprivate functions.
 
 	* hxtool.c: don't _hx509_abort

Modified: trunk/heimdal/lib/hx509/hxtool.c
===================================================================
--- trunk/heimdal/lib/hx509/hxtool.c	2007-06-26 12:12:22 UTC (rev 761)
+++ trunk/heimdal/lib/hx509/hxtool.c	2007-06-26 12:45:44 UTC (rev 762)
@@ -32,7 +32,7 @@
  */
 
 #include "hx_locl.h"
-RCSID("$Id: hxtool.c 21330 2007-06-26 11:09:55Z lha $");
+RCSID("$Id: hxtool.c 21338 2007-06-26 12:40:56Z lha $");
 
 #include <hxtool-commands.h>
 #include <sl.h>
@@ -1204,58 +1204,21 @@
 int
 pkcs10_print(struct pkcs10_print_options *opt, int argc, char **argv)
 {
-    size_t size, length;
+    size_t length;
     int ret, i;
     void *p;
 
     printf("pkcs10 print\n");
 
     for (i = 0; i < argc; i++) {
-	CertificationRequest req;
-	CertificationRequestInfo *rinfo;
-
 	ret = _hx509_map_file(argv[i], &p, &length, NULL);
 	if (ret)
 	    err(1, "map_file: %s: %d", argv[i], ret);
 
-	ret = decode_CertificationRequest(p, length, &req, &size);
+	ret = _hx509_request_print(context, stdout, p, length);
 	_hx509_unmap_file(p, length);
 	if (ret)
-	    errx(1, "failed to parse file %s: %d", argv[i], ret);
-
-	rinfo = &req.certificationRequestInfo;
-
-	{
-	    char *subject;
-	    hx509_name n;
-
-	    ret = _hx509_name_from_Name(&rinfo->subject, &n);
-	    if (ret)
-		abort();
-	    
-	    ret = hx509_name_to_string(n, &subject);
-	    hx509_name_free(&n);
-	    if (ret)
-		abort();
-	    
-	    printf("name: %s\n", subject);
-	    free(subject);
-	}
-
-	if (rinfo->attributes && rinfo->attributes->len) {
-	    int j;
-
-	    printf("Attributes:\n");
-
-	    for (j = 0; j < rinfo->attributes->len; j++) {
-		char *str;
-		hx509_oid_sprint(&rinfo->attributes->val[j].type, &str);
-		printf("\toid: %s\n", str);
-		free(str);
-	    }
-	}
-
-	free_CertificationRequest(&req);
+	    hx509_err(context, 1, ret, "Failed to print file %s", argv[ i]);
     }
 
     return 0;

Modified: trunk/heimdal/lib/hx509/req.c
===================================================================
--- trunk/heimdal/lib/hx509/req.c	2007-06-26 12:12:22 UTC (rev 761)
+++ trunk/heimdal/lib/hx509/req.c	2007-06-26 12:45:44 UTC (rev 762)
@@ -33,7 +33,7 @@
 
 #include "hx_locl.h"
 #include <pkcs10_asn1.h>
-RCSID("$Id: req.c 20934 2007-06-06 15:30:02Z lha $");
+RCSID("$Id: req.c 21335 2007-06-26 12:18:33Z lha $");
 
 struct hx509_request_data {
     hx509_name name;
@@ -215,3 +215,58 @@
 
     return ret;
 }
+
+int
+_hx509_request_print(hx509_context context, FILE *f, const void *data, size_t len)
+{
+    CertificationRequest req;
+    CertificationRequestInfo *rinfo;
+    size_t size;
+    int ret;
+
+    ret = decode_CertificationRequest(data, len, &req, &size);
+    if (ret) {
+	hx509_set_error_string(context, 0, ret, "Failed to decode request");
+	return ret;
+    }
+
+    rinfo = &req.certificationRequestInfo;
+
+    {
+	char *subject;
+	hx509_name n;
+	
+	ret = _hx509_name_from_Name(&rinfo->subject, &n);
+	if (ret) {
+	    hx509_set_error_string(context, 0, ret, "Failed to extract name");
+	    free_CertificationRequest(&req);
+	    return ret;
+	}
+	ret = hx509_name_to_string(n, &subject);
+	hx509_name_free(&n);
+	if (ret) {
+	    hx509_set_error_string(context, 0, ret, "Failed to print name");
+	    free_CertificationRequest(&req);
+	    return ret;
+	}
+	
+	fprintf(f, "name: %s\n", subject);
+	free(subject);
+    }
+    
+    if (rinfo->attributes && rinfo->attributes->len) {
+	int j;
+
+	fprintf(f, "Attributes:\n");
+	
+	for (j = 0; j < rinfo->attributes->len; j++) {
+	    char *str;
+	    hx509_oid_sprint(&rinfo->attributes->val[j].type, &str);
+	    fprintf(f, "\toid: %s\n", str);
+	    free(str);
+	}
+    }
+    free_CertificationRequest(&req);
+    return 0;
+}
+

Modified: trunk/heimdal/lib/hx509/version-script.map
===================================================================
--- trunk/heimdal/lib/hx509/version-script.map	2007-06-26 12:12:22 UTC (rev 761)
+++ trunk/heimdal/lib/hx509/version-script.map	2007-06-26 12:45:44 UTC (rev 762)
@@ -2,6 +2,7 @@
 
 HEIMDAL_X509_1.0 {
 	global:
+		initialize_hx_error_table_r;
 		hx509_bitstring_print;
 		hx509_ca_sign;
 		hx509_ca_sign_self;
@@ -202,6 +203,7 @@
 		_hx509_request_to_pkcs10;
 		_hx509_request_to_pkcs10;
 		_hx509_request_free;
+		_hx509_request_print;
 		_hx509_private_key_ref;
 		_hx509_private_key_free;
 		_hx509_private_key2SPKI;
@@ -213,8 +215,6 @@
 		_hx509_cert_assign_key;
 		_hx509_cert_private_key;
 		_hx509_name_from_Name;
-		decode_CertificationRequest;
-		free_CertificationRequest;
 	local:
 		*;
 };



More information about the samba-cvs mailing list