Commit Graph

1177 Commits

Author SHA1 Message Date
Robert Greenwalt
54b6fd0cbe Merge "Add networks and requests to CS.dump" 2014-05-14 13:44:26 +00:00
Robert Greenwalt
c9c90c771c Add networks and requests to CS.dump
Adds debugging.

Change-Id: I352dfe970c990fd210f3d1598519e321bbdd6ed5
(cherry picked from commit 9bdf6bd99db56c652ba9a62d91f258d11d19ca9f)
2014-05-14 13:12:23 +00:00
Robert Greenwalt
9258c64bef Add Multinetwork API
Change-Id: I3a9cef0d416db96d05098dd989ee3fef3b1e9274
(cherry picked from commit cc5e6afa1ba0bef099bcb21a64a36bc2bf7951db)
2014-05-14 13:06:56 +00:00
Paul Jensen
ca8f16ad14 Add NetworkMonitor.
At present the network evaluation / captive portal detection
is disabled pending addition of API to bind socket to network.

Change-Id: I5d1f5dc86d4dd9481d52dd45d6da0732054c8315
2014-05-14 03:56:34 -07:00
Paul Jensen
992f252579 Separate network and interface addition/removal netd APIs.
This should facilitate stacked interfaces (i.e. clatd).

Change-Id: Ib3e7a4d3847ef6ec4449451f6da42e75959baa4f
2014-05-14 03:56:34 -07:00
Robert Greenwalt
7b81602f3c Enabling internal msg apis
NetworkFactory and NetworkAgent.  First trying with wifi and
getting rid of WifiStateTracker.

Conflicts:
	api/current.txt
	services/core/java/com/android/server/ConnectivityService.java

Change-Id: I7f0ec13d7d8988b32f3c6dc71f72012f3349fe02
2014-05-14 03:56:34 -07:00
Robert Greenwalt
2491c3a0e8 Merge "Add Network-specific host name resolution API." 2014-05-14 05:39:10 +00:00
Robert Greenwalt
e049c23980 Add NetworkFactory support.
This is a protocol allowing transports to dynamically register with CS for
Handler to Handler communications.

bug:13885501
Change-Id: Ic7275e3724a15efc7e5f80981560c4cb3106007b
2014-05-13 21:21:49 -07:00
Paul Jensen
3e32a4b667 Add Network-specific host name resolution API.
Change-Id: I932f73158a8f6e3ccc36c319d138180dff2aa070
2014-05-13 19:05:13 -04:00
Jason Monk
b01c6855c0 Merge "Switch PacUrl storage from String to Uri" 2014-05-13 15:14:50 +00:00
Robert Greenwalt
5152c0987d Merge "Add has* utility functions to NetworkCapabilities" 2014-05-13 01:35:02 +00:00
Robert Greenwalt
5c55e3335c Add has* utility functions to NetworkCapabilities
Change-Id: Icf735b778a3956812be522db39c29cf54c757a25
2014-05-12 18:32:22 -07:00
Lorenzo Colitti
0b38f08ede Fix reboot loop.
The multinetwork branch is rebooting on startup with:

E/AndroidRuntime( 1024): *** FATAL EXCEPTION IN SYSTEM PROCESS: NetworkStats
[...]
E/AndroidRuntime( 1024): Caused by: java.lang.NullPointerException: Attempt to read from field 'long android.net.NetworkCapabilities.mNetworkCapabilities' on a null object reference
E/AndroidRuntime( 1024): 	at android.net.NetworkCapabilities.<init>(NetworkCapabilities.java:235)
E/AndroidRuntime( 1024): 	at android.net.BaseNetworkStateTracker.getNetworkCapabilities(BaseNetworkStateTracker.java:103)
E/AndroidRuntime( 1024): 	at com.android.server.ConnectivityService.getAllNetworkState(ConnectivityService.java:1134)
E/AndroidRuntime( 1024): 	at com.android.server.net.NetworkStatsService.updateIfacesLocked(NetworkStatsService.java:877)
E/AndroidRuntime( 1024): 	at com.android.server.net.NetworkStatsService.updateIfaces(NetworkStatsService.java:849)
E/AndroidRuntime( 1024): 	at com.android.server.net.NetworkStatsService.access$600(NetworkStatsService.java:139)
E/AndroidRuntime( 1024): 	at com.android.server.net.NetworkStatsService$2.onReceive(NetworkStatsService.java:717)
E/AndroidRuntime( 1024): 	at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:766)
E/AndroidRuntime( 1024): 	... 4 more

