grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v8 03/22] libtasn1: disable code not needed in grub


From: Gary Lin
Subject: Re: [PATCH v8 03/22] libtasn1: disable code not needed in grub
Date: Thu, 18 Jan 2024 16:37:36 +0800

On Wed, Jan 17, 2024 at 04:15:47PM +0800, Gary Lin wrote:
> On Wed, Jan 17, 2024 at 05:28:20AM +0300, Vladimir 'phcoder' Serbinenko wrote:
> > I would suggest something a bit more descriptive than if 0. What about
> > #ifdef GRUB_SKIPPED_IMPORTING ?
> > 
> That makes sense and improves the readability. Will update it for v9.

One of the advantages of "#if 0" is the syntax highlighting so that it's
clear which code is disabled. I propose to add a comment like this:

#if 0 /* GRUB SKIPPED IMPORTING */

Gary Lin
> 
> Thanks,
> 
> Gary Lin
> 
> > Le mar. 16 janv. 2024, 12:24, Gary Lin via Grub-devel <grub-devel@gnu.org>
> > a écrit :
> > 
> > > From: Daniel Axtens <dja@axtens.net>
> > >
> > > We don't expect to be able to write ASN.1, only read it,
> > > so we can disable some code.
> > >
> > > Do that with #if 0/#endif, rather than deletion. This means
> > > that the difference between upstream and grub is smaller,
> > > which should make updating libtasn1 easier in the future.
> > >
> > > With these exclusions we also avoid the need for minmax.h,
> > > which is convenient because it means we don't have to
> > > import it from gnulib.
> > >
> > > Signed-off-by: Daniel Axtens <dja@axtens.net>
> > > Signed-off-by: Gary Lin <glin@suse.com>
> > > ---
> > >  grub-core/lib/libtasn1/lib/coding.c    | 12 ++++++++++--
> > >  grub-core/lib/libtasn1/lib/decoding.c  |  2 ++
> > >  grub-core/lib/libtasn1/lib/element.c   |  4 ++--
> > >  grub-core/lib/libtasn1/lib/errors.c    |  3 +++
> > >  grub-core/lib/libtasn1/lib/structure.c | 10 ++++++----
> > >  include/grub/libtasn1.h                | 15 +++++++++++++++
> > >  6 files changed, 38 insertions(+), 8 deletions(-)
> > >
> > > diff --git a/grub-core/lib/libtasn1/lib/coding.c
> > > b/grub-core/lib/libtasn1/lib/coding.c
> > > index ea5bc370e..841fe47a9 100644
> > > --- a/grub-core/lib/libtasn1/lib/coding.c
> > > +++ b/grub-core/lib/libtasn1/lib/coding.c
> > > @@ -30,11 +30,11 @@
> > >  #include "parser_aux.h"
> > >  #include <gstr.h>
> > >  #include "element.h"
> > > -#include "minmax.h"
> > >  #include <structure.h>
> > >
> > >  #define MAX_TAG_LEN 16
> > >
> > > +#if 0
> > >  /******************************************************/
> > >  /* Function : _asn1_error_description_value_not_found */
> > >  /* Description: creates the ErrorDescription string   */
> > > @@ -58,6 +58,7 @@ _asn1_error_description_value_not_found (asn1_node node,
> > >    Estrcat (ErrorDescription, "' not found");
> > >
> > >  }
> > > +#endif
> > >
> > >  /**
> > >   * asn1_length_der:
> > > @@ -244,6 +245,7 @@ asn1_encode_simple_der (unsigned int etype, const
> > > unsigned char *str,
> > >    return ASN1_SUCCESS;
> > >  }
> > >
> > > +#if 0
> > >  /******************************************************/
> > >  /* Function : _asn1_time_der                          */
> > >  /* Description: creates the DER coding for a TIME     */
> > > @@ -278,7 +280,7 @@ _asn1_time_der (unsigned char *str, int str_len,
> > > unsigned char *der,
> > >
> > >    return ASN1_SUCCESS;
> > >  }
> > > -
> > > +#endif
> > >
> > >  /*
> > >  void
> > > @@ -519,6 +521,7 @@ asn1_bit_der (const unsigned char *str, int bit_len,
> > >  }
> > >
> > >
> > > +#if 0
> > >  /******************************************************/
> > >  /* Function : _asn1_complete_explicit_tag             */
> > >  /* Description: add the length coding to the EXPLICIT */
> > > @@ -595,6 +598,7 @@ _asn1_complete_explicit_tag (asn1_node node, unsigned
> > > char *der,
> > >
> > >    return ASN1_SUCCESS;
> > >  }
> > > +#endif
> > >
> > >  const tag_and_class_st _asn1_tags[] = {
> > >    [ASN1_ETYPE_GENERALSTRING] =
> > > @@ -647,6 +651,8 @@ const tag_and_class_st _asn1_tags[] = {
> > >
> > >  unsigned int _asn1_tags_size = sizeof (_asn1_tags) / sizeof
> > > (_asn1_tags[0]);
> > >
> > > +
> > > +#if 0
> > >  /******************************************************/
> > >  /* Function : _asn1_insert_tag_der                    */
> > >  /* Description: creates the DER coding of tags of one */
> > > @@ -1423,3 +1429,5 @@ error:
> > >    asn1_delete_structure (&node);
> > >    return err;
> > >  }
> > > +
> > > +#endif
> > > \ No newline at end of file
> > > diff --git a/grub-core/lib/libtasn1/lib/decoding.c
> > > b/grub-core/lib/libtasn1/lib/decoding.c
> > > index b9245c486..92fc87c23 100644
> > > --- a/grub-core/lib/libtasn1/lib/decoding.c
> > > +++ b/grub-core/lib/libtasn1/lib/decoding.c
> > > @@ -1620,6 +1620,7 @@ asn1_der_decoding (asn1_node * element, const void
> > > *ider, int ider_len,
> > >    return asn1_der_decoding2 (element, ider, &ider_len, 0,
> > > errorDescription);
> > >  }
> > >
> > > +#if 0
> > >  /**
> > >   * asn1_der_decoding_element:
> > >   * @structure: pointer to an ASN1 structure
> > > @@ -1650,6 +1651,7 @@ asn1_der_decoding_element (asn1_node * structure,
> > > const char *elementName,
> > >  {
> > >    return asn1_der_decoding (structure, ider, len, errorDescription);
> > >  }
> > > +#endif
> > >
> > >  /**
> > >   * asn1_der_decoding_startEnd:
> > > diff --git a/grub-core/lib/libtasn1/lib/element.c
> > > b/grub-core/lib/libtasn1/lib/element.c
> > > index d4c558e10..5c7941e53 100644
> > > --- a/grub-core/lib/libtasn1/lib/element.c
> > > +++ b/grub-core/lib/libtasn1/lib/element.c
> > > @@ -191,7 +191,7 @@ _asn1_append_sequence_set (asn1_node node, struct
> > > node_tail_cache_st *pcache)
> > >    return ASN1_SUCCESS;
> > >  }
> > >
> > > -
> > > +#if 0
> > >  /**
> > >   * asn1_write_value:
> > >   * @node_root: pointer to a structure
> > > @@ -646,7 +646,7 @@ asn1_write_value (asn1_node node_root, const char
> > > *name,
> > >
> > >    return ASN1_SUCCESS;
> > >  }
> > > -
> > > +#endif
> > >
> > >  #define PUT_VALUE( ptr, ptr_size, data, data_size) \
> > >         *len = data_size; \
> > > diff --git a/grub-core/lib/libtasn1/lib/errors.c
> > > b/grub-core/lib/libtasn1/lib/errors.c
> > > index aef5dfe6f..0175ddedb 100644
> > > --- a/grub-core/lib/libtasn1/lib/errors.c
> > > +++ b/grub-core/lib/libtasn1/lib/errors.c
> > > @@ -57,6 +57,8 @@ static const libtasn1_error_entry error_algorithms[] = {
> > >    {0, 0}
> > >  };
> > >
> > > +
> > > +#if 0
> > >  /**
> > >   * asn1_perror:
> > >   * @error: is an error returned by a libtasn1 function.
> > > @@ -73,6 +75,7 @@ asn1_perror (int error)
> > >    const char *str = asn1_strerror (error);
> > >    fprintf (stderr, "LIBTASN1 ERROR: %s\n", str ? str : "(null)");
> > >  }
> > > +#endif
> > >
> > >  /**
> > >   * asn1_strerror:
> > > diff --git a/grub-core/lib/libtasn1/lib/structure.c
> > > b/grub-core/lib/libtasn1/lib/structure.c
> > > index 512dd601f..3e1e35ba5 100644
> > > --- a/grub-core/lib/libtasn1/lib/structure.c
> > > +++ b/grub-core/lib/libtasn1/lib/structure.c
> > > @@ -76,7 +76,7 @@ _asn1_find_left (asn1_node_const node)
> > >    return node->left;
> > >  }
> > >
> > > -
> > > +#if 0
> > >  int
> > >  _asn1_create_static_structure (asn1_node_const pointer,
> > >                                char *output_file_name, char *vector_name)
> > > @@ -155,7 +155,7 @@ _asn1_create_static_structure (asn1_node_const 
> > > pointer,
> > >
> > >    return ASN1_SUCCESS;
> > >  }
> > > -
> > > +#endif
> > >
> > >  /**
> > >   * asn1_array2tree:
> > > @@ -721,7 +721,7 @@ asn1_create_element (asn1_node_const definitions,
> > > const char *source_name,
> > >    return res;
> > >  }
> > >
> > > -
> > > +#if 0
> > >  /**
> > >   * asn1_print_structure:
> > >   * @out: pointer to the output file (e.g. stdout).
> > > @@ -1062,7 +1062,7 @@ asn1_print_structure (FILE * out, asn1_node_const
> > > structure, const char *name,
> > >         }
> > >      }
> > >  }
> > > -
> > > +#endif
> > >
> > >
> > >  /**
> > > @@ -1158,6 +1158,7 @@ asn1_find_structure_from_oid (asn1_node_const
> > > definitions,
> > >    return NULL;                 /* ASN1_ELEMENT_NOT_FOUND; */
> > >  }
> > >
> > > +#if 0
> > >  /**
> > >   * asn1_copy_node:
> > >   * @dst: Destination asn1 node.
> > > @@ -1207,6 +1208,7 @@ asn1_copy_node (asn1_node dst, const char *dst_name,
> > >
> > >    return result;
> > >  }
> > > +#endif
> > >
> > >  /**
> > >   * asn1_dup_node:
> > > diff --git a/include/grub/libtasn1.h b/include/grub/libtasn1.h
> > > index 51cc7879f..507e0679e 100644
> > > --- a/include/grub/libtasn1.h
> > > +++ b/include/grub/libtasn1.h
> > > @@ -318,6 +318,8 @@ extern "C"
> > >  /*  Functions definitions          */
> > >  /***********************************/
> > >
> > > +/* These functions are not used in grub and should not be referenced. */
> > > +# if 0
> > >    extern ASN1_API int
> > >      asn1_parser2tree (const char *file,
> > >                       asn1_node * definitions, char *error_desc);
> > > @@ -326,14 +328,17 @@ extern "C"
> > >      asn1_parser2array (const char *inputFileName,
> > >                        const char *outputFileName,
> > >                        const char *vectorName, char *error_desc);
> > > +# endif
> > >
> > >    extern ASN1_API int
> > >      asn1_array2tree (const asn1_static_node * array,
> > >                      asn1_node * definitions, char *errorDescription);
> > >
> > > +# if 0
> > >    extern ASN1_API void
> > >      asn1_print_structure (FILE * out, asn1_node_const structure,
> > >                           const char *name, int mode);
> > > +# endif
> > >
> > >    extern ASN1_API int
> > >      asn1_create_element (asn1_node_const definitions,
> > > @@ -347,9 +352,11 @@ extern "C"
> > >    extern ASN1_API int
> > >      asn1_delete_element (asn1_node structure, const char *element_name);
> > >
> > > +# if 0
> > >    extern ASN1_API int
> > >      asn1_write_value (asn1_node node_root, const char *name,
> > >                       const void *ivalue, int len);
> > > +# endif
> > >
> > >    extern ASN1_API int
> > >      asn1_read_value (asn1_node_const root, const char *name,
> > > @@ -366,9 +373,11 @@ extern "C"
> > >      asn1_number_of_elements (asn1_node_const element, const char *name,
> > >                              int *num);
> > >
> > > +# if 0
> > >    extern ASN1_API int
> > >      asn1_der_coding (asn1_node_const element, const char *name,
> > >                      void *ider, int *len, char *ErrorDescription);
> > > +# endif
> > >
> > >    extern ASN1_API int
> > >      asn1_der_decoding2 (asn1_node * element, const void *ider,
> > > @@ -379,6 +388,7 @@ extern "C"
> > >      asn1_der_decoding (asn1_node * element, const void *ider,
> > >                        int ider_len, char *errorDescription);
> > >
> > > +# if 0
> > >  /* Do not use. Use asn1_der_decoding() instead. */
> > >    extern ASN1_API int
> > >      asn1_der_decoding_element (asn1_node * structure,
> > > @@ -386,6 +396,7 @@ extern "C"
> > >                                const void *ider, int len,
> > >                                char *errorDescription)
> > >      _ASN1_GCC_ATTR_DEPRECATED;
> > > +# endif
> > >
> > >    extern ASN1_API int
> > >      asn1_der_decoding_startEnd (asn1_node element,
> > > @@ -411,12 +422,16 @@ extern "C"
> > >                                                             const char
> > >                                                             *oidValue);
> > >
> > > +# if 0
> > >      __LIBTASN1_PURE__
> > >      extern ASN1_API const char *asn1_check_version (const char
> > > *req_version);
> > > +# endif
> > >
> > >    __LIBTASN1_PURE__ extern ASN1_API const char *asn1_strerror (int 
> > > error);
> > >
> > > +# if 0
> > >    extern ASN1_API void asn1_perror (int error);
> > > +# endif
> > >
> > >  # define ASN1_MAX_TAG_SIZE 4
> > >  # define ASN1_MAX_LENGTH_SIZE 9
> > > --
> > > 2.35.3
> > >
> > >
> > > _______________________________________________
> > > Grub-devel mailing list
> > > Grub-devel@gnu.org
> > > https://lists.gnu.org/mailman/listinfo/grub-devel
> > >



reply via email to

[Prev in Thread] Current Thread [Next in Thread]