diff options
author | Reyk Floeter <reyk@cvs.openbsd.org> | 2006-05-15 20:53:03 +0000 |
---|---|---|
committer | Reyk Floeter <reyk@cvs.openbsd.org> | 2006-05-15 20:53:03 +0000 |
commit | 35e8a265b9c183213211836eca2dfdd91922cd67 (patch) | |
tree | 5cfdca7d06eb274a04683e590b313068c181b18f /usr.sbin/hostapd/parse.y | |
parent | 492d6cdbb19de4eff70307b097ed5d80f49604f2 (diff) |
initial implementation of "IP Roaming" in hostapd, see hostapd.conf(5).
ok dlg@
Diffstat (limited to 'usr.sbin/hostapd/parse.y')
-rw-r--r-- | usr.sbin/hostapd/parse.y | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/usr.sbin/hostapd/parse.y b/usr.sbin/hostapd/parse.y index 29717bcab1c..e2e8504e010 100644 --- a/usr.sbin/hostapd/parse.y +++ b/usr.sbin/hostapd/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.20 2005/12/29 04:33:58 reyk Exp $ */ +/* $OpenBSD: parse.y,v 1.21 2006/05/15 20:53:02 reyk Exp $ */ /* * Copyright (c) 2004, 2005 Reyk Floeter <reyk@openbsd.org> @@ -134,7 +134,7 @@ u_int negative; %token ERROR CONST TABLE NODE DELETE ADD LOG VERBOSE LIMIT QUICK SKIP %token REASON UNSPECIFIED EXPIRE LEAVE ASSOC TOOMANY NOT AUTHED ASSOCED %token RESERVED RSN REQUIRED INCONSISTENT IE INVALID MIC FAILURE OPEN -%token ADDRESS PORT ON NOTIFY TTL INCLUDE +%token ADDRESS PORT ON NOTIFY TTL INCLUDE ROUTE ROAMING %token <v.string> STRING %token <v.val> VALUE %type <v.val> number @@ -196,6 +196,26 @@ option : SET HOSTAP INTERFACE hostapifaces free($4); } | SET IAPP MODE iappmode + | SET IAPP ADDRESS ROAMING TABLE table + { + if ((hostapd_cfg.c_iapp.i_addr_tbl = + hostapd_table_lookup(&hostapd_cfg, $6)) == NULL) { + yyerror("undefined table <%s>", $6); + free($6); + YYERROR; + } + free($6); + } + | SET IAPP ROUTE ROAMING TABLE table + { + if ((hostapd_cfg.c_iapp.i_route_tbl = + hostapd_table_lookup(&hostapd_cfg, $6)) == NULL) { + yyerror("undefined table <%s>", $6); + free($6); + YYERROR; + } + free($6); + } | SET IAPP HANDLE SUBTYPE iappsubtypes ; @@ -314,6 +334,14 @@ iappsubtype : not ADD NOTIFY { HOSTAPD_IAPP_FLAG(RADIOTAP); } + | not ROUTE ROAMING + { + HOSTAPD_IAPP_FLAG(ROAMING_ROUTE); + } + | not ADDRESS ROAMING + { + HOSTAPD_IAPP_FLAG(ROAMING_ADDRESS); + } ; eventopt : /* empty */ @@ -1050,6 +1078,8 @@ lookup(char *token) { "resend", RESEND }, { "reserved", RESERVED }, { "response", RESPONSE }, + { "roaming", ROAMING }, + { "route", ROUTE }, { "rsn", RSN }, { "sec", SEC }, { "set", SET }, |