Introduce "adb keygen"
automerge: 86c9e5f
* commit '86c9e5f7e20a3f1712038ce642628c2e1e866434':
Introduce "adb keygen"
This commit is contained in:
commit
33aacf1963
3 changed files with 34 additions and 3 deletions
|
@ -18,6 +18,7 @@
|
|||
#define __ADB_AUTH_H
|
||||
|
||||
void adb_auth_init(void);
|
||||
int adb_auth_keygen(const char* filename);
|
||||
void adb_auth_verified(atransport *t);
|
||||
|
||||
void send_auth_request(atransport *t);
|
||||
|
|
|
@ -117,18 +117,34 @@ out:
|
|||
static void get_user_info(char *buf, size_t len)
|
||||
{
|
||||
char hostname[1024], username[1024];
|
||||
int ret;
|
||||
int ret = -1;
|
||||
|
||||
if (getenv("HOSTNAME") != NULL) {
|
||||
strncpy(hostname, getenv("HOSTNAME"), sizeof(hostname));
|
||||
hostname[sizeof(hostname)-1] = '\0';
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
#ifndef _WIN32
|
||||
ret = gethostname(hostname, sizeof(hostname));
|
||||
if (ret < 0)
|
||||
ret = gethostname(hostname, sizeof(hostname));
|
||||
#endif
|
||||
if (ret < 0)
|
||||
strcpy(hostname, "unknown");
|
||||
|
||||
ret = -1;
|
||||
|
||||
if (getenv("LOGNAME") != NULL) {
|
||||
strncpy(username, getenv("LOGNAME"), sizeof(username));
|
||||
username[sizeof(username)-1] = '\0';
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
#if !defined _WIN32 && !defined ADB_HOST_ON_TARGET
|
||||
ret = getlogin_r(username, sizeof(username));
|
||||
if (ret < 0)
|
||||
ret = getlogin_r(username, sizeof(username));
|
||||
#endif
|
||||
if (ret < 0)
|
||||
strcpy(username, "unknown");
|
||||
|
||||
ret = snprintf(buf, len, " %s@%s", username, hostname);
|
||||
|
@ -439,6 +455,11 @@ int adb_auth_get_userkey(unsigned char *data, size_t len)
|
|||
return ret + 1;
|
||||
}
|
||||
|
||||
int adb_auth_keygen(const char* filename) {
|
||||
adb_trace_mask |= (1 << TRACE_AUTH);
|
||||
return (generate_key(filename) == 0);
|
||||
}
|
||||
|
||||
void adb_auth_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#define TRACE_TAG TRACE_ADB
|
||||
#include "adb.h"
|
||||
#include "adb_client.h"
|
||||
#include "adb_auth.h"
|
||||
#include "file_sync_service.h"
|
||||
|
||||
static int do_cmd(transport_type ttype, char* serial, char *cmd, ...);
|
||||
|
@ -190,6 +191,9 @@ void help()
|
|||
" adb restore <file> - restore device contents from the <file> backup archive\n"
|
||||
"\n"
|
||||
" adb disable-verity - disable dm-verity checking on USERDEBUG builds\n"
|
||||
" adb keygen <file> - generate adb public/private key. The private key is stored in <file>,\n"
|
||||
" and the public key is stored in <file>.pub. Any existing files\n"
|
||||
" are overwritten.\n"
|
||||
" adb help - show this help message\n"
|
||||
" adb version - show version num\n"
|
||||
"\n"
|
||||
|
@ -1720,6 +1724,11 @@ top:
|
|||
return restore(argc, argv);
|
||||
}
|
||||
|
||||
if (!strcmp(argv[0], "keygen")) {
|
||||
if (argc < 2) return usage();
|
||||
return adb_auth_keygen(argv[1]);
|
||||
}
|
||||
|
||||
if (!strcmp(argv[0], "jdwp")) {
|
||||
int fd = adb_connect("jdwp");
|
||||
if (fd >= 0) {
|
||||
|
|
Loading…
Reference in a new issue