2626# Version scheme (MAJOR.MINOR.PATCH) should orientate on "Semantic Versioning" https://semver.org/
2727# Every change in this script should result in increasing the version number accordingly (exceptions may be cosmetic
2828# changes)
29- SERVER_VERSION = "1.3.55 "
29+ SERVER_VERSION = "1.3.56 "
3030
3131OLD_VERSION = '2.14.0'
3232
@@ -1254,9 +1254,8 @@ def read_data(connection, cmd, pos_nl, max_data_size, check_done, cmd_name, time
12541254
12551255 if data and (len (data ) >= max_data_size ):
12561256 print_ts ('Maximum allowed data ({} bytes) exceeded ({}).' .format (max_data_size , cmd_name ))
1257- data = None
12581257
1259- if data and check_done and not data .endswith ('\n DONE' ):
1258+ elif data and check_done and not data .endswith ('\n DONE' ):
12601259 print_ts ('Incomplete data received ({}).' .format (cmd_name ))
12611260 data = None
12621261
@@ -1334,9 +1333,10 @@ def server(server_address_port: int, packages: list, packageIndex: int, resultPa
13341333 continue
13351334 elif cmd .startswith ('write\n ftp://' ) or cmd .startswith ('write\n http://' ):
13361335 t_start = time .perf_counter ()
1337- data = read_data (connection , cmd , pos_nl , max_data_size = 2.5 * 1024 * 1024 , check_done = True , cmd_name = 'write' )
1336+ data = read_data (connection , cmd , pos_nl , max_data_size = 1024 * 1024 , check_done = True , cmd_name = 'write' )
13381337 if data is None :
13391338 continue
1339+ truncated_data = len (data ) >= 1024 * 1024
13401340
13411341 pos = data .find ('\n ' )
13421342 if pos == - 1 :
@@ -1376,6 +1376,10 @@ def server(server_address_port: int, packages: list, packageIndex: int, resultPa
13761376 print_ts ('Unexpected old version. Ignoring result data.' )
13771377 continue
13781378 filename = os .path .join (resultPath , res .group (1 ))
1379+ if truncated_data :
1380+ print_ts ('Data is too large. Removing result.' )
1381+ os .remove (filename )
1382+ continue
13791383 with open (filename , 'wt' ) as f :
13801384 f .write (strDateTime () + '\n ' + data )
13811385 # track latest added results..
@@ -1393,6 +1397,7 @@ def server(server_address_port: int, packages: list, packageIndex: int, resultPa
13931397 data = read_data (connection , cmd , pos_nl , max_data_size = 7 * 1024 * 1024 , check_done = True , cmd_name = 'write_info' )
13941398 if data is None :
13951399 continue
1400+ truncated_data = len (data ) >= 7 * 1024 * 1024
13961401
13971402 pos = data .find ('\n ' )
13981403 if pos == - 1 :
@@ -1418,6 +1423,10 @@ def server(server_address_port: int, packages: list, packageIndex: int, resultPa
14181423 if not os .path .exists (info_path ):
14191424 os .mkdir (info_path )
14201425 filename = info_path + '/' + res .group (1 )
1426+ if truncated_data :
1427+ print_ts ('Data is too large. Removing result.' )
1428+ os .remove (filename )
1429+ continue
14211430 with open (filename , 'wt' ) as f :
14221431 f .write (strDateTime () + '\n ' + data )
14231432 print_ts ('write_info finished for {} ({} bytes / {}s)' .format (res .group (1 ), len (data ), (time .perf_counter () - t_start )))
0 commit comments