Commit graph android_packages_modules_Co.../framework
Message SHA1
Merge "Revert "Autogenerate connectivity jarjar rules"" into tm-dev
Colin Cross   authored and   Android (Google) Code Review   commited 2022-05-18 19:50:52 +00:00
06ce505fba
Revert "Autogenerate connectivity jarjar rules"
This reverts commit 53eb35cd82.

Reason for revert: b/233081774, caused long build times in FrameworkNetTests

Change-Id: Ide01c994f694b55fc0e87bb0e81584ac44196e68
Merged-In: Ide01c994f694b55fc0e87bb0e81584ac44196e68
(cherry picked from commit ece3171cf0)

Colin Cross   commited 2022-05-18 11:43:11 -07:00
8e50171f0d
Block incoming packets in VPN Lockdown mode.
Currently, even when VPN Lockdown mode is enabled, incoming packets are
not dropped if VPN is not connected.

This commit fixed this issue.
After this commit, If VPN Lockdown mode is enabled, incoming packets
are dropped regardless of the VPN connectivity.

Bug: 206482423
Test: atest TrafficControllerTest ConnectivityServiceTest PermissionMonitorTest
Change-Id: If52ece613c8aac1073355e43b6fb9cb3fcc87d1d
(cherry picked from commit b08654ca04)
Merged-In: If52ece613c8aac1073355e43b6fb9cb3fcc87d1d

Motomu Utsumi   commited 2022-05-17 09:35:28 +00:00
966ff7f82a
Autogenerate connectivity jarjar rules
Jarjar rules are hard to keep in sync with code, and hard to maintain
manually as the distinction between what should and should not be
jarjared is not always clear. This results in unsafe binaries that are
manually maintained, and developer frustration when something fails due
to incorrect jarjar rules.

Autogenerate jarjar rules at build time instead. This is achieved by
introducing a jarjar-rules-generator python-based library, which scans
pre-jarjar intermediate artifacts, and outputs jarjar rules for every
class to put it in a package specific to the module. The only exceptions
are:

 - Classes that are API (module-lib API is the largest API surface of
   the module)
 - Classes that have unsupportedappusage symbols
 - Classes that are excluded manually (for example, because they have
   hardcoded external references, like for
   ConnectivityServiceInitializer in SystemServer).

This change causes all classes in framework-connectivity(-t) and
service-connectivity to be jarjared into android.net.connectivity, but
still avoids jarjaring classes in com.android.server as before, to keep
it small.
For many classes this differs from the original jarjar rule.

Notes on implementation:

 - connectivity-jarjar-rules now has a subset
   framework-connectivity-jarjar-rules containing only the rules
   necessary for framework-connectivity. This is necessary because
   framework-connectivity cannot depend on rules generated based on
   service-connectivity, as there would be a dependency cycle
   (service-connectivity depends on framework-connectivity); Soong even
   crashes with a stack overflow.

 - framework-wifi.stubs.module_lib is added to
   framework-connectivity-pre-jarjar as it is necessary to build it (it
   is already in impl_only_libs in the defaults).
   It is unclear why framework-connectivity-pre-jarjar could build
   before that (possibly because it was only used as "lib" ?)

 - Fix package-private visibility; for example NattSocketKeepalive,
   TcpSocketKeepalive are not API so should be jarjared, but are used
   by ConnectivityManager which is not jarjared, so they are not in the
   same package after the change. Package-private members in the
   former 2 need to be public to be accessible. Changes in this commit
   are all that is needed, as demonstrated by followup commits that move
   the classes to a different package without further changes, and that
   enforce that no class in an API package gets jarjared.

 - framework-connectivity-internal-test-defaults is separated from
   framework-connectivity-test-defaults, for unit tests that need to
   access internal jarjared classes. Such tests need to use the jarjar
   rules themselves too, so this is only appropriate for connectivity
   internal unit tests.

Test: atest ConnectivityCoverageTests CtsNetTestCases
Bug: 217129444
Change-Id: Ied17c3955ea2fda130089265d02908937ad8af1e
(cherry picked from commit 53eb35cd82)
Merged-In: Ied17c3955ea2fda130089265d02908937ad8af1e

Remi NGUYEN VAN   authored and   Cherrypicker Worker   commited 2022-05-16 09:35:54 +00:00
7b92ff221a
Merge "Fix targetSdkVersion gate for EXCLUDED_ROUTES compat change" into tm-dev
TreeHugger Robot   authored and   Android (Google) Code Review   commited 2022-05-13 15:14:14 +00:00
24cabdd2fa
Fix targetSdkVersion gate for EXCLUDED_ROUTES compat change
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2079638

Bug: 230726333
Change-Id: Ibc9a0ea365bb483f66d9f1440b2743595e76744c
Merged-In: Ia80efd07e6a8c6e6cc043411fbc2b56b07b4dd06
(cherry picked from commit dbba5d6b50)

Treehugger Robot   authored and   Lorenzo Colitti   commited 2022-05-13 15:13:32 +00:00
fce9d302a0
Merge "Make a defensive copy when sending NetworkInfo change" into tm-dev
TreeHugger Robot   authored and   Android (Google) Code Review   commited 2022-05-10 14:05:07 +00:00
833f9c5c26
Merge "Update VPN isolation code for excluded routes" into tm-dev
Prerana Patil   authored and   Android (Google) Code Review   commited 2022-05-09 18:46:19 +00:00
45479d8f39
Do not remove profile network preference for different uids
Multiple enterprise slice can be setup within single user profile based
on different uids. So do not remove profile network preference with same
user profile but with different uids

Bug: 229644102
Test: manual system test and ConnectivityServciceTest
Change-Id: I897b643e01240958fff575de9e15182069efc698
(cherry picked from commit 9cc129f37d)
Merged-In: I897b643e01240958fff575de9e15182069efc698

Sooraj Sasindran   authored and   Cherrypicker Worker   commited 2022-05-09 09:44:35 +00:00
ca9e8fe1c9
Update VPN isolation code for excluded routes
Bug: 230058738
Test: atest LinkPropertiesTest

Result: https://paste.googleplex.com/4706859672928256

Change-Id: I970fca6b0e2cd358e9bd77152563d13367867c74
(cherry picked from commit 2b97bbebf4)
Merged-In: I970fca6b0e2cd358e9bd77152563d13367867c74

Prerana   authored and   Prerana Patil   commited 2022-05-06 18:19:58 +00:00
a53ed851da
Make a defensive copy when sending NetworkInfo change
The issue scenario is:
- Telephony registers a network agent and calls markConnected().
- NetworkAgent set mNetworkInfo to CONNECTED and call
  queueOrSendNetworkInfo() with mNetworkInfo, but NetworkAgent
  don't actually send a message to CS yet because the agent is
  not registered.
- Telephony calls unregister because the cellular network is
  disconnected.
- NetworkAgent set mNetworkInfo to DISCONNECTED, overwriting the
  previous CONNECTED state, and then call queueOrSendNetworkInfo
  again with mNetworkInfo. Again this doesn't send any message
  because the agent is not connected.
- EVENT_AGENT_CONNECTED arrives. NetworkAgent replies all the
  messages in mPreConnectedQueue, but NetworkAgent send two
  DISCONNECTED NetworkInfos eventually.

The CONNECTED state should be sent to CS instead of latest state
DISCONNECTED. Thus, make a defensive copy when sending
NetworkInfo change to prevent state overwriting.

Without the NetworkAgent fix, the test will fail with no
onAvailable callback. Because the Network has never been martk as
CONNECTED.

Bug: 228623362
Test: atest FrameworksNetTests CtsNetTestCases
Original-Change: https://android-review.googlesource.com/2076406
Merged-In: I11681743d3ff87ff9affd0b7e766894dc5111028
Change-Id: I11681743d3ff87ff9affd0b7e766894dc5111028

Treehugger Robot   authored and   Paul Hu   commited 2022-04-28 13:23:39 +00:00
1f4dfb7d93
Merge "Add a method to create a TAP interface with a given interface name." am: 7d7e7cd1fe am: 3c78a24a9a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2059333

Change-Id: I02068707effdb1f3308c4b1997c0ece8bdb21f28
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Xiao Ma   authored and   Automerger Merge Worker   commited 2022-04-22 13:40:03 +00:00
a456b23ad5
Merge "Add a method to create a TAP interface with a given interface name." am: 7d7e7cd1fe
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2059333

Change-Id: Id882dfb9510ddc794719e9b3860d0d98ef09f41c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Xiao Ma   authored and   Automerger Merge Worker   commited 2022-04-22 13:24:59 +00:00
3c78a24a9a
Merge "Add a method to create a TAP interface with a given interface name."
Xiao Ma   authored and   Gerrit Code Review   commited 2022-04-22 13:10:19 +00:00
7d7e7cd1fe
Add a method to create a TAP interface with a given interface name.
Add a method that allows the caller to specify whether to create a
tap interface with a given specific interface name instead of the
default one. So far only the given name that starts with "v4-testtap"
or "v4-testtun" prefix is allowed. That's helpful to create a clat
interface which always has "v4-" clat prefix in the IpClient integration
test, to verify the callbacks happend on adding/removing clat interface.

