173 server_m->get_eapol_instance().ethernet_type() ); |
173 server_m->get_eapol_instance().ethernet_type() ); |
174 |
174 |
175 DEBUG6( "core_operation_release_c::next_state() - EAPOL disassociation from BSSID %02X:%02X:%02X:%02X:%02X:%02X", |
175 DEBUG6( "core_operation_release_c::next_state() - EAPOL disassociation from BSSID %02X:%02X:%02X:%02X:%02X:%02X", |
176 bssid.addr[0], bssid.addr[1], bssid.addr[2], |
176 bssid.addr[0], bssid.addr[1], bssid.addr[2], |
177 bssid.addr[3], bssid.addr[4], bssid.addr[5] ); |
177 bssid.addr[3], bssid.addr[4], bssid.addr[5] ); |
178 DEBUG( "core_operation_release_c::next_state() - marking is_eapol_disconnecting as true" ); |
|
179 server_m->get_connection_data()->set_eapol_disconnecting( |
|
180 true ); |
|
181 |
178 |
182 server_m->get_eapol_instance().disassociation( &network ); |
179 server_m->get_eapol_instance().disassociation( &network ); |
183 operation_state_m = core_state_eapol_disassociated; |
180 } |
184 |
181 |
185 return core_error_request_pending; |
|
186 } |
|
187 |
|
188 return goto_state( core_state_eapol_disassociated ); |
|
189 } |
|
190 case core_state_eapol_disassociated: |
|
191 { |
|
192 DEBUG( "core_operation_release_c::next_state() - core_state_eapol_disassociated" ); |
|
193 // disable user data |
182 // disable user data |
194 drivers_m->disable_user_data( request_id_m ); |
183 drivers_m->disable_user_data( request_id_m ); |
195 operation_state_m = core_state_disable_user_data; |
184 operation_state_m = core_state_disable_user_data; |
196 break; |
185 break; |
197 } |
186 } |