summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* #915 Validate POST /clients parametersRoberto Hueso Gómez2019-11-061-0/+15
| | | | | | | This patch adds og_msg_params_validate function as well as some flags that can be used to validate parameters of a REST API request. This patch ensures that all required parameters are sent in the request.
* #915 Fix ogAdmServer POST /software test parametersRoberto Hueso Gómez2019-11-061-1/+3
| | | | This patch adds missing parameters to the test JSON.
* #924 Always check the result of a command to avoid errorsJavier Sánchez Parra2019-11-041-9/+15
| | | | | | | | | | | | | | | Irina reports that if you try to restore an image without success (for example: the disk does not have enough space), the database changes as if no error would happen. So you see the computer in the WebConsole with an image/OS that, actually, does not have. The bug is caused because the function respuestaEstandar only checks the result of a command if it has a session. So the problem is that the commands which use respuestaEstandar without a session can return an error, but the ogAdmServer always works as no error would occur. This commit changes the behaviour of respuestaEstadar to always check the result of a command, whether it has a session or not.
* #915 Add test for POST /run/schedule REST APIRoberto Hueso Gómez2019-10-311-0/+24
| | | | | | | | This test covers 3 scenarios: 1. Correct usage. 2. Incorrect usage, without payload. 3. Incorrect usage, use this command with GET.
* #915 Add test for POST /image/restore/incremental REST APIRoberto Hueso Gómez2019-10-311-0/+43
| | | | | | | | This test covers 3 scenarios: 1. Correct usage. 2. Incorrect usage, without payload. 3. Incorrect usage, use this command with GET.
* #915 Add test for POST /image/restore/basic REST APIRoberto Hueso Gómez2019-10-311-0/+41
| | | | | | | | This test covers 3 scenarios: 1. Correct usage. 2. Incorrect usage, without payload. 3. Incorrect usage, use this command with GET.
* #915 Add test for POST /image/create/incremental REST APIRoberto Hueso Gómez2019-10-311-0/+40
| | | | | | | | This test covers 3 scenarios: 1. Correct usage. 2. Incorrect usage, without payload. 3. Incorrect usage, use this command with GET.
* #915 Add test for POST /image/create/basic REST APIRoberto Hueso Gómez2019-10-311-0/+38
| | | | | | | | This test covers 3 scenarios: 1. Correct usage. 2. Incorrect usage, without payload. 3. Incorrect usage, use this command with GET.
* #915 Add test for POST /image/setup REST APIRoberto Hueso Gómez2019-10-311-0/+47
| | | | | | | | This test covers 3 scenarios: 1. Correct usage. 2. Incorrect usage, without payload. 3. Incorrect usage, use this command with GET.
* #915 Add test for POST /image/restore REST APIRoberto Hueso Gómez2019-10-311-0/+31
| | | | | | | | This test covers 3 scenarios: 1. Correct usage. 2. Incorrect usage, without payload. 3. Incorrect usage, use this command with GET.
* #915 Add test for POST /image/create REST APIRoberto Hueso Gómez2019-10-311-0/+30
| | | | | | | | This test covers 3 scenarios: 1. Correct usage. 2. Incorrect usage, without payload. 3. Incorrect usage, use this command with GET.
* #915 Use og_cmd_legacy_send in og_cmd_run_schedule for ogAdmServerRoberto Hueso Gómez2019-10-291-13/+2
| | | | | This patch simplifies the og_cmd_run_schedule function by calling og_cmd_legacy_send.
* #915 Add POST "run/schedule" command to REST API in ogAdmServerRoberto Hueso Gómez2019-10-253-0/+42
| | | | | | | | | | | | | | | | | This patch implements the command "run/schedule" that kicks in pending commands execution. Request: POST /run/schedule { "clients": ["192.168.56.11"] } Reply: 200 OK This patch also adds a simple test to cover correction of the command.
* #915 Fix POST "software" cmd in ogAdmServer and webJavier Sánchez Parra2019-10-111-3/+21
| | | | | | | | | | | | | | | | | | This patch adds the parameters "disk" and "partition" to POST "software" command. This way the client can create a software profile without failure. New request: POST /software { "clients":[ "192.168.56.12" ], "disk":"1", "partition":"1" } Reply: 200 OK
* #915 Add test for POST /image/restore/incremental commandJavier Sánchez Parra2019-10-112-0/+2
| | | | This test covers correction of the command.
* #915 Add POST "image/restore/incremental" command to REST API in ogAdmServerJavier Sánchez Parra2019-10-111-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements the command "image/restore/incremental" that provides partitioning and formatting functionality. Request: POST /image/restore/incremental { "clients":[ "192.168.56.11", "192.168.56.12" ], "disk":"1", "partition":"1", "id":"8", "name":"test", "repository":"192.168.56.10", "profile":"25", "type":"MULTICAST_9000:full-duplex:239.194.2.11:70M:4:60", "sync_params":{ "diff_id":"10", "diff_name":"testdiff", "path":"", "method":"1", "sync":"2", "diff":"0", "remove":"1", "compress":"0", "cleanup":"0", "cache":"0", "cleanup_cache":"0", "remove_dst":"0" } } Reply: 200 OK
* #915 Add test for POST "image/create/incremental" commandRoberto Hueso Gómez2019-10-112-0/+2
| | | | This test covers correction of the command.
* #915 Add POST "image/create/incremental" command to REST API in ogAdmServerRoberto Hueso Gómez2019-10-111-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements the command "image/create/incremental". Request: {"clients":["192.168.56.11"], "disk":"1", "partition":"1", "id":"3", "name":"basica1", "repository":"192.168.56.10", "sync_params":{"sync":"1", "path":"", "diff":"0", "diff_id":"4", "diff_name":"p2", "remove":"1", "compress":"0", "cleanup":"0", "cache":"0", "cleanup_cache":"0", "remove_dst":"0" } } Reply: 200 OK
* #915 Add test for POST /image/restore/basic commandJavier Sánchez Parra2019-10-092-0/+2
| | | | This test covers correction of the command.
* #915 Add POST "image/restore/basic" command to REST API in ogAdmServerJavier Sánchez Parra2019-10-091-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements the command "image/restore/basic" that provides partitioning and formatting functionality. Request: POST /image/restore/basic { "clients":[ "192.168.56.11" ], "disk":"1", "partition":"1", "id":"9", "name":"test", "repository":"192.168.56.10", "profile":"17", "type":"UNICAST", "sync_params":{ "path":"", "method":"1", "sync":"1", "diff":"0", "remove":"1", "compress":"0", "cleanup":"0", "cache":"0", "cleanup_cache":"0", "remove_dst":"0" } } Reply: 200 OK
* #915 Add test for POST /image/create/basic commandJavier Sánchez Parra2019-10-082-0/+2
| | | | This test covers correction of the command.
* #915 Add POST "image/create/basic" command to REST API in ogAdmServerJavier Sánchez Parra2019-10-081-0/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements the command "image/create/basic" that provides partitioning and formatting functionality. Request: POST /image/create/basic { "clients":[ "192.168.56.11" ], "disk":"1", "partition":"1", "code":"131", "id":"8", "name":"debianbasica", "repository":"192.168.56.10", "sync_params":{ "sync":"1", "diff":"0", "remove":"1", "compress":"0", "cleanup":"0", "cache":"0", "cleanup_cache":"0", "remove_dst":"0" } } Reply: 200 OK
* #915 Improve error management for og_json_parse_partition()Roberto Hueso Gómez2019-10-071-7/+23
| | | | Validate json input and return an error code when parsing is not correct.
* Add test for POST /image/create commandRoberto Hueso Gómez2019-10-072-0/+2
| | | | This test covers correction of the command.
* #915 Add POST "image/setup" command to REST API in ogAdmServerRoberto Hueso Gómez2019-10-071-0/+100
| | | | | | | | | | | | | | | | This patch implements the command "image/setup" that provides partitioning and formatting functionality. Request: POST /image/setup { "clients" : [ "192.168.56.11" ], "disk" : "1", "cache" : "1", "cache_size" : "0", "partition_setup": [{"partition": "1", "code": "LINUX", "filesystem": "EMPTY", "size": "498688", "format": "0"}, {"partition": "2", "code": "LINUX-SWAP", "filesystem": "EMPTY", "size": "199987", "format": "0"}, {"partition": "3", "code": "LINUX", "filesystem": "EMPTY", "size": "31053824", "format": "0"}, {"partition": "4", "code": "EMPTY", "filesystem": "EMPTY", "size": "0", "format": "0"}]} Reply: 200 OK
* #915 Remove Apagar, CrearImagen, RestaurarImagen, InventarioHardware, ↵OpenGnSys Support Team2019-10-031-110/+0
| | | | | | InventarioSoftware These socketHidra calls have been replaced by the REST API, remove them.
* #915: adapt test to use id and profile fieldsOpenGnSys Support Team2019-10-011-1/+1
| | | | Update restore_image.json to use id and profile fields.
* #915: Add POST /image/restore command to REST API in ogAdmServerRoberto Hueso Gómez2019-10-013-0/+65
| | | | | | | | | | | This patch implements the command "image/create" that creates an image in a client. Request: POST /image/restore { "clients" : [ "192.168.56.11" ], "disk" : "1", "partition" : "1", "name" : "test", "repository" : "192.168.56.10", "type" : "UNICAST", "filesystem": "1", "image_id": "1"} Reply: 200 OK
* #915: add og_json_parse_string() and use itRoberto Hueso Gómez2019-10-011-70/+17
| | | | This patch avoids repeating similar code by using just one json parser.
* #915: Add POST /image/create command to REST API in ogAdmServerRoberto Hueso Gómez2019-10-013-0/+104
| | | | | | | | | | | This patch implements the command "image/create" that creates an image in a client. Request: POST /image/create { "clients" : [ "192.168.2.1" ], "disk" : "1", "partition" : "1", "code" : "1", "id" : "1", "name" : "test", "repository" : "192.168.2.2" } Reply: 200 OK
* #915: Removes braces for single statement if branchRoberto Hueso Gómez2019-10-011-4/+3
| | | | Just a cleanup.
* #915: Fix file descriptor leak in og_socket_server_init() from exit pathRoberto Hueso Gómez2019-09-191-0/+1
| | | | | | | | | | | | | | | | | Call close() to release the socket in the event of an error. infer says: sources/ogAdmServer.cpp:1244: error: RESOURCE_LEAK resource acquired by call to `socket()` at line 1236, column 6 is not released after line 1244, column 3. 1242. sizeof(on)); 1243. if (res < 0) { 1244. > syslog(LOG_ERR, "cannot set broadcast socket\n"); 1245. return false; 1246. } Not a real problem since OS releases process resources if the server cannot bind to the port, but just to be correct here.
* #915: Return 400 status code in POST methods when no payload is attachedRoberto Hueso Gómez2019-09-192-12/+21
| | | | | | | If no payload is attached to method that requires a payload, then the API returns a 400 status code (following RFC 7231) instead of the previous 404. test_0001_get_clients.py is also modified to fit the new status code.
* #915: Fix incorrect method and code in invalid GET requestsRoberto Hueso Gómez2019-09-184-8/+8
| | | | | Some tests should perform GET requests however they incorrectly use POST. Return codes for these tests have also been fixed.
* #915: Remove duplicated testRoberto Hueso Gómez2019-09-181-4/+0
| | | | This test is already performed in test_0001_get_clients.py
* #915: more descriptive function name in testRoberto Hueso Gómez2019-09-181-1/+1
| | | | | This test sends a POST with no body, which is illegal, use a function name that describes this.
* #915 add test for too large HTTP request fieldsJavier Sánchez Parra2019-09-101-0/+29
| | | | | | | This test checks for wrong headers HTTP requests: 1. POST /clients with a content length larger than a signed int. 2. POST /clients with an auth token larger than 63 characters.
* #915 check HTTP Content-Length sizeJavier Sánchez Parra2019-09-101-1/+3
| | | | If Content-Length is too large ogAdmServer, close the connection..
* #915 fix missing null-terminated stringJavier Sánchez Parra2019-09-051-1/+1
| | | | | | This patch changes the number of characters stored in cli->auth_token from 64 to 63. This way the array has the last position available to store the null character.
* #915 adds test for too large HTTP requestJavier Sánchez Parra2019-09-041-0/+19
| | | | | | | | This test checks for too large HTTP requests, for example: POST /clients with a body of 4096 bytes.
* #915 do not bail out when failing to send message to stale clientsOpenGnSys Support Team2019-09-021-4/+2
| | | | | | Clients might enter power saving mode, hence, closing the connection with the server. When the server sends a request to refresh its state, if they are gone, do not break the iteration over the list of clients.
* #559 fix out of bound array accessJavier Sánchez Parra2019-08-281-1/+1
| | | | | | | | This patch change the size of the array ptrPar from 6 to 7. cppcheck says: [sources/ogAdmServer.cpp:598]: (error) Array 'ptrCfg[6]' accessed at index 6, which is out of bounds.
* #915 check ogAdmServer binary existence when running pythong testsJavier Sánchez Parra2019-08-281-0/+4
| | | | | | | | | | | Currently, if you try to run the python test without the ogAdmServer binary, it will throw an exception. This patch adds a check to ensure the existence of the ogAdmServer binary at the beginning of the script. # python3 run-tests.py You need to build the ogAdmServer binary to run these tests :-)
* #915 add missing brackets to WOL API test jsonJavier Sánchez Parra2019-08-281-2/+2
| | | | | Without the brackets the call works (200 response) but the ogAdmServer does not send the WOL packets.
* #915 trim unknown command syslog error to the initial 32 bytesOpenGnSys Support Team2019-08-281-1/+1
| | | | | Aug 28 17:12:33 server ogAdmServer[10110]: 127.0.0.1:54640 POST /nonexistent HTTP/1.1^M Host ... Aug 28 17:12:33 server ogAdmServer[10110]: unknown command: nonexistent HTTP/1.1^M Host: loca ...
* #915 add syslog error when HTTP request processing failsOpenGnSys Support Team2019-08-281-4/+17
|
* #915 add og_server_internal_error()OpenGnSys Support Team2019-08-281-5/+12
| | | | This function sends a 500 HTTP error to client.
* #915 add syslog debugging for HTTP requestOpenGnSys Support Team2019-08-281-4/+4
| | | | Display initial 32 bytes of the HTTP request.
* #915 close connection to REST API if request is too longOpenGnSys Support Team2019-08-281-1/+8
| | | | If REST API request length is >= 4096 bytes, close the connection.
* #915 add OG_CLIENTS_MAX definitionOpenGnSys Support Team2019-08-281-2/+4
| | | | | This definition specifies the maximum number of clients, that is set up to 4096.