diff --git a/plugins/pptpd-logwtmp.c b/plugins/pptpd-logwtmp.c index ac5ecc2..9745177 100644 --- a/plugins/pptpd-logwtmp.c +++ b/plugins/pptpd-logwtmp.c @@ -12,9 +12,18 @@ #include #include #include + +#define HAVE_STDARG_H 1 +#define HAVE_STDBOOL_H 1 +#define HAVE_STDDEF_H 1 #include +#include +#include +#include + +int debug = 0; -char pppd_version[] = VERSION; +char pppd_version[] = PPPD_VERSION; static char pptpd_original_ip[PATH_MAX+1]; static bool pptpd_logwtmp_strip_domain = 0; @@ -42,25 +51,27 @@ static char *reduce(char *user) static void ip_up(void *opaque, int arg) { + char peer_authname[MAXNAMELEN]; + ppp_peer_authname(peer_authname, MAXNAMELEN); char *user = reduce(peer_authname); if (debug) - notice("pptpd-logwtmp.so ip-up %s %s %s", ifname, user, + notice("pptpd-logwtmp.so ip-up %s %s %s", ppp_ifname(), user, pptpd_original_ip); - logwtmp(ifname, user, pptpd_original_ip); + logwtmp(ppp_ifname(), user, pptpd_original_ip); } static void ip_down(void *opaque, int arg) { if (debug) - notice("pptpd-logwtmp.so ip-down %s", ifname); - logwtmp(ifname, "", ""); + notice("pptpd-logwtmp.so ip-down %s", ppp_ifname()); + logwtmp(ppp_ifname(), "", ""); } void plugin_init(void) { - add_options(options); - add_notifier(&ip_up_notifier, ip_up, NULL); - add_notifier(&ip_down_notifier, ip_down, NULL); + ppp_add_options(options); + ppp_add_notify(NF_IP_UP, ip_up, NULL); + ppp_add_notify(NF_IP_DOWN, ip_down, NULL); if (debug) notice("pptpd-logwtmp: $Version$"); }