Dimerson » 26 ноя 2008, 12:15
гуглим frickin proxy.
и собираем ее в виде NLM с помощью GCC (легкая правка напильником сырцов).
для этого :
1.)добавить
//Netware Port start
#define IPPROTO_GRE 0x2F
#define IP_HDRINCL 2
#define MSG_DONTWAIT 0
#define close(s) shutdown(s,2)
//Netware Port end
2.) комментим полностью
и вызов и само тело функции
int _drop_priv_perm(char *a_user)
3.) заменить #include <sys_слеш_select> на #include <netinet_слеш_in>
собираем ваткомом
i586-netware-gcc.exe -o frickin.nlm main.c rfc2637.c
Получаемый frickin.nlm не работает - на GRE пакеты TCP/IP стек NetWare кидает ICMP отлупы "Unknown Protocol".
Моск подсказал что это легко обойти загрузив aiopptp.nlm
Просмотр в IDA показал что скорее всего помогает вызов с недокументированными параметрами
AllocateResourceTag (NLMHandle, *descriptionString, 0x53424345)
то есть можно добавить в код инициализации это (если дойдет до продуктивного юзинга) и освобождение ресурсов в код выгрузки.
в резалте юзать так :
load aiopptp.nlm
load frickin.nlm -s MS_VPN_SERVER_IP_HERE -l NW_SERVER_IP_HERE
MS_VPN_SERVER_IP_HERE - куды перекидывать PPTP
NW_SERVER_IP_HERE - хде слушать PPTP
и оно запускается и 1 сессия очень замечательно работает.
по завершению сессии вторая не запускается.
еще чудесатее с выгрузкой.
Но сам факт того что оно завелось и пригодно для причесывания говорить что платформу NetWare хоронить рано .... еще б была возможность дописывать модули в духе того как
ip_nat_ftp итд реализовано в Netfilter.