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

Commit 5f2ccb0e authored by Dan Albert's avatar Dan Albert Committed by Gerrit Code Review
Browse files

Merge "Move adb to C++."

parents 9b1fd969 bac3474a
Loading
Loading
Loading
Loading
+44 −37
Original line number Diff line number Diff line
@@ -17,14 +17,14 @@ ADB_CLANG :=
# small by moving common files into a static library. Hopefully some day we can
# get enough of adb in here that we no longer need minadb. https://b/17626262
LIBADB_SRC_FILES := \
    adb.c \
    adb_auth.c \
    adb.cpp \
    adb_auth.cpp \
    adb_io.cpp \
    adb_listeners.c \
    sockets.c \
    transport.c \
    transport_local.c \
    transport_usb.c \
    adb_listeners.cpp \
    sockets.cpp \
    transport.cpp \
    transport_local.cpp \
    transport_usb.cpp \

LIBADB_CFLAGS := \
    -Wall -Werror \
@@ -32,9 +32,20 @@ LIBADB_CFLAGS := \
    -Wno-missing-field-initializers \
    -fvisibility=hidden \

LIBADB_darwin_SRC_FILES := fdevent.cpp get_my_path_darwin.c usb_osx.c
LIBADB_linux_SRC_FILES := fdevent.cpp get_my_path_linux.c usb_linux.c
LIBADB_windows_SRC_FILES := get_my_path_windows.c sysdeps_win32.c usb_windows.c
LIBADB_darwin_SRC_FILES := \
    fdevent.cpp \
    get_my_path_darwin.c \
    usb_osx.c \

LIBADB_linux_SRC_FILES := \
    fdevent.cpp \
    get_my_path_linux.cpp \
    usb_linux.cpp \

LIBADB_windows_SRC_FILES := \
    get_my_path_windows.cpp \
    sysdeps_win32.c \
    usb_windows.cpp \

include $(CLEAR_VARS)
LOCAL_CLANG := $(ADB_CLANG)
@@ -42,10 +53,10 @@ LOCAL_MODULE := libadbd
LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0
LOCAL_SRC_FILES := \
    $(LIBADB_SRC_FILES) \
    adb_auth_client.c \
    adb_auth_client.cpp \
    fdevent.cpp \
    jdwp_service.c \
    qemu_tracing.c \
    jdwp_service.cpp \
    qemu_tracing.cpp \
    usb_linux_client.c \

include $(BUILD_STATIC_LIBRARY)
@@ -57,7 +68,7 @@ LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=1
LOCAL_SRC_FILES := \
    $(LIBADB_SRC_FILES) \
    $(LIBADB_$(HOST_OS)_SRC_FILES) \
    adb_auth_host.c \
    adb_auth_host.cpp \

# Even though we're building a static library (and thus there's no link step for
# this to take effect), this adds the SSL includes to our path.
@@ -86,7 +97,7 @@ include $(CLEAR_VARS)
LOCAL_CLANG := $(ADB_CLANG)
LOCAL_MODULE := adb_test
LOCAL_CFLAGS := -DADB_HOST=1 $(LIBADB_CFLAGS)
LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS) services.c
LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS) services.cpp
LOCAL_SHARED_LIBRARIES := liblog
LOCAL_STATIC_LIBRARIES := \
    libadb \
@@ -126,16 +137,12 @@ endif
LOCAL_CLANG := $(ADB_CLANG)

LOCAL_SRC_FILES := \
	adb_main.c \
	console.c \
	commandline.c \
	adb_client.c \
	services.c \
	file_sync_client.c \

ifneq ($(USE_SYSDEPS_WIN32),)
  LOCAL_SRC_FILES += sysdeps_win32.c
endif
    adb_main.cpp \
    console.cpp \
    commandline.cpp \
    adb_client.cpp \
    services.cpp \
    file_sync_client.cpp \

LOCAL_CFLAGS += \
    -Wall -Werror \
@@ -176,19 +183,19 @@ include $(CLEAR_VARS)
LOCAL_CLANG := $(ADB_CLANG)

LOCAL_SRC_FILES := \
	adb_main.c \
	services.c \
	file_sync_service.c \
	framebuffer_service.c \
	remount_service.c \
	set_verity_enable_state_service.c \
    adb_main.cpp \
    services.cpp \
    file_sync_service.cpp \
    framebuffer_service.cpp \
    remount_service.cpp \
    set_verity_enable_state_service.cpp \

LOCAL_CFLAGS := \
	-O2 \
	-g \
    -DADB_HOST=0 \
    -D_GNU_SOURCE \
	-Wall -Wno-unused-parameter -Werror -Wno-deprecated-declarations \
    -Wall -Werror \
    -Wno-unused-parameter \
    -Wno-deprecated-declarations \

ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1
+17 −13
Original line number Diff line number Diff line
@@ -142,8 +142,11 @@ void adb_trace_init(void)

apacket* get_apacket(void)
{
    apacket *p = malloc(sizeof(apacket));
    if(p == 0) fatal("failed to allocate an apacket");
    apacket* p = reinterpret_cast<apacket*>(malloc(sizeof(apacket)));
    if (p == nullptr) {
      fatal("failed to allocate an apacket");
    }

    memset(p, 0, sizeof(apacket) - MAX_PAYLOAD);
    return p;
}
@@ -293,7 +296,7 @@ void send_connect(atransport *t)
}

