int ippr_pptp_init(void); void ippr_pptp_fini(void); int ippr_pptp_new(fr_info_t *, ap_session_t *, nat_t *); void ippr_pptp_del(ap_session_t *); int ippr_pptp_inout(fr_info_t *, ap_session_t *, nat_t *); void ippr_pptp_donatstate(fr_info_t *, nat_t *, pptp_pxy_t *); int ippr_pptp_message(fr_info_t *, nat_t *, pptp_pxy_t *, pptp_side_t *); int ippr_pptp_nextmessage(fr_info_t *, nat_t *, pptp_pxy_t *, int); int ippr_pptp_mctl(fr_info_t *, nat_t *, pptp_pxy_t *, pptp_side_t *); static frentry_t pptpfr; int pptp_proxy_init = 0; int ippr_pptp_debug = 0; int ippr_pptp_gretimeout = IPF_TTLVAL(120); /* 2 minutes */ /* * PPTP application proxy initialization. */ int ippr_pptp_init(void) { bzero((char *)&pptpfr, sizeof(pptpfr)); pptpfr.fr_ref = 1; pptpfr.fr_age[0] = ippr_pptp_gretimeout; pptpfr.fr_age[1] = ippr_pptp_gretimeout; pptpfr.fr_flags = FR_OUTQUE|FR_PASS|FR_QUICK|FR_KEEPSTATE; MUTEX_INIT(&pptpfr.fr_lock, "PPTP proxy rule lock"); pptp_proxy_init = 1;
void ipf_p_pptp_main_load(void); void ipf_p_pptp_main_unload(void); int ipf_p_pptp_new(void *, fr_info_t *, ap_session_t *, nat_t *); void ipf_p_pptp_del(ipf_main_softc_t *, ap_session_t *); int ipf_p_pptp_inout(void *, fr_info_t *, ap_session_t *, nat_t *); void ipf_p_pptp_donatstate(fr_info_t *, nat_t *, pptp_pxy_t *); int ipf_p_pptp_message(fr_info_t *, nat_t *, pptp_pxy_t *, pptp_side_t *); int ipf_p_pptp_nextmessage(fr_info_t *, nat_t *, pptp_pxy_t *, int); int ipf_p_pptp_mctl(fr_info_t *, nat_t *, pptp_pxy_t *, pptp_side_t *); static frentry_t pptpfr; static int pptp_proxy_init = 0; static int ipf_p_pptp_debug = 0; static int ipf_p_pptp_gretimeout = IPF_TTLVAL(120); /* 2 minutes */ /* * PPTP application proxy initialization. */ void ipf_p_pptp_main_load(void) { bzero((char *)&pptpfr, sizeof(pptpfr)); pptpfr.fr_ref = 1; pptpfr.fr_age[0] = ipf_p_pptp_gretimeout; pptpfr.fr_age[1] = ipf_p_pptp_gretimeout; pptpfr.fr_flags = FR_OUTQUE|FR_PASS|FR_QUICK|FR_KEEPSTATE; MUTEX_INIT(&pptpfr.fr_lock, "PPTP proxy rule lock"); pptp_proxy_init = 1;