wireguard-go-bridge: simplify logging and remove tags

This commit is contained in:
Jason A. Donenfeld 2018-10-31 03:13:00 +01:00
parent 47c9924405
commit 003286aee0
4 changed files with 10 additions and 15 deletions

View File

@ -133,7 +133,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
}
private func configureLogger() {
wgSetLogger { (level, tagCStr, msgCStr) in
wgSetLogger { (level, msgCStr) in
let logType: OSLogType
switch level {
case 0:
@ -145,9 +145,8 @@ class PacketTunnelProvider: NEPacketTunnelProvider {
default:
logType = .default
}
let tag = (tagCStr != nil) ? String(cString: tagCStr!) : ""
let msg = (msgCStr != nil) ? String(cString: msgCStr!) : ""
os_log("wg log: %{public}s: %{public}s", log: OSLog.default, type: logType, tag, msg)
os_log("%{public}s", log: OSLog.default, type: logType, msg)
}
}

View File

@ -27,9 +27,9 @@ ssize_t do_write(void *ctx, unsigned char *buf, size_t len)
return len;
}
void do_log(int level, const char *tag, const char *msg)
void do_log(int level, const char *msg)
{
printf("Log level %d for %s: %s", level, tag, msg);
printf("Log level %d: %s", level, msg);
}
int main(int argc, char *argv[])

View File

@ -7,9 +7,9 @@ package main
// #include <stdlib.h>
// #include <sys/types.h>
// static void callLogger(void *func, int level, const char *tag, const char *msg)
// static void callLogger(void *func, int level, const char *msg)
// {
// ((void(*)(int, const char *, const char *))func)(level, tag, msg);
// ((void(*)(int, const char *))func)(level, msg);
// }
import "C"
@ -40,10 +40,8 @@ func (l *CLogger) Write(p []byte) (int, error) {
if uintptr(loggerFunc) == 0 {
return 0, errors.New("No logger initialized")
}
tag := C.CString("WireGuard/GoBackend/"+l.interfaceName)
message := C.CString(string(p))
C.callLogger(loggerFunc, l.level, tag, message)
C.free(unsafe.Pointer(tag))
message := C.CString(l.interfaceName + ": " + string(p))
C.callLogger(loggerFunc, l.level, message)
C.free(unsafe.Pointer(message))
return len(p), nil
}
@ -64,9 +62,7 @@ func init() {
n := runtime.Stack(buf, true)
buf[n] = 0
if uintptr(loggerFunc) != 0 {
tag := C.CString("WireGuard/GoBackend/Stacktrace")
C.callLogger(loggerFunc, 0, tag, (*_Ctype_char)(unsafe.Pointer(&buf[0])))
C.free(unsafe.Pointer(tag))
C.callLogger(loggerFunc, 0, (*_Ctype_char)(unsafe.Pointer(&buf[0])))
}
}
}

View File

@ -11,7 +11,7 @@
typedef struct { const char *p; size_t n; } gostring_t;
typedef ssize_t(*read_write_fn_t)(void *ctx, unsigned char *buf, size_t len);
typedef void(*logger_fn_t)(int level, const char *tag, const char *msg);
typedef void(*logger_fn_t)(int level, const char *msg);
extern void wgSetLogger(logger_fn_t logger_fn);
extern int wgTurnOn(gostring_t ifname, gostring_t settings, uint16_t mtu, read_write_fn_t read_fn, read_write_fn_t write_fn, void *ctx);
extern void wgTurnOff(int handle);