|
Greenbone Security Assistant
7.0.3~git
|
Base functionality of GSA. More...
#include "gsad_base.h"#include <openvas/omp/xml.h>#include <glib.h>#include <microhttpd.h>#include <string.h>#include <sys/wait.h>#include <errno.h>
Go to the source code of this file.
Macros | |
| #define | XSL_PATH "gsad.xsl" |
| Location of XSL file. More... | |
| #define | G_LOG_DOMAIN "gsad base" |
| GLib log domain. More... | |
| #define | FAIL_HTML |
| HTML returned when XSL transform fails. More... | |
Functions | |
| int | gsad_base_init () |
| Base init. More... | |
| int | gsad_base_cleanup () |
| Base init. More... | |
| int | get_chroot_state () |
| Gets the chroot state. More... | |
| void | set_chroot_state (int state) |
| Sets the chroot state. More... | |
| int | get_http_only () |
| Gets the http_only state. More... | |
| void | set_http_only (int state) |
| Sets the http_only state. More... | |
| void | vendor_version_set (const gchar *version) |
| Set the vendor version. More... | |
| const gchar * | vendor_version_get () |
| Get the vendor version. More... | |
| const gchar * | label_name_get () |
| Get the login label name. More... | |
| int | label_name_set (const gchar *name) |
| Set the login label. More... | |
| void | set_language_code (gchar **lang, const gchar *language) |
| Set language code of user. More... | |
| char * | ctime_r_strip_newline (time_t *time, char *string) |
| Return string from ctime_r with newline replaces with terminator. More... | |
| char * | xsl_transform_with_stylesheet (const char *xml_text, const char *xsl_stylesheet, cmd_response_data_t *response_data) |
| XSL Transformation. More... | |
| char * | xsl_transform (const char *xml_text, cmd_response_data_t *response_data) |
| XSL Transformation. More... | |
| char * | gsad_message (credentials_t *credentials, const char *title, const char *function, int line, const char *msg, const char *backurl, cmd_response_data_t *response_data) |
| Handles fatal errors. More... | |
| gchar * | login_xml (const gchar *message, const gchar *token, const gchar *time, const gchar *url, const gchar *i18n, const gchar *guest) |
| Generate XML for login page. More... | |
| params_t * | params_new () |
| Make a params. More... | |
| void | params_free (params_t *params) |
| Make a params. More... | |
| param_t * | params_get (params_t *params, const char *name) |
| Get param. More... | |
| int | params_given (params_t *params, const char *name) |
| Get whether a param was given at all. More... | |
| const char * | params_value (params_t *params, const char *name) |
| Get value of param. More... | |
| int | params_value_size (params_t *params, const char *name) |
| Get the size of the value of param. More... | |
| const char * | params_original_value (params_t *params, const char *name) |
| Get original value of param, before validation. More... | |
| const char * | params_filename (params_t *params, const char *name) |
| Get filename of param. More... | |
| params_t * | params_values (params_t *params, const char *name) |
| Get values of param. More... | |
| int | params_valid (params_t *params, const char *name) |
| Get whether a param is valid. More... | |
| param_t * | params_add (params_t *params, const char *name, const char *value) |
| Add a param. More... | |
| param_t * | params_append_bin (params_t *params, const char *name, const char *chunk_data, int chunk_size, int chunk_offset) |
| Append binary data to a param. More... | |
| gboolean | params_iterator_next (params_iterator_t *iterator, char **name, param_t **param) |
| Increment a params iterator. More... | |
Variables | |
| gchar * | vendor_version = NULL |
| Version from vendor, or NULL. More... | |
| gchar * | label_name = NULL |
Base functionality of GSA.
Definition in file gsad_base.c.
| #define FAIL_HTML |
HTML returned when XSL transform fails.
Definition at line 262 of file gsad_base.c.
| #define G_LOG_DOMAIN "gsad base" |
GLib log domain.
Definition at line 62 of file gsad_base.c.
| #define XSL_PATH "gsad.xsl" |
Location of XSL file.
Definition at line 35 of file gsad_base.c.
| char* ctime_r_strip_newline | ( | time_t * | time, |
| char * | string | ||
| ) |
Return string from ctime_r with newline replaces with terminator.
| [in] | time | Time. |
| [out] | string | Time string. |
Definition at line 241 of file gsad_base.c.
Referenced by gsad_message(), and logout().