This seems to be due to NetworkCapabilities' copy constructor
not null-checking its argument.  Unbreak things by ignoring null.

Change-Id: Iff3c38e6d72390fa86e51bfce534ebd42a262e19
2014-05-12 18:06:47 -07:00
Robert Greenwalt
3c0bf5e536 Add NetworkRequest to the multinetwork API
bug:13885501
Change-Id: I7b9a01aadf26b6ff104d088b6e283c838ec4dfac
2014-05-12 17:52:48 -07:00
Robert Greenwalt
f9cb86aebe Replace LinkCapabilities with NetworkCapabilities
Also remove unused LinkSocket and LinkSocketNotifier.
bug:13885501

Change-Id: Id426e31b201fa4f29109b5fea485d8efb34519d3
2014-05-12 16:52:56 -07:00
Jason Monk
83520b9512 Switch PacUrl storage from String to Uri
Since the interface for creating/accessing PAC URLs through a
ProxyInfo is Uri based, so should the internal storage and
references.

Change-Id: Ibf15c350f4cc526f81aba3ec463070f26af8f535
2014-05-12 15:44:32 -04:00
Robert Greenwalt
1448f0540b Add NetworkCapabilities part of API.
Merging to master, adding @hide until we're ready to reveal the API change.

bug:13885501
Change-Id: Ib40e28092e092630bfec557bde77f58eec8ae1c8
2014-05-12 12:12:57 -07:00
Robert Greenwalt
9ba9c58e4a First pass on multinetwork framework
Starting to switch netd to use NetId.
Adding the Network identifying class

bug:13550136
Change-Id: Ie0db4fb17c9300bfafb63329adfa02339911b33d
2014-05-12 10:59:44 -07:00
Jason Monk
5df281a570 Fix badness from proxy refactoring.
When no PAC file getPacFileUrl() can return null now, which you
cannot call toString() on.

Change-Id: Ife00f641c2c17fbc1bde17017d9af59d23cb9182
2014-05-09 09:53:08 -04:00
Jason Monk
fab0126136 Merge "Fix Docs breakage" 2014-05-07 23:16:02 +00:00
Jason Monk
faf3fd59d5 Fix Docs breakage
Change-Id: Idaa57d16165203ad38143e493552ddf8a1ff56e5
2014-05-07 18:41:13 -04:00
Jason Monk
9d75ccb6a1 Merge "Make proxy API public" 2014-05-07 18:54:12 +00:00
Jason Monk
207900c23b Make proxy API public
Also exposed proxy-related functions that were on the
ConnectivityManager.

Change-Id: I9fb5f1bcc257a6198679ea1d56e18da2ec5a3b33
2014-05-07 14:23:53 -04:00
Jeff Davidson
4cd4110f20 Merge "API for network cache subsystems." 2014-05-02 15:33:36 +00:00
Jason Monk
99013a24a5 Merge "Remove unused AndroidProxySelectorRoutePlanner" 2014-05-01 20:37:22 +00:00
Jason Monk
80d1f2890c Remove unused AndroidProxySelectorRoutePlanner
Change-Id: Ib970e1d78c3f990fcf24b953f442dcaa94b68903
2014-05-01 16:34:30 -04:00
Jeff Davidson
14f1ec05b2 API for network cache subsystems.
A network subsystem (e.g. Wi-Fi) will be responsible for implementing
INetworkScoreCache. NetworkScoreService will load caches for each
configured network subsystem. When it receives a call to update
scores, it will separate the networks by type and call updateScores on
the appropriate INetworkScoreCache.

Each subsystem will also be responsible for requesting scores for new
networks by calling NetworkScoreManager#requestScores.

Bug: 14408144
Bug: 14137255
Change-Id: I76e5e5205bc359c39d6b9c1782126fb7f465cd96
2014-04-30 17:50:46 -07:00
Joe Onorato
016db94896 Merge "Turn off this very verbose log." 2014-04-29 23:50:29 +00:00
Joe Onorato
8dc2e5a01a Turn off this very verbose log.
adb shell dumpsys activity broadcasts