#if ADB_HOST
static char *connection_state_name(atransport *t)
static const char* connection_state_name(atransport *t)
{
    if (t == NULL) {
        return "unknown";
@@ -713,8 +716,8 @@ int handle_forward_request(const char* service, transport_type ttype, char* seri
        // Create the list of forward redirections.
        int buffer_size = format_listeners(NULL, 0);
        // Add one byte for the trailing zero.
        char* buffer = malloc(buffer_size + 1);
        if (buffer == NULL) {
        char* buffer = reinterpret_cast<char*>(malloc(buffer_size + 1));
        if (buffer == nullptr) {
            sendfailmsg(reply_fd, "not enough memory");
            return 1;
        }
@@ -740,7 +743,7 @@ int handle_forward_request(const char* service, transport_type ttype, char* seri

    if (!strncmp(service, "forward:",8) ||
        !strncmp(service, "killforward:",12)) {
        char *local, *remote, *err;
        char *local, *remote;
        int r;
        atransport *transport;

@@ -777,6 +780,7 @@ int handle_forward_request(const char* service, transport_type ttype, char* seri
            }
        }

        const char* err;
        transport = acquire_one_transport(CS_ANY, ttype, serial, &err);
        if (!transport) {
            sendfailmsg(reply_fd, err);
@@ -835,7 +839,6 @@ int handle_host_request(char *service, transport_type ttype, char* serial, int r
    // "transport-local:" is used for switching transport to the only local transport
    // "transport-any:" is used for switching transport to the only transport
    if (!strncmp(service, "transport", strlen("transport"))) {
        char* error_string = "unknown failure";
        transport_type type = kTransportAny;

        if (!strncmp(service, "transport-usb", strlen("transport-usb"))) {
@@ -849,6 +852,7 @@ int handle_host_request(char *service, transport_type ttype, char* serial, int r
            serial = service;
        }

        const char* error_string = "unknown failure";
        transport = acquire_one_transport(CS_ANY, type, serial, &error_string);

        if (transport) {
@@ -911,7 +915,7 @@ int handle_host_request(char *service, transport_type ttype, char* serial, int r
    }

    if(!strncmp(service,"get-serialno",strlen("get-serialno"))) {
        char *out = "unknown";
        const char *out = "unknown";
        transport = acquire_one_transport(CS_ANY, ttype, serial, NULL);
       if (transport && transport->serial) {
            out = transport->serial;
@@ -920,7 +924,7 @@ int handle_host_request(char *service, transport_type ttype, char* serial, int r
        return 0;
    }
    if(!strncmp(service,"get-devpath",strlen("get-devpath"))) {
        char *out = "unknown";
        const char *out = "unknown";
        transport = acquire_one_transport(CS_ANY, ttype, serial, NULL);
       if (transport && transport->devpath) {
            out = transport->devpath;
@@ -938,7 +942,7 @@ int handle_host_request(char *service, transport_type ttype, char* serial, int r

    if(!strncmp(service,"get-state",strlen("get-state"))) {
        transport = acquire_one_transport(CS_ANY, ttype, serial, NULL);
        char *state = connection_state_name(transport);
        const char *state = connection_state_name(transport);
        send_msg_with_okay(reply_fd, state, strlen(state));
        return 0;
    }
+3 −3
Original line number Diff line number Diff line
@@ -239,8 +239,8 @@ struct alistener
    fdevent fde;
    int fd;

    const char *local_name;
    const char *connect_to;
    char *local_name;
    char *connect_to;
    atransport *transport;
    adisconnect  disconnect;
};
@@ -348,7 +348,7 @@ void usb_kick(usb_handle *h);
int is_adb_interface(int vid, int pid, int usb_class, int usb_subclass, int usb_protocol);
#endif

int adb_commandline(int argc, char **argv);
int adb_commandline(int argc, const char **argv);

int connection_state(atransport *t);

+0 −0

File moved.

+7 −3
Original line number Diff line number Diff line
@@ -40,7 +40,8 @@ void send_auth_publickey(atransport *t);

#if ADB_HOST

int adb_auth_sign(void *key, void *token, size_t token_size, void *sig);
int adb_auth_sign(void *key, const unsigned char* token, size_t token_size,
                  unsigned char* sig);
void *adb_auth_nextkey(void *current);
int adb_auth_get_userkey(unsigned char *data, size_t len);

@@ -50,12 +51,15 @@ static inline void adb_auth_confirm_key(unsigned char *data, size_t len, atransp

#else // !ADB_HOST

static inline int adb_auth_sign(void* key, void *token, size_t token_size, void *sig) { return 0; }
static inline int adb_auth_sign(void* key, const unsigned char* token,
                                size_t token_size, unsigned char* sig) {
    return 0;
}
static inline void *adb_auth_nextkey(void *current) { return NULL; }
static inline int adb_auth_get_userkey(unsigned char *data, size_t len) { return 0; }

int adb_auth_generate_token(void *token, size_t token_size);
int adb_auth_verify(void *token, void *sig, int siglen);
int adb_auth_verify(uint8_t* token, uint8_t* sig, int siglen);
void adb_auth_confirm_key(unsigned char *data, size_t len, atransport *t);

#endif // ADB_HOST
Loading