| int get_chroot_state | ( | ) |
Gets the chroot state.
Definition at line 119 of file gsad_base.c.
References chroot_state.
| int get_http_only | ( | ) |
Gets the http_only state.
Definition at line 141 of file gsad_base.c.
Referenced by login_xml().

| int gsad_base_cleanup | ( | ) |
| int gsad_base_init | ( | ) |
| char* gsad_message | ( | credentials_t * | credentials, |
| const char * | title, | ||
| const char * | function, | ||
| int | line, | ||
| const char * | msg, | ||
| const char * | backurl, | ||
| cmd_response_data_t * | response_data | ||
| ) |
Handles fatal errors.
| [in] | credentials | User authentication information. |
| [in] | title | The title for the message. |
| [in] | function | The function in which the error occurred. |
| [in] | line | The line number at which the error occurred. |
| [in] | msg | The response message. |
| [in] | backurl | The URL offered to get back to a sane situation. If NULL, the tasks page is used. |
| [out] | response_data | Extra data return for the HTTP response. |
Definition at line 467 of file gsad_base.c.
References credentials_t::capabilities, credentials_t::charts, credentials_t::client_address, ctime_r_strip_newline(), cmd_response_data_t::http_status_code, credentials_t::language, credentials_t::params, params_value(), credentials_t::role, credentials_t::token, credentials_t::username, vendor_version_get(), and xsl_transform().
Referenced by bulk_delete_omp(), clone_omp(), delete_asset_omp(), delete_resource(), download_agent_omp(), download_ca_pub(), download_credential_omp(), download_key_pub(), download_ssl_cert(), edit_alert(), edit_asset(), edit_note(), edit_override(), edit_resource(), edit_scanner(), edit_tag(), edit_target(), empty_trashcan_omp(), export_omp_doc_omp(), export_preference_file_omp(), get_feeds_omp(), get_info(), get_one(), get_protocol_doc_omp(), get_system_reports_omp(), new_note(), new_override(), process_bulk_omp(), resource_action(), restore_omp(), run_wizard_omp(), save_config_family_omp(), save_config_nvt_omp(), save_config_omp(), save_filter_omp(), test_alert_omp(), toggle_tag_omp(), verify_agent_omp(), and verify_report_format_omp().


| const gchar* label_name_get | ( | ) |
Get the login label name.
Definition at line 186 of file gsad_base.c.
References label_name.
Referenced by login_xml().

| int label_name_set | ( | const gchar * | name | ) |
Set the login label.
| [in] | name | New login label name. |
Definition at line 199 of file gsad_base.c.
References label_name.
| gchar* login_xml | ( | const gchar * | message, |
| const gchar * | token, | ||
| const gchar * | time, | ||
| const gchar * | url, | ||
| const gchar * | i18n, | ||
| const gchar * | guest | ||
| ) |
Generate XML for login page.
| [in] | message | Login screen message, or NULL. |
| [out] | token | Token, or NULL. |
| [out] | time | Time. |
| [out] | url | URL. |
| [out] | i18n | i18n language code, or NULL. |
| [out] | guest | Username for guest login, or NULL. |
Definition at line 584 of file gsad_base.c.
References get_http_only(), label_name_get(), and vendor_version_get().
Referenced by logout().


Add a param.
| [in] | params | Params. |
| [in] | name | Name. |
| [in] | value | Value. Must be a string. |
Definition at line 808 of file gsad_base.c.
References param::array_len, param::valid, param::valid_utf8, param::value, and param::value_size.
Referenced by bulk_delete_omp(), delete_asset_omp(), get_info(), params_append_bin(), and process_bulk_omp().

| param_t* params_append_bin | ( | params_t * | params, |
| const char * | name, | ||
| const char * | chunk_data, | ||
| int | chunk_size, | ||
| int | chunk_offset | ||
| ) |
Append binary data to a param.
Appended data always has an extra NULL terminator.
| [in] | params | Params. |
| [in] | name | Name. |
| [in] | chunk_data | Data to append. |
| [in] | chunk_size | Number of bytes to copy. |
| [in] | chunk_offset | Offset in bytes into data from which to start. |
Definition at line 841 of file gsad_base.c.
References params_add(), params_get(), param::value, and param::value_size.

| const char* params_filename | ( | params_t * | params, |
| const char * | name | ||
| ) |
Get filename of param.
| [in] | params | Params. |
| [in] | name | Name. |
Definition at line 761 of file gsad_base.c.
References param::filename.
Referenced by create_agent_omp().

| void params_free | ( | params_t * | params | ) |
Get param.
| [in] | params | Params. |
| [in] | name | Name. |
Definition at line 679 of file gsad_base.c.
Referenced by delete_asset_omp(), delete_filter_omp(), delete_resource(), and params_append_bin().

| int params_given | ( | params_t * | params, |
| const char * | name | ||
| ) |
Get whether a param was given at all.
| [in] | params | Params. |
| [in] | name | Name. |
Definition at line 695 of file gsad_base.c.
Referenced by bulk_delete_omp(), create_alert_omp(), create_credential_omp(), create_note_omp(), create_override_omp(), create_permission_omp(), create_permissions_omp(), create_report_omp(), create_scanner_omp(), create_task_omp(), create_user_omp(), delete_asset_omp(), save_alert_omp(), save_auth_omp(), save_credential_omp(), save_note_omp(), save_override_omp(), save_permission_omp(), save_scanner_omp(), save_task_omp(), and save_user_omp().

| gboolean params_iterator_next | ( | params_iterator_t * | iterator, |
| char ** | name, | ||
| param_t ** | param | ||
| ) |
Increment a params iterator.
| [in] | iterator | Iterator. |
| [out] | name | Name of param. |
| [out] | param | Param. |
Definition at line 887 of file gsad_base.c.
Referenced by bulk_delete_omp(), create_alert_omp(), create_task_omp(), create_user_omp(), member1(), process_bulk_omp(), run_wizard_omp(), save_alert_omp(), save_config_family_omp(), save_config_nvt_omp(), save_report_format_omp(), save_task_omp(), and save_user_omp().

| params_t* params_new | ( | ) |
Make a params.
Definition at line 653 of file gsad_base.c.
| const char* params_original_value | ( | params_t * | params, |
| const char * | name | ||
| ) |
Get original value of param, before validation.
Only set if validation failed.
| [in] | params | Params. |
| [in] | name | Name. |
Definition at line 745 of file gsad_base.c.
References param::original_value.
Referenced by create_note_omp(), create_override_omp(), save_note_omp(), and save_override_omp().

| int params_valid | ( | params_t * | params, |
| const char * | name | ||
| ) |
Get whether a param is valid.
| [in] | params | Params. |
| [in] | name | Name. |
Definition at line 793 of file gsad_base.c.
References param::valid.
Referenced by create_note_omp(), create_override_omp(), create_task_omp(), process_bulk_omp(), save_note_omp(), save_override_omp(), and save_task_omp().

| const char* params_value | ( | params_t * | params, |
| const char * | name | ||
| ) |
Get value of param.
| [in] | params | Params. |
| [in] | name | Name. |
Definition at line 711 of file gsad_base.c.
References param::value.
Referenced by auth_settings_omp(), bulk_delete_omp(), clone_omp(), create_agent_omp(), create_alert_omp(), create_asset_omp(), create_config_omp(), create_container_task_omp(), create_credential_omp(), create_filter_omp(), create_group_omp(), create_host_omp(), create_note_omp(), create_override_omp(), create_permission_omp(), create_permissions_omp(), create_port_list_omp(), create_port_range_omp(), create_report_omp(), create_role_omp(), create_scanner_omp(), create_schedule_omp(), create_tag_omp(), create_target_omp(), create_task_omp(), create_user_omp(), cvss_calculator(), dashboard(), delete_asset_omp(), delete_resource(), download_agent_omp(), download_ca_pub(), download_credential_omp(), download_key_pub(), download_ssl_cert(), edit_alert(), edit_asset(), edit_note(), edit_override(), edit_resource(), edit_scanner(), edit_tag(), edit_target(), empty_trashcan_omp(), export_omp_doc_omp(), export_preference_file_omp(), export_resource(), get_aggregate_omp(), get_info(), get_one(), get_system_report_omp(), get_system_reports_omp(), gsad_message(), import_config_omp(), import_port_list_omp(), import_report_format_omp(), logout(), move_task_omp(), new_note(), new_override(), process_bulk_omp(), resource_action(), restore_omp(), run_wizard_omp(), save_agent_omp(), save_alert_omp(), save_asset_omp(), save_auth_omp(), save_chart_preference_omp(), save_config_family_omp(), save_config_nvt_omp(), save_config_omp(), save_container_task_omp(), save_credential_omp(), save_filter_omp(), save_group_omp(), save_my_settings_omp(), save_note_omp(), save_override_omp(), save_permission_omp(), save_port_list_omp(), save_report_format_omp(), save_role_omp(), save_scanner_omp(), save_schedule_omp(), save_tag_omp(), save_target_omp(), save_task_omp(), save_user_omp(), sync_config_omp(), test_alert_omp(), toggle_tag_omp(), verify_agent_omp(), verify_report_format_omp(), and verify_scanner_omp().

