bugzilla-daemon@bugzilla.netfilter.org
2006-Oct-23  09:09 UTC
[Bug 512] poptop (pptpd) will not work if ip_nat_pptp loaded
https://bugzilla.netfilter.org/bugzilla/show_bug.cgi?id=512
------- Additional Comments From yi_he@pmc-sierra.com  2006-10-23 09:09 MET
-------
I've met the problem in the 2.4 kernel as well, and I modified the source 
linux/net/ipv4/netfilter/ip_nat_pptp.c like this:
in function pptp_outbound_pkt():
        ......
	switch (msg = ntohs(ctlh->messageType)) {
		case PPTP_OUT_CALL_REQUEST:
			cid = &pptpReq.ocreq->callID;
			/* FIXME: ideally we would want to reserve a call ID
			 * here.  current netfilter NAT core is not able to do
			 * this :( For now we use TCP source port. This breaks
			 * multiple calls within one control session */
			/* save original call ID in nat_info */
			nat_pptp_info->pns_call_id = ct_pptp_info->pns_call_id;
			/* He Yi Oct 22, 2006 */
			if( inet_addr_type(iph->daddr) == RTN_LOCAL )
			{
				DEBUGP("DO NOT CHANGE PPTP CALL ID FOR LOCAL 
SERVICE!\n");
				new_callid = ct_pptp_info->pns_call_id;
			} else {
				/* NATed src port is the dst port of the reply 
*/
				new_callid = ct->tuplehash
[IP_CT_DIR_REPLY].tuple.dst.u.tcp.port;
			}
			/* save new call ID in ct info */
			ct_pptp_info->pns_call_id = ntohs(new_callid);
			break;
                        ......
It says, if the connection's destination is the local service, then do not 
mangle the peer's call-ID.
-- 
Configure bugmail:
https://bugzilla.netfilter.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
bugzilla-daemon@bugzilla.netfilter.org
2006-Oct-23  09:09 UTC
[Bug 512] poptop (pptpd) will not work if ip_nat_pptp loaded
https://bugzilla.netfilter.org/bugzilla/show_bug.cgi?id=512
------- Additional Comments From yi_he@pmc-sierra.com  2006-10-23 09:09 MET
-------
I've met the problem in the 2.4 kernel as well, and I modified the source 
linux/net/ipv4/netfilter/ip_nat_pptp.c like this:
in function pptp_outbound_pkt():
        ......
	switch (msg = ntohs(ctlh->messageType)) {
		case PPTP_OUT_CALL_REQUEST:
			cid = &pptpReq.ocreq->callID;
			/* FIXME: ideally we would want to reserve a call ID
			 * here.  current netfilter NAT core is not able to do
			 * this :( For now we use TCP source port. This breaks
			 * multiple calls within one control session */
			/* save original call ID in nat_info */
			nat_pptp_info->pns_call_id = ct_pptp_info->pns_call_id;
			/* He Yi Oct 22, 2006 */
			if( inet_addr_type(iph->daddr) == RTN_LOCAL )
			{
				DEBUGP("DO NOT CHANGE PPTP CALL ID FOR LOCAL 
SERVICE!\n");
				new_callid = ct_pptp_info->pns_call_id;
			} else {
				/* NATed src port is the dst port of the reply 
*/
				new_callid = ct->tuplehash
[IP_CT_DIR_REPLY].tuple.dst.u.tcp.port;
			}
			/* save new call ID in ct info */
			ct_pptp_info->pns_call_id = ntohs(new_callid);
			break;
                        ......
It says, if the connection's destination is the local service, then do not 
mangle the peer's call-ID.
-- 
Configure bugmail:
https://bugzilla.netfilter.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.
Seemingly Similar Threads
- [Bug 512] New: poptop (pptpd) will not work if ip_nat_pptp loaded
 - [Bug 512] poptop (pptpd) will not work if ip_nat_pptp loaded
 - Request for VPN:Poptop HowTo
 - GNU/Linux Router with poptop problem
 - [Bridge] Help needed about IP class finding in a bridge netfilter module