diff --git a/app/modules/net.c b/app/modules/net.c index bb36d45b..4b56cf6d 100644 --- a/app/modules/net.c +++ b/app/modules/net.c @@ -13,6 +13,7 @@ #include "c_types.h" #include "mem.h" #include "espconn.h" +#include "lwip/dns.h" #ifdef CLIENT_SSL_ENABLE unsigned char *default_certificate; @@ -1445,14 +1446,13 @@ static int net_getdnsserver( lua_State* L ) if (numdns >= DNS_MAX_SERVERS) return luaL_error( L, "server index out of range [0-%d]", DNS_MAX_SERVERS - 1); - ip_addr_t ipaddr; - dns_getserver(numdns,&ipaddr); + ip_addr_t ipaddr = dns_getserver(numdns); if ( ip_addr_isany(&ipaddr) ) { lua_pushnil( L ); } else { char temp[20] = {0}; - c_sprintf(temp, IPSTR, IP2STR( &ipaddr ) ); + c_sprintf(temp, IPSTR, IP2STR( &ipaddr.addr ) ); lua_pushstring( L, temp ); } diff --git a/app/modules/wifi.c b/app/modules/wifi.c index b796babb..2decf341 100644 --- a/app/modules/wifi.c +++ b/app/modules/wifi.c @@ -815,6 +815,20 @@ static int wifi_ap_getbroadcast( lua_State* L ){ return wifi_getbroadcast(L, SOFTAP_IF); } +// Lua: wifi.ap.getconfig() +static int wifi_ap_getconfig( lua_State* L ) +{ + struct softap_config config; + wifi_softap_get_config(&config); + lua_pushstring( L, config.ssid ); + if(config.authmode = AUTH_OPEN) + lua_pushnil(L); + else + lua_pushstring( L, config.password ); + return 2; +} + + // Lua: wifi.ap.config(table) static int wifi_ap_config( lua_State* L ) { @@ -1051,6 +1065,7 @@ static const LUA_REG_TYPE wifi_ap_dhcp_map[] = static const LUA_REG_TYPE wifi_ap_map[] = { { LSTRKEY( "config" ), LFUNCVAL( wifi_ap_config ) }, + { LSTRKEY( "getconfig" ), LFUNCVAL( wifi_ap_getconfig ) }, { LSTRKEY( "getip" ), LFUNCVAL ( wifi_ap_getip ) }, { LSTRKEY( "setip" ), LFUNCVAL ( wifi_ap_setip ) }, { LSTRKEY( "getbroadcast" ), LFUNCVAL ( wifi_ap_getbroadcast) },