summaryrefslogtreecommitdiffstats
path: root/gatchat/ppp_auth.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-04-02 15:10:29 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-04-02 15:11:48 -0500
commit2c466c8baf5948d72abce63683d70c0777a9e289 (patch)
treee8e5131462ee5ec2acb33c7e0dc55e9c101a0f30 /gatchat/ppp_auth.c
parent3c39543cd6c0e3f08dac843cecb9cc7131283f0f (diff)
downloadofono-2c466c8baf5948d72abce63683d70c0777a9e289.tar.bz2
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.
Diffstat (limited to 'gatchat/ppp_auth.c')
-rw-r--r--gatchat/ppp_auth.c13
1 files changed, 3 insertions, 10 deletions
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);