/*
protocol.c -- handle the meta-protocol, basic functions
Copyright (C) 1999-2005 Ivo Timmermans,
- 2000-2013 Guus Sliepen <guus@tinc-vpn.org>
+ 2000-2022 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* Request names */
-static char (*request_name[]) = {
+static const char (*request_name[]) = {
"ID", "METAKEY", "CHALLENGE", "CHAL_REPLY", "ACK",
"STATUS", "ERROR", "TERMREQ",
"PING", "PONG",
// Create a temporary newline-terminated copy of the request
size_t len = strlen(request);
- char tmp[len + 1];
+ const size_t tmplen = len + 1;
+ char *tmp = alloca(tmplen);
memcpy(tmp, request, len);
tmp[len] = '\n';
- broadcast_meta(from, tmp, sizeof(tmp));
+ broadcast_meta(from, tmp, tmplen);
}
bool receive_request(connection_t *c, const char *request) {