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 ); |
178 |
181 |
179 server_m->get_eapol_instance().disassociation( &network ); |
182 server_m->get_eapol_instance().disassociation( &network ); |
180 } |
183 operation_state_m = core_state_eapol_disassociated; |
181 |
184 |
|
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" ); |
182 // disable user data |
193 // disable user data |
183 drivers_m->disable_user_data( request_id_m ); |
194 drivers_m->disable_user_data( request_id_m ); |
184 operation_state_m = core_state_disable_user_data; |
195 operation_state_m = core_state_disable_user_data; |
185 break; |
196 break; |
186 } |
197 } |