wazuh icon indicating copy to clipboard operation
wazuh copied to clipboard

Generate Wazuh symbols for macOS, linux and windows separate from the binary file

Open Dwordcito opened this issue 4 years ago • 2 comments

Branch: enhancement/9913-generate-debug-symbols-epic

Description

This epic aims to generate the debugging symbols files for macOS, Linux, and Windows, having enough information to solve the issues quickly, without having to reproduce issues with a different version than the one that goes out on the production builds. Apart from this, the epic also aims to be able to carry out an active search for problems in the component that cause crashes and memory problems. This epic tries to help improve the product at a faster rate!

Goals

  • Always generate debug information.
  • Upload debug symbols on each CI compilation.
  • Enable dump generation on installer process by default -> with references on documentation (how to disable the dump generation) quick reference.

Functional requirements

  1. Debug Symbol Generation:

    • Debug symbols must be generated for all project components during the build.
    • Debug symbols should include information about functions, variables, and source code lines.
    • Debug symbols must be generated in a format compatible with the target platform (e.g., DWARF for macOS and Linux, PDB for Windows).
  2. Automatic Upload:

    • Debug symbols generated during the CI/CD pipeline must be automatically uploaded to a centralized location.
    • Uploaded symbols should be organized by build version and platform for easy retrieval.
  3. Installer Dump Generation:

    • The installer process must include a feature to generate crash dumps by default.
    • Documentation should clearly explain how to disable dump generation for advanced users.
  4. Crashpad Integration (Second Iteration):

    • Integrate Crashpad to capture crash reports and generate minidump files.
    • Configure Crashpad to report crashes to external services.
  5. Integrate Crashpad for Advanced Crash Reporting: In the second phase, integrate Crashpad to enable advanced crash reporting and integration with services.

Non-functional requirements

  1. Performance:

    • Debug symbol generation and uploading should not significantly impact execution, build, or deployment times.
  2. Reliability:

    • Debug symbols must be generated consistently and accurately across different platforms.
    • Uploaded symbols should be securely stored and easily accessible for debugging purposes.

Implementatin restrictions

  1. Platform Compatibility:

    • Ensure that the chosen debugging symbol format is compatible with target platforms (macOS, Linux, Windows).
  2. Documentation:

    • Properly document enabling and disabling dump generation for users and contributors.

Plan

Phase 1

  1. Stage 1 - Debug Symbol Generation:

    • [x] #21731
    • [x] #21732
    • [x] #21733
    • [x] #21734
    • [x] #21735
  2. Stage 2 - Automatic Upload:

    • [x] #21736
  3. Stage 3 - Installer Integration:

  4. Stage 4 - Testing and Validation:

    • [ ] #21739

Phase 2

  1. Stage 1 - Investigate about report crashes services:

    • [ ] Investigate and evaluate a service that provides crash reports/workflows.
  2. Stage 2 - Crashpad Integration:

    • [ ] Integrate Crashpad into the project to capture crash reports.
    • [ ] Configure Crashpad to report crashes to the chosen service.
    • [ ] Exploratory test to validate crash reporting functionality.

Approval

DRI Name: @Dwordcito Objective: Generate debug symbols

Dwordcito avatar Aug 26 '21 04:08 Dwordcito

ETA delayed because issue sub tasks have not been completed

Leoquicenoz avatar Apr 05 '24 01:04 Leoquicenoz

ETA delayed because issue sub tasks have not been completed, some blocked by other issues. ETA was settled to may the 8th based on Adapt agent package generation workflows with VPN and allocator module

ncvicchi avatar Apr 30 '24 12:04 ncvicchi

Delayed due last package upload mechanism changes.

Dwordcito avatar Jun 06 '24 11:06 Dwordcito

Analysis

There are a few points to consider regarding the issue of symbol generation:

  1. Lack of macOS Testing: Currently, there are no tests to confirm that the implementation is functioning correctly on macOS. This needs to be addressed to ensure cross-platform compatibility.
  2. Obsolete Branch: The branch in question was not merged previously because it had fallen significantly behind the main branch. There were many commits ahead in the main branch due to ongoing changes in the packaging.
  3. Integration with New Packaging Mode: All the work related to this issue needs to be incorporated into the new packaging mode to maintain consistency and take advantage of recent updates.

First Step:

  1. Creating a New Branch for Integration and Testing: We need to create a new branch based on version 4.10.0. All the previous work should be carried over to this new branch. We then need to test to determine what is functioning and what is not. Finally, the existing code should be adapted to fit the new packaging model.

JcabreraC avatar Jul 11 '24 11:07 JcabreraC

Update

  • Started local migration to 4.10.0
  • Resolving multiple conflicts

JcabreraC avatar Jul 15 '24 14:07 JcabreraC

Update

  • Basic research about the issue, goals and changes.
  • Unsuccessful attempt at overcoming and resolving local conflicts.
  • Migrated to 4.10 with single change commit (with co-authors).

juliancnn avatar Jul 15 '24 21:07 juliancnn

Update

  • Attempted to cherry-pick from the changes/upload-checksum-and-debug branch, but encountered numerous conflicts due to repeated commits and unresolved issues.
  • Created a new branch with the same name (4.10.0) and incorporated the changes from changes/upload-checksum-and-debug.
  • Conducting research on testing to ensure comprehensive validation once both development branches are stabilized.

JcabreraC avatar Jul 16 '24 15:07 JcabreraC

Update

after a call with @jnasselle where he clarified the situation and bringing the centos docker fixes to generate the packages, I have generated the RPM for centos 6 > and tested on a centos 7. The tests were successful, gdb finds the symbols of the binaries and libraries. The results marked with :yellow_circle: , are pending discussion, as the symbols are not available in the installation of the symbols package.

Generate of packeages:

git cherry-pick 61d61e20505560b85d5b61a15f44151b6681e1eb
./generate_package.sh -b enhancement/9913-generate-debug-symbols-epic -t manager -d --system rpm 
./generate_package.sh -b enhancement/9913-generate-debug-symbols-epic -t agent -d --system rpm 

Results