has the last 100 broadcasts, so it can be used for debugging
instead of spamming the main logs.

Change-Id: I19c3ac72eb783999e615261da7f00b527d2bc06f
2014-04-29 23:26:46 +00:00
Elliott Hughes
10596fbcce resolved conflicts for merge of 3ce4f3d0 to master
Change-Id: Id5c5997ad8f801b32e1dbd97413ea42e38c27210
2014-04-28 13:53:25 -07:00
Elliott Hughes
3ce4f3d0af am 685a0a72: am bbd87eb9: Merge "Track libcore.os\' move to android.system."
* commit '685a0a72d445515167a2071330679cdf9b53a62d':
  Track libcore.os' move to android.system.
2014-04-28 18:36:53 +00:00
Elliott Hughes
34385d352d Track libcore.os' move to android.system.
(This is partial, but should cover everything in AOSP master except
for the zygote.)

Change-Id: I1042c99245765746a744c44e714095cb2c6cb75d
2014-04-28 11:11:32 -07:00
Jeff Davidson
ee2a1219d3 API tweaks for network score settings.
Expose "isAppValidScorer" so Settings can call it.

Also rename ACTION_CHANGE_DEFAULT to ACTION_CHANGE_ACTIVE for
consistency with other naming.

Change-Id: I6c2d0099622958f06c2916ca76090e14d5273c86
2014-04-24 09:33:27 -07:00
Jeff Sharkey
846318a325 Allow prefix-based Uri permission grants.
Define new FLAG_GRANT_PREFIX_URI_PERMISSION which indicates that a
Uri permission grant should also apply to any other Uris that have
matching scheme, authority, and path segments.  For example, a prefix
grant for /foo/ would allow /foo/bar/ but not /foo2/.

Allow persistable and prefix grants to be issued directly through
grantUriPermission().  Relaxing persistable is fine, since it still
requires the receiver to actively take the permission.

