summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* #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.
* #915 set maximum REST API response to 64 KbytesOpenGnSys Support Team2019-08-281-2/+4
| | | | | The existing 4 Kbytes might not be enough to store the results of the GET /clients request, extend it up to 64 Kbytes.
* #915 json_dump_callback() takes flags as a parameterOpenGnSys Support Team2019-08-281-2/+2
| | | | | Not as the buffer size, this leads to incorrectly printing the json output since this might set on the JSON_EMBED flag on libjansson >= 2.10
* #915 allow up to 4096 clients from REST APIOpenGnSys Support Team2019-08-281-2/+2
| | | | Raise maximum number of clients to 4096.
* #915 reply with HTTP 405 when the method is incorrectJavier Sánchez Parra2019-08-271-12/+25
| | | | | When a command/request exists but the method is not correct returns 405 error code.
* #915 internal error response if reply is too longOpenGnSys Support Team2019-08-271-4/+11
| | | | In case reply is too long, return 501 internal server error.
* Merge branch 'devel-browser-newlinks' into develRamón M. Gómez2019-08-200-0/+0
|\
| * #891 fix crash in wol commandOpenGnSys Support Team2019-08-201-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Irina reports a crash in the wol command on Ubuntu 18.04 and gcc 7.4.0: ==9542== Process terminating with default action of signal 6 (SIGABRT) ==9542== at 0x6C37E97: raise (raise.c:51) ==9542== by 0x6C39800: abort (abort.c:79) ==9542== by 0x6C82896: __libc_message (libc_fatal.c:181) ==9542== by 0x6D2DCD0: __fortify_fail_abort (fortify_fail.c:33) ==9542== by 0x6D2DC91: __stack_chk_fail (stack_chk_fail.c:29) ==9542== by 0x111DB1: WakeUp(int, char*, char*, char*) (ogAdmServer.cpp:1390) ==9542== by 0x11199F: Levanta(char**, char**, int, char*) (ogAdmServer.cpp:1251) ==9542== by 0x118372: og_cmd_wol(json_t*, og_msg_params*) (ogAdmServer.cpp:3580) ==9542== by 0x119B91: og_client_state_process_payload_rest(og_client*) (ogAdmServer.cpp:4030) ==9542== by 0x11A4E9: og_client_read_cb(ev_loop*, ev_io*, int) (ogAdmServer.cpp:4212) ==9542== by 0x5EA1D72: ev_invoke_pending (in /usr/lib/x86_64-linux-gnu/libev.so.4.0.0) ==9542== by 0x5EA53DD: ev_run (in /usr/lib/x86_64-linux-gnu/libev.so.4.0.0) sscanf() returns integers (32-bits) instead of array of 8-bits.
* | #891 fix crash in wol commandOpenGnSys Support Team2019-07-291-6/+6
|/ | | | | | | | | | | | | | | | | | | | Irina reports a crash in the wol command on Ubuntu 18.04 and gcc 7.4.0: ==9542== Process terminating with default action of signal 6 (SIGABRT) ==9542== at 0x6C37E97: raise (raise.c:51) ==9542== by 0x6C39800: abort (abort.c:79) ==9542== by 0x6C82896: __libc_message (libc_fatal.c:181) ==9542== by 0x6D2DCD0: __fortify_fail_abort (fortify_fail.c:33) ==9542== by 0x6D2DC91: __stack_chk_fail (stack_chk_fail.c:29) ==9542== by 0x111DB1: WakeUp(int, char*, char*, char*) (ogAdmServer.cpp:1390) ==9542== by 0x11199F: Levanta(char**, char**, int, char*) (ogAdmServer.cpp:1251) ==9542== by 0x118372: og_cmd_wol(json_t*, og_msg_params*) (ogAdmServer.cpp:3580) ==9542== by 0x119B91: og_client_state_process_payload_rest(og_client*) (ogAdmServer.cpp:4030) ==9542== by 0x11A4E9: og_client_read_cb(ev_loop*, ev_io*, int) (ogAdmServer.cpp:4212) ==9542== by 0x5EA1D72: ev_invoke_pending (in /usr/lib/x86_64-linux-gnu/libev.so.4.0.0) ==9542== by 0x5EA53DD: ev_run (in /usr/lib/x86_64-linux-gnu/libev.so.4.0.0) sscanf() returns integers (32-bits) instead of array of 8-bits.