*/
packet->identifier = header->identifier;
- /* magic number? */
+ /* magic number will always be zero */
ppp_transmit(data->ppp, pppcp_to_ppp_packet(packet),
ntohs(packet->length));
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)
{
#define REQ_OPTION_ACCM 0x1
struct lcp_data {
- guint32 magic_number;
guint8 options[MAX_CONFIG_OPTION_SIZE];
guint16 options_len;
guint8 req_options;
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;
if (magic == 0)
return RCR_REJECT;
- /* TODO: Handle loopback */
break;
}
default:
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);