BIN \ Package RPM - Agent RPM - Manager
agent-auth :green_circle: -------
clear_stats ------- :green_circle:
manage_agents :green_circle: :green_circle:
verify-agent-conf ------- :green_circle:
wazuh-agentd :green_circle: -------
wazuh-agentlessd :green_circle:
wazuh-analysisd ------- :green_circle:
wazuh-authd ------- :green_circle:
wazuh-csyslogd ------- :green_circle:
wazuh-db ------- :green_circle:
wazuh-dbd ------- :green_circle:
wazuh-execd :green_circle: :green_circle:
wazuh-integratord ------- :green_circle:
wazuh-keystore ------- :green_circle:
wazuh-logcollector :green_circle: :green_circle:
wazuh-logtest-legacy ------- :green_circle:
wazuh-maild ------- :green_circle:
wazuh-modulesd :green_circle: :green_circle:
wazuh-regex ------- :green_circle:
wazuh-remoted ------- :green_circle:
wazuh-reportd ------- :green_circle:
wazuh-syscheckd :green_circle: :green_circle:
libcontent_manager.so ------- :green_circle:
libdbsync.so :green_circle: :green_circle:
libfimdb.so :green_circle: :green_circle:
libgcc_s.so.1 :yellow_circle: :yellow_circle:
libindexer_connector.so ------- :green_circle:
libjemalloc.so.2 ------- :yellow_circle:
libpython3.10.so.1.0 ------- :green_circle:
librocksdb.so.8 ------- :yellow_circle:
librouter.so ------- :green_circle:
librsync.so :green_circle: :green_circle:
libstdc++.so.6 :yellow_circle: :yellow_circle:
libsyscollector.so :green_circle: :green_circle:
libsysinfo.so :green_circle: :green_circle:
libvulnerability_scanner.so ------- :green_circle:
libwazuhext.so :green_circle: :green_circle:
libwazuhshared.so :green_circle: :green_circle:

juliancnn avatar Jul 16 '24 22:07 juliancnn

libstdc++.so.6, librocksdb.so.8, libpython3.10.so.1.0, libjemalloc.so.2, libgcc_s.so.1 they are not necessary, they are from external third parties.

Dwordcito avatar Jul 17 '24 12:07 Dwordcito

Update:

Test manager in Ubuntu22

Results:

BIN \ Package DEB - Manager
clear_stats :green_circle:
manage_agents :green_circle:
verify-agent-conf :green_circle:
wazuh-agentlessd :green_circle:
wazuh-analysisd :green_circle:
wazuh-authd :green_circle:
wazuh-csyslogd :green_circle:
wazuh-db :green_circle:
wazuh-dbd :green_circle:
wazuh-execd :green_circle:
wazuh-integratord :green_circle:
wazuh-keystore :green_circle:
wazuh-logcollector :green_circle:
wazuh-logtest-legacy :green_circle:
wazuh-maild :green_circle:
wazuh-modulesd :green_circle:
wazuh-regex :green_circle:
wazuh-remoted :green_circle:
wazuh-reportd :green_circle:
wazuh-syscheckd :green_circle:
libcontent_manager.so :green_circle:
libdbsync.so :green_circle:
libfimdb.so :green_circle:
libindexer_connector.so :green_circle:
libpython3.10.so.1.0 :green_circle:
librouter.so :green_circle:
librsync.so :green_circle:
libsyscollector.so :green_circle:
libsysinfo.so :green_circle:
libvulnerability_scanner.so :green_circle:
libwazuhext.so :green_circle:
libwazuhshared.so :green_circle:

JcabreraC avatar Jul 17 '24 16:07 JcabreraC

Update

:yellow_circle: Windows

The development environment is set up with a Windows 2019. The MSI is builded and the symbols are extracted correctly. I have done a test by modifying the agent-auth.exe to force a crash with a testCrash() function and it can see that the coredump was generated correctly.

image

To this test is added the exploratory test done here, in the wazuh-agent binary.

On the other hand, the list of pb2 is as follows:

agent-auth.pdb
dbsync.pdb
libfimdb.pdb
libwazuhext.pdb
libwazuhshared.pdb
libwinpthread-1.pdb
manage_agents.pdb
netsh.pdb
os_win32ui.pdb
restart-wazuh.pdb
route-null.pdb
rsync.pdb
setup-iis.pdb
setup-syscheck.pdb
setup-windows.pdb
syscollector.pdb
sysinfo.pdb
wazuh-agent-eventchannel.pdb
wazuh-agent.pdb

This list is dynamic, and is generated with the ExtractDebugSymbols function of the generate_wazuh_msi.ps1 file and includes this logic:

https://github.com/wazuh/wazuh/blob/8c27b186f0613b2c61dbe7c8e39e40b84486befb/packages/windows/generate_wazuh_msi.ps1#L103-L116

As an advantage, this makes it unnecessary to modify the script when adding new binaries, as for example for Active Response, but generates pdb which are not necessary (the space it occupies is negligible).

:warning::question: We will consult with @Dwordcito to see if this is the desired behavior.

:red_circle: Centos 5

Centos 5 packages are a challenge. Currently it is not possible to generate them, there are errors in the generation of the same with the debug symbols. On the other hand there is no evidence that this development has been done or tested.

:red_circle: Deb Agent

There is definitely a problem with the generation of deb packages for the agent. A gdb analysis showed that the symbols are included in the binaries. It is possible to parse them without installing the symbols:

╰─# apt list --installed | grep wazuh

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

wazuh-agent/now 4.10.0-0 amd64 [installed,local]
╰─# echo "set pagination off \n info functions w_*" | gdb /var/ossec/bin/wazuh-logcollector | head -n50
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.2) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /var/ossec/bin/wazuh-logcollector... ## <<< Here should be the path to symbols and not the binary
(gdb) (gdb) All functions matching regular expression "w_*":

File ./headers/../external/curl/include/curl/typecheck-gcc.h:
178:    static void _curl_easy_setopt_err_write_callback(void);

File addagent/validate.c:
39:     int OS_AddNewAgent(keystore *, const char *, const char *, const char *, const char *);

File config/authd-config.c:
325:    int w_read_force_config(XML_NODE, authd_config_t *);
401:    static void w_authd_parse_agents(XML_NODE, authd_config_t *);

