Re: [PATCH 02/15] backports: update x509.asn1.[ch]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/21/20 9:56 AM, Johannes Berg wrote:
> From: Luca Coelho <luciano.coelho@xxxxxxxxx>
> 
> In v5.2, x509_cert_parser.c implemented a new function,
> x509_note_params().  So we need the new generated asn1 files.  Update
> these files from the ones generated with v5.2

Should we generate these files automatically?
Sine this commit flex and bison are anyway needed for building:
https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git/commit/?id=4ec72687181df4b786152747c008a688c9b9b9de

Why did you use kernel 5.2 and nothing more recent?

> type=maint
> ticket=jira:WIFI-25529
> 
> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx>
> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
> ---
>  backport/compat/verification/x509.asn1.c | 105 ++++++++++++-----------
>  backport/compat/verification/x509.asn1.h |   1 +
>  2 files changed, 55 insertions(+), 51 deletions(-)
> 
> diff --git a/backport/compat/verification/x509.asn1.c b/backport/compat/verification/x509.asn1.c
> index 316c10e3267f..e68864b6a1f5 100644
> --- a/backport/compat/verification/x509.asn1.c
> +++ b/backport/compat/verification/x509.asn1.c
> @@ -13,13 +13,14 @@ enum x509_actions {
>  	ACT_x509_note_issuer = 3,
>  	ACT_x509_note_not_after = 4,
>  	ACT_x509_note_not_before = 5,
> -	ACT_x509_note_pkey_algo = 6,
> -	ACT_x509_note_serial = 7,
> -	ACT_x509_note_signature = 8,
> -	ACT_x509_note_subject = 9,
> -	ACT_x509_note_tbs_certificate = 10,
> -	ACT_x509_process_extension = 11,
> -	NR__x509_actions = 12
> +	ACT_x509_note_params = 6,
> +	ACT_x509_note_pkey_algo = 7,
> +	ACT_x509_note_serial = 8,
> +	ACT_x509_note_signature = 9,
> +	ACT_x509_note_subject = 10,
> +	ACT_x509_note_tbs_certificate = 11,
> +	ACT_x509_process_extension = 12,
> +	NR__x509_actions = 13
>  };
>  
>  static const asn1_action_t x509_action_table[NR__x509_actions] = {
> @@ -29,12 +30,13 @@ static const asn1_action_t x509_action_table[NR__x509_actions] = {
>  	[   3] = x509_note_issuer,
>  	[   4] = x509_note_not_after,
>  	[   5] = x509_note_not_before,
> -	[   6] = x509_note_pkey_algo,
> -	[   7] = x509_note_serial,
> -	[   8] = x509_note_signature,
> -	[   9] = x509_note_subject,
> -	[  10] = x509_note_tbs_certificate,
> -	[  11] = x509_process_extension,
> +	[   6] = x509_note_params,
> +	[   7] = x509_note_pkey_algo,
> +	[   8] = x509_note_serial,
> +	[   9] = x509_note_signature,
> +	[  10] = x509_note_subject,
> +	[  11] = x509_note_tbs_certificate,
> +	[  12] = x509_process_extension,
>  };
>  
>  static const unsigned char x509_machine[] = {
> @@ -61,7 +63,7 @@ static const unsigned char x509_machine[] = {
>  	// Name
>  	[  16] =   ASN1_OP_MATCH_JUMP,
>  	[  17] =   _tag(UNIV, CONS, SEQ),
> -	[  18] =   _jump_target(80),		// --> Name
> +	[  18] =   _jump_target(81),		// --> Name
>  	[  19] =   ASN1_OP_ACT,
>  	[  20] =   _action(ACT_x509_note_issuer),
>  	// Validity
> @@ -87,7 +89,7 @@ static const unsigned char x509_machine[] = {
>  	// Name
>  	[  38] =   ASN1_OP_MATCH_JUMP,
>  	[  39] =   _tag(UNIV, CONS, SEQ),
> -	[  40] =   _jump_target(80),		// --> Name
> +	[  40] =   _jump_target(81),		// --> Name
>  	[  41] =   ASN1_OP_ACT,
>  	[  42] =   _action(ACT_x509_note_subject),
>  	// SubjectPublicKeyInfo
> @@ -109,7 +111,7 @@ static const unsigned char x509_machine[] = {
>  	[  55] =   _tagn(CONT, PRIM,  2),
>  	[  56] =   ASN1_OP_MATCH_JUMP_OR_SKIP,		// extensions
>  	[  57] =   _tagn(CONT, CONS,  3),
> -	[  58] =   _jump_target(95),
> +	[  58] =   _jump_target(96),
>  	[  59] =  ASN1_OP_END_SEQ,
>  	[  60] =  ASN1_OP_ACT,
>  	[  61] =  _action(ACT_x509_note_tbs_certificate),
> @@ -132,47 +134,48 @@ static const unsigned char x509_machine[] = {
>  	[  74] =  ASN1_OP_MATCH_ACT,		// algorithm
>  	[  75] =  _tag(UNIV, PRIM, OID),
>  	[  76] =  _action(ACT_x509_note_OID),
> -	[  77] =  ASN1_OP_MATCH_ANY_OR_SKIP,		// parameters
> -	[  78] = ASN1_OP_END_SEQ,
> -	[  79] = ASN1_OP_RETURN,
> +	[  77] =  ASN1_OP_MATCH_ANY_ACT_OR_SKIP,		// parameters
> +	[  78] =  _action(ACT_x509_note_params),
> +	[  79] = ASN1_OP_END_SEQ,
> +	[  80] = ASN1_OP_RETURN,
>  
>  	// RelativeDistinguishedName
> -	[  80] =  ASN1_OP_MATCH,
> -	[  81] =  _tag(UNIV, CONS, SET),
> +	[  81] =  ASN1_OP_MATCH,
> +	[  82] =  _tag(UNIV, CONS, SET),
>  	// AttributeValueAssertion
> -	[  82] =   ASN1_OP_MATCH,
> -	[  83] =   _tag(UNIV, CONS, SEQ),
> -	[  84] =    ASN1_OP_MATCH_ACT,		// attributeType
> -	[  85] =    _tag(UNIV, PRIM, OID),
> -	[  86] =    _action(ACT_x509_note_OID),
> -	[  87] =    ASN1_OP_MATCH_ANY_ACT,		// attributeValue
> -	[  88] =    _action(ACT_x509_extract_name_segment),
> -	[  89] =   ASN1_OP_END_SEQ,
> -	[  90] =  ASN1_OP_END_SET_OF,
> -	[  91] =  _jump_target(82),
> -	[  92] = ASN1_OP_END_SEQ_OF,
> -	[  93] = _jump_target(80),
> -	[  94] = ASN1_OP_RETURN,
> +	[  83] =   ASN1_OP_MATCH,
> +	[  84] =   _tag(UNIV, CONS, SEQ),
> +	[  85] =    ASN1_OP_MATCH_ACT,		// attributeType
> +	[  86] =    _tag(UNIV, PRIM, OID),
> +	[  87] =    _action(ACT_x509_note_OID),
> +	[  88] =    ASN1_OP_MATCH_ANY_ACT,		// attributeValue
> +	[  89] =    _action(ACT_x509_extract_name_segment),
> +	[  90] =   ASN1_OP_END_SEQ,
> +	[  91] =  ASN1_OP_END_SET_OF,
> +	[  92] =  _jump_target(83),
> +	[  93] = ASN1_OP_END_SEQ_OF,
> +	[  94] = _jump_target(81),
> +	[  95] = ASN1_OP_RETURN,
>  
>  	// Extensions
> -	[  95] =  ASN1_OP_MATCH,
> -	[  96] =  _tag(UNIV, CONS, SEQ),
> +	[  96] =  ASN1_OP_MATCH,
> +	[  97] =  _tag(UNIV, CONS, SEQ),
>  	// Extension
> -	[  97] =   ASN1_OP_MATCH,
> -	[  98] =   _tag(UNIV, CONS, SEQ),
> -	[  99] =    ASN1_OP_MATCH_ACT,		// extnid
> -	[ 100] =    _tag(UNIV, PRIM, OID),
> -	[ 101] =    _action(ACT_x509_note_OID),
> -	[ 102] =    ASN1_OP_MATCH_OR_SKIP,		// critical
> -	[ 103] =    _tag(UNIV, PRIM, BOOL),
> -	[ 104] =    ASN1_OP_MATCH_ACT,		// extnValue
> -	[ 105] =    _tag(UNIV, PRIM, OTS),
> -	[ 106] =    _action(ACT_x509_process_extension),
> -	[ 107] =   ASN1_OP_END_SEQ,
> -	[ 108] =  ASN1_OP_END_SEQ_OF,
> -	[ 109] =  _jump_target(97),
> -	[ 110] = ASN1_OP_END_SEQ,
> -	[ 111] = ASN1_OP_RETURN,
> +	[  98] =   ASN1_OP_MATCH,
> +	[  99] =   _tag(UNIV, CONS, SEQ),
> +	[ 100] =    ASN1_OP_MATCH_ACT,		// extnid
> +	[ 101] =    _tag(UNIV, PRIM, OID),
> +	[ 102] =    _action(ACT_x509_note_OID),
> +	[ 103] =    ASN1_OP_MATCH_OR_SKIP,		// critical
> +	[ 104] =    _tag(UNIV, PRIM, BOOL),
> +	[ 105] =    ASN1_OP_MATCH_ACT,		// extnValue
> +	[ 106] =    _tag(UNIV, PRIM, OTS),
> +	[ 107] =    _action(ACT_x509_process_extension),
> +	[ 108] =   ASN1_OP_END_SEQ,
> +	[ 109] =  ASN1_OP_END_SEQ_OF,
> +	[ 110] =  _jump_target(98),
> +	[ 111] = ASN1_OP_END_SEQ,
> +	[ 112] = ASN1_OP_RETURN,
>  };
>  
>  const struct asn1_decoder x509_decoder = {
> diff --git a/backport/compat/verification/x509.asn1.h b/backport/compat/verification/x509.asn1.h
> index 4f32a25d6660..77ec6085ae75 100644
> --- a/backport/compat/verification/x509.asn1.h
> +++ b/backport/compat/verification/x509.asn1.h
> @@ -13,6 +13,7 @@ extern int x509_note_OID(void *, size_t, unsigned char, const void *, size_t);
>  extern int x509_note_issuer(void *, size_t, unsigned char, const void *, size_t);
>  extern int x509_note_not_after(void *, size_t, unsigned char, const void *, size_t);
>  extern int x509_note_not_before(void *, size_t, unsigned char, const void *, size_t);
> +extern int x509_note_params(void *, size_t, unsigned char, const void *, size_t);
>  extern int x509_note_pkey_algo(void *, size_t, unsigned char, const void *, size_t);
>  extern int x509_note_serial(void *, size_t, unsigned char, const void *, size_t);
>  extern int x509_note_signature(void *, size_t, unsigned char, const void *, size_t);
> 


Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux