Commit 6013c0a1 authored by Patrick McHardy's avatar Patrick McHardy Committed by David S. Miller
Browse files

[NETFILTER]: PPTP conntrack: fix header definitions



Fix a few header definitions to match RFC2637. Most importantly the
PptpOutCallRequest header included an invalid padding field and a
size check was disabled because of this.

Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5256f663
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -107,8 +107,7 @@ struct PptpControlHeader {

struct PptpStartSessionRequest {
	__be16	protocolVersion;
	__u8	reserved1;
	__u8	reserved2;
	__u16	reserved1;
	__be32	framingCapability;
	__be32	bearerCapability;
	__be16	maxChannels;
@@ -143,6 +142,8 @@ struct PptpStartSessionReply {

struct PptpStopSessionRequest {
	__u8	reason;
	__u8	reserved1;
	__u16	reserved2;
};

/* PptpStopSessionResultCode */
@@ -152,6 +153,7 @@ struct PptpStopSessionRequest {
struct PptpStopSessionReply {
	__u8	resultCode;
	__u8	generalErrorCode;
	__u16	reserved1;
};

struct PptpEchoRequest {
@@ -188,9 +190,8 @@ struct PptpOutCallRequest {
	__be32	framingType;
	__be16	packetWindow;
	__be16	packetProcDelay;
	__u16	reserved1;
	__be16	phoneNumberLength;
	__u16	reserved2;
	__u16	reserved1;
	__u8	phoneNumber[64];
	__u8	subAddress[64];
};
+1 −1
Original line number Diff line number Diff line
@@ -569,7 +569,7 @@ pptp_outbound_pkt(struct sk_buff **pskb,
	case PPTP_OUT_CALL_REQUEST:
		if (reqlen < sizeof(_pptpReq.ocreq)) {
			DEBUGP("%s: short packet\n", pptp_msg_name[msg]);
			/* FIXME: break; */
			break;
		}

		/* client initiating connection to server */