From e38d5e1b467699276eb344db7e5f40a70e711a57 Mon Sep 17 00:00:00 2001
From: Athanasius <github@miggy.org>
Date: Sat, 4 Jun 2022 16:57:18 +0100
Subject: [PATCH] CAPI: Check if lastStarport->id matches Journal MarketID

Ref: <https://github.com/EDCD/EDMarketConnector/issues/1572>
---
 EDMarketConnector.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/EDMarketConnector.py b/EDMarketConnector.py
index b3eb10ba..283c3bf5 100755
--- a/EDMarketConnector.py
+++ b/EDMarketConnector.py
@@ -1100,6 +1100,11 @@ class AppWindow(object):
 
                 self.capi_query_holdoff_time = capi_response.query_time + companion.capi_query_cooldown
 
+            elif capi_response.capi_data['lastStarport']['id'] != monitor.station_marketid:
+                logger.warning(f"MarketID mis-match: {capi_response.capi_data['lastStarport']['id']!r} !="
+                               f" {monitor.station_marketid!r}")
+                raise companion.ServerLagging()
+
             elif not monitor.state['OnFoot'] and capi_response.capi_data['ship']['id'] != monitor.state['ShipID']:
                 # CAPI ship must match
                 logger.warning(f"not {monitor.state['OnFoot']!r} and "