| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
call freeifaddrs() after getifaddrs() to release memory.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Otherwise, TCP segmentation leads to handle an incomplete payload, this
problems manifests with errors when parsing the json body.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Add function to send legacy command to clients.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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" : "..." } ] }
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
To reuse this function to the REST API.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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" }]}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Add function to allocate and release the legacy message format.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Move code to create a socket into a function.
|
|
|
|
| |
Move code that handles the message payload into function.
|
|
|
|
| |
Move code that handles the receiving header state into function.
|
|
|
|
| |
Remove dead code to encrypt and decrypt the message.
|
|
|
|
| |
No need for an extra type, socket descriptors are always integer.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
Wake-on-lan does not use it anymore, this function has no clients and we
can just remove it.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This signal is received when socket hit connection reset by peer
state, which may happen in transient network failures.
|
|
|
|
| |
All handlers must return a boolean.
|
|
|
|
| |
display message in old log file that ogAdmServer uses syslog.
|
|
|
|
| |
Remove redundant logging, use syslog() whenever possible.
|
| |
|
|
|
|
| |
Log file may grow in size too quickly in standard syslog configurations.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Nor use -O3 since this generates code that is harder to debug.
Compile binary that can be run inside valgrind for better debugging.
|
| |
|
|
|
|
|
|
|
| |
Modern server side using libev library, includes timeouts for clients.
After this patch, your system requires the libev-dev and libev4 packages
to compile ogAdmServer.
|
|
|
|
| |
Use strncmp() that is bound to the function name length.
|
|
|
|
|
| |
Use __FUNCTION__ to print function name, this is a preparation work
to introduce syslog support.
|
| |
|
| |
|
| |
|