adb_auth.h revision d5fcafaf41f8ec90986c813f75ec78402096af2d
19509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey/* 29509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * Copyright (C) 2012 The Android Open Source Project 39509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * 49509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * Licensed under the Apache License, Version 2.0 (the "License"); 59509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * you may not use this file except in compliance with the License. 69509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * You may obtain a copy of the License at 79509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * 89509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * http://www.apache.org/licenses/LICENSE-2.0 99509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * 109509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * Unless required by applicable law or agreed to in writing, software 119509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * distributed under the License is distributed on an "AS IS" BASIS, 129509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * See the License for the specific language governing permissions and 149509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey * limitations under the License. 159509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey */ 169509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey 179509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey#ifndef __ADB_AUTH_H 189509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey#define __ADB_AUTH_H 199509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey 2046ac0ef00b7df5432d1704b221738e51234bedc5Jeff Sharkeyvoid adb_auth_init(void); 2146ac0ef00b7df5432d1704b221738e51234bedc5Jeff Sharkeyvoid adb_auth_verified(atransport *t); 229509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey 239509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey/* AUTH packets first argument */ 249509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey/* Request */ 259509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey#define ADB_AUTH_TOKEN 1 269509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey/* Response */ 279509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey#define ADB_AUTH_SIGNATURE 2 289509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey#define ADB_AUTH_RSAPUBLICKEY 3 299509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey 309509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey#if ADB_HOST 319509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey 329509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkeyint adb_auth_sign(void *key, void *token, size_t token_size, void *sig); 339509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkeyvoid *adb_auth_nextkey(void *current); 349509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkeyint adb_auth_get_userkey(unsigned char *data, size_t len); 359509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey 369509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkeystatic inline int adb_auth_generate_token(void *token, size_t token_size) { return 0; } 379509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkeystatic inline int adb_auth_verify(void *token, void *sig, int siglen) { return 0; } 389509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkeystatic inline void adb_auth_confirm_key(unsigned char *data, size_t len, atransport *t) { } 399509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkeystatic inline void adb_auth_reload_keys(void) { } 409509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey 419509d27252b16f69b6fd2ebb2c552201c34e5c0cJeff Sharkey#else // !ADB_HOST 42 43static inline int adb_auth_sign(void* key, void *token, size_t token_size, void *sig) { return 0; } 44static inline void *adb_auth_nextkey(void *current) { return NULL; } 45static inline int adb_auth_get_userkey(unsigned char *data, size_t len) { return 0; } 46 47int adb_auth_generate_token(void *token, size_t token_size); 48int adb_auth_verify(void *token, void *sig, int siglen); 49void adb_auth_confirm_key(unsigned char *data, size_t len, atransport *t); 50void adb_auth_reload_keys(void); 51 52#endif // ADB_HOST 53 54#endif // __ADB_AUTH_H 55