forked from mirror/openwrt
Initial support for dynamic reload of RxKHs. In order to check if RxKHs need reloading. RxKHs defined in the rxkh_file first has to be parsed and formated, the same way as hostapd will read from the file and also output, with the command GET_RXKHS. Then each list of RxKHs can be hashed and compared. Ucode implementation of hostapds rkh_derive_key() function. Hostapd converts hex keys with 128-bits or more when less than 256-bits to 256-bits, and truncates those that are more than 256-bits. See: https://w1.fi/cgit/hostap/commit/hostapd/config_file.c?id=245fc96e5f4b1c566b7eaa19180c774307ebed79 Signed-off-by: Sybil127 <sybil127@outlook.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
31 lines
1 KiB
C
31 lines
1 KiB
C
#ifndef __HOSTAPD_UTILS_UCODE_H
|
|
#define __HOSTAPD_UTILS_UCODE_H
|
|
|
|
#include "utils/includes.h"
|
|
#include "utils/common.h"
|
|
#include <ucode/lib.h>
|
|
#include <ucode/vm.h>
|
|
|
|
#define HOSTAPD_UC_PATH "/usr/share/hostap/"
|
|
|
|
extern uc_value_t *uc_registry;
|
|
uc_vm_t *wpa_ucode_create_vm(void);
|
|
int wpa_ucode_run(const char *script);
|
|
int wpa_ucode_call_prepare(const char *fname);
|
|
uc_value_t *wpa_ucode_call(size_t nargs);
|
|
void wpa_ucode_free_vm(void);
|
|
|
|
uc_value_t *wpa_ucode_global_init(const char *name, uc_resource_type_t *global_type);
|
|
|
|
int wpa_ucode_registry_add(uc_value_t *reg, uc_value_t *val);
|
|
uc_value_t *wpa_ucode_registry_get(uc_value_t *reg, int idx);
|
|
uc_value_t *wpa_ucode_registry_remove(uc_value_t *reg, int idx);
|
|
|
|
uc_value_t *uc_wpa_udebug_set(uc_vm_t *vm, size_t nargs);
|
|
uc_value_t *uc_wpa_printf(uc_vm_t *vm, size_t nargs);
|
|
uc_value_t *uc_wpa_getpid(uc_vm_t *vm, size_t nargs);
|
|
uc_value_t *uc_wpa_sha1(uc_vm_t *vm, size_t nargs);
|
|
uc_value_t *uc_wpa_rkh_derive_key(uc_vm_t *vm, size_t nargs);
|
|
uc_value_t *uc_wpa_freq_info(uc_vm_t *vm, size_t nargs);
|
|
|
|
#endif
|