-
Now the launched anbexec is able to receive any signal like CTRL+C which was not the case before.
-
To achieve that, I started to make abstraction call for socket calls with vm_socket.cpp. For now only the vm_socket_select and vm_socket-sendto exist. It needs more cleanup and implementation to replace all direct socket calls from the VM into that unified calls. Now the scheduler working only with the event and timeout as it was planned from the conception of the VM. No more 100% CPU and waiting process put in running state every time. I think we made anbexec more speedy and efficient.
-
Now there are new function to add and remove the file descriptor in the list belonging to the AnubisProcess. This for input and output list. the add function also put the process to waiting_for_event status and add also the fd into the global list to check. So we don't forget to put the process in waiting_for_event and avoid to make the process to 100% CPU. With the list attached to the process the scheduler only wake up the process who received an event. Before we put all waiting process to running and if the fd was still in waiting behaviour we put back the process to waiting_for_event. Now only the concerned process are wake up. I think it will speed the anubis module execution.
-
…mum but working better than before
-
…, hence when it's blocked the Anubis scheduler is also blocked. This behaviorstop all Anubis process. This bug/behavior is annyoing since more 20 years. Now the db_connect syscall create a detached thread to let the db connection to made as long as need. The thread create also a context with pipe in which we will write in it to let wakeup the process. When the thread is created the context is save in DUC and we return with waiting_for_event (the pipe created in the context).
-
[~] remove very old certificates from trusted_certs and update to the new one ca-bundle.pem which aggregate a lot of up to date certificate
-
…onnect. We experienced the scheduler blocked due to that db_connect call is uninterruptible (going into third party library) . When the databae server is down, that call doesn't come until the timeout. The current modification make that call to be in detached thread. Hence we get back to scheduler to give time to an another Anubis process. When it's time to the db_connect process to run we check if the thread has finished the call with or without an error. [~] fix compilation warning on SAException [~] fix compilation warning snprintf in inifile [+] start version 1.19.13
-
1
-
… get_domain_address directly.
-
…. This was due to broken pipe signal sent by the kernel and not ignored by the VM. Hence that broken pipe, was essentially due to closed connection on SSL. openSSL can't detected closed connection but since the SIGPIPE signal was already by the kernel and not managed by the VM. The VM was freeze. No segfault, hence the VM was stopped. - we mask the SIGPIPE to not freeze the VM. - The openssl can detect the closed connection and report it upper. And the VM report "can't read from connection" and continue normally. - We also update the management of the openssl by differentiating the openssl 1 and 3 and call the proper function for the proper version - Bump the openssl to 3.5.7. Change the SConstruct file accordingly
-
bump to version openssl 3.5.7 version 1.19.11
-
… sure we use the difference with epsilon 10^-10 which is sufficient for business calculation
-
…thought I already make that change but it seems not. Anyway now float from mysql are read correctly
-
Please enter the commit message for your changes. Lines starting
-
[+] introduce the fill_buffer function wich can be called at any time especially from new introduced function get_line_CRLF()
-
[+] Add some comments in previous function
-
… the used shell is cmd.exe or poweshell which doesn't support command starting with .. like "../myanubis -predef". After many hours of search I changed the way to making it. Instead of entering in src folder and invoking the myanubis by ../myanubis etc. I change the source code to be executed from outside the src folder. So nee anymore do invoke ../myanubis
-
which uses python3's syntax instead of python2
-
Polish the sconstruct to continue integration of wolfssl (not yet usable)
-
[+] move OpenSSL to last version 3.5.3. Make some change into the Sconstruct to let it link accordingly [~] start the integration of the WolfSSL which is replace OpenSSL in future. For now it's just beginning of the work. Now when building with scons there is 2 options to choose which SSL library to use. OSSL = 1 means use OpenSSL WSSL = 1 means use WolfSSL by default the OSSL is set.
-
…ent anymore. The End Of File in Anubis is detected with the return of 0 byte. But the previous commit remove that feature. In fact the -1 means connection close or end of file. To be more clear, there is now a new return value -3 which mean EOF and the -1 is keep for connection close only
-
…s due to management of the timeout when read on sockets. Hope it fix forever [+] Add the --hpc option (which backported from the 1.20 version) This allows to show the process and their states. This option helped a lot in previous bug fix of 100% CPU [*] improve the load module by adding the module path string. This allows to show the module path name with module index and help a lot when using --hpc option.
-
…s due to management of the timeout when read on sockets. Hope it fix forever [+] Add the --hpc option (which backported from the 1.20 version) This allows to show the process and their states. This option helped a lot in previous bug fix of 100% CPU [*] improve the load module by adding the module path string. This allows to show the module path name with module index and help a lot when using --hpc option.
-
…19.8 to use it in his verbose messages