3316c77667 
					 
					
						
						
							
							minor 'DEBUG' refactoring  
						
						... 
						
						
						
						- for debug builds, the LAIKA_DEBUG_BUILD macro will be defined in lconfig.h
- LAIKA_OBFUSCATE now controls the winobf IAT obfuscation as well 
						
						
					 
					
						2022-10-05 20:36:49 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7ec814525c 
					 
					
						
						
							
							minor refactoring  
						
						
						
						
					 
					
						2022-09-29 16:36:19 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6ab280d010 
					 
					
						
						
							
							lsocket.[ch]: refactored writeInt && readInt  
						
						... 
						
						
						
						- switched to laikaS_readu* && laikaS_writeu*
- this gets rid of the ugly malloc() for platforms that don't support VLAs 
						
						
					 
					
						2022-09-07 17:53:49 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b23057b219 
					 
					
						
						
							
							Refactoring: reorganized files  
						
						
						
						
					 
					
						2022-09-01 20:00:37 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						169313ee39 
					 
					
						
						
							
							shell: migrated to new vector API  
						
						... 
						
						
						
						- removed array API from lmem.h
- sterm.c: basically left as-is. see source for notes as to why 
						
						
					 
					
						2022-09-01 19:35:52 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						44086f563b 
					 
					
						
						
							
							cnc: migrate to new vector API  
						
						
						
						
					 
					
						2022-09-01 19:12:13 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						af09e74263 
					 
					
						
						
							
							lmem.h: new laikaM_*Vector macros  
						
						... 
						
						
						
						- these will slowly replace laikaM_*array
- lpeer.[ch] has been migrated 
						
						
					 
					
						2022-09-01 18:47:29 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						dbbe5f5a2a 
					 
					
						
						
							
							CNC: laikaC_sendPeerList() now uses laikaC_iterPeersNext()  
						
						
						
						
					 
					
						2022-08-03 20:50:55 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3034c3bd8b 
					 
					
						
						
							
							minor refactoring, only call laikaT_getTime() once  
						
						
						
						
					 
					
						2022-08-03 15:39:15 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						770e34463e 
					 
					
						
						
							
							CNC: use laikaC_iterPeersNext for sweepPeersTask  
						
						
						
						
					 
					
						2022-08-03 15:20:00 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						68f8e80c75 
					 
					
						
						
							
							laikaC_iterPeers now uses hashmap_iter  
						
						... 
						
						
						
						TODO:
- refactor codebase to use laikaC_iterPeersNext instead of laikaC_iterPeers where appropriate 
						
						
					 
					
						2022-08-02 11:22:06 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						18a6fdd124 
					 
					
						
						
							
							Lib: Variadic packets now use the 'size' field as a minimum requirement  
						
						
						
						
					 
					
						2022-06-30 20:19:35 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bc071c10d2 
					 
					
						
						
							
							Lib: added PEER_PEER type for uninitalized peers  
						
						... 
						
						
						
						- defined LAIKA_PING_INTERVAL for the ping task 
						
						
					 
					
						2022-06-30 20:19:35 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8092a636ca 
					 
					
						
						
							
							CNC, Lib, Bot, Shell: New 2nd stage handshake  
						
						... 
						
						
						
						- New packet, LAIKAPKT_PEER_LOGIN_REQ