Bug: 163492391
Test: atest CtsNetTestCases
Change-Id: I9ea7013fce919cafb719998a123164b5507f9ac0

Xiao Ma   commited 2022-04-21 16:57:22 +09:00
8bbb8089d7
Merge "Filter out excluded routes in LinkProperties" am: ac8935bee7 am: bb8601a015
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1619104

Change-Id: I27c51a479eeb3f70c6c986f3235f4be27441ba7b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Taras Antoshchuk   authored and   Automerger Merge Worker   commited 2022-04-13 13:47:24 +00:00
819056e0b8
Merge "Filter out excluded routes in LinkProperties" am: ac8935bee7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1619104

Change-Id: I595957964b5c7edea752a3f76791503a3b896ccf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Taras Antoshchuk   authored and   Automerger Merge Worker   commited 2022-04-13 12:45:04 +00:00
bb8601a015
Merge "Filter out excluded routes in LinkProperties"
Taras Antoshchuk   authored and   Gerrit Code Review   commited 2022-04-13 12:29:24 +00:00
ac8935bee7
Merge "Add protection for setLocalRoutesExcludedForVpn" am: 620ea6f1fc am: 24e279166f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2019875

Change-Id: Ieeeaec9cccfcebb02f69195ddb02bec6f507aaf5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Chiachang Wang   authored and   Automerger Merge Worker   commited 2022-04-13 04:59:38 +00:00
4ac020975d
Merge "Add protection for setLocalRoutesExcludedForVpn" am: 620ea6f1fc
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2019875

Change-Id: Ieb5616f6dcae94a6894185da4f26b34ba6c698b7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Chiachang Wang   authored and   Automerger Merge Worker   commited 2022-04-13 04:36:03 +00:00
24e279166f
Merge "Add protection for setLocalRoutesExcludedForVpn"
Chiachang Wang   authored and   Gerrit Code Review   commited 2022-04-13 04:19:42 +00:00
620ea6f1fc
Filter out excluded routes in LinkProperties
Gate presence of excluded routes in LinkProperties on target sdk T.

Bug: 186082280
Test: atest LinkPropertiesTest
Change-Id: If8fdb468a0a4968c5f2a878b7aacfeb4f7d9a9e5

Taras Antoshchuk   commited 2022-04-13 01:17:56 +02:00
30d41e59bc
Merge changes from topic "MDns_AIDL" am: 09475308b7 am: 06e59627bb
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2049246

Change-Id: I16b7ec71fbfee1dd0de84b1f64d5e9fbbd62f4e3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Paul Hu   authored and   Automerger Merge Worker   commited 2022-04-07 03:10:55 +00:00
ac780d3bd0
Merge changes from topic "MDns_AIDL" am: 09475308b7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2049246

Change-Id: I2f4c2952ae732350ebc0608fde6263ed20061e00
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Paul Hu   authored and   Automerger Merge Worker   commited 2022-04-07 02:42:02 +00:00
06e59627bb
Add MDnsManager
- Have MDnsManager to manage mdns native service binder call.
- Register it as a system service for NsdService.
- NsdService will use aidl to communicate with mdns, so add the
  relevant lib to framework-connectivity
- Add jarjar rule for mdns-aidl-interface classes.

Bug: 209894875
Test: atest FrameworksNetTests CtsNetTestCases
Change-Id: Ibc8b726c01a15015b450caf94d0afed570117b7f

paulhu   commited 2022-04-04 15:02:17 +00:00
541b72d03b
Merge "Support QosCallback with UDP socket" am: 2304205a58 am: 19100e4ab4
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2010317

Change-Id: Ic70e9026f3e09c8bc215db7a37dfd402c592ff6a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Sewook Seo   authored and   Automerger Merge Worker   commited 2022-03-30 20:36:46 +00:00
282b15592c
Merge "Support QosCallback with UDP socket" am: 2304205a58
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2010317

