Commit Graph

4194 Commits (ce6fe2e749fd704467db368fbe08d99d9bcba545)
 

Author SHA1 Message Date
Ramón M. Gómez b77345f760 #959: Installer and updater download the lastest OGAgent version. 2020-04-21 11:52:59 +02:00
Irina Gomez 83bf2eb4fb #959 #679 CreateImage command in console : Fix error in SQL request, only showed images from repository assigned to computer. Now show all images in organization unit. 2020-04-13 09:28:43 +02:00
OpenGnSys Support Team db2e57f75a #580 invalid access to memory in contieneIP()
valgrind reports incorrect access to memory:

==16622== 4000 errors in context 1 of 2:
==16622== Conditional jump or move depends on uninitialised value(s)
==16622==    at 0x10C380: contieneIP (ogAdmLib.c:514)
==16622==    by 0x10D842: clienteExistente (ogAdmServer.c:206)
==16622==    by 0x10D743: clienteDisponible (ogAdmServer.c:173)
==16622==    by 0x10FE62: og_send_cmd (ogAdmServer.c:1106)
==16622==    by 0x114651: og_cmd_legacy_send (ogAdmServer.c:3159)
==16622==    by 0x114795: og_cmd_post_clients (ogAdmServer.c:3188)
==16622==    by 0x1193F5: og_client_state_process_payload_rest (ogAdmServer.c:4444)
==16622==    by 0x11A354: og_client_read_cb (ogAdmServer.c:4728)
==16622==    by 0x693ED72: ev_invoke_pending (in /usr/lib/x86_64-linux-gnu/libev.so.4.0.0)
==16622==    by 0x69423DD: ev_run (in /usr/lib/x86_64-linux-gnu/libev.so.4.0.0)
==16622==    by 0x10D19C: ev_loop (ev.h:835)
==16622==    by 0x11AAED: main (ogAdmServer.c:4896)
==16622==  Uninitialised value was created by a heap allocation
==16622==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==16622==    by 0x6B4D80A: ??? (in /usr/lib/x86_64-linux-gnu/libjansson.so.4.11.0)
==16622==    by 0x6B4DDCB: ??? (in /usr/lib/x86_64-linux-gnu/libjansson.so.4.11.0)
==16622==    by 0x6B4DCA6: ??? (in /usr/lib/x86_64-linux-gnu/libjansson.so.4.11.0)
==16622==    by 0x6B4DF55: ??? (in /usr/lib/x86_64-linux-gnu/libjansson.so.4.11.0)
==16622==    by 0x6B4E0CB: json_loads (in /usr/lib/x86_64-linux-gnu/libjansson.so.4.11.0)
==16622==    by 0x1192F2: og_client_state_process_payload_rest (ogAdmServer.c:4425)
==16622==    by 0x11A354: og_client_read_cb (ogAdmServer.c:4728)
==16622==    by 0x693ED72: ev_invoke_pending (in /usr/lib/x86_64-linux-gnu/libev.so.4.0.0)
==16622==    by 0x69423DD: ev_run (in /usr/lib/x86_64-linux-gnu/libev.so.4.0.0)
==16622==    by 0x10D19C: ev_loop (ev.h:835)
==16622==    by 0x11AAED: main (ogAdmServer.c:4896)
2020-04-08 14:29:37 +02:00
Javier Sánchez Parra d9b24135c7 #927 Remove opengnsys.cron script
This commit removes the opengnsys cron script that checks if the
ogAdmServer is running or using too much CPU and restarts the process.
Now that the ogAdmServer is more stable this script is not needed. Also,
without this script we are going to know better when the ogAdmServer is
having a problem and get better reports.

In case you observe a crash in ogAdmServer, please, run it under valgrind:

  valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --log-file=/tmp/ogadmserver-valgrind-out.log /opt/opengnsys/sbin/ogAdmServer -f /opt/opengnsys/etc/ogAdmServer.cfg

And post your 'ogadmserver-valgrind-out.log' file to the mailing list.

This patch changes the installer and the update scripts too. They do
not configure opengnsys.cron anymore. The update script search and
remove the deprecated files as well.
2020-04-07 12:12:20 +02:00
Javier Sánchez Parra 4d7fd58c85 #915: Reply 413 status code when no payload is too large
If the payload is too long, then the API returns a 413 status code
(following RFC 7231) instead of the resetting the communication without
replying. This way it should be more clear when this problem is
happening.

The other commit I did related to the issue of the payload size
(1d9d93c) said that ogAdmServer do not log anything when it receives a
payload of a bigger size than supported, this is false. ogAdmServer
prints the next message to the syslog when this happens:

  ogAdmServer[6824]: client request from 127.0.0.1:43552 is too long
2020-04-06 16:35:20 +02:00
Javier Sánchez Parra 1d9d93c7e9 #915 Increase request max length
Trying to send a WakeOnLan command to 150 clients I noticed that the
ogAdmClient closed (RST) the communication with the WebConsole without
answering or logging anything. The Webconsole logged:

	php: error occured during curl exec. Additioanl info: Array
	php: (
	php:     [url] => http://127.0.0.1:8888/wol
	php:     [content_type] =>
	php:     [http_code] => 0
	php:     [header_size] => 0
	php:     [request_size] => 199
	php:     [filetime] => -1
	php:     [ssl_verify_result] => 0
	php:     [redirect_count] => 0
	php:     [total_time] => 1.003122
	php:     [namelookup_time] => 4.9E-5
	php:     [connect_time] => 0.000273
	php:     [pretransfer_time] => 0.00035
	php:     [size_upload] => 7007
	php:     [size_download] => 0
	php:     [speed_download] => 0
	php:     [speed_upload] => 6986
	php:     [download_content_length] => -1
	php:     [upload_content_length] => 7007
	php:     [starttransfer_time] => 1.001793
	php:     [redirect_time] => 0
	php:     [redirect_url] =>
	php:     [primary_ip] => 127.0.0.1
	php:     [certinfo] => Array
	php:         (
	php:         )
	php:
	php:     [primary_port] => 8888
	php:     [local_ip] => 127.0.0.1
	php:     [local_port] => 43016
	php:     [http_version] => 0
	php:     [protocol] => 1
	php:     [ssl_verifyresult] => 0
	php:     [scheme] => HTTP
	php: )

This happened because request max length is set to 4096 bytes and my
request had a size of 7075 bytes. So, the max length was exceeded.

This commit increase the max length from 4096 to 16384. This way the
ogAdmServer supports larger request messages.
2020-04-03 14:43:55 +02:00
Ramón M. Gómez a9a6da5e85 #839: Fix index overflow in REST route `GET /ous/{ouid}/labs/{labid}/clients/status` 2020-04-02 18:55:32 +02:00
Javier Sánchez Parra f83884537c #941 Restore mysql service in installer
This fixes commit 930563c: the installation script tries to change
MySQL root password without previously starting MySQL.

This commit restores the code that enables and restart MySQL to its
previous position, before changing the password, and adds a new restart
MySQL command.
2020-04-02 15:15:08 +02:00
Javier Sánchez Parra 930563ce0d #941 Set MySQL encoding to UTF-8
This commit sets the MySQL enconding to UTF8. This way we can avoid
problems with special characters in strings, like: ó.

It also changes the installation script to always copy the MySQL
configuration template and restart MySQL. So, even if the server had
MySQL installed before the OpenGnsys installation, the script
configures MySQL.

Example error that this commit should fix:

	ogAdmServer[12524]: failed to query database
	(actualizaSoftware:2380) 1366: Incorrect string value:
	'\xF3n de ...' for column 'descripcion' at row 1

The encoding configuration before this commit should be like this:

	mysql> SHOW VARIABLES LIKE  'char%';
	+--------------------------+----------------------------+
	| Variable_name            | Value                      |
	+--------------------------+----------------------------+
	| character_set_client     | utf8                       |
	| character_set_connection | utf8                       |
	| character_set_database   | latin1                     |
	| character_set_filesystem | binary                     |
	| character_set_results    | utf8                       |
	| character_set_server     | latin1                     |
	| character_set_system     | utf8                       |
	| character_sets_dir       | /usr/share/mysql/charsets/ |
	+--------------------------+----------------------------+
	8 rows in set (0.10 sec)