- All peers must prove they have access to the sent pubkey by passing a challenge. A salt is now sent on the handshake response packet, which must be encrypted and sent back through the PEER_LOGIN packet
- Protcol minor version incremented to 0.4 
						
						
					 
					
						2022-06-30 20:19:35 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						48fa8935c3 
					 
					
						
						
							
							Added .clang-format, formatted codebase  
						
						
						
						
					 
					
						2022-06-27 18:57:00 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1d6ce15b3d 
					 
					
						
						
							
							Minor comments refactoring  
						
						
						
						
					 
					
						2022-06-27 18:20:23 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ca0543fe90 
					 
					
						
						
							
							Removed unused content streams  
						
						
						
						
					 
					
						2022-06-26 19:02:21 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0fc8d0c169 
					 
					
						
						
							
							CNC: Fix possible out of bounds subscript for SHELL_* packets  
						
						... 
						
						
						
						- content events now pass the sLaika_peer struct 
						
						
					 
					
						2022-06-13 12:11:08 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c4c5bc9ce5 
					 
					
						
						
							
							Lib: Added support for IPV6 connections  
						
						
						
						
					 
					
						2022-06-04 10:11:28 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b00ac16cb3 
					 
					
						
						
							
							Shell/CNC: Moved line endings conversion from cnc to shell  
						
						... 
						
						
						
						- Also fixed DEBUG output for windows LaikaBot builds 
						
						
					 
					
						2022-06-03 20:55:14 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0fdca35f87 
					 
					
						
						
							
							Shell: minor refactoring, cnc supports mutiple shells per auth clients  
						
						... 
						
						
						
						- while cnc supports multiple shells per auth client, the LaikaShell still only supports 1 concurrent shell at a time.
	this feature is just preparing boilerplate for future features. shell treats all SHELL_* packets for the same shell, regardless of shellID 
						
						
					 
					
						2022-05-20 14:10:53 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f649ca4a56 
					 
					
						
						
							
							Win: Static builds & fixed winpersist.c  
						
						
						
						
					 
					
						2022-05-14 13:24:20 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7d96f3252c 
					 
					
						
						
							
							Major shell packet refactoring  
						
						... 
						
						
						
						- can now open multiple shells per peer (change LAIKA_MAX_SHELLS)
