Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile error on varnish-7.0.0 #5

Open
aminsaiful opened this issue May 21, 2022 · 2 comments
Open

Compile error on varnish-7.0.0 #5

aminsaiful opened this issue May 21, 2022 · 2 comments

Comments

@aminsaiful
Copy link

error compiling on varnish 7.0 plz help.

VMODTOOL vcc_sec_if.c
CC vmod_sec.lo
vmod_sec.c:27:5: error: unknown type name 'Rules'
Rules *rules_set;
^~~~~
vmod_sec.c: In function 'vmod_event_function':
vmod_sec.c:98:13: error: 'struct vmod_priv' has no member named 'free'
priv->free = vmod_modsec_free;
^~
vmod_sec.c: In function 'vmod_sec__init':
vmod_sec.c:121:5: error: unknown type name 'Rules'; did you mean 'RulesSet'?
Rules *rules_set;
^~~~~
RulesSet
vmod_sec.c:135:17: warning: implicit declaration of function 'msc_create_rules_set' [-Wimplicit-function-declaration]
rules_set = msc_create_rules_set();
^~~~~~~~~~~~~~~~~~~~
vmod_sec.c:135:15: warning: assignment to 'int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
rules_set = msc_create_rules_set();
^
vmod_sec.c: In function 'vmod_sec__fini':
vmod_sec.c:159:5: warning: implicit declaration of function 'msc_rules_cleanup'; did you mean 'msc_cleanup'? [-Wimplicit-function-declaration]
msc_rules_cleanup(vp->rules_set);
^~~~~~~~~~~~~~~~~
msc_cleanup
vmod_sec.c: In function 'vmod_sec_add_rule':
vmod_sec.c:173:5: error: unknown type name 'Rules'; did you mean 'RulesSet'?
Rules *rules_set;
^~~~~
RulesSet
vmod_sec.c:178:15: warning: assignment to 'int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
rules_set = msc_create_rules_set();
^
vmod_sec.c:179:11: warning: implicit declaration of function 'msc_rules_add' [-Wimplicit-function-declaration]
ret = msc_rules_add(rules_set, rule, &error);
^~~~~~~~~~~~~
vmod_sec.c:189:11: warning: implicit declaration of function 'msc_rules_merge' [-Wimplicit-function-declaration]
ret = msc_rules_merge(vp->rules_set, rules_set, &error);
^~~~~~~~~~~~~~~
vmod_sec.c: In function 'vmod_sec_add_rules':
vmod_sec.c:208:5: error: unknown type name 'Rules'; did you mean 'RulesSet'?
Rules *rules_set;
^~~~~
RulesSet
vmod_sec.c:214:15: warning: assignment to 'int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
rules_set = msc_create_rules_set();
^
vmod_sec.c:217:15: warning: implicit declaration of function 'msc_rules_add_remote' [-Wimplicit-function-declaration]
ret = msc_rules_add_remote(rules_set, args->key, args->rules_path, &error);
^~~~~~~~~~~~~~~~~~~~
vmod_sec.c:221:15: warning: implicit declaration of function 'msc_rules_add_file'; did you mean 'vmod_sec_add_rule'? [-Wimplicit-function-declaration]
ret = msc_rules_add_file(rules_set, args->rules_path, &error);
^~~~~~~~~~~~~~~~~~
vmod_sec_add_rule
vmod_sec.c: In function 'vmod_sec_dump_rules':
vmod_sec.c:251:5: warning: implicit declaration of function 'msc_rules_dump'; did you mean 'msc_cleanup'? [-Wimplicit-function-declaration]
msc_rules_dump(vp->rules_set);
^~~~~~~~~~~~~~
msc_cleanup
vmod_sec.c: In function 'vmod_sec_new_conn':
vmod_sec.c:297:31: warning: passing argument 2 of 'msc_new_transaction_with_id' from incompatible pointer type [-Wincompatible-pointer-types]
vp->modsec, vp->rules_set, transaction_id, args->arg1);
~~^~~~~~~~~~~
In file included from /usr/local/modsecurity/include/modsecurity/modsecurity.h:175,
from vmod_sec.c:3:
/usr/local/modsecurity/include/modsecurity/transaction.h:647:14: note: expected 'RulesSet *' {aka 'struct Rules_t *'} but argument is of type 'int *'
Transaction *msc_new_transaction_with_id(ModSecurity *ms,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
vmod_sec.c:303:31: warning: passing argument 2 of 'msc_new_transaction' from incompatible pointer type [-Wincompatible-pointer-types]
vp->modsec, vp->rules_set, args->arg1);
~~^~~~~~~~~~~
In file included from /usr/local/modsecurity/include/modsecurity/modsecurity.h:175,
from vmod_sec.c:3:
/usr/local/modsecurity/include/modsecurity/transaction.h:643:14: note: expected 'RulesSet *' {aka 'struct Rules_t *'} but argument is of type 'int *'
Transaction *msc_new_transaction(ModSecurity *ms,
^~~~~~~~~~~~~~~~~~~
vmod_sec.c:306:19: error: 'struct vmod_priv' has no member named 'free'
args->arg1->free = vmod_sec_cleanup_transaction;
^~
make[1]: *** [Makefile:687: vmod_sec.lo] Error 1
make[1]: Leaving directory '/usr/src/vmod-modsecurity/src'
make: *** [Makefile:446: install-recursive] Error 1

@xdecock
Copy link
Owner

xdecock commented Sep 1, 2022

Hi, i'm preparing the update to 7.1, but, the code should now run en 7.

@xdecock
Copy link
Owner

xdecock commented Sep 2, 2022

Hello,

Found the issue, there is a big change in header files of libmodsecurity between 3.0.5 and 3.0.6, there's now c preprocessor directive to cope with that, it should work correctly now (and various bugfixes have been pushed for varnish 7.x)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants