This also syncs the configuration files with the default configuration files, but no extra options are activated or deactivated. The mesh patches were partially merged into hostapd 2.8, the remaining patches were extracted from patchwork and are now applied by OpenWrt. The patches still have open questions which are not fixed by the author. They were taken from this page: https://patchwork.ozlabs.org/project/hostap/list/?series=62725&state=* The changes in 007-mesh-apply-channel-attributes-before-running-Mesh.patch where first applied to hostapd, but later reverted in hostapd commit 3e949655ccc5 because they caused memory leaks. The size of the ipkgs increase a bit (between 1.3% and 2.3%): old 2018-12-02 (2.7): 283337 wpad-basic_2018-12-02-c2c6c01b-11_mipsel_24kc.ipk 252857 wpad-mini_2018-12-02-c2c6c01b-11_mipsel_24kc.ipk 417473 wpad-openssl_2018-12-02-c2c6c01b-11_mipsel_24kc.ipk 415105 wpad-wolfssl_2018-12-02-c2c6c01b-11_mipsel_24kc.ipk new 2019-04-21 (2.8): 288264 wpad-basic_2019-04-21-63962824-1_mipsel_24kc.ipk 256188 wpad-mini_2019-04-21-63962824-1_mipsel_24kc.ipk 427475 wpad-openssl_2019-04-21-63962824-1_mipsel_24kc.ipk 423071 wpad-wolfssl_2019-04-21-63962824-1_mipsel_24kc.ipk Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
214 lines
6.5 KiB
Diff
214 lines
6.5 KiB
Diff
--- a/src/utils/wpa_debug.c
|
|
+++ b/src/utils/wpa_debug.c
|
|
@@ -205,7 +205,7 @@ void wpa_debug_close_linux_tracing(void)
|
|
*
|
|
* Note: New line '\n' is added to the end of the text when printing to stdout.
|
|
*/
|
|
-void wpa_printf(int level, const char *fmt, ...)
|
|
+void _wpa_printf(int level, const char *fmt, ...)
|
|
{
|
|
va_list ap;
|
|
|
|
@@ -252,8 +252,8 @@ void wpa_printf(int level, const char *f
|
|
}
|
|
|
|
|
|
-static void _wpa_hexdump(int level, const char *title, const u8 *buf,
|
|
- size_t len, int show)
|
|
+void _wpa_hexdump(int level, const char *title, const u8 *buf,
|
|
+ size_t len, int show)
|
|
{
|
|
size_t i;
|
|
|
|
@@ -379,20 +379,8 @@ static void _wpa_hexdump(int level, cons
|
|
#endif /* CONFIG_ANDROID_LOG */
|
|
}
|
|
|
|
-void wpa_hexdump(int level, const char *title, const void *buf, size_t len)
|
|
-{
|
|
- _wpa_hexdump(level, title, buf, len, 1);
|
|
-}
|
|
-
|
|
-
|
|
-void wpa_hexdump_key(int level, const char *title, const void *buf, size_t len)
|
|
-{
|
|
- _wpa_hexdump(level, title, buf, len, wpa_debug_show_keys);
|
|
-}
|
|
-
|
|
-
|
|
-static void _wpa_hexdump_ascii(int level, const char *title, const void *buf,
|
|
- size_t len, int show)
|
|
+void _wpa_hexdump_ascii(int level, const char *title, const void *buf,
|
|
+ size_t len, int show)
|
|
{
|
|
size_t i, llen;
|
|
const u8 *pos = buf;
|
|
@@ -505,20 +493,6 @@ static void _wpa_hexdump_ascii(int level
|
|
}
|
|
|
|
|
|
-void wpa_hexdump_ascii(int level, const char *title, const void *buf,
|
|
- size_t len)
|
|
-{
|
|
- _wpa_hexdump_ascii(level, title, buf, len, 1);
|
|
-}
|
|
-
|
|
-
|
|
-void wpa_hexdump_ascii_key(int level, const char *title, const void *buf,
|
|
- size_t len)
|
|
-{
|
|
- _wpa_hexdump_ascii(level, title, buf, len, wpa_debug_show_keys);
|
|
-}
|
|
-
|
|
-
|
|
#ifdef CONFIG_DEBUG_FILE
|
|
static char *last_path = NULL;
|
|
#endif /* CONFIG_DEBUG_FILE */
|
|
@@ -634,7 +608,7 @@ void wpa_msg_register_ifname_cb(wpa_msg_
|
|
}
|
|
|
|
|
|
-void wpa_msg(void *ctx, int level, const char *fmt, ...)
|
|
+void _wpa_msg(void *ctx, int level, const char *fmt, ...)
|
|
{
|
|
va_list ap;
|
|
char *buf;
|
|
@@ -672,7 +646,7 @@ void wpa_msg(void *ctx, int level, const
|
|
}
|
|
|
|
|
|
-void wpa_msg_ctrl(void *ctx, int level, const char *fmt, ...)
|
|
+void _wpa_msg_ctrl(void *ctx, int level, const char *fmt, ...)
|
|
{
|
|
va_list ap;
|
|
char *buf;
|
|
--- a/src/utils/wpa_debug.h
|
|
+++ b/src/utils/wpa_debug.h
|
|
@@ -52,6 +52,17 @@ int wpa_debug_reopen_file(void);
|
|
void wpa_debug_close_file(void);
|
|
void wpa_debug_setup_stdout(void);
|
|
|
|
+/* internal */
|
|
+void _wpa_hexdump(int level, const char *title, const u8 *buf,
|
|
+ size_t len, int show);
|
|
+void _wpa_hexdump_ascii(int level, const char *title, const void *buf,
|
|
+ size_t len, int show);
|
|
+extern int wpa_debug_show_keys;
|
|
+
|
|
+#ifndef CONFIG_MSG_MIN_PRIORITY
|
|
+#define CONFIG_MSG_MIN_PRIORITY 0
|
|
+#endif
|
|
+
|
|
/**
|
|
* wpa_debug_printf_timestamp - Print timestamp for debug output
|
|
*
|
|
@@ -72,9 +83,15 @@ void wpa_debug_print_timestamp(void);
|
|
*
|
|
* Note: New line '\n' is added to the end of the text when printing to stdout.
|
|
*/
|
|
-void wpa_printf(int level, const char *fmt, ...)
|
|
+void _wpa_printf(int level, const char *fmt, ...)
|
|
PRINTF_FORMAT(2, 3);
|
|
|
|
+#define wpa_printf(level, ...) \
|
|
+ do { \
|
|
+ if (level >= CONFIG_MSG_MIN_PRIORITY) \
|
|
+ _wpa_printf(level, __VA_ARGS__); \
|
|
+ } while(0)
|
|
+
|
|
/**
|
|
* wpa_hexdump - conditional hex dump
|
|
* @level: priority level (MSG_*) of the message
|
|
@@ -86,7 +103,13 @@ PRINTF_FORMAT(2, 3);
|
|
* output may be directed to stdout, stderr, and/or syslog based on
|
|
* configuration. The contents of buf is printed out has hex dump.
|
|
*/
|
|
-void wpa_hexdump(int level, const char *title, const void *buf, size_t len);
|
|
+static inline void wpa_hexdump(int level, const char *title, const void *buf, size_t len)
|
|
+{
|
|
+ if (level < CONFIG_MSG_MIN_PRIORITY)
|
|
+ return;
|
|
+
|
|
+ _wpa_hexdump(level, title, buf, len, 1);
|
|
+}
|
|
|
|
static inline void wpa_hexdump_buf(int level, const char *title,
|
|
const struct wpabuf *buf)
|
|
@@ -108,7 +131,13 @@ static inline void wpa_hexdump_buf(int l
|
|
* like wpa_hexdump(), but by default, does not include secret keys (passwords,
|
|
* etc.) in debug output.
|
|
*/
|
|
-void wpa_hexdump_key(int level, const char *title, const void *buf, size_t len);
|
|
+static inline void wpa_hexdump_key(int level, const char *title, const u8 *buf, size_t len)
|
|
+{
|
|
+ if (level < CONFIG_MSG_MIN_PRIORITY)
|
|
+ return;
|
|
+
|
|
+ _wpa_hexdump(level, title, buf, len, wpa_debug_show_keys);
|
|
+}
|
|
|
|
static inline void wpa_hexdump_buf_key(int level, const char *title,
|
|
const struct wpabuf *buf)
|
|
@@ -130,8 +159,14 @@ static inline void wpa_hexdump_buf_key(i
|
|
* the hex numbers and ASCII characters (for printable range) are shown. 16
|
|
* bytes per line will be shown.
|
|
*/
|
|
-void wpa_hexdump_ascii(int level, const char *title, const void *buf,
|
|
- size_t len);
|
|
+static inline void wpa_hexdump_ascii(int level, const char *title,
|
|
+ const u8 *buf, size_t len)
|
|
+{
|
|
+ if (level < CONFIG_MSG_MIN_PRIORITY)
|
|
+ return;
|
|
+
|
|
+ _wpa_hexdump_ascii(level, title, buf, len, 1);
|
|
+}
|
|
|
|
/**
|
|
* wpa_hexdump_ascii_key - conditional hex dump, hide keys
|
|
@@ -147,8 +182,14 @@ void wpa_hexdump_ascii(int level, const
|
|
* bytes per line will be shown. This works like wpa_hexdump_ascii(), but by
|
|
* default, does not include secret keys (passwords, etc.) in debug output.
|
|
*/
|
|
-void wpa_hexdump_ascii_key(int level, const char *title, const void *buf,
|
|
- size_t len);
|
|
+static inline void wpa_hexdump_ascii_key(int level, const char *title,
|
|
+ const u8 *buf, size_t len)
|
|
+{
|
|
+ if (level < CONFIG_MSG_MIN_PRIORITY)
|
|
+ return;
|
|
+
|
|
+ _wpa_hexdump_ascii(level, title, buf, len, wpa_debug_show_keys);
|
|
+}
|
|
|
|
/*
|
|
* wpa_dbg() behaves like wpa_msg(), but it can be removed from build to reduce
|
|
@@ -185,7 +226,12 @@ void wpa_hexdump_ascii_key(int level, co
|
|
*
|
|
* Note: New line '\n' is added to the end of the text when printing to stdout.
|
|
*/
|
|
-void wpa_msg(void *ctx, int level, const char *fmt, ...) PRINTF_FORMAT(3, 4);
|
|
+void _wpa_msg(void *ctx, int level, const char *fmt, ...) PRINTF_FORMAT(3, 4);
|
|
+#define wpa_msg(ctx, level, ...) \
|
|
+ do { \
|
|
+ if (level >= CONFIG_MSG_MIN_PRIORITY) \
|
|
+ _wpa_msg(ctx, level, __VA_ARGS__); \
|
|
+ } while(0)
|
|
|
|
/**
|
|
* wpa_msg_ctrl - Conditional printf for ctrl_iface monitors
|
|
@@ -199,8 +245,13 @@ void wpa_msg(void *ctx, int level, const
|
|
* attached ctrl_iface monitors. In other words, it can be used for frequent
|
|
* events that do not need to be sent to syslog.
|
|
*/
|
|
-void wpa_msg_ctrl(void *ctx, int level, const char *fmt, ...)
|
|
+void _wpa_msg_ctrl(void *ctx, int level, const char *fmt, ...)
|
|
PRINTF_FORMAT(3, 4);
|
|
+#define wpa_msg_ctrl(ctx, level, ...) \
|
|
+ do { \
|
|
+ if (level >= CONFIG_MSG_MIN_PRIORITY) \
|
|
+ _wpa_msg_ctrl(ctx, level, __VA_ARGS__); \
|
|
+ } while(0)
|
|
|
|
/**
|
|
* wpa_msg_global - Global printf for ctrl_iface monitors
|