| int params_value_size | ( | params_t * | params, |
| const char * | name | ||
| ) |
Get the size of the value of param.
| [in] | params | Params. |
| [in] | name | Name. |
Definition at line 727 of file gsad_base.c.
References param::value_size.
Referenced by create_agent_omp().

Get values of param.
| [in] | params | Params. |
| [in] | name | Name. |
Definition at line 777 of file gsad_base.c.
References param::values.
Referenced by bulk_delete_omp(), create_alert_omp(), create_task_omp(), create_user_omp(), get_aggregate_omp(), process_bulk_omp(), run_wizard_omp(), save_alert_omp(), save_config_family_omp(), save_config_nvt_omp(), save_my_settings_omp(), save_report_format_omp(), save_task_omp(), and save_user_omp().

| void set_chroot_state | ( | int | state | ) |
Sets the chroot state.
| [in] | state | The new chroot state. |
Definition at line 130 of file gsad_base.c.
References chroot_state.
| void set_http_only | ( | int | state | ) |
Sets the http_only state.
| [in] | state | The new http_only state. |
Definition at line 152 of file gsad_base.c.
| void set_language_code | ( | gchar ** | lang, |
| const gchar * | language | ||
| ) |
Set language code of user.
Caller must handle locking.
| [in] | lang | Language slot. May be a language name or code |
| [in] | language | User Interface Language. |
Definition at line 218 of file gsad_base.c.
| const gchar* vendor_version_get | ( | ) |
Get the vendor version.
Definition at line 175 of file gsad_base.c.
References vendor_version.
Referenced by gsad_message(), and login_xml().

| void vendor_version_set | ( | const gchar * | version | ) |
Set the vendor version.
| [in] | version | Vendor version. |
Definition at line 163 of file gsad_base.c.
References vendor_version.
| char* xsl_transform | ( | const char * | xml_text, |
| cmd_response_data_t * | response_data | ||
| ) |
XSL Transformation.
Does the transformation from XML to HTML applying omp.xsl.
| [in] | xml_text | The XML text to transform. |
| [out] | response_data | Extra data return for the HTTP response. |
Definition at line 445 of file gsad_base.c.
References XSL_PATH, and xsl_transform_with_stylesheet().
Referenced by gsad_message(), and logout().


| char* xsl_transform_with_stylesheet | ( | const char * | xml_text, |
| const char * | xsl_stylesheet, | ||
| cmd_response_data_t * | response_data | ||
| ) |
XSL Transformation.
Transforms XML by applying a given XSL stylesheet, usually into HTML.
| [in] | xml_text | The XML text to transform. |
| [in] | xsl_stylesheet | The file name of the XSL stylesheet to use. |
| [out] | response_data | Extra data return for the HTTP response. |
Definition at line 281 of file gsad_base.c.
References FAIL_HTML, cmd_response_data_t::http_status_code, and register_i18n_ext_module().
Referenced by xsl_transform().


| gchar* label_name = NULL |
Definition at line 69 of file gsad_base.c.
Referenced by label_name_get(), and label_name_set().
| gchar* vendor_version = NULL |
Version from vendor, or NULL.
Definition at line 67 of file gsad_base.c.
Referenced by vendor_version_get(), and vendor_version_set().