Since exact- and prefix-match grants for the same Uri can coexist,
we track them separately using a new UriGrant key.  (Consider the
case where an app separately extends READ|PREFIX and WRITE for
the same Uri: we can't let that become READ|WRITE|PREFIX.)

Fix revoke to always take away persisted permissions.  Move prefix
matching logic to Uri and add tests.  Add new flags to "am" tool, and
various internal uses around Intent and Context.  Switch some lagging
users to ArraySet.

Bug: 10607375
Change-Id: Ia8ce2b88421ff9f2fe5a979a27a026fc445d46f1
2014-04-22 21:06:49 -07:00
Jeff Davidson
6a4b220f12 Initial implementation of NetworkScoreManager's backing service.
This service will ultimately be responsible for propagating scores
down to lower-level network subsystems. For now, it just keeps scores
in memory and exposes these for debugging purposes via "adb shell
dumpsys network_score".

This change also adds provisioning of a default scorer. When
NetworkScoreService is first initialized, it checks to see if it has
ever set a default scorer; if not, it reads a package name from a
build config property and attempts to set it as the default.

Also add autogenerated equals/hashCode methods to all parcelables.

Bug: 14111427
Bug: 13786258
Change-Id: I02271171653d42e12acd240b73b9e23950744f6b
2014-04-21 16:04:05 -07:00
Jeff Davidson
dd6fd1e62b Class for managing the active scorer application.
Allows listing all possible scorer apps, getting the active scorer
app, setting the active scorer app, and determining whether a given
UID is for the active scorer.

Note that setting a default scorer with a system image will be handled
separately - the plan here is to add a read-only build property
containing a package name to use as the scorer out of the box.
When NetworkScorerService is initialized, it will check a provisioning
bit; if that bit isn't set, it will set the current scorer to the
package specified in this build property (if any) and set the
provisioning bit to true.

Bug: 13769362
Change-Id: I18c0b2ba2aceccc88b70c3611a49149e0bf17ecf
2014-04-16 14:17:01 -07:00
Jeff Davidson
b51e0a6c4b Stub APIs for network scoring.
NetworkScoreManager defines all interactions between the framework and
the scorer app. An ACTION_SCORE_NETWORKS broadcast is sent to the
default scorer with any unscored networks, which responds by calling
updateScores() with scores for those networks. An app may also check
whether they are currently the default scorer with
getDefaultScorerPackage() and request to become the default via the
ACTION_CHANGE_DEFAULT broadcast.

Bug: 13786258
Change-Id: Id3dc0f7c1109f0e3afd73356e2475b7f34167419
2014-04-16 11:55:14 -07:00
Jeff Davidson
dc960e21ef Data structures for communication with network scorer apps.
NetworkKey represents the necessary information to identify a network
to be scored. ScoredNetwork contains the key to identify a network as
well as a score to be used when evaluating that network (as a curve
based on RSSI).

Bug: 13767776
Change-Id: I6bfebd105c9381e615513167b4332b767b43a23a
2014-04-16 11:28:51 -07:00
Christopher Lane
111db01a26 resolved conflicts for merge of 381ac080 to master
Change-Id: I779c49c48980ba7737ee4e7b04a9e4c3e02fca21
2014-04-14 15:14:01 -07:00
Christopher Lane
381ac08054 am 62538940: Merge "Add support for custom TXT records in NSD" into klp-modular-dev
* commit '62538940de1755c71c56b0e5d81e12397e5de58a':
  Add support for custom TXT records in NSD
2014-04-14 21:16:27 +00:00
Christopher Lane
b72d8b4091 Add support for custom TXT records in NSD
Change-Id: I8e6dc9852ad4d273c71ad6a63a7fbd28a206806d
2014-04-14 14:10:36 -07:00
Jaewan Kim
baa00cc350 Merge "Revert "Refactor IpConfiguration from WifiConfiguration"" 2014-04-07 09:01:43 +00:00
Jaewan Kim
6789797485 Revert "Refactor IpConfiguration from WifiConfiguration"
This reverts commit 1284767ceb.

Change-Id: Ibccea84e5dc44c1b8954779660e0721b27f762d4
2014-04-07 09:01:24 +00:00
Jaewan Kim
e277433ed7 Revert "Hide IpConfiguration"
This reverts commit d07372e2e9.

Change-Id: I5728114dbd9ef37509e8ab3c942648ec92ef0c1a
2014-04-07 08:54:45 +00:00
Jaewan Kim
d07372e2e9 Hide IpConfiguration
Bug: 7606609, Bug: 8687763
Change-Id: I2970bf79ef14cb993878c1dc10c7022a716f46c5
2014-04-07 17:11:39 +09:00
Jaewan Kim
ce245e1c65 Merge "Refactor IpConfiguration from WifiConfiguration" 2014-04-07 04:40:45 +00:00
Jaewan Kim
1284767ceb Refactor IpConfiguration from WifiConfiguration
Bug: 7606609, Bug: 8687763
Change-Id: I736eb3c73a8ffc8f137a04a5ea66ee564dc2b530
2014-04-07 11:35:35 +09:00
Dave Platt
db89fe2a2b Merge "Document and enforce "one request per Listener" rule" 2014-04-02 21:09:43 +00:00
Dave Platt
e7369bd4df Document and enforce "one request per Listener" rule
The API and implementation of NsdManager imply that a separate
Listener is to be used for each active registration or discovery
request.  This isn't formally documented or properly enforced, and
weird and unpredictable things happen if an application uses a
Listener for more than one request at a time.

Update documentation to make this an explicit requirement.

Enforce the restriction when a new request is submitted for
processing; if the Listener is already being used to track an active
request, throw an exception.

Document the fact that apps should unregister services and cancel
service discoveries when the app is stopped (in KitKat and prior
releases, they'll leak if this isn't done.)

Re-order "release the Listener" operation to occur before the Listener
callback, so that the Listener can be reused by the application once
the callback has been entered - this eliminates a race condition.
Document this.

Pass 2: typos, added documentation about API level, changed to using
an explicitly defined return value for "busy listener".

Bug: 13512512
Change-Id: Ic164110759204b27d8a14376777b593ebe1865fa
2014-03-31 13:43:45 -07:00
Brian Carlstrom
ed99dc89c3 am 7156b7c6: am b11952d6: am e3434fc4: Merge "Improve detail message for X509TrustManagerExtensions argument validation"
* commit '7156b7c65d6f158c4898a93f8e2cea0bf94791d1':
  Improve detail message for X509TrustManagerExtensions argument validation
2014-03-31 20:06:06 +00:00