From 2c466c8baf5948d72abce63683d70c0777a9e289 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Fri, 2 Apr 2010 15:10:29 -0500 Subject: Refactor: Get rid of packet handler registrations There are only about 4 protocols that the current ppp code handles and it is doubtful that it will grow much more. There's no point in having an extensive packet handler registration framework. --- gatchat/ppp_auth.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'gatchat/ppp_auth.c') diff --git a/gatchat/ppp_auth.c b/gatchat/ppp_auth.c index 78cde4b8..77fa06d2 100644 --- a/gatchat/ppp_auth.c +++ b/gatchat/ppp_auth.c @@ -135,9 +135,8 @@ static void chap_process_failure(struct auth_data *data, guint8 *packet) /* * parse the packet */ -static void chap_process_packet(gpointer priv, guint8 *new_packet) +static void chap_process_packet(struct auth_data *data, guint8 *new_packet) { - struct auth_data *data = priv; guint8 code = new_packet[0]; switch (code) { @@ -162,11 +161,6 @@ static void chap_process_packet(gpointer priv, guint8 *new_packet) } } -struct ppp_packet_handler chap_packet_handler = { - .proto = CHAP_PROTOCOL, - .handler = chap_process_packet, -}; - static void chap_free(struct auth_data *auth) { /* TBD unregister protocol handler */ @@ -192,9 +186,6 @@ static struct chap_data *chap_new(struct auth_data *auth, guint8 method) break; } - /* register packet handler for CHAP protocol */ - chap_packet_handler.priv = auth; - ppp_register_packet_handler(&chap_packet_handler); return data; } @@ -205,7 +196,9 @@ void auth_set_proto(struct auth_data *data, guint16 proto, guint8 method) switch (proto) { case CHAP_PROTOCOL: + data->proto = proto; data->proto_data = chap_new(data, method); + data->process_packet = chap_process_packet; break; default: g_print("Unknown auth protocol 0x%x\n", proto); -- cgit v1.2.3