File config/localfile-config.c:
1172:   _Bool init_w_journal_log_config_t(w_journal_log_config_t **);
1156:   w_exp_type_t w_check_regex_type(xml_node *, const char *);
870:    void w_clean_logreader(logreader *);
977:    w_multiline_match_type_t w_get_attr_match(xml_node *);
1002:   w_multiline_replace_type_t w_get_attr_replace(xml_node *);
1029:   unsigned int w_get_attr_timeout(xml_node *);
1316:   _Bool w_journal_add_filter_to_list(w_journal_filters_list_t *, w_journal_filter_t *);
1287:   int w_journal_filter_add_condition(w_journal_filter_t **, const char *, char *, _Bool);
1271:   void w_journal_filter_free(w_journal_filter_t *);
1397:   cJSON *w_journal_filter_list_as_json(w_journal_filters_list_t);
1421:   void w_journal_filters_list_free(w_journal_filters_list_t);
1181:   void w_journal_log_config_free(w_journal_log_config_t **);
1433:   _Bool w_logreader_journald_merge(logreader **, size_t);
1074:   void w_macos_log_config_free(w_macos_log_config_t **);
1091:   w_multiline_config_t *w_multiline_log_config_clone(w_multiline_config_t *);
1061:   void w_multiline_log_config_free(w_multiline_config_t **);
1117:   static int w_logcollector_get_macos_log_type(const char *);

File config/remote-config.c:
313:    static int w_remoted_get_net_protocol(const char *);
351:    static void w_remoted_parse_agents(XML_NODE, remoted *);

It can also be presumed that the symbols were not extracted. The symbol package has a size of 5kb for debian, while the agent doubles the RPM size for the agent.

╰─# la -lah ./packages/output/old/*.deb
-rw-r--r-- 1 root root 5.2K Jul 16 23:01 ./packages/output/old/wazuh-agent-dbg_4.10.0-0_amd64_71c4581.deb
-rw-r--r-- 1 root root  27M Jul 16 23:01 ./packages/output/old/wazuh-agent_4.10.0-0_amd64_71c4581.deb
-rw-r--r-- 1 root root  22M Jul 16 20:04 ./packages/output/old/wazuh-manager-dbg_4.10.0-0_amd64_71c4581.deb
-rw-r--r-- 1 root root 306M Jul 16 20:04 ./packages/output/old/wazuh-manager_4.10.0-0_amd64_71c4581.deb
╰─# la -lah ./packages/output/old/*.rpm
-rw-r--r-- 1 root root  15M Jul 16 18:39 ./packages/output/old/wazuh-agent-debuginfo_4.10.0-0_x86_64_71c4581.rpm
-rw-r--r-- 1 root root  11M Jul 16 18:39 ./packages/output/old/wazuh-agent_4.10.0-0_x86_64_71c4581.rpm
-rw-r--r-- 1 root root  33M Jul 16 17:58 ./packages/output/old/wazuh-manager-debuginfo_4.10.0-0_x86_64_71c4581.rpm
-rw-r--r-- 1 root root 288M Jul 16 18:02 ./packages/output/old/wazuh-manager_4.10.0-0_x86_64_71c4581.rpm

juliancnn avatar Jul 17 '24 22:07 juliancnn

ETA cycles reset, because new team takes this issue.

Dwordcito avatar Jul 18 '24 12:07 Dwordcito

🟢 Deb Manager

Based on the findings of agent deb, the manager has been reanalyzed.

The packages are generated correctly. When uninstalling the debug package, only non-Wazuh functions are listed.

# echo "info functions w_*" | gdb /var/ossec/bin/wazuh-logcollector:

GNU gdb (Ubuntu 14.0.50.20230907-0ubuntu1) 14.0.50.20230907-git
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /var/ossec/bin/wazuh-logcollector...
(No debugging symbols found in /var/ossec/bin/wazuh-logcollector)
(gdb) All functions matching regular expression "w_*":

Non-debugging symbols:
0x00000000004067b0  sem_wait@plt
0x0000000000406af0  EVP_CIPHER_CTX_new@plt
0x0000000000406ca0  pthread_rwlock_destroy@plt
0x0000000000406cf0  pthread_cond_timedwait@plt
0x0000000000406ee0  gzwrite@plt
0x0000000000407010  SSL_CTX_new@plt
0x0000000000407300  BIO_new_socket@plt
0x0000000000407410  pthread_rwlock_init@plt
0x00000000004074b0  waitpid@plt
0x0000000000407620  SSL_new@plt
0x0000000000407640  tolower@plt
0x0000000000407650  SSL_write@plt
0x0000000000407660  getcwd@plt
0x0000000000407710  pthread_rwlock_rdlock@plt
0x0000000000407720  chown@plt
0x0000000000407750  pthread_cond_wait@plt
0x00000000004077f0  getpwnam_r@plt
0x0000000000407880  pthread_rwlock_wrlock@plt
0x0000000000407900  inotify_add_watch@plt
0x0000000000407a50  EVP_MD_CTX_new@plt
0x0000000000407aa0  fwrite@plt
0x0000000000407ab0  pthread_rwlock_unlock@plt
0x0000000000407b00  getpwuid_r@plt

JcabreraC avatar Jul 18 '24 14:07 JcabreraC

Update

RPM

After a more exaustive analysis (with the help of @jnasselle) on the script the following problems have been found:

  • It doesn't build RPMs for CentOS 5. Neither with debug nor without debug.
  • The scpect of the RPMs forces the _debugenabled=yes variable that all packages take the path to build without optimizations, it seems that this was done to not correct other problems that arise from not forcing the variable.

Work is currently underway to fix these problems, although fixing these problems is not trivial.

In a meeting with @Dwordcito, it has been decided that:

  • It should be compiled with the optimizations and symbols by defaul.
  • It should be possible to compile without the optimizations.
  • It is desired that centos 5 can have both packages, but that if possible, the package should be generated with optimizations and without symbols.

juliancnn avatar Jul 19 '24 02:07 juliancnn

Update

RPM Results.zip

The files containt the output of the following scripts, before and after installing the debug packeage.

Manager
#!/bin/bash

# Output file
OUTPUT_FILE="manager_result.txt"

