summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* #915 Improve test output using unittest discoverJavier Sánchez Parra2019-07-057-2/+1
| | | | | | | | * Call the tests with python module unittest. In particular, the discover function. * Rename tests files to meet the default requirements of discover function.
* #915 add POST software command to REST API in ogAdmServerOpenGnSys Support Team2019-07-032-0/+31
| | | | | | | | | | | | | This patch implements the command "software" that fetches the software configuration from the clients. Request: POST /software {"clients" : [ "192.168.2.1", "192.168.2.2" ]} Reply: 200 OK This allows to refresh the software inventory from clients.
* #915 add POST hardware command to REST API in ogAdmServerOpenGnSys Support Team2019-07-032-0/+31
| | | | | | | | | | | | | This patch implements the command "hardware" that fetches the hardware configuration from the clients. Request: POST /hardware {"clients" : [ "192.168.2.1", "192.168.2.2" ]} Reply: 200 OK This allows to refresh the hardware inventory from clients.
* #915 Add API token to tests in ogAdmServer/tests/units/*Javier Sánchez Parra2019-06-246-12/+20
| | | | Add token parameter in REST API test infrastructure.
* #915 update installer to add APITOKEN= to ogAdmServer.cfgJavier Sánchez Parra2019-06-241-0/+1
| | | | | | | | This is going to be used to protect calls to ogAdmServer Example line for ogAdmServer.cfg: APITOKEN=9b5fddfc5d4d1daa74ffd7ce7c3c9925
* #915 add support for HTTP AuthorizationOpenGnSys Support Team2019-06-243-11/+35
| | | | Add APITOKEN= field to ogAdmServer.cfg to specify the REST API key.
* #915 Remove unnecessary return in ogAdmServer/tests/run-tests.pyJavier Sánchez Parra2019-06-121-4/+0
| | | | No need to explicit return call, remove it.
* #896 Fix memory leak in wake_up_broadcast()Javier Sánchez Parra2019-06-121-1/+1
| | | | call freeifaddrs() after getifaddrs() to release memory.
* #915 add test for POST /session REST APIJavier Sánchez Parra2019-05-311-0/+20
|
* #915 add test for POST /shell/output REST APIJavier Sánchez Parra2019-05-311-0/+18
|
* #915 add test for POST /shell/run REST APIJavier Sánchez Parra2019-05-311-0/+18
|
* #915 add test for POST /wol REST APIJavier Sánchez Parra2019-05-311-0/+20
|
* #915 add test for POST /clients REST APIJavier Sánchez Parra2019-05-311-0/+19
|
* #915 add test for GET /clients REST APIJavier Sánchez Parra2019-05-311-0/+18
|
* #915 add unit test infrastructure for REST APIJavier Sánchez Parra2019-05-312-0/+49
| | | | | | | | | This python script creates a database and starts ogAdmServer to run the tests. This requires root to be launched: # ./run-tests.py From the 'tests' folder.
* #915 validate message length based on announced Content-Length fieldOpenGnSys Support Team2019-05-311-10/+14
| | | | | Otherwise, TCP segmentation leads to handle an incomplete payload, this problems manifests with errors when parsing the json body.
* #915 remove Actualizar(), Purgar(), Reiniciar() and IniciarSesion()OpenGnSys Support Team2019-05-301-86/+0
| | | | | | | | | The new REST API obsoletes the following commands: - Actualizar() has been replaced by POST /refresh. - Purgar() has been replaced by POST /stop. - Reiniciar() has been replaced by POST /reboot. - IniciarSesion() has been replaced by POST /session.
* #915 add POST refresh command to REST API in ogAdmServerOpenGnSys Support Team2019-05-302-0/+30
| | | | | | | | | | | | | Forces client to fetch and run any pending command from the server, reload its local configuration file and re-start its selection menu. curl -X POST http://127.0.0.1:8888/refresh -d @refresh.json Request POST /refresh {"clients": [ "192.168.2.1" ] } Reply: 200 OK
* #915 add POST stop command to REST API in ogAdmServerOpenGnSys Support Team2019-05-303-0/+31
| | | | | | | | | | | | Stop the menu selection on client (through POST method): curl -X POST http://127.0.0.1:8888/stop -d @stop.json Request POST /stop {"clients": [ "192.168.2.1" ] } Reply: 200 OK
* #915 add POST reboot command to REST API in ogAdmServerOpenGnSys Support Team2019-05-303-0/+31
| | | | | | | | | | | | Reboot a client (through POST method): curl -X POST http://127.0.0.1:8888/reboot -d @reboot.json Request POST /reboot {"clients": [ "192.168.2.1" ] } Reply: 200 OK
* #915 add POST poweroff command to REST API in ogAdmServerOpenGnSys Support Team2019-05-303-0/+31
| | | | | | | | | | | | Power off a client (through POST method): curl -X POST http://127.0.0.1:8888/poweroff -d @poweroff.json Request POST /poweroff {"clients": [ "192.168.2.1" ] } Reply: 200 OK
* #915 add og_cmd_legacy_send()OpenGnSys Support Team2019-05-291-4/+5
| | | | Add function to send legacy command to clients.
* #915 remove Sondeo(), respuestaSondeo(), ConsolaRemota(), Arrancar() and ↵OpenGnSys Support Team2019-05-271-199/+0
| | | | | | | | | | | | EcoConsola() The new REST API obsoletes the following commands: - Sondeo() has been replaced by GET /clients. - respuestaSondeo() has been replaced by POST /clients. - ConsolaRemota() has been replaced by POST /shell/run. - EcoConsola() has been replaced by POST /shell/output. - Arrancar() has been replaced by POST /wol.
* #915 add POST session command to REST API in ogAdmServerOpenGnSys Support Team2019-05-273-0/+80
| | | | | | | | | | | | Start a session on client (through POST method): curl -X POST http://127.0.0.1:8888/session -d @session.json Request POST /session {"clients": [ "192.168.2.1" ] } Reply: 200 OK
* #915 add POST shell/output command to REST API in ogAdmServerOpenGnSys Support Team2019-05-273-0/+95
| | | | | | | | | | | | | Fetching result from run command on client (through GET method): curl -X POST http://127.0.0.1:8888/shell/output -d @post_shell_output.json Request POST /shell/output {"clients": [ "192.168.2.1" ] } Reply: 200 OK {"clients": [ { "addr" : "192.168.2.1", "output" : "..." } ] }
* #915 add run command to REST API in ogAdmServerOpenGnSys Support Team2019-05-273-0/+77
| | | | | | | | | | | | Run command on client (through POST method): curl -X POST http://127.0.0.1:8888/shell/run -d @post_run.json Request POST /shell/run {"clients": [ "192.168.2.1", "192.168.2.2" ], "run" : "ls" } Reply: 200 OK
* #915 add wol command to REST API in ogAdmServerOpenGnSys Support Team2019-05-273-0/+110
| | | | | | | | | | Send Wake-On-Lan to clients (through POST method): Request: curl -X POST http://127.0.0.1:8888/wol { "type" : "unicast", "clients" : [ { "addr" : "192.168.2.1", "mac" : "00AABBCCDD01" } ] } Reply: 200 OK
* #915 Pass array of addresses to WakeUp()OpenGnSys Support Team2019-05-272-10/+17
| | | | To reuse this function to the REST API.
* #915 add clients command to REST API in ogAdmServerOpenGnSys Support Team2019-05-273-7/+90
| | | | | | | | | | | | Request for existing clients: curl -X GET http://127.0.0.1:8888/clients Request: GET /clients Reply: 200 OK {"clients": [ { "addr" : "192.168.2.1", "state" : "OPG" }, { "addr" : "192.168.2.2", "state" : "OFF" }]}
* #915 add initial REST API for ogAdmServerOpenGnSys Support Team2019-05-274-5/+181
| | | | | | | | | | | | | | | | | | | | | Add REST API for ogAdmServer, this API is exposed through port 8888 on the system that runs the ogAdmServer. The body of the HTTP message is expressed in JSON format. This patch implements the command "clients" that maps to the existing legacy "Sondeo" command, that is used by the web interface to poll refresh the client state. This patch also includes an initial test infrastructure using 'curl' to send commands to the new REST API. Request: POST /clients {"clients" : [ "192.168.2.1", "192.168.2.2" ]} Reply: 200 OK This allows to refresh the status of the list of clients.
* #915 add og_msg_alloc() and og_msg_free()OpenGnSys Support Team2019-05-271-9/+25
| | | | Add function to allocate and release the legacy message format.
* #915 add og_send_cmd()OpenGnSys Support Team2019-05-271-13/+25
| | | | | | Add new function to check and send commands to the clients. This new function takes an array of IP addresses (string) and send commands to the clients.
* #915 add og_socket_server_init()OpenGnSys Support Team2019-05-271-18/+28
| | | | Move code to create a socket into a function.
* #915 add og_client_state_process_payload()OpenGnSys Support Team2019-05-271-20/+31
| | | | Move code that handles the message payload into function.
* #915 add og_client_state_recv_hdr()OpenGnSys Support Team2019-05-271-23/+35
| | | | Move code that handles the receiving header state into function.
* #898 Remove unused encryption and decryption routinesOpenGnSys Support Team2019-02-061-1/+1
| | | | Remove dead code to encrypt and decrypt the message.
* #897 Do not use socket type in ogAdmServerOpenGnSys Support Team2019-02-062-6/+6
| | | | No need for an extra type, socket descriptors are always integer.
* #896: Send multicast WoL through a specific interfaceJavier Sánchez Parra2019-02-062-17/+102
| | | | | | | * New parameter in ogAdmServer config file for setting an interface. * ogAdmServer multicast WoL now search the interface of the config file in the system, if the interface is found in the system the destination IP of the packet change to a broadcast address of a specific range of addresses.
* #891 remove function to parse string in hexadecimal to binaryOpenGnSys Support Team2019-01-231-35/+0
| | | | | Wake-on-lan does not use it anymore, this function has no clients and we can just remove it.
* #891 fix wake on lan routineOpenGnSys Support Team2019-01-231-12/+15
| | | | | | | | Fix function to send wake-on-lan packet: - setsockopt() expects an integer as parameter. - zero the struct socketaddr_in local structure. - use sscanf() to parse the mac address string.
* #580 ignore SIGPIPE signalOpenGnSys Support Team2019-01-171-0/+3
| | | | | This signal is received when socket hit connection reset by peer state, which may happen in transient network failures.
* #580 incorrect return value in handlerOpenGnSys Support Team2019-01-171-6/+6
| | | | All handlers must return a boolean.
* #883 standalone log file is now deprecatedOpenGnSys Support Team2019-01-171-0/+3
| | | | display message in old log file that ogAdmServer uses syslog.
* #883 remove unnecessary loggingOpenGnSys Support Team2019-01-171-106/+14
| | | | Remove redundant logging, use syslog() whenever possible.
* #883 replace standalone log file by syslogOpenGnSys Support Team2019-01-172-240/+259
|
* #883 use LOG_DEBUG instead of LOG_INFOOpenGnSys Support Team2019-01-171-8/+8
| | | | Log file may grow in size too quickly in standard syslog configurations.
* #883 do not use argv[0] in syslog log messageOpenGnSys Support Team2019-01-171-1/+1
| | | | | | | | | | Before: Dec 3 11:18:12 ogLab /opt/opengnsys/sbin/ogAdmServer[1025]: server closing connection to 192.168.56.10:50476 After this patch: Dec 3 11:18:12 ogLab ogAdmServer[1025]: server closing connection to 192.168.56.10:50476
* #580 fix management of keepalive connections to clientsOpenGnSys Support Team2019-01-172-46/+105
| | | | | | | | | | | | | | | OgAdmServer leaves a connection in keepalive more (similar to HTTP keepalive feature), the existing handling is not correct. The tbsocket table is never cleaned up and properly. Use the new og_client object that represents connections from the clients in tbsocket[] instead. The keepalive field now stores the index in the tbsocket table, so there is no need to consult mysql to fetch the slot that this client is using. This patch also extends syslog() support to include port number when reporting connections from clients.
* #580 no need for pthread libraryOpenGnSys Support Team2019-01-171-1/+1
|
* #884 do not strip off symbolsOpenGnSys Support Team2019-01-171-3/+1
| | | | | Nor use -O3 since this generates code that is harder to debug. Compile binary that can be run inside valgrind for better debugging.