c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5 |
|
03-Sep-2015 |
Peter Qiu <zqiu@google.com> |
License shill to Apache2 This patch automatically replaced the license on all text files from Chromium OS (BSD style) to AOSP (Apache2), keeping the original year as a reference. The license header was added to .gyp and .gypi, the NOTICE was added with a copy of the Apache2 license and MODULE_LICENSE_* file was added. BUG=23587594 TEST=grep 'Chromium OS Authors' doesn't find anything. Change-Id: If41ede586c2465f5831fb7fee270ff41dbfdb596
/system/connectivity/shill/mock_service.h
|
8e60d61b13fedf9cb75f1d4f1762605375837d98 |
|
21-Aug-2015 |
Peter Qiu <zqiu@chromium.org> |
shill: include non-primary devices in the enumerated devices list The devices are included in the enumerated devices list without being persist to the profile storage. This allows remote client to easily retrieve IP configurations for such devices. BUG=chromium:523416 TEST=USE=pppoe emerge-$BOARD shill Change-Id: Ia6b5d225f75a8514102ca43e01f60a6decd293d1 Reviewed-on: https://chromium-review.googlesource.com/295042 Commit-Ready: Zeping Qiu <zqiu@chromium.org> Tested-by: Zeping Qiu <zqiu@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
009e22157969c35957a6d9a5d9783a833b15245e |
|
04-Aug-2015 |
Ningyuan Wang <nywang@chromium.org> |
shill: remove Service::SaveToCurrentProfile. There are only declartion, defination and corresponding mock service of Service::SaveToCurrentProfile. It is unused, so I remove it. BUG=chromium:457352 TEST=Unit tests Change-Id: I886ac7b6305e6481046ca77c10d279589fae02e9 Reviewed-on: https://chromium-review.googlesource.com/290465 Reviewed-by: mukesh agrawal <quiche@chromium.org> Commit-Queue: Ningyuan Wang <nywang@chromium.org> Tested-by: Ningyuan Wang <nywang@chromium.org>
/system/connectivity/shill/mock_service.h
|
1e006c610db980bca337121134d2ba54497b7a59 |
|
16-Jun-2015 |
Paul Stewart <pstew@chromium.org> |
shill: Top-level mocks: Switch pointer/ref spacing Switch to Chrome style spacing. BUG=chromium:501026 TEST=Unit tests Change-Id: I730ed5115e62319c2745dd6cef642e228b0fb66e Reviewed-on: https://chromium-review.googlesource.com/278036 Reviewed-by: Rebecca Silberstein <silberst@chromium.org> Commit-Queue: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
1a72f5444e077ed21b8e085b17d7f9f1bc44fa5e |
|
15-Apr-2015 |
Peter Qiu <zqiu@chromium.org> |
shill: compiler option support for wifi and wired 802.1x This allows shill to be compiled without wifi and wired 802.1x independently. The supplicant related code will not be compiled when both wifi and wired 802.1x compiler option are disabled. BUG=chromium:475665 TEST=USE="asan clang -wifi" FEATURES=test emerge-$BOARD shill USE="asan clang -wired_8021x" FEATURES=test emerge-$BOARD shill USE="asan clang -wifi -wired_8021x" FEATURES=test emerge-$BOARD shill USE="asan clang" FEATURES=test emerge-$BOARD shill Default shill (including both wifi and wired 802.1x): Passes wifi_matfunc test suite shill without wifi No wifi connectivity Have ethernet connectivity Passes network_8021xWiredAuthentication test shill without wired 802.1x Have wifi and ethernet connectivity Fail network_8021xWiredAuthentication test shill without both wifi and wired 802.1x No wifi connectivity Have ethernet connectivity Fail network_8021xWiredAuthentication test CQ-DEPEND=CL:265614 Change-Id: I6abaa150657f6ca0f6d5c37229fde9a2c0bb36aa Reviewed-on: https://chromium-review.googlesource.com/265774 Tested-by: Zeping Qiu <zqiu@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org> Commit-Queue: Zeping Qiu <zqiu@chromium.org>
/system/connectivity/shill/mock_service.h
|
d01b5cc35185e022b66e08832e12fe7f59b5aa24 |
|
12-Mar-2015 |
Garret Kelly <gdk@chromium.org> |
shill: don't override static nameservers When using the prepend_dns_servers flag, do not override nameservers if they have been provided as part of the static configuration. BUG=chrome-os-partner:37737 TEST=FEATURES=test emerge-amd64-generic shill Change-Id: I1166052470931818f51074f26688b1a47847fd1a Reviewed-on: https://chromium-review.googlesource.com/260504 Commit-Queue: Garret Kelly <gdk@chromium.org> Tested-by: Garret Kelly <gdk@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
22ce765226cfdcf267b7dc80c22892e6b29065ea |
|
16-Oct-2014 |
Paul Stewart <pstew@chromium.org> |
shill: Service: Move ManagerTest::SortServices to ServiceTest::Compare We have long considered the SortServices test to be misplaced. Finally move this to the Service unit tests, since after all, this is testing the Service::Compare static method. While here, mock EnableAndRetainAutoConnect() in MockService since the move of SortServices was blocking this change. BUG=chromium:206367 TEST=Unit tests Change-Id: I4ec7d5a098edfb938d1ffd0ae78116f8004646c9 Reviewed-on: https://chromium-review.googlesource.com/223615 Reviewed-by: Paul Stewart <pstew@chromium.org> Commit-Queue: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
d49760e19d137f43df29e00265259d395b07994c |
|
20-Sep-2014 |
Peter Qiu <zqiu@chromium.org> |
shill: Add support for disable/enable link monitoring through DBUS This is a per-service setting, with default value set to false (link monitoring enabled). BUG=chromium:415367 TEST=unit tests, manual test Manual Test 1. Get a chrome device, and turn up the logging with "ff_debug +device" and "ff_debug --level -2". 2. Connect to "GoogleGuest", verify link monitor is enabled (by default) by examing log file "/var/log/net.log" for following message "Link Monitor starting". 3. Disable link monitor for "GoogleGuest" with command "/usr/local/lib/flimflam/test/set-service-property GoogleGuest LinkMonitorDisable true" 4. Connect to a different network, then connect back to "GoogleGuest". Verify link monitor is disabled by examing log file "/var/log/net.log" for following message "Link Monitor is disabled for the selected service". CQ-DEPEND=CL:219029 Change-Id: I83aabe035f66eeaa9547a486d4677c7292247561 Reviewed-on: https://chromium-review.googlesource.com/219117 Reviewed-by: Peter Qiu <zqiu@chromium.org> Tested-by: Peter Qiu <zqiu@chromium.org> Commit-Queue: Peter Qiu <zqiu@chromium.org>
/system/connectivity/shill/mock_service.h
|
5ea763b83299b5fad76a87183fb39a74c2d3c61d |
|
13-Aug-2014 |
Ben Chan <benchan@chromium.org> |
shill: Add C++11 override specifier to destructors of derived classes. BUG=None TEST=`USE=wimax FEATURES=test emerge-$BOARD platform2` Change-Id: I88d4e29165869b26924cccb94ac940dc8961c312 Reviewed-on: https://chromium-review.googlesource.com/212267 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Ben Chan <benchan@chromium.org> Tested-by: Ben Chan <benchan@chromium.org>
/system/connectivity/shill/mock_service.h
|
9b83c897f8e197ff7846e4fe7cec1d83d54e7b7b |
|
10-Aug-2014 |
Peter Qiu <zqiu@chromium.org> |
shill: Export portal detection failure phase and status When portal detection fails, report the failure phase and status to the given Service. The Chrome can then retrieve this information from Service property through DBUS, and inform the user appropriately. BUG=chromium:399486 TEST=unit tests CQ-DEPEND=CL:211763 Change-Id: I27ec85bc6bf73162b1214d35bc84084588c3a855 Reviewed-on: https://chromium-review.googlesource.com/211745 Reviewed-by: Peter Qiu <zqiu@chromium.org> Commit-Queue: Peter Qiu <zqiu@chromium.org> Tested-by: Peter Qiu <zqiu@chromium.org>
/system/connectivity/shill/mock_service.h
|
0d06119be3224788ba1aa65ed24bc8e46b56b949 |
|
08-Jul-2014 |
Samuel Tan <samueltan@chromium.org> |
shill: add disconnect reason to log messages Allow logging of function/reason for triggering disconnect. BUG=chromium:227295 TEST=unit tests Change-Id: I92ea3cca664c060bc02bbb8d50d303ce11d1a7de Reviewed-on: https://chromium-review.googlesource.com/207020 Tested-by: Samuel Tan <samueltan@chromium.org> Reviewed-by: mukesh agrawal <quiche@chromium.org> Commit-Queue: Samuel Tan <samueltan@chromium.org>
/system/connectivity/shill/mock_service.h
|
700de6400c18f8cba77821f8cd2a1935b96999a6 |
|
15-Jul-2014 |
Peter Qiu <zqiu@chromium.org> |
shill: Reporting of device's connection status Report device's connection status to UMA stats periodically. Possible status are offline (not connected to an AP), connected (connected to an AP), and online (connected to an AP with internet connectivity). When the device is in online state, it will report both connected and online to UMA stats. This data will allow us to determine the percentage of time when the device have internet connectivity, also the percentage of time when the device is connected to an AP but without internet connectivity. While at it, update the old IsOnline function in manager.cc to IsConnected to be more semantically correct, since that function return true if there is a service that's in connected or above state. And Add a new IsOnline function which will return true only if there is a service that's in online state. BUG=chromium:392990 TEST=unit tests, manual Manual Test: 1. Boot up a chrome device without any network connectivity. 2. Wait for 3 minutes, and browse to "chrome://histograms", veriyf there is a histogram for "Network.Shill.DeviceConnectionStatus" with a hit for bucket 0 (offline). 3. Connect the chrome device to an AP without internet connectivity. 4. Wait for 3 minutes, and browse to "chrome://histograms", verify there is a hit for bucket 1 (connected) for histogram "Network.Shill.DeviceConnectionStatus". 5. Connect the chrome device to an AP with internet connectivity. 6. Wait for 3 minutes, and browse to "chrome://histograms", verify there sia hit for bucket 1 (connected) and 2 (online) for histogram "Network.Shill.DeviceConnectionStatus". Change-Id: I1a949b17398214d745ca1d5a37e35202e087181a Reviewed-on: https://chromium-review.googlesource.com/207960 Reviewed-by: Paul Stewart <pstew@chromium.org> Commit-Queue: Peter Qiu <zqiu@chromium.org> Tested-by: Peter Qiu <zqiu@chromium.org>
/system/connectivity/shill/mock_service.h
|
a89154bfedfd8872242083ffe4f084fdc774c078 |
|
24-May-2014 |
Peter Qiu <zqiu@chromium.org> |
shill: Support of DNS auto fallback Automatically switch to fallback DNS server when broken DNS setting is detected. This feature is disabled by default (due to property defaulting to "false"). BUG=chromium:377056 TEST=unit tests, manual test 1. Manually update the code to allow DNS auto fallback. 2. Connect a chrome device to GoogleGuest. 3. Update the name servers setting to an invalid DNS server "192.168.1.1" 4. Browse to "chrome://net-internals/#dns", and verify the nameserver changed from "192.168.1.1" to Google's DNS servers "8.8.8.8" and "8.8.4.4" within a minute. CQ-DEPEND=CL:201412 Change-Id: I31dbaf715b5b11dd2f736e0664ee432e55bdeeb9 Reviewed-on: https://chromium-review.googlesource.com/207155 Reviewed-by: Paul Stewart <pstew@chromium.org> Commit-Queue: Peter Qiu <zqiu@chromium.org> Tested-by: Peter Qiu <zqiu@chromium.org>
/system/connectivity/shill/mock_service.h
|
c45688bb3881f0c2216e6ec0e19ebda0be33e871 |
|
03-Jul-2014 |
Ben Chan <benchan@chromium.org> |
shill: Fix header guards to conform to coding style. BUG=chromium:385849 TEST=Tested the following: 1. `USE='cellular wimax' FEATURES=test emerge-$BOARD platform2` 2. `cpplint.py --filter=-build/include_order shill/*.h` reports no 'build/header_guard' issue. Change-Id: I1a3972a1f88e5001550eccd561633bd4e5c5faba Reviewed-on: https://chromium-review.googlesource.com/206680 Reviewed-by: Ben Chan <benchan@chromium.org> Commit-Queue: Ben Chan <benchan@chromium.org> Tested-by: Ben Chan <benchan@chromium.org>
/system/connectivity/shill/mock_service.h
|
7b5cee92f29791ebd3867b858fc1d301b39d26bd |
|
25-Jun-2014 |
Paul Stewart <pstew@chromium.org> |
shill: Service: Remove DHCP minimal config code This code does not end up being very useful (as evidenced by UMA stats) and can reduce functionality in infrastructures that require the use of some DHCP options. This reverts commit 26a997b04bd65a6252987ea6fdcbbb70785d1d8d, except for the cleanup of "*service" in unit tests and the setting of SelectedService in ethernet.cc. BUG=chromium:360452 TEST=Unit tests Change-Id: Ib2c49fc5639452bfffd5cd03c1bb69e32568cc60 Reviewed-on: https://chromium-review.googlesource.com/205588 Commit-Queue: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
2eee613868307d04f9e5a0efbc8c72a7ffcd90bb |
|
09-May-2014 |
Paul Stewart <pstew@chromium.org> |
shill: Manager: Clear all explicit disconnections When the profile stack changes, remove all state related to explicit disconnections. Since this state is related to the logged in user, it is reasonable to expect that this state should be removed even for services which aren't switching profiles as a result. BUG=chromium:371771 TEST=Unit tests Change-Id: I773c68e5e38ab4fda92a0532beb046188465dc13 Reviewed-on: https://chromium-review.googlesource.com/199147 Reviewed-by: Christopher Wiley <wiley@chromium.org> Commit-Queue: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
1cf7eb8dcb037d45b23ed85b777c227b7ab39069 |
|
04-Dec-2013 |
Paul Stewart <pstew@chromium.org> |
shill: PropertyAccessor: Create a const ReadOnly accessor Provide a means to create an Accessor child class which can be constructed with a const method. This is useful for read-only properties which won't modify the called object's state. Make use of this new feature by transforming the HelpRegisterConst* in the Service object to take const methods and to register read only accessors. The bulk of this CL is the change to all the subclasses to constify methods which were only non-const due to this issue. BUG=chromium:325603 TEST=Unit test Change-Id: I79c6211e9e0907869c2885937dff58c1faf2ca4a Reviewed-on: https://chromium-review.googlesource.com/178698 Reviewed-by: Paul Stewart <pstew@chromium.org> Commit-Queue: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
dded00702cf33f15b1f2eaafbbaccc13231e08d8 |
|
24-Oct-2013 |
Paul Stewart <pstew@chromium.org> |
shill: Service: Track DHCP failures and inform ShouldUseMinimalDHCPConfig() The default DHCP configuration used by ChromeOS requests a large number of options in order to support features like Web Proxy Auto-Discovery. Unfortunately this practice sometimes runs afoul of issues in some network topologies. In some networks, a large number of option values in the DHCP response can cause MTU problems with proxies or other network elements. This may prevent the reply from being forwarded back to the client. Although the problem may not lie with the outgoing request, it may be possible to mitigate this issue by modifying these requests. This CL provides a means for the Service to track such failures and infer from a series of experiments whether it is likely to be due to an MTU issue. To do this, the Device informs the selected Service of each DHCP success and failure, and queries the Service before starting each DHCP session to inquire whether it should request an extensive or minimal DHCP options from the server. In order to detect and respond to such issues, this CL maintains state in the Service about how DHCP has been performing. If there have been a spate of recent DHCP failures, we should suspect that this may be due to the number of options we are requesting from the DHCP server. We should confirm that this is in fact the issue by testing whether a request for a smaller response succeeds. If this request succeeds we can consider the hunch confirmed and the client should switch to using small requests for some period of time. If our test request fails, we can assume for now that the problem isn't realated to a DHCP response size and return to the default behavior. If we have confirmed our hunch earlier and the time period expires, we should try again to use a more comprehensive DHCP request. If this succeeds, we can assume either the network infrastructure has repaired itself or that the previous hunch was in error, and return to the "not detected" state. If it fails, we should confirm whether this is the identical problem to before by re-testing a small DHCP request size. Since the "confirmed" state did not pay attention to DHCP failures, it's possible that they have been failing across the board as of late. If indeed both large and small DHCP responses fail to reach us, we should put off our re-test until we start receiving DHCP replies again. The state machine implemented for DHCP failures is illustrated in state machine diagram below (all events not shown do not cause a state change): [ Not Detected (send full request) ] <------------ | ^ | | | | n * failure failure | | | | V | | [ Suspected (send minimal request) ] | | | success | | | V | [ Confirmed (send minimal request) ] | ^ | | | hold timer elapsed | | | | success V | | [ Retest Full Request ] ----success--/ | | ^ | failure | | | | | V | [ Retest Minimal Request ] | | success failure | | | V | [ Retest With No Reply (send minimal requests) ] The Service only persists two states: "Not Detected" and "Confirmed". This is done via the presence or absence of the stored "LastDHCPOptionFailure" property, which is the time the system last entered the "Confirmed" state. A third state, "Reset Full Request" is implicitly persisted if this timestamp is old enough that the hold timer has expired. BUG=chromium:297607 TEST=Unit tests Change-Id: I1ee83debf4d11f25678fe3586574ec04f254a83f Reviewed-on: https://chromium-review.googlesource.com/174634 Reviewed-by: Paul Stewart <pstew@chromium.org> Commit-Queue: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
bebf1b8bce52b88c2cc2d93200b9405f9c19cf21 |
|
24-Apr-2013 |
mukesh agrawal <quiche@chromium.org> |
shill: make setting a property to its current value a no-op Before this change, setting the EAP authentication properties on a WiFiService would cause the connection to be dropped. The connection would drop even if the new values were the same as the old. With this change, the connection is only dropped if the new values differ from the old. Overview of changes: - AccessorInterface: have property setters return a bool (rather than void). Setters should return true to indicate the value was changed, and false otherwise. - PropertyAccessor and derived classes: - Implement the new AccessorInterface. - Add tests that we implement the new AccessorInterface. - Custom property setters (various classes): - Update existing custom setters to return true if the value was changed, and false otherwise. - Add tests that custom setters implement the desired behavior. - DBusAdaptor - Change SetProperty to propagate the return value of PropertyStore's setters, rather than Error::IsSuccess(). - In combination with other changes, this means DBusAdaptor::SetProperty now returns false if the new value is the same as the old. - This also suppresses some spurious change notifications from IPConfig, Manager, and Profile objects. - Add tests that DBusAdaptor::SetProperty implements the desired behavior. - PropertyStore - Add a change callback. This optional argument to the ctor is invoked if a setter or clearer modified its property. This is so that classes don't have to depend on their RPC adaptors to inform them of a change. (See changes in Service.) - Have setters pass through the return value of the Accessor, rather than returning Error::IsSuccess(). In combination with other changes, this means that setters now returns false if the new value is the same as the old. - Add tests that PropertyStore invokes the change callback appropriately. - ClearPropertyNonexistent, SetPropertyNonexistent: no callback - ClearProperty: callback - SetProperty: callback if and only if property changed - Service - Register OnPropertyChanged with PropertyStore, instead of relying on a callback from ServiceDBusAdaptor. Two reasons for the change: 1) The RPC adaptors should be as trivial as possible, and 2) We can't test code in the RPC adaptors. 3) If we can't test code in the RPC adaptors, go to 1. - ServiceDBusAdaptor: remove OnPropertyChange callback in SetProperty. See Service for the rationale. - Update existing SetProperty tests (various classes) We now use values that differ from the current value of the property. This ensures that the setter returns true. - WiFiServiceTest: add a case to test that EAP authentication property changes caused cached credentials to be cleared appropriately. This is redundant given some of the other tests. But given that this was the original problem in the bug, it seems worth testing specifically. - HACKING: add some guidelines for what to do when adding properties. While there: - Change some HelpRegister... functions to HelpRegisterConst... - Update some tests to check error.is_set() before reading error.name(). This avoids a stray pointer dereference. - Add SetStringmapsProperty to PropertyStore. This is needed because PropertyStoreTypedTest now tests setters. - Remove duplicate kAutoConnectProperty test case in ServiceTest.SetProperty - Remove unused local in WiFiServiceTest.SetPassphraseRemovedCachedCredentials - Remove unused method Device::HelpRegisterDerivedStrings - Remove KeyValueStore from the set of types exercised by PropertyStoreTypedTest. We only use KeyValueStore for const properties, and PropertyStoreTypedTest tests setting and clearing. - Add PropertyChanges test to EthernetEapServiceTest. BUG=chromium:233681 TEST=new unit tests Change-Id: I9bdd89fbe6f19101dfcd5f126f2ba9c81533ff97 Reviewed-on: https://gerrit.chromium.org/gerrit/49733 Commit-Queue: mukesh agrawal <quiche@chromium.org> Reviewed-by: mukesh agrawal <quiche@chromium.org> Tested-by: mukesh agrawal <quiche@chromium.org>
/system/connectivity/shill/mock_service.h
|
967eaebb63aac3b9679dc4b2dca0565292e3af03 |
|
26-Apr-2013 |
Paul Stewart <pstew@chromium.org> |
shill: Service: Return profile entries that can configure Add a Service DBus method that can provide the set of (profile, entry) pairs that contain configuration for the Service. This can be used to figure out what profile entries other than the one currently associated with the service contain configuration entries relevant to this service. BUG=chromium:235674 TEST=Unit tests + manual: call GetLoadableProfileEntries on a remembered service from python returns something like: dbus.Dictionary({dbus.ObjectPath('/profile/default'): dbus.String(u'wifi_any_beef_managed_psk')}, signature=dbus.Signature('os')) Change-Id: Id94f98b98e5cb5c98c32c765e707125f53dae2d9 Reviewed-on: https://gerrit.chromium.org/gerrit/49279 Commit-Queue: Paul Stewart <pstew@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
35eff134fd95fdf1918803c4966f8b790914b3d4 |
|
12-Apr-2013 |
Paul Stewart <pstew@chromium.org> |
shill: Ethernet: Create shared credentials provider Share a single service instance for all Ethernet devices to use for EAP credentials. This service instance is only used for EAP authentication, so other parameters such as Static IP paramters are still retrieved from the per-device Ethernet service. Provide a method for all Ethernet devices connected to an EAP authenticator to be notified when the EAP credentials for this shared service have been changed. Use both facilities in the Ethernet device. CQ-DEPEND=CL:48162 BUG=chromium:227433 TEST=New unit tests; revised version of network_8021xWiredAuthentication (see co-dependent CL) Change-Id: I5b19723dddfa2d793090128adb6429f31174b276 Reviewed-on: https://gerrit.chromium.org/gerrit/48138 Reviewed-by: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org> Commit-Queue: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
dc7b8447aa220fae51b73fd8610cbfed14ed57fc |
|
27-Sep-2012 |
mukesh agrawal <quiche@chromium.org> |
shill: improve service logging - In Service::Connect: log the unique name of the service we're connecting to, as well as the function that triggered the connect. - In *Service: ensure all derived classes call into the base class' Connect method. - In Service::ThrottleFutureAutoConnects: clarify log message - In Service::Disconnect: log the unique_name of the service - In WiFi::BSSRemovedTask: log the affected service - In WiFiService::Connect: don't attempt a connection if the security parameter was unrecognized. - In Service ctor: LogSSID of FriendlyName at INFO. BUG=chromium:220496 TEST=unit tests Change-Id: If254d081c7426dc6adff5aeab2c99122f6742efe Reviewed-on: https://gerrit.chromium.org/gerrit/47510 Tested-by: mukesh agrawal <quiche@chromium.org> Reviewed-by: Ben Chan <benchan@chromium.org> Reviewed-by: mukesh agrawal <quiche@chromium.org> Commit-Queue: mukesh agrawal <quiche@chromium.org>
/system/connectivity/shill/mock_service.h
|
7a20aa492230e9e969c8853ad684be0c5b224479 |
|
17-Jan-2013 |
Paul Stewart <pstew@chromium.org> |
shill: Manager: Implement FindMatchingService Find an in-memory Service given a dictionary of attributes. The Manager will return the first Service that matches these attributes. While here, fix an old bug where Service::Configure enumerated the input uint32 arguments with the intention of configuring the "Priority" property, except that "Priority" is an int32. BUG=chromium-os:34525 TEST=Unit tests, manual using python script to call GetMatchingService with a known service name Change-Id: Ib093b257c4217796ae5aa13bf090c1234df70c7d Reviewed-on: https://gerrit.chromium.org/gerrit/41554 Reviewed-by: mukesh agrawal <quiche@chromium.org> Commit-Queue: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
457728b3eeb2d67c980e0d20675f0a0f750903e1 |
|
09-Jan-2013 |
Darin Petkov <petkov@chromium.org> |
shill: Log service's unique name rather than friendly name. This way we consistently identify the service throughout shill's logs as well as alleviate PII concerns due to SSIDs leaking into logs. Renamed Service::UniqueName() to Service::unique_name(), per style. Made Service::friendly_name() protected to limit its accidental use. BUG=chromium-os:37679 TEST=unit tests, tested on device and inspected logs Change-Id: Idcdba75875a9d10cda51b714730ef633876481c6 Reviewed-on: https://gerrit.chromium.org/gerrit/40926 Tested-by: Darin Petkov <petkov@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org> Commit-Queue: Darin Petkov <petkov@chromium.org>
/system/connectivity/shill/mock_service.h
|
df3c0a897bc74cb3a9800332b8359a364ca2f753 |
|
10-Nov-2012 |
Paul Stewart <pstew@chromium.org> |
shill: Service: Sort services based on dependency If one connected service depends on another for connectivity, it should be sorted first, overriding technology and priority ordering. We evaluate this by using the "Lower binder" property of the service's connection, which is currently the case for VPNs connections to indicate what underlying link is used. It does not make sense for a VPN service to be ranked at a lower priority than its underlying technology, since the fact that it is connected implies that the VPN is meant to be applied to it. BUG=chromium-os:36231 TEST=Unit tests. Change-Id: I74ee5d1213141db2c6a124ed44717c848a0e2701 Reviewed-on: https://gerrit.chromium.org/gerrit/37774 Reviewed-by: mukesh agrawal <quiche@chromium.org> Commit-Ready: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
bfb825563ecdf282162dfb4e43ded89c99b0fbb5 |
|
25-Oct-2012 |
Paul Stewart <pstew@chromium.org> |
shill: Properly return and emit WatchedServices property Instead of copying the "Services" property, properly return a list of services that are in a non-"Idle/Failure/Unknown" state. Also emit this as a PropertyChange signal in Manager::SortServices. Also fix a long-standing bug where EnumerateAvailableServices returned invisble servces. While we're here, add unit tests that assert that when a Service state is changed, this eventually causes the above property changes to be emitted. BUG=chromium-os:35700,chromium-os:35701 TEST=Unit tests Change-Id: Ifc3487f1e4856372d88da428e10d0fb40f7efd3e Reviewed-on: https://gerrit.chromium.org/gerrit/36505 Reviewed-by: Gaurav Shah <gauravsh@chromium.org> Commit-Ready: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
abd3b50b0c3b6cde124892134091328d2b6dd5e3 |
|
26-Sep-2012 |
Christopher Wiley <wiley@chromium.org> |
shill: Disconnect a service on DHCP lease failure Fix a bug where failing to acquire a DHCP lease would result in permanent device offline state. This happens because marking a service as disconnected doesn't work through any of the logic to trigger an actual disconnect from the actually fully associated service. For instance, in WiFi's case, this leaves the service associated in the eye's of wifi.cc, but in some state outside of the typical state machine for connecting services. Thus shill does nothing, leaving users to wonder. device.cc should ask the service to disconnect itself rather than changing its state unbeknownst to the service. However, there does not seem to be a path to disconnect a service without marking the disconnect as user initiated. Create such a path. I've gone over the callsites and looked for places where they might assume that the service won't be autoconnected again, and not found problems on inspection. At worst, we'll just be auto connecting some services we didn't used to. In some places, like cellular, it seems like we Disconnect when we find we are roaming, which doesn't seem like a permanent/non autoconnectable offense. TEST=Unit tests BUG=chromium-os:32279 Change-Id: I34b60f3c009c276efac5d7e51495dc5681bf4b5f Reviewed-on: https://gerrit.chromium.org/gerrit/34195 Commit-Ready: Christopher Wiley <wiley@chromium.org> Reviewed-by: Christopher Wiley <wiley@chromium.org> Tested-by: Christopher Wiley <wiley@chromium.org>
/system/connectivity/shill/mock_service.h
|
053fa82aad4ce9bc99ab3dc278d4e12ab0be14c0 |
|
05-Jun-2012 |
Joshua Kroll <joshkroll@chromium.org> |
Remove TechnologyIs method from the Service class and its subclasses. This is step 1 in removing the method altogether. BUG=chromium-os:29696 TEST=Ran the shill unit tests. Change-Id: I793cddee870afbdae778b1ea0527ad2398481411 Reviewed-on: https://gerrit.chromium.org/gerrit/24524 Reviewed-by: Paul Stewart <pstew@chromium.org> Tested-by: Joshua Kroll <joshkroll@chromium.org> Commit-Ready: Joshua Kroll <joshkroll@chromium.org>
/system/connectivity/shill/mock_service.h
|
5eb0542cb67358d9030367498a4ad741fc42af4f |
|
11-May-2012 |
Darin Petkov <petkov@chromium.org> |
shill: vpn: Disconnect VPN service when underlying connection disconnects. BUG=chromium-os:30737,chromium-os:30774 TEST=unit tests, tested on device with 000OpenVPNGenesis Change-Id: Ib350cb23edd3e68b3bd5390378789a6b60857b80 Reviewed-on: https://gerrit.chromium.org/gerrit/22461 Tested-by: Darin Petkov <petkov@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org> Reviewed-by: mukesh agrawal <quiche@chromium.org> Commit-Ready: Darin Petkov <petkov@chromium.org>
/system/connectivity/shill/mock_service.h
|
d93615e9687b3473ede06a8503b6d23aacd0c603 |
|
27-Apr-2012 |
Gary Morain <gmorain@chromium.org> |
shill: Save ephemeral profile when GSM cellular network connects Normally, a service is saved when an IP address is assigned to a network. However, in the case of GSM, when the network connects (but before an IP address is assigned), the APN needs to be saved. This was causing crashes because the save function was being performed on the ephemeral profile, which does not have a backing store. This change saves the service to the current profile (which has a backing store). BUG=chromium-os:29981 TEST=manual. Log in. Ensure there is no cellular network in ~chronos/shill/shill.profile. Attempt to connect to the a GSM (T-Mobile) network. Verify that shill does not crash and that the cellular network has an entry in ~chronos/shill/shill.profile. Change-Id: Ib14c80cc08598841629a3a1a3e96739b30297aa6 Reviewed-on: https://gerrit.chromium.org/gerrit/21350 Commit-Ready: Gary Morain <gmorain@chromium.org> Reviewed-by: Gary Morain <gmorain@chromium.org> Tested-by: Gary Morain <gmorain@chromium.org>
/system/connectivity/shill/mock_service.h
|
10ccbb3c6bc4f4246105743c8508fc9ce8759c17 |
|
27-Apr-2012 |
Paul Stewart <pstew@chromium.org> |
shill: wifi: Scan for non-ephemeral hidden networks Before, shill used the "favorite()" property to tell whether it should scan for a hidden SSID. Instead, use a more direct approach of asking whether the service is part of a non-ephemeral profile. This allows services configured via Manager::ConfigureService() for which the "favorite" flag has not been set to be scanned for and listed for the user to select. BUG=chromium-os:26676 TEST=New unit tests, manual -- configure a hidden network via configure-hidden-wifi, then propose a scan via "test-flimflam scan", while running "iw event" to confirm whether the new SSID appears in the scan list Change-Id: I75364c83c94482c0c3d654e2076a4bed06a7fca2 Reviewed-on: https://gerrit.chromium.org/gerrit/21288 Commit-Ready: Paul Stewart <pstew@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
d215af6f72d012f43057c34f17a12506baa21e66 |
|
25-Apr-2012 |
Paul Stewart <pstew@chromium.org> |
shill: service: Do active checks on PortalCheck and ProxyConfig Change both properties to be derived strings. Validate the various values of the PortalCheck parameter. Force a restart of portal detection if either parameter changes, so that we can switch from Portal to Online or vice vesa if by changing this parameter we are changing the behavior of portal check. BUG=chromium-os:29745 TEST=New unit tests. Manual: Set Proxy configuration on a service in portal state while on the login screen. Change-Id: I86c386e61396a23103f99382c568372b4774f452 Reviewed-on: https://gerrit.chromium.org/gerrit/21027 Commit-Ready: Paul Stewart <pstew@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
65512e10f0534c390b2ef027cc64f660658db6c0 |
|
27-Mar-2012 |
Paul Stewart <pstew@chromium.org> |
shill: vpn: Destroy Unload()ed VPN services BUG=chromium-os:28481 TEST=New unit test. Change-Id: I222441d3ff5cbc7d97d97f7fdd2917eee5921721 Reviewed-on: https://gerrit.chromium.org/gerrit/19143 Reviewed-by: mukesh agrawal <quiche@chromium.org> Commit-Ready: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
cb59fed9326dc91c93b817dcd9eaca363d8313fe |
|
22-Mar-2012 |
Paul Stewart <pstew@chromium.org> |
shill: Implement Service::Configure This applies the properties of a KeyValueStore to a Service. It does so by calling accessors in the Service's PropertyStore with each value in the KeyValueStore. Certain parameters are ommitted at the request of the Service if they were ostensibly already handled in the GetService or ConfigureService call that started this Confiugre. BUG=chromium-os:22800 TEST=New unit tests. Change-Id: I69eedcdee03fa0682ff7821553bb6c7d76e6a50e Reviewed-on: https://gerrit.chromium.org/gerrit/18823 Reviewed-by: mukesh agrawal <quiche@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org> Commit-Ready: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
ce4ec19216ccd15ae349ee42498657afc2c75bd8 |
|
14-Mar-2012 |
Paul Stewart <pstew@chromium.org> |
shill: vpn: Pin route on default connection If "trusted_ip" and "gateway" are both specified in the OpenVPN config, pin a host route to the VPN server. As a bonus change, add a MockService::connection() and supply a default value so Service does not need to befriend so many tests. BUG=chromium-os:27483 TEST=New unit tests Change-Id: I010fca6336b227c4086efb0481dcb8052245213e Reviewed-on: https://gerrit.chromium.org/gerrit/18155 Reviewed-by: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org> Commit-Ready: Darin Petkov <petkov@chromium.org>
/system/connectivity/shill/mock_service.h
|
20088d860631a67c151a12783fbbee63c708792f |
|
16-Feb-2012 |
Paul Stewart <pstew@chromium.org> |
shill: Perform Portal Detection in Device When a connection completes, start a portal detection request, which may change the state of the selected service. Bonus changes: removed Service::kStateReady, since Service::kStateConnected maps directly to flimflam::kStateReady. Also, move technology list parsing over to technology.cc. BUG=chromium-os:23318 TEST=New unit tests Change-Id: I2fad724165af6914c8f83bc123f07db5af223a05 Reviewed-on: https://gerrit.chromium.org/gerrit/16117 Commit-Ready: Paul Stewart <pstew@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
d4e9e552fb39c5c6f384b5b1bb2369415971ea39 |
|
17-Feb-2012 |
Thieu Le <thieule@chromium.org> |
shill: Persists updated favorite setting. BUG=chromium-os:26373 TEST=Unit tests, manually connect to GoogleGuest, reboot, suspend/resume and ensure GoogleGuest gets reconnected, network_WiFiManager Change-Id: Ib35c281fc3f1ece8a469cd737fe2dfdb5c1a3dc8 Reviewed-on: https://gerrit.chromium.org/gerrit/16105 Commit-Ready: Thieu Le <thieule@chromium.org> Reviewed-by: Thieu Le <thieule@chromium.org> Tested-by: Thieu Le <thieule@chromium.org>
/system/connectivity/shill/mock_service.h
|
67370f6ebe6757f55249f6e87f4a96922d0c4518 |
|
15-Feb-2012 |
Thieu Le <thieule@chromium.org> |
shill: Add code to track disconnect metric. BUG=chromium-os:25958 TEST=Unit tests, network_WiFiManager Change-Id: I4cee4d4380dc822c9bed61e006df304c6c6fbdde Reviewed-on: https://gerrit.chromium.org/gerrit/15850 Commit-Ready: Thieu Le <thieule@chromium.org> Reviewed-by: Thieu Le <thieule@chromium.org> Tested-by: Thieu Le <thieule@chromium.org>
/system/connectivity/shill/mock_service.h
|
7522551440b9a287bccf2d95a42357d04ab79814 |
|
27-Jan-2012 |
Paul Stewart <pstew@chromium.org> |
shill: Implement DeleteEntry Profile method Implement the DeleteEntry DBus method call, which removes a Profile entry as well as detaching any connected services from the profile data. As a bonus change, modify Manager to consolidate finding a Profile that is suitable for a Service which does not have one. BUG=chromium-os:25542 TEST=New unit tests Change-Id: I6a954a41ab2d1b49f6432858e2263a63b5af21f1 Reviewed-on: https://gerrit.chromium.org/gerrit/14944 Reviewed-by: mukesh agrawal <quiche@chromium.org> Commit-Ready: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
3426c8fc7a3943f2d8fcb2ec78f0593088b42bed |
|
12-Jan-2012 |
Thieu Le <thieule@chromium.org> |
shill: Move Metrics from singleton to Shill daemon While implementing chromium-os:24810, it was discovered that Metrics is cleaner if it is passed around like ControlInterface, Dispatcher, Manager, etc. This approach also makes Metrics more testable. BUG=chromium-os:24810 TEST=Unit tests, network_WiFiManager suite Change-Id: I556a1bd11f21f0b93ecfeaae8855dfb99ed5e5f9 Reviewed-on: https://gerrit.chromium.org/gerrit/14099 Commit-Ready: Thieu Le <thieule@chromium.org> Reviewed-by: Thieu Le <thieule@chromium.org> Tested-by: Thieu Le <thieule@chromium.org>
/system/connectivity/shill/mock_service.h
|
8a3188dbc04245c17a4729d16a632547ce4bf585 |
|
01-Dec-2011 |
mukesh agrawal <quiche@chromium.org> |
shill: improve conformance with WiFiRoaming tests This patch makes several changes to get shill passing more of the WiFiRoaming suite. shill now passes 13 of the 18 tests. Overview of changes: - Clean up Services when their last Endpoint disappers. - Make a new WiFi connection request pre-empt an existing one. - Make Device::SelectService no-op if new service is same as old. (part of resolving crosbug.com/23703) - Move auto-connect logic to its own function, and run that function in a deferred task (partly resolves crosbug.com/24276) - Add a non-deferred variant of Service::Connect (part of resolving crosbug.com/24276). - Have service sort order reflect whether or not services are connecting, failed, connectable, and configured for auto-connect. BUG=chromium-os:24276,chromium-os:23223,chromium-os:22943,chromium-os:23703 TEST=WiFiRoaming, unit tests, manual Manual testing: per https://gerrit.chromium.org/gerrit/12963 Collateral changes: - updated TESTING - added crosbug.com/24461 for problem with autotest and profiles - declared some functions as const - removed some useless comments Change-Id: I36d6eb7108a377dbf409d3e5673deffb85c0633e Reviewed-on: https://gerrit.chromium.org/gerrit/12687 Reviewed-by: Thieu Le <thieule@chromium.org> Tested-by: mukesh agrawal <quiche@chromium.org> Commit-Ready: mukesh agrawal <quiche@chromium.org>
/system/connectivity/shill/mock_service.h
|
c1dec4d5cad7c6ee2cd8dbc4f47e4d30403dcca1 |
|
09-Dec-2011 |
Paul Stewart <pstew@chromium.org> |
shill: Assign "Default" status to the best connection Set the highest-ranked connection to be the "Default". As a result, the highest priority default route will move with the highest-ranked connection in the service list. Bonus changes: * Service now formally holds a reference to the Connection object, so call a "SetConnection" method instead of a Create/Destroy of the HTTPProxy. * Actually start the routing table service, and do a couple minor fixes due to how the kernel actually accepts metric changes. BUG=chromium-os:7607,chromium-os:23993 TEST=New Unit Test + Manual (watch routes while inserting USB-Ethernet on a machine connected to WiFi) Change-Id: Iddf1ed766238d9e8adc97bb54fc12b527f86239f Reviewed-on: https://gerrit.chromium.org/gerrit/12685 Reviewed-by: mukesh agrawal <quiche@chromium.org> Reviewed-by: Gaurav Shah <gauravsh@chromium.org> Commit-Ready: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
be5f5b341ba4b85d45ffb6c0430ef5ab84c7b961 |
|
08-Dec-2011 |
Paul Stewart <pstew@chromium.org> |
shill: Create HTTPProxy for connected services When an a Connection is created on a Device, ask the Service to create an HTTPProxy. The Service will then expose the port number for the proxy as an RPC property. Whenever the Service is unselected by the Device, or the connection terminates, ask the Service to destroy the proxy. The Service owns the HTTPProxy so that it can report the proxy port in its properties. BUG=chromium-os:21664 TEST=Add expectations for DestroyProxy in unit tests. Manual: Ensure that "list-services" shows the proxy port on a successful connection, and "curl -x" to this proxy succeeds. Change-Id: I24a1f7a23c0fc4577b48aed7bec370fba6edc342 Reviewed-on: https://gerrit.chromium.org/gerrit/12625 Reviewed-by: mukesh agrawal <quiche@chromium.org> Commit-Ready: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
0ed0f2e84c366a90bca4a824b0adf18e9f243369 |
|
05-Dec-2011 |
mukesh agrawal <quiche@chromium.org> |
shill: implement Service.Disconnect (for WiFiService only) BUG=chromium-os:23774,chromium-os:23662 TEST=new unit tests, some autotests autotests run: - PASS network_WiFiSecMat.031CheckHidden_WPA - PASS network_WiFiSecMat.032CheckHidden_RSN Change-Id: I0c2dc8c9888caca793f0dfe5a55c0df2a4b10c79 Reviewed-on: https://gerrit.chromium.org/gerrit/12498 Commit-Ready: mukesh agrawal <quiche@chromium.org> Reviewed-by: mukesh agrawal <quiche@chromium.org> Tested-by: mukesh agrawal <quiche@chromium.org>
/system/connectivity/shill/mock_service.h
|
ed2c28c6e3c0bc2f9d8832fee083868304178f08 |
|
30-Nov-2011 |
Hristo Stefanov <hstefanov@chromium.org> |
shill: cleaning glint warnings The typical warnings addressed include a lot of missing includes and missing argument names. About 30 files edited in total. Cpplint was the actual lint being run. BUG=chromium-os:15873 TEST=Ran all the unit tests. Change-Id: I64a8b76cd8f94c7729743b76b41a956f1b7370cf Reviewed-on: https://gerrit.chromium.org/gerrit/12253 Commit-Ready: Hristo Stefanov <hstefanov@chromium.org> Reviewed-by: Hristo Stefanov <hstefanov@chromium.org> Tested-by: Hristo Stefanov <hstefanov@chromium.org>
/system/connectivity/shill/mock_service.h
|
435de2cd55a95836381b53acbce8cbbad98ec04d |
|
18-Nov-2011 |
Gaurav Shah <gauravsh@chromium.org> |
Implement {Available|Connected|Enabled}Technolgies and DefaultTechnology This is Part 1 of a series of changes required for the Manager to generate the right set of DBus events allowing shill to properly tell Chrome about connectivity. Some other side-effects in the change (needed to implement the above): - Emit these manager properties over DBus everytime we re-sort the Service vector. - Add a technology data member to Device, this allows easy enumeration of technologies. - Add interface for getting a handle to the selected service on a device. - Map connected state to online instead of ready state. This is needed for so that Chrome doesn't wait for the portal detection code to switch the state from ready->online. - Default set the ethernet service as connectable. BUG=chromium-os:14887 TEST=1) manual test to verify shill properly configures the ethernet device and Chrome correctly detects that. 2) new unit tests Change-Id: Ib10f2f0836f8d4aacaad1491f58ed9b3b5d37e7d Reviewed-on: https://gerrit.chromium.org/gerrit/12019 Tested-by: Gaurav Shah <gauravsh@chromium.org> Reviewed-by: mukesh agrawal <quiche@chromium.org>
/system/connectivity/shill/mock_service.h
|
1b7a616197af7ff753dbe7614a8e207b1e10ac1a |
|
09-Nov-2011 |
Gaurav Shah <gauravsh@chromium.org> |
shill: Implement write-only properties Certain properties (e.g. WIFI Passphrase) are write only and must not be returned when Service.GetProperties() is called over D-Bus. This CL implements WriteOnlyProperties, a write-only analog of the read-only ConstProperties. Also add a ReadablePropertyConstIterator which only returns the readable properties. Switch over DBus adaptor and PropertyStore to use that. BUG=chromium-os:21196 TEST=Added 2 new unittests. Change-Id: I52815cc395650e0b49e1acac8d4954deeebcee5d Reviewed-on: https://gerrit.chromium.org/gerrit/11402 Commit-Ready: Gaurav Shah <gauravsh@chromium.org> Reviewed-by: Gaurav Shah <gauravsh@chromium.org> Tested-by: Gaurav Shah <gauravsh@chromium.org>
/system/connectivity/shill/mock_service.h
|
6515aabcd1fbbb9ff2090c9675c17eeef64e7474 |
|
13-Oct-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] Make profiles backed with StoreInterfaces Rely on persistence of data in StoreInterface to maintain Service/Device/IPConfig info for entities that are not currently active, instead of maintaining lists in Profile objects themselves. BUG=chromium-os:17253 TEST=unit, run on device Change-Id: I206f44ddf16c584354f8fcadb57032f047f33d0a Reviewed-on: http://gerrit.chromium.org/gerrit/10024 Commit-Ready: Chris Masone <cmasone@chromium.org> Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|
22aa71b334c716f20999c2e08e5b797207b0afae |
|
16-Sep-2011 |
Paul Stewart <pstew@chromium.org> |
shill: Implement service sorting Sort the list of Services for presentation to RPC callers, essentially copying the current flimflam sorting criteria. Introduce the TechnologyOrder to the Manager. BUG=chromium-os:20114 TEST=New unit tests Change-Id: I766b2297ba3170a7a6ab5adfe68425a8011be4fb Reviewed-on: http://gerrit.chromium.org/gerrit/8205 Tested-by: Paul Stewart <pstew@chromium.org> Reviewed-by: mukesh agrawal <quiche@chromium.org>
/system/connectivity/shill/mock_service.h
|
9d779936d8f8c2d74b30883e2a2622c4207fe797 |
|
26-Aug-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] Add code for persisting profiles and services to disk. BUG=chromium-os:17253 TEST=unit Change-Id: Ic6dbbcb10543da3f4615cb305a77f6b9b301e8bc Reviewed-on: http://gerrit.chromium.org/gerrit/7633 Reviewed-by: Darin Petkov <petkov@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|
03dba0bccc3a39cded5083212e56713a6d349e01 |
|
23-Aug-2011 |
Paul Stewart <pstew@chromium.org> |
shill: Start assigning service state Service state is usually controlled by the associated Device. Devices select a single Service to reflect current connection state. All other Services remain in an idle or whatever Failure state they ended up with at the end of their last attempt. When Service state changes, the service notifies the Manager of its new state. This will be used by the Manager to update service priority and selection of default routes. For unit-tests, add a "State" test for service_unittest which which tests for state changes and up-calls to the Manager. Add "SelectedDevice" test to device_unittest to ensure proper down-calls to the service. BUG=chromium-os:19523 TEST=New unit tests Change-Id: Ic253cc1dd77821a74176346521aff5948ad59660 Reviewed-on: http://gerrit.chromium.org/gerrit/6495 Reviewed-by: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
/system/connectivity/shill/mock_service.h
|
4d6d941563c2c394e5e650d7ee2d24183fff87b3 |
|
24-Aug-2011 |
Darin Petkov <petkov@chromium.org> |
shill: Propagate Cellular errors to the DBus caller. BUG=chromium-os:19547 TEST=unit tests Change-Id: Ieda54d89d977a48718302c6e1e1c7927e3cf2dba Reviewed-on: http://gerrit.chromium.org/gerrit/6603 Reviewed-by: Darin Petkov <petkov@chromium.org> Tested-by: Darin Petkov <petkov@chromium.org>
/system/connectivity/shill/mock_service.h
|
34af218abe6a99144ffe01332ce36fbad94f2628 |
|
22-Aug-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] Use flimflam-esque storage ids Devices: device_<MAC> IPConfig: ipconfig_<MAC of associated device>_0 Services: ethernet_<MAC of associated device> wifi_<MAC of associated device>_<SSID>_<mode>_<security> cellular_<MAC of associated device>_<Network_name> BUG=chromium-os:17744 TEST=unit Change-Id: Ibf061f9c184e7c86f5afcf97d48e321fc74bde1c Reviewed-on: http://gerrit.chromium.org/gerrit/6412 Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|
51a7e939ed0d260392a40bc5d58e6d2651c6ddc0 |
|
28-Jul-2011 |
mukesh agrawal <quiche@chromium.org> |
shill: push service naming down into Service class (instead of being handled in each subclass) BUG=chromium-os:17974 TEST=FEATURES="test nostrip noclean" emerge-x86-generic shill, and run on device Change-Id: Ic251fec9c76fec1a4c3aa5ac8d0aba4c664e029d Reviewed-on: http://gerrit.chromium.org/gerrit/4927 Reviewed-by: mukesh agrawal <quiche@chromium.org> Tested-by: mukesh agrawal <quiche@chromium.org>
/system/connectivity/shill/mock_service.h
|
6791a43add38926966bd420e89541717fb2cb2b5 |
|
12-Jul-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] Enable Profile objects to manage a list of Services to persist. The Manager will hang on to a list of active services. They will be sorted, someday, in an order that makes sense. Every service will be associated with a Profile, though it may the an ephemeral profile that won't persist state to disk. Profiles will maintain a map of service name to service references to track the services whose state they persist to disk. Services may move between Profiles, and will certainly need to be bound to one after they are registered with the Manager, so support for this is provided as well. BUG=chromium-os:17436 TEST=unit tests Change-Id: Id43a0e1d97302b6f574bd2213d4f3d176bb5223f Reviewed-on: http://gerrit.chromium.org/gerrit/4033 Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|
b2e326bf37654683cdc8c0cbbab29d1af7910af8 |
|
12-Jul-2011 |
Chris Masone <cmasone@chromium.org> |
Re-land "[shill] Get rid of Entry as a first-class citizen"" This reverts commit 7c1ab1cb74bf6397c67e1cdc825043a93c4bce33. Also, fixes some compile problems that only repro with debug flags and that cause runtime dbus errors with the new version of libdbus BUG=chromium-os:17436 TEST=unit tests Change-Id: I479308e684b802f167788daeaf4ec39d0b63ee17 Reviewed-on: http://gerrit.chromium.org/gerrit/3961 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Darin Petkov <petkov@chromium.org>
/system/connectivity/shill/mock_service.h
|
7c1ab1cb74bf6397c67e1cdc825043a93c4bce33 |
|
12-Jul-2011 |
Chris Masone <cmasone@chromium.org> |
Revert "[shill] Get rid of Entry as a first-class citizen" This reverts commit 7c982eade99f01cb6b8719ed4d385c0ec6b50f75 Change-Id: I554c12003c18f09ac7f736e98b9ecd63829100e9 Reviewed-on: http://gerrit.chromium.org/gerrit/3957 Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|
9c9e8fb31c9b39fb2832e0804d5c71b3ef685427 |
|
12-Jul-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] Get rid of Entry as a first-class citizen Entry was a bad idea. Instead, merge that stuff back into Service and make Profile objects just have a list of Services. Live Services will be registered with Manager; ones that exist only within a Profile will have to be accessed by querying the Profile over DBus, just like today. BUG=chromium-os:17436 TEST=unit tests Change-Id: Id07d762925b252219aa79340931e34b87f10007e Reviewed-on: http://gerrit.chromium.org/gerrit/3951 Reviewed-by: Darin Petkov <petkov@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|
7aa5f90848b530999d8b6788ecb40aa30871c7ae |
|
11-Jul-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] Back property storage in Service objects with Entry objects Much of Shill Service state is persisted to disk, by creating an Entry in a Profile. We should store this info just once, so that we don't have to worry about keeping multiple data stores in sync. This is a first step in that direction. BUG=chromium-os:17436 TEST=unit tests Change-Id: If94db2a38a7d79c56e2c746b2f069cfd7ab4bf65 Reviewed-on: http://gerrit.chromium.org/gerrit/3876 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Darin Petkov <petkov@chromium.org>
/system/connectivity/shill/mock_service.h
|
95207da4b896bd0a4186163f6f9ebda044a5a7b9 |
|
30-Jun-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] Enable objects to query an opaque RPC-system ID from Adaptors This is needed for some properties. For example Service has a property called Device, which is expected to return a (in the current impl) a DBus path for the associated Device object. BUG=chromium-os:16343 TEST=unit tests Change-Id: I8bd32ab483331efabbfee05dbdeba045c7cb20da Reviewed-on: http://gerrit.chromium.org/gerrit/3417 Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|
2b10554b6c736f3421102d483b74b70bb82f997c |
|
22-Jun-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] Use ref-counted pointers more, break unneeded header deps 1) Replace more bare pointers with ref-counted pointers. 2) Move declarations of *RefPtr into a header file with fwd-declared classes 3) Make class headers include that, move inclusion of real headers to .cc files. BUG=None TEST=unit tests Change-Id: I8208c82377c6dbefe6903561a503b8db63f063d6 Reviewed-on: http://gerrit.chromium.org/gerrit/3177 Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|
3bd3c8c33917221d1074f1aa19272e45c0ce2793 |
|
13-Jun-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] Add support for setting properties. This CL adds a framework for supporting RPC-exposed properties in Shill. It also plumbs the code for setting properties on Service objects to prove the approach. Device and Manager settings will follow. BUG=chromium-os:16343 TEST=build shill, run unit tests. Change-Id: I55869453d6039e688f1a49be9dfb1ba1315efe0a Reviewed-on: http://gerrit.chromium.org/gerrit/3004 Reviewed-by: Darin Petkov <petkov@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|
c1e50412f45518e23d51ba8bb8694c366943d945 |
|
07-Jun-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] Start replacing bare pointers with scoped_refptrs where appropriate BUG=chromium-os:16259 TEST=unit tests Change-Id: I5e1531b726bbb40917d25dc3ae44da9a6a420e00 Reviewed-on: http://gerrit.chromium.org/gerrit/2236 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Darin Petkov <petkov@chromium.org>
/system/connectivity/shill/mock_service.h
|
a82b7111f2b0515a8d79e6e8034836a5d1342468 |
|
26-May-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] device, service objects need to register unique paths BUG=chromium-os:15752 TEST=unit tests Change-Id: I54a5b1fb3e156fb62ffff0bc49a411135c01a1d0 Reviewed-on: http://gerrit.chromium.org/gerrit/1897 Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|
9be4a9d1e87d64f850f15061123b2a4334477fa2 |
|
17-May-2011 |
Chris Masone <cmasone@chromium.org> |
[shill] the beginnings of the data model Flesh out Manager a little, to add vectors of Device* and Service* and ways to look through them. BUG=chromium-os:15347 TEST=unit tests Change-Id: Iae5280f56bf58cf1580f0b87c465f4905459f07a Reviewed-on: http://gerrit.chromium.org/gerrit/966 Reviewed-by: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org>
/system/connectivity/shill/mock_service.h
|