# Start by writing system information
echo "os-release:" > "$OUTPUT_FILE"
cat /etc/os-release >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"
echo "lsb-release:" >> "$OUTPUT_FILE"
cat /etc/lsb-release >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"
echo Wazuh version: >> "$OUTPUT_FILE"
/var/ossec/bin/wazuh-control info >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"


# Commands to run in gdb
GDB_COMMANDS="set pagination off \n info functions w_*"

# List of binaries and libraries to process
BINARIES_AND_LIBS=(
    /var/ossec/bin/clear_stats
    /var/ossec/bin/manage_agents
    /var/ossec/bin/verify-agent-conf
    /var/ossec/bin/wazuh-agentlessd
    /var/ossec/bin/wazuh-analysisd
    /var/ossec/bin/wazuh-authd
    /var/ossec/bin/wazuh-csyslogd
    /var/ossec/bin/wazuh-db
    /var/ossec/bin/wazuh-dbd
    /var/ossec/bin/wazuh-execd
    /var/ossec/bin/wazuh-integratord
    /var/ossec/bin/wazuh-keystore
    /var/ossec/bin/wazuh-logcollector
    /var/ossec/bin/wazuh-logtest-legacy
    /var/ossec/bin/wazuh-maild
    /var/ossec/bin/wazuh-modulesd
    /var/ossec/bin/wazuh-regex
    /var/ossec/bin/wazuh-remoted
    /var/ossec/bin/wazuh-reportd
    /var/ossec/bin/wazuh-syscheckd
    /var/ossec/lib/libcontent_manager.so
    /var/ossec/lib/libdbsync.so
    /var/ossec/lib/libfimdb.so
    /var/ossec/lib/libindexer_connector.so
    /var/ossec/lib/librouter.so
    /var/ossec/lib/librsync.so
    /var/ossec/lib/libsyscollector.so
    /var/ossec/lib/libsysinfo.so
    /var/ossec/lib/libvulnerability_scanner.so
    /var/ossec/lib/libwazuhext.so
    /var/ossec/lib/libwazuhshared.so
)

# Process each binary and library with gdb
for bin in "${BINARIES_AND_LIBS[@]}"; do
    echo "Processing $bin with gdb..."
    echo "${bin}: " >> "$OUTPUT_FILE"
    echo -e "$GDB_COMMANDS" | gdb "$bin" | head -n30 >> "$OUTPUT_FILE"
    echo -e "-------------------------------------------------------------------\n\n" >> "$OUTPUT_FILE"
done

echo "GDB processing complete. Results saved to $OUTPUT_FILE."

Agent
#!/bin/bash

# Output file
OUTPUT_FILE="result.txt"

# Start by writing system information
echo "os-release:" > "$OUTPUT_FILE"
cat /etc/os-release >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"
echo "lsb-release:" >> "$OUTPUT_FILE"
cat /etc/lsb-release >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"
echo Wazuh version: >> "$OUTPUT_FILE"
/var/ossec/bin/wazuh-control info >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"

# Commands to run in gdb
GDB_COMMANDS="set pagination off \n info functions w_*"

# List of binaries and libraries to process
BINARIES_AND_LIBS=(
    /var/ossec/bin/agent-auth
    /var/ossec/bin/manage_agents
    /var/ossec/bin/wazuh-agentd
    /var/ossec/bin/wazuh-execd
    /var/ossec/bin/wazuh-logcollector
    /var/ossec/bin/wazuh-modulesd
    /var/ossec/bin/wazuh-syscheckd
    /var/ossec/lib/libdbsync.so
    /var/ossec/lib/libfimdb.so
    /var/ossec/lib/librsync.so
    /var/ossec/lib/libsyscollector.so
    /var/ossec/lib/libsysinfo.so
    /var/ossec/lib/libwazuhext.so
    /var/ossec/lib/libwazuhshared.so
)

# Process each binary and library with gdb
for bin in "${BINARIES_AND_LIBS[@]}"; do
    echo "Processing $bin with gdb..."
    echo "${bin}: " >> "$OUTPUT_FILE"
    echo -e "$GDB_COMMANDS" | gdb "$bin" | head -n30 >> "$OUTPUT_FILE"
    echo -e "-------------------------------------------------------------------\n\n" >> "$OUTPUT_FILE"
done
echo "GDB processing complete. Results saved to $OUTPUT_FILE."

:green_circle: RPM Centos 7

It is marked with :green_circle: when the symbol separation was successful and they are in the debug package.

Debug build

BIN \ Package RPM - Agent RPM - Manager
agent-auth :green_circle: -------
clear_stats ------- :green_circle:
manage_agents :green_circle: :green_circle:
verify-agent-conf ------- :green_circle:
wazuh-agentd :green_circle: -------
wazuh-agentlessd :green_circle:
wazuh-analysisd ------- :green_circle:
wazuh-authd ------- :green_circle:
wazuh-csyslogd ------- :green_circle:
wazuh-db ------- :green_circle:
wazuh-dbd ------- :green_circle:
wazuh-execd :green_circle: :green_circle:
wazuh-integratord ------- :green_circle:
wazuh-keystore ------- :green_circle:
wazuh-logcollector :green_circle: :green_circle:
wazuh-logtest-legacy ------- :green_circle:
wazuh-maild ------- :green_circle:
wazuh-modulesd :green_circle: :green_circle:
wazuh-regex ------- :green_circle:
wazuh-remoted ------- :green_circle:
wazuh-reportd ------- :green_circle:
wazuh-syscheckd :green_circle: :green_circle:
libcontent_manager.so ------- :green_circle:
libdbsync.so :green_circle: :green_circle:
libfimdb.so :green_circle: :green_circle:
libindexer_connector.so ------- :green_circle:
librouter.so ------- :green_circle:
librsync.so :green_circle: :green_circle:
libsyscollector.so :green_circle: :green_circle:
libsysinfo.so :green_circle: :green_circle:
libvulnerability_scanner.so ------- :green_circle:
libwazuhext.so :green_circle: :green_circle:
libwazuhshared.so :green_circle: :green_circle:

Release build

BIN \ Package RPM - Agent RPM - Manager
agent-auth :green_circle: -------
clear_stats ------- :green_circle:
manage_agents :green_circle: :green_circle:
verify-agent-conf ------- :green_circle:
wazuh-agentd :green_circle: -------
wazuh-agentlessd :green_circle:
wazuh-analysisd ------- :green_circle:
wazuh-authd ------- :green_circle:
wazuh-csyslogd ------- :green_circle:
wazuh-db ------- :green_circle:
wazuh-dbd ------- :green_circle:
wazuh-execd :green_circle: :green_circle:
wazuh-integratord ------- :green_circle:
wazuh-keystore ------- :green_circle:
wazuh-logcollector :green_circle: :green_circle:
wazuh-logtest-legacy ------- :green_circle:
wazuh-maild ------- :green_circle:
wazuh-modulesd :green_circle: :green_circle:
wazuh-regex ------- :green_circle:
wazuh-remoted ------- :green_circle:
wazuh-reportd ------- :green_circle:
wazuh-syscheckd :green_circle: :green_circle:
libcontent_manager.so ------- :green_circle:
libdbsync.so :green_circle: :green_circle:
libfimdb.so :green_circle: :green_circle:
libindexer_connector.so ------- :green_circle:
librouter.so ------- :green_circle:
librsync.so :green_circle: :green_circle:
libsyscollector.so :green_circle: :green_circle:
libsysinfo.so :green_circle: :green_circle:
libvulnerability_scanner.so ------- :green_circle:
libwazuhext.so :green_circle: :green_circle:
libwazuhshared.so :green_circle: :green_circle:

Centos 5 (Only agent)

In centos 5 there is no separation of packages, the release package does not have symbols and the debug package does.

Release build

In the case of release build it is marked :green_circle: when the packages do not have symbols.

BIN \ Package RPM - Agent
agent-auth :green_circle:
manage_agents :green_circle:
wazuh-agentd :green_circle:
wazuh-execd :green_circle:
wazuh-logcollector :green_circle:
wazuh-modulesd :green_circle:
wazuh-syscheckd :green_circle:
libdbsync.so :green_circle:
libfimdb.so :green_circle:
librsync.so :green_circle:
libsyscollector.so :green_circle:
libsysinfo.so :green_circle:
libwazuhext.so :green_circle:
libwazuhshared.so :green_circle:

Debug build

In the case of debug build it is marked :green_circle: when the packages have symbols in binaries and libraries.

BIN \ Package RPM - Agent
agent-auth :green_circle:
manage_agents :green_circle:
wazuh-agentd :green_circle:
wazuh-execd :green_circle:
wazuh-logcollector :green_circle:
wazuh-modulesd :green_circle:
wazuh-syscheckd :green_circle:
libdbsync.so :green_circle:
libfimdb.so :green_circle:
librsync.so :green_circle:
libsyscollector.so :green_circle:
libsysinfo.so :green_circle:
libwazuhext.so :red_circle:
libwazuhshared.so :green_circle:

The RPM package for centos 5, compiled as debug, seems to be missing the libwazuhext.so symbols, this is still under investigation, but it is the only problem that remains to be solved in RPM.

juliancnn avatar Jul 26 '24 00:07 juliancnn

RPM Centos 5

I have verified the compilation process of the master branch on CentOS 5 using specific options not documented in the installation guide but necessary for successful compilation:

make deps TARGET=agent
make -j2 TARGET=agent USE_AUDIT=no USE_EXEC_ENVIRON=no DEBUG=yes

This ensures that the library compiles without debug symbols, confirming that the issue with RPM builds is due to compilation:

[root@204-C5 src]# gdb ./libwazuhext.so 
GNU gdb (GDB) CentOS (7.0.1-45.el5.centos)
...
Reading symbols from /root/wazuh-master/src/libwazuhext.so...(no debugging symbols found)...done.

CentOS 5 Specific Build Adjustments

In CentOS 5 builds, the libarchive is not included, which is reflected in the conditional compilation statements:

ifeq ($(CHECK_CENTOS5),YES)
EXTERNAL_LIBS += $(PROCPS_LIB)
else
EXTERNAL_LIBS += $(PROCPS_LIB) $(LIBALPM_LIB) $(LIBARCHIVE_LIB)
endif

This leads to a minimized symbol set in libwazuhext.so specific to CentOS 5, differing from the builds on more recent systems where libarchive symbols are included.

Symbol Output for Non-CentOS 5 Agent

output_libext.so.symb.txt

Ongoing Investigations

I am currently examining the DEB packaging process to identify all issues related to debug symbols in the Debian packages.

juliancnn avatar Jul 26 '24 21:07 juliancnn

Update

  • Reviewed work completed to date.
  • Analyzed changes for symbol generation.
  • Tested the generation of .deb packages.
  • Successfully tested symbols on .deb packages.
Libraries and binaries
    /var/ossec/bin/clear_stats
    /var/ossec/bin/manage_agents
    /var/ossec/bin/verify-agent-conf
    /var/ossec/bin/wazuh-agentlessd
    /var/ossec/bin/wazuh-analysisd
    /var/ossec/bin/wazuh-authd
    /var/ossec/bin/wazuh-csyslogd
    /var/ossec/bin/wazuh-db
    /var/ossec/bin/wazuh-dbd
    /var/ossec/bin/wazuh-execd
    /var/ossec/bin/wazuh-integratord
    /var/ossec/bin/wazuh-keystore
    /var/ossec/bin/wazuh-logcollector
    /var/ossec/bin/wazuh-logtest-legacy
    /var/ossec/bin/wazuh-maild
    /var/ossec/bin/wazuh-modulesd
    /var/ossec/bin/wazuh-regex
    /var/ossec/bin/wazuh-remoted
    /var/ossec/bin/wazuh-reportd
    /var/ossec/bin/wazuh-syscheckd
    /var/ossec/lib/libcontent_manager.so
    /var/ossec/lib/libdbsync.so
    /var/ossec/lib/libfimdb.so
    /var/ossec/lib/libindexer_connector.so
    /var/ossec/lib/librouter.so
    /var/ossec/lib/librsync.so
    /var/ossec/lib/libsyscollector.so
    /var/ossec/lib/libsysinfo.so
    /var/ossec/lib/libvulnerability_scanner.so
    /var/ossec/lib/libwazuhext.so
    /var/ossec/lib/libwazuhshared.so
  

Test

Deb Manager 🟢
BIN \ Package Manager
agent-auth -------
clear_stats :green_circle:
manage_agents :green_circle:
verify-agent-conf :green_circle:
wazuh-agentd -------
wazuh-agentlessd :green_circle:
wazuh-analysisd :green_circle:
wazuh-authd :green_circle:
wazuh-csyslogd :green_circle:
wazuh-db :green_circle:
wazuh-dbd :green_circle:
wazuh-execd :green_circle:
wazuh-integratord :green_circle:
wazuh-keystore :green_circle:
wazuh-logcollector :green_circle:
wazuh-logtest-legacy :green_circle:
wazuh-maild :green_circle:
wazuh-modulesd :green_circle:
wazuh-regex :green_circle:
wazuh-remoted :green_circle:
wazuh-reportd :green_circle:
wazuh-syscheckd :green_circle:
libcontent_manager.so :green_circle:
libdbsync.so :green_circle:
libfimdb.so :green_circle:
libindexer_connector.so :green_circle:
librouter.so :green_circle:
librsync.so :green_circle:
libsyscollector.so :green_circle:
libsysinfo.so :green_circle:
libvulnerability_scanner.so :green_circle:
libwazuhext.so :green_circle:
libwazuhshared.so :green_circle:
Deb Agent 🟢
BIN \ Package Agent
agent-auth :green_circle:
clear_stats -------
manage_agents :green_circle:
verify-agent-conf -------
wazuh-agentd :green_circle:
wazuh-agentlessd
wazuh-analysisd -------
wazuh-authd -------
wazuh-csyslogd -------
wazuh-db -------
wazuh-dbd -------
wazuh-execd :green_circle:
wazuh-integratord -------
wazuh-keystore -------
wazuh-logcollector :green_circle:
wazuh-logtest-legacy -------
wazuh-maild -------
wazuh-modulesd :green_circle:
wazuh-regex -------
wazuh-remoted -------
wazuh-reportd -------
wazuh-syscheckd :green_circle:
libcontent_manager.so -------
libdbsync.so :green_circle:
libfimdb.so :green_circle:
libindexer_connector.so -------
librouter.so -------
librsync.so :green_circle:
libsyscollector.so :green_circle:
libsysinfo.so :green_circle:
libvulnerability_scanner.so -------
libwazuhext.so :green_circle:
libwazuhshared.so :green_circle:

JcabreraC avatar Jul 29 '24 16:07 JcabreraC

Update

deb_result.zip

The files containt the output of the following scripts, before and after installing the debug packeage.

Manager
#!/bin/bash

# Output file
OUTPUT_FILE="manager_result.txt"

# Start by writing system information
echo "os-release:" > "$OUTPUT_FILE"
cat /etc/os-release >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"
echo "lsb-release:" >> "$OUTPUT_FILE"
cat /etc/lsb-release >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"
echo Wazuh version: >> "$OUTPUT_FILE"
/var/ossec/bin/wazuh-control info >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"


# Commands to run in gdb
GDB_COMMANDS="set pagination off \n info functions w_*"

# List of binaries and libraries to process
BINARIES_AND_LIBS=(
    /var/ossec/bin/clear_stats
    /var/ossec/bin/manage_agents
    /var/ossec/bin/verify-agent-conf
    /var/ossec/bin/wazuh-agentlessd
    /var/ossec/bin/wazuh-analysisd
    /var/ossec/bin/wazuh-authd
    /var/ossec/bin/wazuh-csyslogd
    /var/ossec/bin/wazuh-db
    /var/ossec/bin/wazuh-dbd
    /var/ossec/bin/wazuh-execd
    /var/ossec/bin/wazuh-integratord
    /var/ossec/bin/wazuh-keystore
    /var/ossec/bin/wazuh-logcollector
    /var/ossec/bin/wazuh-logtest-legacy
    /var/ossec/bin/wazuh-maild
    /var/ossec/bin/wazuh-modulesd
    /var/ossec/bin/wazuh-regex
    /var/ossec/bin/wazuh-remoted
    /var/ossec/bin/wazuh-reportd
    /var/ossec/bin/wazuh-syscheckd
    /var/ossec/lib/libcontent_manager.so
    /var/ossec/lib/libdbsync.so
    /var/ossec/lib/libfimdb.so
    /var/ossec/lib/libindexer_connector.so
    /var/ossec/lib/librouter.so
    /var/ossec/lib/librsync.so
    /var/ossec/lib/libsyscollector.so
    /var/ossec/lib/libsysinfo.so
    /var/ossec/lib/libvulnerability_scanner.so
    /var/ossec/lib/libwazuhext.so
    /var/ossec/lib/libwazuhshared.so
)

# Process each binary and library with gdb
for bin in "${BINARIES_AND_LIBS[@]}"; do
    echo "Processing $bin with gdb..."
    echo "${bin}: " >> "$OUTPUT_FILE"
    echo -e "$GDB_COMMANDS" | gdb "$bin" | head -n30 >> "$OUTPUT_FILE"
    echo -e "-------------------------------------------------------------------\n\n" >> "$OUTPUT_FILE"
done

echo "GDB processing complete. Results saved to $OUTPUT_FILE."

Agent
#!/bin/bash

# Output file
OUTPUT_FILE="result.txt"

# Start by writing system information
echo "os-release:" > "$OUTPUT_FILE"
cat /etc/os-release >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"
echo "lsb-release:" >> "$OUTPUT_FILE"
cat /etc/lsb-release >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"
echo Wazuh version: >> "$OUTPUT_FILE"
/var/ossec/bin/wazuh-control info >> "$OUTPUT_FILE"
echo -e "\n\n" >> "$OUTPUT_FILE"

# Commands to run in gdb
GDB_COMMANDS="set pagination off \n info functions w_*"

