Skip to content

Ubuntu 24.04 LTS compilation error #3

@klonet-it

Description

@klonet-it

Hello, we are trying to compile the project on an ubuntu 24.04 LTS. Below is the compilation error message:

cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g   -I src/core -I src/event -I src/event/modules -I src/event/quic -I src/os/unix -I /home/stefano_denardis_bookingexpert_c/ja4-nginx/ja4-openssl/.openssl/include -I objs -I src/http -I src/http/modules \
	-o objs/addon/src/ngx_http_ssl_ja4_module.o \
	./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c: In function ‘ngx_ssl_ja4’:
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c:176:56: error: passing argument 1 of ‘strlen’ makes pointer from integer without a cast [-Werror=int-conversion]
  176 |             size_t hex_str_len = strlen(c->ssl->ciphers[i]) + 1; // +1 for null terminator
      |                                         ~~~~~~~~~~~~~~~^~~
      |                                                        |
      |                                                        short unsigned int
In file included from src/os/unix/ngx_linux_config.h:27,
                 from src/core/ngx_config.h:26,
                 from ./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c:1:
/usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘short unsigned int’
  407 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
In file included from src/core/ngx_core.h:53,
                 from ./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c:2:
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c:191:70: error: passing argument 2 of ‘memcpy’ makes pointer from integer without a cast [-Werror=int-conversion]
  191 |             ngx_memcpy(ja4->ciphers[ja4->ciphers_sz], c->ssl->ciphers[i], hex_str_len);
      |                                                       ~~~~~~~~~~~~~~~^~~
      |                                                                      |
      |                                                                      short unsigned int
src/core/ngx_string.h:106:54: note: in definition of macro ‘ngx_memcpy’
  106 | #define ngx_memcpy(dst, src, n)   (void) memcpy(dst, src, n)
      |                                                      ^~~
In file included from /usr/include/features.h:502,
                 from /usr/include/x86_64-linux-gnu/sys/types.h:25,
                 from src/os/unix/ngx_linux_config.h:18:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:26:1: note: expected ‘const void * restrict’ but argument is of type ‘short unsigned int’
   26 | __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
      | ^~~~~
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c:253:63: error: passing argument 1 of ‘ngx_ssl_ja4_is_ext_greased’ makes pointer from integer without a cast [-Werror=int-conversion]
  253 |             if (!ngx_ssl_ja4_is_ext_greased(c->ssl->extensions[i]))
      |                                             ~~~~~~~~~~~~~~~~~~^~~
      |                                                               |
      |                                                               short unsigned int
In file included from ./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c:8:
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.h:206:40: note: expected ‘const char *’ but argument is of type ‘short unsigned int’
  206 | ngx_ssl_ja4_is_ext_greased(const char *ext)
      |                            ~~~~~~~~~~~~^~~
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c:256:29: error: initialization of ‘char *’ from ‘short unsigned int’ makes pointer from integer without a cast [-Werror=int-conversion]
  256 |                 char *ext = c->ssl->extensions[i];
      |                             ^
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c:262:67: error: passing argument 1 of ‘ngx_ssl_ja4_is_ext_ignored’ makes pointer from integer without a cast [-Werror=int-conversion]
  262 |                 if (!ngx_ssl_ja4_is_ext_ignored(c->ssl->extensions[i]))
      |                                                 ~~~~~~~~~~~~~~~~~~^~~
      |                                                                   |
      |                                                                   short unsigned int
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.h:192:51: note: expected ‘const char *’ but argument is of type ‘short unsigned int’
  192 | static int ngx_ssl_ja4_is_ext_ignored(const char *ext)
      |                                       ~~~~~~~~~~~~^~~
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c:282:66: error: passing argument 1 of ‘ngx_ssl_ja4_is_ext_ignored’ makes pointer from integer without a cast [-Werror=int-conversion]
  282 |                 if (ngx_ssl_ja4_is_ext_ignored(c->ssl->extensions[i]))
      |                                                ~~~~~~~~~~~~~~~~~~^~~
      |                                                                  |
      |                                                                  short unsigned int
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.h:192:51: note: expected ‘const char *’ but argument is of type ‘short unsigned int’
  192 | static int ngx_ssl_ja4_is_ext_ignored(const char *ext)
      |                                       ~~~~~~~~~~~~^~~
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.c:287:67: error: passing argument 1 of ‘ngx_ssl_ja4_is_ext_dynamic’ makes pointer from integer without a cast [-Werror=int-conversion]
  287 |                 if (!ngx_ssl_ja4_is_ext_dynamic(c->ssl->extensions[i]))
      |                                                 ~~~~~~~~~~~~~~~~~~^~~
      |                                                                   |
      |                                                                   short unsigned int
./ja4-nginx-module/src/ngx_http_ssl_ja4_module.h:179:51: note: expected ‘const char *’ but argument is of type ‘short unsigned int’
  179 | static int ngx_ssl_ja4_is_ext_dynamic(const char *ext)
      |                                       ~~~~~~~~~~~~^~~

Thank you,
Stefano

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions