Open aminsaiful opened 2 years ago
Hi, i'm preparing the update to 7.1, but, the code should now run en 7.
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)
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