# List of binaries and libraries to process
BINARIES_AND_LIBS=(
    /var/ossec/bin/agent-auth
    /var/ossec/bin/manage_agents
    /var/ossec/bin/wazuh-agentd
    /var/ossec/bin/wazuh-execd
    /var/ossec/bin/wazuh-logcollector
    /var/ossec/bin/wazuh-modulesd
    /var/ossec/bin/wazuh-syscheckd
    /var/ossec/lib/libdbsync.so
    /var/ossec/lib/libfimdb.so
    /var/ossec/lib/librsync.so
    /var/ossec/lib/libsyscollector.so
    /var/ossec/lib/libsysinfo.so
    /var/ossec/lib/libwazuhext.so
    /var/ossec/lib/libwazuhshared.so
)

# Process each binary and library with gdb
for bin in "${BINARIES_AND_LIBS[@]}"; do
    echo "Processing $bin with gdb..."
    echo "${bin}: " >> "$OUTPUT_FILE"
    echo -e "$GDB_COMMANDS" | gdb "$bin" | head -n30 >> "$OUTPUT_FILE"
    echo -e "-------------------------------------------------------------------\n\n" >> "$OUTPUT_FILE"
done
echo "GDB processing complete. Results saved to $OUTPUT_FILE."

:green_circle: DEB package

It is marked with :green_circle: when the symbol separation was successful and they are in the debug package.

Debug build

BIN \ Package RPM - Agent RPM - Manager
agent-auth :green_circle: -------
clear_stats ------- :green_circle:
manage_agents :green_circle: :green_circle:
verify-agent-conf ------- :green_circle:
wazuh-agentd :green_circle: -------
wazuh-agentlessd :green_circle:
wazuh-analysisd ------- :green_circle:
wazuh-authd ------- :green_circle:
wazuh-csyslogd ------- :green_circle:
wazuh-db ------- :green_circle:
wazuh-dbd ------- :green_circle:
wazuh-execd :green_circle: :green_circle:
wazuh-integratord ------- :green_circle:
wazuh-keystore ------- :green_circle:
wazuh-logcollector :green_circle: :green_circle:
wazuh-logtest-legacy ------- :green_circle:
wazuh-maild ------- :green_circle:
wazuh-modulesd :green_circle: :green_circle:
wazuh-regex ------- :green_circle:
wazuh-remoted ------- :green_circle:
wazuh-reportd ------- :green_circle:
wazuh-syscheckd :green_circle: :green_circle:
libcontent_manager.so ------- :green_circle:
libdbsync.so :green_circle: :green_circle:
libfimdb.so :green_circle: :green_circle:
libindexer_connector.so ------- :green_circle:
librouter.so ------- :green_circle:
librsync.so :green_circle: :green_circle:
libsyscollector.so :green_circle: :green_circle:
libsysinfo.so :green_circle: :green_circle:
libvulnerability_scanner.so ------- :green_circle:
libwazuhext.so :green_circle: :green_circle:
libwazuhshared.so :green_circle: :green_circle:

Release build

BIN \ Package RPM - Agent RPM - Manager
agent-auth :green_circle: -------
clear_stats ------- :green_circle:
manage_agents :green_circle: :green_circle:
verify-agent-conf ------- :green_circle:
wazuh-agentd :green_circle: -------
wazuh-agentlessd :green_circle:
wazuh-analysisd ------- :green_circle:
wazuh-authd ------- :green_circle:
wazuh-csyslogd ------- :green_circle:
wazuh-db ------- :green_circle:
wazuh-dbd ------- :green_circle:
wazuh-execd :green_circle: :green_circle:
wazuh-integratord ------- :green_circle:
wazuh-keystore ------- :green_circle:
wazuh-logcollector :green_circle: :green_circle:
wazuh-logtest-legacy ------- :green_circle:
wazuh-maild ------- :green_circle:
wazuh-modulesd :green_circle: :green_circle:
wazuh-regex ------- :green_circle:
wazuh-remoted ------- :green_circle:
wazuh-reportd ------- :green_circle:
wazuh-syscheckd :green_circle: :green_circle:
libcontent_manager.so ------- :green_circle:
libdbsync.so :green_circle: :green_circle:
libfimdb.so :green_circle: :green_circle:
libindexer_connector.so ------- :green_circle:
librouter.so ------- :green_circle:
librsync.so :green_circle: :green_circle:
libsyscollector.so :green_circle: :green_circle:
libsysinfo.so :green_circle: :green_circle:
libvulnerability_scanner.so ------- :green_circle:
libwazuhext.so :green_circle: :green_circle:
libwazuhshared.so :green_circle: :green_circle:

:green_circle: Windows

After a second analysis, I will not modify the windows package, the files that appeared to be extra (files starting with install-), may be useful in some cases during the installation,

MacOS

Currently in progress, creating a development environment for testing.

juliancnn avatar Jul 29 '24 20:07 juliancnn

Update

  • Reviewing macOS code
  • Difficulty finding a working VM
  • Packages are not generated correctly on current branch

JcabreraC avatar Jul 30 '24 16:07 JcabreraC

Update

:green_circle: MacOS

After several problems, @jnasselle helped me to find some issues and to be able to properly clean/set up the environment for testing. Symbols in MacOS in release mode work correctly. I also modified the code to generate a crash and load the coredump. An execution step by step, can be seen in the following output:

sh-3.2# lldb
(lldb) target create -c /cores/core.33405 # <<< Load Core dump
Core file '/cores/core.33405' (x86_64) was loaded.
(lldb) add-dsym /private/var/root/packetes/tmp/symbols/wazuh-logcollector.dSYM/Contents/Resources/DWARF/wazuh-logcollector
symbol file '/private/var/root/packetes/tmp/symbols/wazuh-logcollector.dSYM/Contents/Resources/DWARF/wazuh-logcollector' has been added to '/Library/Ossec/bin/wazuh-logcollector' # <<< Load symbols
(lldb) image lookup -vn read_syslog # <<< Search Random function to find the build path
wazuh-logcollector was compiled with optimization - stepping may behave oddly; variables may not be available.
1 match found in /Library/Ossec/bin/wazuh-logcollector:
        Address: wazuh-logcollector[0x0000000100014070] (wazuh-logcollector.__TEXT.__text + 64592)
        Summary: wazuh-logcollector`read_syslog at read_syslog.c:19
         Module: file = "/Library/Ossec/bin/wazuh-logcollector", arch = "x86_64"
    CompileUnit: id = {0x00000013}, file = "/private/var/root/wazuh/src/logcollector/read_syslog.c", language = "c99" # <<< here is the build path
       Function: id = {0x0001b598}, name = "read_syslog", range = [0x0000000104cad070-0x0000000104cad5b4)
       FuncType: id = {0x0001b598}, byte-size = 0, decl = read_syslog.c:19, compiler_type = "void *(logreader *, int *, int)"
         Blocks: id = {0x0001b598}, range = [0x104cad070-0x104cad5b4)
      LineEntry: [0x0000000104cad070-0x0000000104cad0a3): /private/var/root/wazuh/src/logcollector/read_syslog.c:19
         Symbol: id = {0x00000342}, range = [0x0000000104cad070-0x0000000104cad5c0), name="read_syslog"
       Variable: id = {0x0001b5b1}, name = "lf", type = "logreader *", location = DW_OP_reg5 RDI, decl = read_syslog.c:19
       Variable: id = {0x0001b5c0}, name = "rc", type = "int *", location = DW_OP_reg4 RSI, decl = read_syslog.c:19
       Variable: id = {0x0001b5cf}, name = "drop_it", type = "int", location = DW_OP_reg1 RDX, decl = read_syslog.c:19
       Variable: id = {0x0001b5de}, name = "str", type = "char [65537]", location = DW_OP_fbreg -65600, decl = read_syslog.c:22
       Variable: id = {0x0001b657}, name = "is_valid_context_file", type = "_Bool", location = <empty>, decl = read_syslog.c:35
(lldb) settings set target.source-map /private/var/root/wazuh/src /var/root/wazuh_old/src # <<< Mapping the build path with local path to search in code 
(lldb) add-dsym /private/var/root/packetes/tmp/symbols/wazuh-logcollector.dSYM/Contents/Resources/DWARF/wazuh-logcollector
symbol file '/private/var/root/packetes/tmp/symbols/wazuh-logcollector.dSYM/Contents/Resources/DWARF/wazuh-logcollector' has been added to '/Library/Ossec/bin/wazuh-logcollector' # <<< Reload symbols to map the build path
(lldb) gui # <<< Open GUI (image attached)

gui: Pasted image

Resume lldb cmds (example)

# Load Core dump
(lldb) target create -c /cores/core.33405 
# Load symbols
(lldb) add-dsym /private/var/root/packetes/tmp/symbols/wazuh-logcollector.dSYM/Contents/Resources/DWARF/wazuh-logcollector
# Search Random function to find the build path
(lldb) image lookup -vn read_syslog 
# Mapping the buid path to local src path
(lldb) settings set target.source-map /private/var/root/wazuh/src /var/root/wazuh_old/src
# Reload symbols for mapping
(lldb) add-dsym /private/var/root/packetes/tmp/symbols/wazuh-logcollector.dSYM/Contents/Resources/DWARF/wazuh-logcollector
symbol file '/private/var/root/packetes/tmp/symbols/wazuh-logcollector.dSYM/Contents/Resources/DWARF/wazuh-logcollector' has been added to '/Library/Ossec/bin/wazuh-logcollector'
(lldb) gui

Util ref: https://werat.dev/blog/debugging-lldb-with-source-stepping/

:yellow_circle: It is under investigation because the packet creation is generated with an empty checksum.

juliancnn avatar Jul 30 '24 21:07 juliancnn

Update

  • Analisis of macos checksum and fix the generate script
  • Fixes Centos 5 spec, changes on changelog
  • Modify, generate coredump and testing of deb packeage

Pending:

  • Review WPK and symbols It seems that this development has not been implemented

juliancnn avatar Aug 01 '24 03:08 juliancnn

Update

After further review of WPK in the new versions of wazuh and WPK pipelines, it is determined that no changes are necessary, since they use RPM, DEB, MSI and PKG packages to update the product. I have started with the GHA research to modify the corresponding workflows for package generation. Thanks @jnasselle for taking the time to call me and solve some doubts.

juliancnn avatar Aug 01 '24 16:08 juliancnn

Update

Old package warnings were detected and fixed today, also it is complex to test the workflow without altering development, since the workflows use dockers already built in the github, locally I don't have access to those containers, which makes the task difficult, although I have created a last commit to patch the docker on the fly. This commit will have to be removed and is only for testing until we update the containers on github.

  • :green_circle: Build manager deb workflow https://github.com/wazuh/wazuh/actions/runs/10221707243
  • :green_circle: Build manager rpm workflow https://github.com/wazuh/wazuh/actions/runs/10221857501

I don't have access to the bucket yet, but I will be able to test it as soon as I have it.

juliancnn avatar Aug 02 '24 21:08 juliancnn

Update

  • New pkg container generated and tested
  • Test and fix manager workflows:
    • deb manager with new container: https://github.com/wazuh/wazuh/actions/runs/10253165009/job/28365199980
    • rpm manager with new container: https://github.com/wazuh/wazuh/actions/runs/10253940687/job/28367680193

S3 output: manager_deb_s3_result manager_rpm_s3_result

Local Output: manager_deb_local_result manager_rpm_local_result

juliancnn avatar Aug 05 '24 21:08 juliancnn

Update

  • Fix Centos5 RPM build, a bug with --checksum option

juliancnn avatar Aug 07 '24 19:08 juliancnn

Update

  • Fix ARM arm64 and aach64 build package

juliancnn avatar Aug 09 '24 16:08 juliancnn

Update

  • Analysis and fix of windows package construction bug after rebase
  • Fixed MacOS generate package, sign and notarize

juliancnn avatar Aug 13 '24 00:08 juliancnn

Update

  • Reviewing MacOS fix
  • Tes MacOS generate package

JcabreraC avatar Aug 13 '24 13:08 JcabreraC

Update

After modifying the Windows installation script, I created a branch with a forced segmentation. Then I created the package with the agent workflow and tested it on a completely clean Windows. The coredump has been generated correctly and then from another vm it can be load without problems

image

juliancnn avatar Aug 13 '24 20:08 juliancnn

Update

  • The branch has been rebased with 4.10.0
  • Conflicts resolved
  • Testing has begun.

JcabreraC avatar Aug 19 '24 12:08 JcabreraC