Dealing with RFC2553 and RFC3493 where NI_MAXHOST and NI_MAXSERV no longer exist

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

 




Going in circles trying to compile 1.1.1a with strict C99 and no
optimizations and with a ready to debug and single step resultant
library.  Ran headlong into crypto/bio/b_addr.c where we see :

   176  /*-
   177   * addr_strings - helper function to get host and service names
   178   * @ap: the BIO_ADDR that has the input info
   179   * @numeric: 0 if actual names should be returned, 1 if the numeric
   180   * representation should be returned.
   181   * @hostname: a pointer to a pointer to a memory area to store the
   182   * host name or numeric representation.  Unused if NULL.
   183   * @service: a pointer to a pointer to a memory area to store the
   184   * service name or numeric representation.  Unused if NULL.
   185   *
186 * The return value is 0 on failure, with the error code in the error
   187   * stack, and 1 on success.
   188   */
   189  static int addr_strings(const BIO_ADDR *ap, int numeric,
   190                          char **hostname, char **service)
   191  {
   192      if (BIO_sock_init() != 1)
   193          return 0;
   194
   195      if (1) {
   196  #ifdef AI_PASSIVE
   197          int ret = 0;
   198          char host[NI_MAXHOST] = "", serv[NI_MAXSERV] = "";
   199          int flags = 0;
   200
.
.
.

Where we see NI_MAXHOST and NI_MAXSERV used however those did exist in RFC2553 and then were removed in RFC3493 and thus strict C99 halts in a noisey way unless __EXTENSIONS__ is defined.

"crypto/bio/b_addr.c", line 198: error: undefined symbol: NI_MAXHOST
"crypto/bio/b_addr.c", line 198: error: variable length array can not be initialized: host
"crypto/bio/b_addr.c", line 198: error: undefined symbol: NI_MAXSERV
"crypto/bio/b_addr.c", line 198: error: variable length array can not be initialized: serv
c99: acomp failed for crypto/bio/b_addr.c

Right.

If I attempt to use "extensions" and other things then this compiles
just fine and the process fails in other places.  For now, however, the
values NI_MAXHOST and NI_MAXSERV don't really exist in netdb.h as
far as I can see.

Dennis
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users



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

[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