- more sanity checking for public keys (new peers with duplicate keys are killed
- misc. refactoring, added cnc/cpeer.[ch] 
						
						
					 
					
						2022-05-07 20:09:42 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c3c42e298f 
					 
					
						
						
							
							Windows: use COMSPEC environment variable to grab the shell  
						
						... 
						
						
						
						- shells on windows are now opened from the COMSPEC env variable
- cnc will now ignore malformed shell packets from bots instead of killing them 
						
						
					 
					
						2022-04-20 10:10:44 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						dac99ddd85 
					 
					
						
						
							
							Bot: Only run shell task when shell is open  
						
						... 
						
						
						
						- since the shell task is only ran when the shell is open, i decreased the delta to 50ms. this should improve latancy while improving performance for 99% of the time. yay! 
						
						
					 
					
						2022-04-14 12:11:29 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9694ae67d8 
					 
					
						
						
							
							Added LAIKAPKT_PINGPONG  
						
						... 
						
						
						
						- shell now has it's own task service, it's polled in shellC_poll()
- default timeout for peers is 60 seconds, to change this edit the LAIKA_PEER_TIMEOUT in cnc.h 
						
						
					 
					
						2022-04-13 12:19:06 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c0828a77c6 
					 
					
						
						
							
							Require CNC to load a config, by default it loads 'server.ini'  
						
						
						
						
					 
					
						2022-04-06 12:14:09 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9084afa738 
					 
					
						
						
							
							Added commit hash to version display  
						
						
						
						
					 
					
						2022-04-06 01:07:16 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e228c98c80 
					 
					
						
						
							
							Added config inis, key refactoring  
						
						... 
						
						
						
						- CNC can accept multiple different auth keys now
- laikaK_checkAuth() added
- shell defaults to using shell.ini config file
- CNC doesn't require a config file however it's highly recommended 
						
						
					 
					
						2022-04-05 23:57:37 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3515d10b1c 
					 
					
						
						
							
							Minor refactoring  
						
						
						
						
					 
					
						2022-04-01 14:10:06 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4594e6194b 
					 
					
						
						
							
							Removed redundant packets  
						
						
						
						
					 
					
						2022-03-28 20:28:39 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a4dc723e15 
					 
					
						
						
							
							Added Tunnel & Tunnel Connection boilerplate to lib  
						
						
						
						
					 
					
						2022-03-28 15:49:50 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7baced7b8f 
					 
					
						
						
							
							Refactored polling, lpolllist.c now handles poll events & flushes the poll queue  
						
						... 
						
						
						
						- Sockets now have event callbacks, onPollIn, onPollOut & onPollFail. If these are set to NULL they're ignored 
						
						
					 
					
						2022-03-24 10:26:06 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						30f7ffb73b 
					 
					
						
						
							
							Added lsodium.c, laikaK_loadKeys, laikaK_genKeys  
						
						
						
						
					 
					
						2022-03-21 15:24:05 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7e9597902f 
					 
					
						
						
							
							Added line-conversions for shells  
						
						
						
						
					 
					
						2022-03-17 23:49:25 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6f60c7a5b7 
					 
					
						
						
							
							Added OSTYPE, added OS info to handshake & peer-related packets  
						
						
						
						
					 
					
						2022-03-17 23:05:18 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e2537efb3f 
					 
					
						
						
							
							Added LAIKA_CNC_IP & LAIKA_CNC_PORT to cmake config  
						
						
						
						
					 
					
						2022-03-15 13:05:11 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6a5afb18a0 
					 
					
						
						
							
							CMake: Require C11 for each target  
						
						
						
						
					 
					
						2022-03-14 01:11:13 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9432aaf594 
					 
					
						
						
							
							Minor cmake refactoring  
						
						
						
						
					 
					
						2022-03-14 00:51:11 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e1ce053aa8 
					 
					
						
						
							
							Added termsize 'cols & rows' to SHELL_OPEN packets  
						
						
						
						
					 
					
						2022-03-07 15:16:46 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0c2d4968d9 
					 
					
						
						
							
							Refactored LAIKAPKT_HANDSHAKE_REQ, laikaS_acceptFrom  
						
						... 
						
						
						
						- added inet member to peer structs 
						
						
					 
					
						2022-03-04 20:17:03 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e6dbada6ec 
					 
					
						
						
							
							Handled edgecase of shell peer disconnecting  
						
						... 
						
						
						
						- minor refactor of shell client, added shellC_isShellOpen() 
						
						
					 
					
						2022-03-03 10:28:43 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8ab3033bf3 
					 
					
						
						
							
							Added 'shell' command to LaikaShell  
						
						... 
						
						
						
						- another major refactoring 
						
						
					 
					
						2022-03-02 10:38:16 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2d8e9ed106 
					 
					
						
						
							
							Implemented laikaC_handleAuthenticatedShellData & laikaC_handleAuthenticatedShellOpen  
						
						
						
						
					 
					
						2022-02-28 16:39:02 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8438378560 
					 
					
						
						
							
							Major refactoring  
						
						... 
						
						
						
						lots and lots of changes. too many to list tbh, might rebase this commit later if i get bored enough. 
						
						
					 
					
						2022-02-28 16:27:55 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c092d5a9a0 
					 
					
						
						
							
							Deprecated panel, added shell, lrsa.h -> lsodium.h  
						
						... 
						
						
						
						- Refactoring 
						
						
					 
					
						2022-02-24 22:13:05 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5c31fb861b 
					 
					
						
						
							
							Added LAIKAPKT_SHELL_*, fixed variadic packets  
						
						... 
						
						
						
						- added bot/shell.[ch]
- simple demo cnc which runs 'ls -a' on the connect peer 
						
						
					 
					
						2022-02-21 17:25:49 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fb731cfe48 
					 
					
						
						
							
							Moved vendor sources to lib/vendor  
						
						
						
						
					 
					
						2022-02-17 17:38:34 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4e928464bd 
					 
					
						
						
							
							TaskService refactoring  
						
						
						
						
					 
					
						2022-02-17 17:24:46 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9a15ce1463 
					 
					
						
						
							
							Re-added variadic packets  
						
						... 
						
						
						
						- minor refacotring 
						
						
					 
					
						2022-02-16 17:58:07 -06:00