The encoding configuration after this commit should be like this:

	mysql> SHOW VARIABLES LIKE  'char%';
	+--------------------------+----------------------------+
	| Variable_name            | Value                      |
	+--------------------------+----------------------------+
	| character_set_client     | utf8                       |
	| character_set_connection | utf8                       |
	| character_set_database   | utf8                       |
	| character_set_filesystem | binary                     |
	| character_set_results    | utf8                       |
	| character_set_server     | utf8                       |
	| character_set_system     | utf8                       |
	| character_sets_dir       | /usr/share/mysql/charsets/ |
	+--------------------------+----------------------------+
	8 rows in set (0.01 sec)
2020-04-02 13:48:59 +02:00
Ramón M. Gómez 6a68c4cbb3 #839: Fix bug when creating database event. 2020-04-01 12:54:37 +02:00
OpenGnSys Support Team 9bdd4aa13d #941 memleak in actualizaConfiguracion
Missing dbi_result_free(), use syslog() for logging.
2020-03-31 11:39:13 +02:00
OpenGnSys Support Team 9cf5bf7181 #941 Missing error in actualizaSoftware() and memleak in result
This patch fixes e052fdceec that adds a missing error in case
the insertion fails. This also releases the result in case the
entry exists.
2020-03-26 11:45:19 +01:00
OpenGnSys Support Team 2a193c5515 #580 double free in checkDato()
This is fixing e052fdceec that releases the libdbi result twice.
2020-03-24 11:17:46 +01:00
Javier Sánchez Parra c089f2991b #941 Add missing dependencies for the ogAdmServer
This commits adds the binary of libdbi and the drivers to work with
MySQL. A previous commit (1479f77) added the headers for the
compilation, libdbi-dev.
2020-03-17 12:56:19 +01:00
Irina Gomez 040651022a #964 Redoing change @7d8d8af deleted by mistake. 2020-03-17 08:30:25 +00:00
Irina Gomez 6bf7eaeb96 Revert "#969 Images tree: lists are used for show tree and context menues."
This reverts commit 46eee4148b.
2020-03-17 08:23:03 +00:00
irinagomez 4d9240ce27 Revert "#969 New branch will create for images tree."
This reverts commit e3047a3212.
2020-03-17 07:51:33 +00:00
Irina Gomez 46eee4148b #969 Images tree: lists are used for show tree and context menues. 2020-03-16 14:02:50 +01:00
Ramón M. Gómez e3047a3212 #964: Uninstall script removes MySQL/MariaDB template file. 2020-03-12 10:07:33 +01:00
Ramón M. Gómez 3b0436d828 #964: Update script copies the MySQL / MariaDB template configuration file. 2020-03-11 18:12:45 +01:00
Ramón M. Gómez 7d8d8afe24 #964: Fix bug when copying MySQL / MariaDB template configuration file. 2020-03-11 18:10:25 +01:00
Ramón M. Gómez b302b5462f #959: Update OGAgent version. 2020-03-11 15:07:45 +01:00
Ramón M. Gómez 852bb80376 #962: Update warnings for the web command "Run Script" (Windows script does not require escape characters). 2020-03-11 15:02:50 +01:00
Ramón M. Gómez 2078a2f2e0 #963: Script `launchOgagentInstaller` schedules an unattended installation of OGAgent for Windows. 2020-03-11 14:24:55 +01:00
Ramón M. Gómez e838fc3eb4 #963: OGAgent Installer for Windows: parameter page is shown after license page. 2020-03-11 13:26:44 +01:00
Ramón M. Gómez 5a6a9ce0f1 #963: OGAgent Installer for Windows supports `/S /server IPAddress` parameters to assign the server IP address in silent mode and automatically starts the services just before finishing the installation. 2020-03-11 11:47:57 +01:00
Ramón M. Gómez 911b6597c2 #963: Add a new option and dialog to the OGAgent Installer for Windows to enter the IP address of the OpenGnsys Server.
Now you can enter the IP address by running `OGAgentSetup-x.x.x.exe /server IPAddress` or by editing the related dialog.
2020-03-11 10:52:57 +01:00
Ramón M. Gómez 19349f96d3 #963: Uninstalling OGAgent for Windows does not require a reboot (you can run `OGAgentUninstaller.exe /S` for an unattended uninstall). 2020-03-10 11:21:49 +01:00
Ramón M. Gómez 1479f77f77 #941: Add new installation dependencies to compile services. 2020-03-10 09:39:08 +01:00
OpenGnSys Support Team cb164628ab #915 remove dead code in ogAdmServer
These have been replaced by the new REST API.
2020-03-07 13:24:01 +01:00
Roberto Hueso Gómez fe20a3ce89 #580 Fix uninitialized variables in ogAdmServer
This patch ensures that some variables are initialized before using them.
2020-03-07 13:22:56 +01:00
OpenGnSys Support Team ab71ca8619 #967 rename .cpp to .c
This actually is C code, use the gcc compiler instead.
2020-03-05 23:45:48 +01:00
OpenGnSys Support Team 8aa0c08b30 #967 Replace remaining C++ code 2020-03-05 23:42:35 +01:00
Ramón M. Gómez 08815ac988 #959: Installer copies the new MySQL configuration template to enable the event scheduler automatically. 2020-03-05 19:13:05 +01:00
Ramón M. Gómez 2b223568da #940: Code cleaning and cosmetic changes. 2020-03-05 13:56:18 +01:00
Ramón M. Gómez 6f3184fc43 #940: Update Ubuntu and Windows OGAgent dependencies. 2020-03-05 13:52:22 +01:00
Ramón M. Gómez f12387bbd8 #962: Fix bug when OGAgent processes script lines; now it's not necessary to use escape characters in script input box. 2020-03-05 08:14:28 +01:00
Ramón M. Gómez d230bb755c #966: Function `ogListSoftware` also lists Flatpak and Snappy applications. 2020-03-04 18:53:15 +01:00
Ramón M. Gómez fd8609ed77 #955: Adapt DHCP template file to `addtodhcp` script. 2020-03-04 17:53:00 +01:00
Ramón M. Gómez 810f5e0716 #962: OGAgent runs each script line independently to solve a Python for Windows problem. 2020-03-04 16:23:03 +01:00
OpenGnSys Support Team 7db4aa449f #941 use dbi layer from envioProgramacion 2020-03-04 14:55:11 +01:00
OpenGnSys Support Team 54bd82debe #941 use dbi layer from actualizaHardware 2020-03-04 14:55:04 +01:00
OpenGnSys Support Team f6322a5b90 #941 use dbi layer from RESPUESTA_CrearSoftIncremental 2020-03-04 14:55:01 +01:00
OpenGnSys Support Team 7a8fae67ed #941 use dbi layer from actualizaCreacionImagen() 2020-03-04 14:54:59 +01:00
OpenGnSys Support Team e052fdceec #941 use dbi layer from actualizaConfiguracion() 2020-03-04 14:54:55 +01:00
OpenGnSys Support Team da48c98a45 #941 use dbi layer from procesoInclusionCliente() 2020-03-04 14:54:52 +01:00
OpenGnSys Support Team 8a2ae26f2b #941 use dbi layer from respuestaEstandar()
And update all callers.

Some of the db.Open() calls cannot be removed yet, since there are still
more function dependencies that need to be converted too.
2020-03-04 14:54:49 +01:00
OpenGnSys Support Team 89c7bd0614 #941 Consolidate CrearSoftIncremental, RestaurarImagenBasica, RestaurarSoftIncremental, Configurar and EjecutarScript
These functions are identical, remove duplicated code.
2020-03-04 14:54:46 +01:00
OpenGnSys Support Team 7df4693ab3 #941 Consolidate RESPUESTA_Reiniciar, RESPUESTA_IniciarSesion and RESPUESTA_Apagar
They are identical, remove duplicated code.
2020-03-04 14:54:43 +01:00
OpenGnSys Support Team 36b7cf477f #941 Consolidate RESPUESTA_Configurar and RESPUESTA_EjecutarScript
These function are almost identical, remove duplicated code.
2020-03-04 14:54:39 +01:00