commit | fc362910150ab2abeb5556d4c02adc35cf2f7aa9 | [log] [tgz] |
---|---|---|
author | mukesh agrawal <quiche@chromium.org> | Tue Aug 06 18:10:07 2013 -0700 |
committer | ChromeBot <chrome-bot@google.com> | Fri Aug 09 14:54:43 2013 -0700 |
tree | 87730f721593bb51b4ecd693a5722038072559c5 | |
parent | e92c5c3e13792e9ae91b6e718716283b75d6f4dd [diff] |
shill: dongles: report PPP authentication failures correctly Previously, any time we received a disconnect notification from pppd, we would attempt to set our error state to indicate that PPP authentication failed. (See below for more on "attempt to".) This CL tightens up our disconnect handling, to identify which disconnects are likely to be authentication failures, versus those that are other failures. Other failures include things like being unable to acquire an acceptable IP configuration. We say a disconnect is an authentication failure if PPP was in the middle of authenticating when the disconnect occurred. Otherwise, we report kFailureUnknown. In addition to tightening up the error reporting, this CL fixes a case where errors would fail to be reported. Specifically, we used to call SetServiceState, which modifies the state of selected_service(). However, if we had not yet started configuring IP, then there would be no selected service, and no error would be reported. Fix this, by falling back to |service_| in this case. Note that I suspect that the failed error reporting is a long-standing issue, and not specific to PPP dongles. While there: - Lower the priority of some log statements (from INFO to VERBOSE2). - Uncomment a line in CelluarTest.Notify, which I'd meant to uncomment before it originally landed. - Improve readability of log statement in TaskProxy::Notify. BUG=chromium:267682 TEST=(new) unit tests, manual TEST=network_3GSmokeTest.pseudomodem TEST=network_3GModemControl.pseudomodem Manual testing -------------- 1. get a dongle that requires a specific PPP username/password 2. use set_cellular_ppp (in crosh), to configure an incorrect username/password combination 3. try connecting to the cellular network 4. observe a toast-style notification with an error message indicating a bad username or password Change-Id: I60fa7fa9ad8901f5a19eea23b6eb44a6100a02db Reviewed-on: https://gerrit.chromium.org/gerrit/64863 Reviewed-by: mukesh agrawal <quiche@chromium.org> Tested-by: mukesh agrawal <quiche@chromium.org> Commit-Queue: mukesh agrawal <quiche@chromium.org>