Open Source Telephony
 help / color / mirror / Atom feed
* [PATCH] ppp: don't bother with magic number
@ 2010-04-09 14:54 Kristen Carlson Accardi
  0 siblings, 0 replies; only message in thread
From: Kristen Carlson Accardi @ 2010-04-09 14:54 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 2418 bytes --]

Commit to not supporting loop back detection.  Because we never negotiate
a magic number locally, we can't reliably detect it.  Just accept peer's
magic number option, but don't bother storing it.
---
 gatchat/ppp_cp.c  |    8 +++++++-
 gatchat/ppp_lcp.c |    6 +-----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/gatchat/ppp_cp.c b/gatchat/ppp_cp.c
index 5ac0196..af6445f 100644
--- a/gatchat/ppp_cp.c
+++ b/gatchat/ppp_cp.c
@@ -574,7 +574,7 @@ static void pppcp_send_echo_reply(struct pppcp_data *data,
 	 */
 	packet->identifier = header->identifier;
 
-	/* magic number? */
+	/* magic number will always be zero */
 	ppp_transmit(data->ppp, pppcp_to_ppp_packet(packet),
 			ntohs(packet->length));
 
@@ -855,6 +855,12 @@ static guint8 pppcp_process_protocol_reject(struct pppcp_data *data,
 	return RXJ_MINUS;
 }
 
+/*
+ * For Echo-Request, Echo-Reply, and Discard-Request, we will not
+ * bother checking the magic number of the packet, because we will
+ * never send an echo or discard request.  We can't reliably detect
+ * loop back anyway since we don't negotiate a magic number.
+ */
 static guint8 pppcp_process_echo_request(struct pppcp_data *data,
 					struct pppcp_packet *packet)
 {
diff --git a/gatchat/ppp_lcp.c b/gatchat/ppp_lcp.c
index a384a0d..5dfe4aa 100644
--- a/gatchat/ppp_lcp.c
+++ b/gatchat/ppp_lcp.c
@@ -64,7 +64,6 @@ enum lcp_options {
 #define REQ_OPTION_ACCM 0x1
 
 struct lcp_data {
-	guint32 magic_number;
 	guint8 options[MAX_CONFIG_OPTION_SIZE];
 	guint16 options_len;
 	guint8 req_options;
@@ -157,7 +156,6 @@ static enum rcr_result lcp_rcr(struct pppcp_data *pppcp,
 					const struct pppcp_packet *packet,
 					guint8 **new_options, guint16 *new_len)
 {
-	struct lcp_data *lcp = pppcp_get_data(pppcp);
 	GAtPPP *ppp = pppcp_get_ppp(pppcp);
 	struct ppp_option_iter iter;
 
@@ -180,7 +178,6 @@ static enum rcr_result lcp_rcr(struct pppcp_data *pppcp,
 			if (magic == 0)
 				return RCR_REJECT;
 
-			/* TODO: Handle loopback */
 			break;
 		}
 		default:
@@ -201,8 +198,7 @@ static enum rcr_result lcp_rcr(struct pppcp_data *pppcp,
 			ppp_set_auth(ppp, ppp_option_iter_get_data(&iter));
 			break;
 		case MAGIC_NUMBER:
-			lcp->magic_number =
-				get_host_long(ppp_option_iter_get_data(&iter));
+			/* don't care */
 			break;
 		case PFC:
 			ppp_set_pfc(ppp, TRUE);
-- 
1.6.6.1


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2010-04-09 14:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-09 14:54 [PATCH] ppp: don't bother with magic number Kristen Carlson Accardi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox