Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4fc6322 authored by Lorenzo Colitti's avatar Lorenzo Colitti
Browse files

Change the netId to nethandle mapping.

Being able to update this handle is necessary to ensure that
system-only OTAs do not break vendor code that relies on
nethandles.

Bug: 63052780
Test: walleye builds, boots, networking works
Test: MultinetworkApiTest CTS tests passes
Change-Id: I049a4ad2610ca68b8f56377b63be7e5e8ce76039
parent 639fe64c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -356,13 +356,13 @@ public class Network implements Parcelable {
        // Multiple Provisioning Domains API recommendations, as made by the
        // IETF mif working group.
        //
        // The HANDLE_MAGIC value MUST be kept in sync with the corresponding
        // The handleMagic value MUST be kept in sync with the corresponding
        // value in the native/android/net.c NDK implementation.
        if (netId == 0) {
            return 0L;  // make this zero condition obvious for debugging
        }
        final long HANDLE_MAGIC = 0xfacade;
        return (((long) netId) << 32) | HANDLE_MAGIC;
        final long handleMagic = 0xcafed00dL;
        return (((long) netId) << 32) | handleMagic;
    }

    // implement the Parcelable interface
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ static int getnetidfromhandle(net_handle_t handle, unsigned *netid) {
    static const uint32_t k32BitMask = 0xffffffff;
    // This value MUST be kept in sync with the corresponding value in
    // the android.net.Network#getNetworkHandle() implementation.
    static const uint32_t kHandleMagic = 0xfacade;
    static const uint32_t kHandleMagic = 0xcafed00d;

    // Check for minimum acceptable version of the API in the low bits.
    if (handle != NETWORK_UNSPECIFIED &&