| 
									
										
										
										
											2016-06-08 23:37:06 +08:00
										 |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2017-07-18 09:48:27 +08:00
										 |  |  |  * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved. | 
					
						
							| 
									
										
										
										
											2016-06-08 23:37:06 +08:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Licensed under the OpenSSL license (the "License").  You may not use | 
					
						
							|  |  |  |  * this file except in compliance with the License.  You can obtain a copy | 
					
						
							|  |  |  |  * in the file LICENSE in the source distribution or at | 
					
						
							|  |  |  |  * https://www.openssl.org/source/license.html
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <stdio.h>
 | 
					
						
							|  |  |  | #include <openssl/x509.h>
 | 
					
						
							|  |  |  | #include <openssl/x509v3.h>
 | 
					
						
							|  |  |  | #include <openssl/pem.h>
 | 
					
						
							|  |  |  | #include <openssl/err.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-12 11:12:04 +08:00
										 |  |  | #include "testutil.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static const char *infile; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static int test_pathlen(void) | 
					
						
							| 
									
										
										
										
											2016-06-08 23:37:06 +08:00
										 |  |  | { | 
					
						
							|  |  |  |     X509 *x = NULL; | 
					
						
							|  |  |  |     BIO *b = NULL; | 
					
						
							|  |  |  |     long pathlen; | 
					
						
							| 
									
										
										
										
											2017-04-12 11:12:04 +08:00
										 |  |  |     int ret = 0; | 
					
						
							| 
									
										
										
										
											2016-06-08 23:37:06 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-12 11:12:04 +08:00
										 |  |  |     if (!TEST_ptr(b = BIO_new_file(infile, "r")) | 
					
						
							|  |  |  |             || !TEST_ptr(x = PEM_read_bio_X509(b, NULL, NULL, NULL)) | 
					
						
							|  |  |  |             || !TEST_int_eq(pathlen = X509_get_pathlen(x), 6)) | 
					
						
							| 
									
										
										
										
											2016-06-08 23:37:06 +08:00
										 |  |  |         goto end; | 
					
						
							| 
									
										
										
										
											2017-04-12 11:12:04 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ret = 1; | 
					
						
							| 
									
										
										
										
											2016-06-08 23:37:06 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | end: | 
					
						
							|  |  |  |     BIO_free(b); | 
					
						
							|  |  |  |     X509_free(x); | 
					
						
							|  |  |  |     return ret; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2017-04-12 11:12:04 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-18 09:48:27 +08:00
										 |  |  | int setup_tests(void) | 
					
						
							| 
									
										
										
										
											2017-04-12 11:12:04 +08:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2017-07-18 09:48:27 +08:00
										 |  |  |     if (!TEST_ptr(infile = test_get_argument(0))) | 
					
						
							| 
									
										
										
										
											2017-04-12 11:12:04 +08:00
										 |  |  |         return 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ADD_TEST(test_pathlen); | 
					
						
							| 
									
										
										
										
											2017-07-18 09:48:27 +08:00
										 |  |  |     return 1; | 
					
						
							| 
									
										
										
										
											2017-04-12 11:12:04 +08:00
										 |  |  | } |