Change-Id: I3e5df1bd44defbb9dd0c382c625a21e176368f2a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Sewook Seo   authored and   Automerger Merge Worker   commited 2022-03-30 20:19:43 +00:00
19100e4ab4
Merge "Support QosCallback with UDP socket"
Sewook Seo   authored and   Gerrit Code Review   commited 2022-03-30 20:01:45 +00:00
2304205a58
Merge "Add @RequiresPermission for setUnderlyingNetworks" am: 41ed965e68 am: 4f06481872
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1912735

Change-Id: Id8b4b2517d7e4f33c2553c0914d80e1ee0f3db60
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Lucas Lin   authored and   Automerger Merge Worker   commited 2022-03-29 17:06:22 +00:00
7b59f9253c
Merge "Add @RequiresPermission for setUnderlyingNetworks" am: 41ed965e68
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1912735

Change-Id: I61eb7090cde92028908c1294e753b6e0f0b8380f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Lucas Lin   authored and   Automerger Merge Worker   commited 2022-03-29 16:24:37 +00:00
4f06481872
Merge "Add @RequiresPermission for setUnderlyingNetworks"
Lucas Lin   authored and   Gerrit Code Review   commited 2022-03-29 15:34:17 +00:00
41ed965e68
Improve JavaDoc for FirewallRule constants am: 011a7f51c1 am: 04b2f3c7df
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2046447

Change-Id: I1e2690d4c3782c0e916c3374134b4e1872e8a08b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

markchien   authored and   Automerger Merge Worker   commited 2022-03-29 09:45:19 +00:00
df77455353
Improve JavaDoc for FirewallRule constants am: 011a7f51c1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2046447

Change-Id: I318f2a08beacd7ec96ff74b2a8ddc493fee86a65
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

markchien   authored and   Automerger Merge Worker   commited 2022-03-29 08:45:55 +00:00
04b2f3c7df
Improve JavaDoc for FirewallRule constants
Bug: 226946569
Test: TH
Change-Id: I8366bd58194e24da7ea74bf398aae196482d0151

markchien   commited 2022-03-29 12:28:25 +08:00
011a7f51c1
Merge "Api review: change updateFirewallRule to setUidFirewallRule" am: 3d4de57752
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2045104

Change-Id: I2bcb7edd69d6e364895cf18ce5f089f80cacb13e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Treehugger Robot   authored and   Automerger Merge Worker   commited 2022-03-29 04:04:12 +00:00
ff33b2e819
Merge "Api review: change updateFirewallRule to setUidFirewallRule"
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-03-29 03:41:02 +00:00
3d4de57752
Support QosCallback with UDP socket
Add a constructor for QosSocketInfo using DatagramSocket.

Bug: 203146631
Test: atest & verified on LTE test equipment
Change-Id: I85c091a65610a96d721e4f0b07631867cda4db8a

sewookseo   commited 2022-03-29 02:38:05 +00:00
82657d70d7
Merge changes from topic "conn_t_move_tmdev" into tm-dev
* changes:
  Use Sources.bp for building
  Merge history of ConnectivityT

Remi NGUYEN VAN   authored and   Android (Google) Code Review   commited 2022-03-25 11:19:00 +00:00
532fa3292b
Merge history of ConnectivityT
Renamed files/directories:
ConnectivityT/service/Android.bp --> service-t/Sources.bp
ConnectivityT/framework-t/Android.bp --> framework-t/Sources.bp
ConnectivityT/framework-t/aidl-export --> framework/aidl-export
ConnectivityT/service --> service-t
ConnectivityT/framework-t --> framework-t
ConnectivityT/tests --> tests
ConnectivityT/OWNERS --> (removed)

BUG: 222234190
TEST: TH
Ignore-AOSP-First: Move with history done per-branch
Merged-In: I81893df9f327abb84f1561b2b33027a2d23a4d65
Merged-In: I67c703e3f7aa9d5787f032a79ed62e45412baf4f
Change-Id: I27a91f1a94f9d807f92762436f533c4b0d0114d5

Remi NGUYEN VAN   commited 2022-03-25 11:02:45 +00:00
700ffc994f
Api review: change updateFirewallRule to setUidFirewallRule
Bug: 218494748
Test: TH

Change-Id: I52a02ebe109b687359f579c16fded4af3c9cd242
Merged-In: I52a02ebe109b687359f579c16fded4af3c9cd242

markchien   commited 2022-03-25 18:49:08 +08:00
3c04e66da0
Merge "Api review: change updateFirewallRule to setUidFirewallRule" into tm-dev
Mark Chien   authored and   Android (Google) Code Review   commited 2022-03-25 10:14:27 +00:00
0a2f78a29c
Api review: change updateFirewallRule to setUidFirewallRule
Bug: 218494748
Test: TH
Ignore-AOSP-First: to avoid diamond automerge cause build break, will
cherry-pick back to AOSP once this is merged

Change-Id: I52a02ebe109b687359f579c16fded4af3c9cd242

markchien   commited 2022-03-25 13:32:57 +08:00
4b00f76859
Move the DscpPolicy status constants and IntDef to NetworkAgent.
As requested by API council.

Also fix lint errors in the test.

Fix: 217366078
Test: existing tests modified in this CL
Change-Id: I8f7cd0e78bf29aeb52ec6a08a5d635d25fa2205d

Lorenzo Colitti   commited 2022-03-25 01:06:46 +09:00
fbe1576139
Merge history of ConnectivityT
Renamed files/directories:
ConnectivityT/service/Android.bp --> service-t/Sources.bp
ConnectivityT/framework-t/Android.bp --> framework-t/Sources.bp
ConnectivityT/framework-t/aidl-export --> framework/aidl-export
ConnectivityT/service --> service-t
ConnectivityT/framework-t --> framework-t
ConnectivityT/tests --> tests
ConnectivityT/OWNERS --> (removed)

BUG: 222234190
TEST: TH
Merged-In: I1fe5091361c7766dc7b6b4fb8c7b62d403e950bb
Change-Id: Ib592434ff50c06e25894f6ed7d7e3e8e1e3ea67b

Remi NGUYEN VAN   commited 2022-03-24 14:19:13 +00:00
3464805acc
Rename destroyAndAwaitReplacement to unregisterAfterReplacement.
Rename requested by API council.

Fix: 224764301
Test: existing CTS tests updated
Change-Id: Ibab9c9cd64bf0dde1e22705e81cff11d356fc719

Lorenzo Colitti   commited 2022-03-24 01:12:26 +09:00
a63e2341d6
Add @RequiresPermission for setUnderlyingNetworks
setUnderlyingNetworks() is mainly for the NetworkAgents who hold
the NETWORK_FACTORY to set its underlying networks.

And the underlying networks are only visible and useful for the
caller of getNetworkCapabilities() or the receiver of
onCapabilitiesChanged() who hold one of NETWORK_FACTORY,
NETWORK_SETTINGS and MAINLINE_NETWORK_STACK permissions.
Otherwise, the underlying networks field will be cleard before
sending.

Bug: 205738644
Test: atest CtsNetTestCases:ConnectivityManagerTest
      atest CtsHostsideNetworkTests:HostsideVpnTests
      atest FrameworksNetTests
Change-Id: Ife7630d9676a31ee5ab977cb1b87aec3b6fd7080

lucaslin   commited 2022-03-22 18:15:09 +08:00
69e1aa9117
Fix proto invalid write type
While dumpProtoLocked is called, InvalidProtocolBufferException
occurred because types are mismatched between platform side and
module side.

netstats.proto was moved into connectivity module, both the
platform(incident.proto) and the module uses protoc-gen-javastream
to generate the Java classes from it. It should be fine since
platform includes the source of the proto, and jarjar the generated
classess in the module to avoid conflict with platform.

Bug: 218566849
Test: adb shell incident 3001
      adb shell dumpsys netstats --proto
      atest CtsIncidentHostTestCases:IncidentdTest#testIncidentReportDumpAuto
Change-Id: I09cae385050e569b1da98ad7de0e226b13ee6895
Merged-In: I09cae385050e569b1da98ad7de0e226b13ee6895

Aaron Huang   commited 2022-03-22 15:07:15 +08:00
dac7e4b84a
Merge changes from topic "QosCallbackException" am: 7a4fcf4ed1 am: 7b83d68aae
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2028285

Change-Id: I4924e84fa8c5aa2b41638fefdad2c2f686e838ef

Sewook Seo   authored and   Automerger Merge Worker   commited 2022-03-19 01:17:09 +00:00
189d7d8b28
Merge changes from topic "QosCallbackException"
* changes:
  CTS test for QosCallbackException
  Expose constructor of Exceptions.

Sewook Seo   authored and   Gerrit Code Review   commited 2022-03-19 00:35:28 +00:00
7a4fcf4ed1
Add a method to create a TAP interface without bringing it up. am: 333d5e52f5 am: bfd75772cd
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1987455

Change-Id: I4b48bdfcbf491e4f493a606a43039c285df51faf

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2022-03-18 03:16:24 +00:00
7f279c327d