1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2025-07-16 04:35:01 +03:00

Cedar: Add ProtoOptionString() in PROTO_IMPL, to generate default option values

The WireGuard implementation will have two options that should not have a fixed default value, because they represent two keys (one is preshared, the other is private).

Instead of handling these two options differently in ProtoNewContainer(), this commit adds a new function to PROTO_IMPL: ProtoOptionString().

ProtoOptionString() takes the option's name as argument and returns a heap-allocated string that will be used as value. The function returns NULL when the option doesn't need a randomized value.
This commit is contained in:
Davide Beatrici
2020-08-12 00:49:31 +02:00
parent d8aa470192
commit decfcecc97
4 changed files with 4 additions and 1 deletions

View File

@ -291,7 +291,7 @@ PROTO_CONTAINER *ProtoContainerNew(const PROTO_IMPL *impl)
option->Bool = impl_option->Bool;
break;
case PROTO_OPTION_STRING:
option->String = CopyStr(impl_option->String);
option->String = impl_option->String != NULL ? CopyStr(impl_option->String) : impl->OptionStringValue(option->Name);
break;
default:
Debug("ProtoContainerNew(): unhandled option type %u!\n", impl_option->Type);