Skip to content

Commit

Permalink
Merge pull request #1642 from timopollmeier/license-gmp
Browse files Browse the repository at this point in the history
Add GMP get_license and modify_license
  • Loading branch information
bjoernricks authored Sep 1, 2021
2 parents 147c713 + ba58b20 commit 31b5b09
Show file tree
Hide file tree
Showing 8 changed files with 1,168 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Added
- Add a new modification_time column to reports [#1513](https://github.com/greenbone/gvmd/pull/1513), [#1519](https://github.com/greenbone/gvmd/pull/1519), [#1590](https://github.com/greenbone/gvmd/pull/1590)
- Add basic Sentry integration and logging [#1550](https://github.com/greenbone/gvmd/pull/1550)
- Add GMP get_license and modify_license [#1642](https://github.com/greenbone/gvmd/pull/1642)

### Changed
- Use pg-gvm extension for C PostgreSQL functions [#1400](https://github.com/greenbone/gvmd/pull/1400), [#1453](https://github.com/greenbone/gvmd/pull/1453)
Expand Down
12 changes: 12 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ add_executable (manage-utils-test
gvmd.c gmpd.c
manage.c sql.c
manage_acl.c manage_configs.c manage_get.c
manage_license.c
manage_port_lists.c manage_preferences.c
manage_report_formats.c
manage_authentication.c
Expand All @@ -115,6 +116,7 @@ add_executable (manage-utils-test
sql_pg.c manage_pg.c
lsc_user.c lsc_crypt.c utils.c
gmp.c gmp_base.c gmp_configs.c gmp_delete.c gmp_get.c
gmp_license.c
gmp_port_lists.c gmp_report_formats.c gmp_tickets.c
gmp_tls_certificates.c)

Expand All @@ -128,6 +130,7 @@ add_executable (manage-test
gvmd.c gmpd.c
manage_utils.c sql.c
manage_acl.c manage_configs.c manage_get.c
manage_license.c
manage_port_lists.c manage_preferences.c
manage_report_formats.c
manage_authentication.c
Expand All @@ -140,6 +143,7 @@ add_executable (manage-test
sql_pg.c manage_pg.c
lsc_user.c lsc_crypt.c utils.c
gmp.c gmp_base.c gmp_configs.c gmp_delete.c gmp_get.c
gmp_license.c
gmp_port_lists.c gmp_report_formats.c gmp_tickets.c
gmp_tls_certificates.c)

Expand All @@ -153,6 +157,7 @@ add_executable (manage-sql-test
gvmd.c gmpd.c
manage_utils.c manage.c sql.c
manage_acl.c manage_configs.c manage_get.c
manage_license.c
manage_port_lists.c manage_preferences.c
manage_report_formats.c
manage_authentication.c
Expand All @@ -165,6 +170,7 @@ add_executable (manage-sql-test
sql_pg.c manage_pg.c
lsc_user.c lsc_crypt.c utils.c
gmp.c gmp_base.c gmp_configs.c gmp_delete.c gmp_get.c
gmp_license.c
gmp_port_lists.c gmp_report_formats.c gmp_tickets.c
gmp_tls_certificates.c)

Expand All @@ -178,6 +184,7 @@ add_executable (gmp-tickets-test
gvmd.c gmpd.c
manage_utils.c manage.c sql.c
manage_acl.c manage_configs.c manage_get.c
manage_license.c
manage_port_lists.c manage_preferences.c
manage_report_formats.c
manage_authentication.c
Expand All @@ -190,6 +197,7 @@ add_executable (gmp-tickets-test
sql_pg.c manage_pg.c
lsc_user.c lsc_crypt.c utils.c
gmp.c gmp_base.c gmp_configs.c gmp_delete.c gmp_get.c
gmp_license.c
gmp_port_lists.c gmp_report_formats.c gmp_tls_certificates.c)

add_test (gmp-tickets-test gmp-tickets-test)
Expand All @@ -202,6 +210,7 @@ add_executable (utils-test
gvmd.c gmpd.c
manage_utils.c manage.c sql.c
manage_acl.c manage_configs.c manage_get.c
manage_license.c
manage_port_lists.c manage_preferences.c
manage_report_formats.c
manage_authentication.c
Expand All @@ -214,6 +223,7 @@ add_executable (utils-test
sql_pg.c manage_pg.c
lsc_user.c lsc_crypt.c
gmp.c gmp_base.c gmp_configs.c gmp_delete.c gmp_get.c
gmp_license.c
gmp_port_lists.c gmp_report_formats.c gmp_tickets.c
gmp_tls_certificates.c)

Expand All @@ -229,6 +239,7 @@ add_executable (gvmd
gmpd.c
manage_utils.c manage.c sql.c
manage_acl.c manage_configs.c manage_get.c
manage_license.c
manage_port_lists.c manage_preferences.c
manage_report_formats.c
manage_authentication.c
Expand All @@ -241,6 +252,7 @@ add_executable (gvmd
sql_pg.c manage_pg.c
lsc_user.c lsc_crypt.c utils.c
gmp.c gmp_base.c gmp_configs.c gmp_delete.c gmp_get.c
gmp_license.c
gmp_port_lists.c gmp_report_formats.c gmp_tickets.c
gmp_tls_certificates.c)

Expand Down
50 changes: 50 additions & 0 deletions src/gmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@
#include "gmp_delete.h"
#include "gmp_get.h"
#include "gmp_configs.h"
#include "gmp_license.h"
#include "gmp_port_lists.h"
#include "gmp_report_formats.h"
#include "gmp_tickets.h"
Expand Down Expand Up @@ -4329,6 +4330,7 @@ typedef enum
CLIENT_GET_FILTERS,
CLIENT_GET_GROUPS,
CLIENT_GET_INFO,
CLIENT_GET_LICENSE,
CLIENT_GET_NOTES,
CLIENT_GET_NVTS,
CLIENT_GET_NVT_FAMILIES,
Expand Down Expand Up @@ -4401,6 +4403,7 @@ typedef enum
CLIENT_MODIFY_GROUP_COMMENT,
CLIENT_MODIFY_GROUP_NAME,
CLIENT_MODIFY_GROUP_USERS,
CLIENT_MODIFY_LICENSE,
CLIENT_MODIFY_NOTE,
CLIENT_MODIFY_NOTE_ACTIVE,
CLIENT_MODIFY_NOTE_HOSTS,
Expand Down Expand Up @@ -5282,6 +5285,13 @@ gmp_xml_handle_start_element (/* unused */ GMarkupParseContext* context,
attribute_values);
set_client_state (CLIENT_GET_GROUPS);
}
else if (strcasecmp ("GET_LICENSE", element_name) == 0)
{
get_license_start (gmp_parser,
attribute_names,
attribute_values);
set_client_state (CLIENT_GET_LICENSE);
}
else if (strcasecmp ("GET_NOTES", element_name) == 0)
{
const gchar* attribute;
Expand Down Expand Up @@ -5777,6 +5787,13 @@ gmp_xml_handle_start_element (/* unused */ GMarkupParseContext* context,
&modify_port_list_data->port_list_id);
set_client_state (CLIENT_MODIFY_PORT_LIST);
}
else if (strcasecmp ("MODIFY_LICENSE", element_name) == 0)
{
modify_license_start (gmp_parser,
attribute_names,
attribute_values);
set_client_state (CLIENT_MODIFY_LICENSE);
}
else if (strcasecmp ("MODIFY_NOTE", element_name) == 0)
{
append_attribute (attribute_names, attribute_values, "note_id",
Expand Down Expand Up @@ -7708,6 +7725,11 @@ gmp_xml_handle_start_element (/* unused */ GMarkupParseContext* context,
set_read_over (gmp_parser);
break;

case CLIENT_MODIFY_LICENSE:
modify_license_element_start (gmp_parser, element_name,
attribute_names, attribute_values);
break;

case CLIENT_MODIFY_NOTE:
if (strcasecmp ("ACTIVE", element_name) == 0)
set_client_state (CLIENT_MODIFY_NOTE_ACTIVE);
Expand Down Expand Up @@ -18812,6 +18834,15 @@ gmp_xml_handle_end_element (/* unused */ GMarkupParseContext* context,
handle_get_info (gmp_parser, error);
break;

case CLIENT_GET_LICENSE:
{
if (get_license_element_end (gmp_parser,
error,
element_name))
set_client_state (CLIENT_AUTHENTIC);
break;
}

case CLIENT_GET_NOTES:
handle_get_notes (gmp_parser, error);
break;
Expand Down Expand Up @@ -23196,6 +23227,15 @@ gmp_xml_handle_end_element (/* unused */ GMarkupParseContext* context,
CLOSE (CLIENT_MODIFY_GROUP, NAME);
CLOSE (CLIENT_MODIFY_GROUP, USERS);

case CLIENT_MODIFY_LICENSE:
{
if (modify_license_element_end (gmp_parser,
error,
element_name))
set_client_state (CLIENT_AUTHENTIC);
break;
}

case CLIENT_MODIFY_NOTE:
{
if (acl_user_may ("modify_note") == 0)
Expand Down Expand Up @@ -26319,6 +26359,11 @@ gmp_xml_handle_text (/* unused */ GMarkupParseContext* context,
}


case CLIENT_GET_LICENSE:
get_license_element_text (text, text_len);
break;


APPEND (CLIENT_MODIFY_ALERT_NAME,
&modify_alert_data->name);

Expand Down Expand Up @@ -26392,6 +26437,11 @@ gmp_xml_handle_text (/* unused */ GMarkupParseContext* context,
&modify_group_data->users);


case CLIENT_MODIFY_LICENSE:
modify_license_element_text (text, text_len);
break;


APPEND (CLIENT_MODIFY_NOTE_ACTIVE,
&modify_note_data->active);

Expand Down
Loading

0 comments on commit 31b5b09

Please sign in to comment.