With apache-2.0.58 mod_nss build tries to resolve ap_regex_t and fails. The compile fails with: nss_expr_eval.c: In function 'nss_expr_eval_comp': nss_expr_eval.c:116: error: 'ap_regex_t' undeclared (first use in this function) nss_expr_eval.c:116: error: (Each undeclared identifier is reported only once nss_expr_eval.c:116: error: for each function it appears in.) nss_expr_eval.c:116: error: 'regex' undeclared (first use in this function) nss_expr_eval.c:121: error: syntax error before ')' token nss_expr_eval.c:133: error: syntax error before ')' token gmake: *** [nss_expr_eval.lo] Error 1 It appears that Apache now defines AP_SERVER_MAJORVERSION_NUMBER in the 2.0 line as well.
AP_SERVER_MAJORVERSION_NUMBER and friends was added in 2.0.56-dev. Changed the logic a bit such that if this isn't define, I set the version of Apache in mod_nss.h to 2.0.55. The exact version isn't that important, I'm just saying which API to use. mod_nss.c and nss_engine_vars.c were changed to examine AP_SERVER_MINORVERSION_NUMBER to determine which API to use. This is still less-than-graceful IMHO but it works. Confirmed with 2.0.59 and 2.2.3. Checked into mod_nss tip. Checking in mod_nss.c; /cvs/dirsec/mod_nss/mod_nss.c,v <-- mod_nss.c new revision: 1.13; previous revision: 1.12 done Checking in mod_nss.h; /cvs/dirsec/mod_nss/mod_nss.h,v <-- mod_nss.h new revision: 1.13; previous revision: 1.12 done Checking in nss_engine_vars.c; /cvs/dirsec/mod_nss/nss_engine_vars.c,v <-- nss_engine_vars.c new revision: 1.7; previous revision: 1.6 done Running syncmail... Mailing relnotes... ...syncmail done. Running syncmail... Mailing cvsdirsec.com... ...syncmail done.