feat(p6-protocol): --protocol version-force flag (client-only)

This commit is contained in:
2026-09-10 20:36:05 +02:00
parent bb27b2af50
commit 2b7bb2d523
3 changed files with 20 additions and 0 deletions
+11
View File
@@ -3,6 +3,7 @@
#include "delay_updates.h"
#include "log.h"
#include "usage.h"
#include <string.h>
#include <stdio.h>
/* Validate config after parsing. Returns true if valid. */
@@ -132,5 +133,15 @@ bool validate_config(const Config* config) {
"--iconv requires LOCAL[,REMOTE] charset names supported by iconv");
return false;
}
/* --protocol: FastSync has exactly one wire format, so the forced version
must equal the current PROTOCOL_VERSION exactly. Rejected here, before any
network I/O, rather than letting the server hit its own mismatch check. */
if (strcmp(config->version, PROTOCOL_VERSION) != 0) {
log_message(LOG_LEVEL_ERROR,
"--protocol must be %s (FastSync supports only its current wire "
"protocol version and cannot speak an older or virtual one)",
PROTOCOL_VERSION);
return false;
}
return true;
}