summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralonso <alonso@us.es>2009-11-22 01:23:56 +0000
committeralonso <alonso@us.es>2009-11-22 01:23:56 +0000
commitb0bb14fd94566a652b40ef1500d55967e08d964b (patch)
treedb493e1e5cc1b1ca515faaa20aa1d328afc599b2
parent11956a97e060e8ee7488afb97071d2c49cf1033c (diff)
git-svn-id: https://opengnsys.es/svn/trunk@617 a21b9725-9963-47de-94b9-378ad31fedc9
-rw-r--r--admin/Database/ogBDAdmin.sql100
-rw-r--r--admin/Services/ogAdmClient/ogAdmClient.cfg1
-rw-r--r--admin/Services/ogAdmClient/sources/ogAdmClient.c342
-rw-r--r--admin/Services/ogAdmClient/sources/ogAdmClient.h27
-rw-r--r--admin/Services/ogAdmRepo/sources/ogAdmRepo.cpp2
-rw-r--r--admin/Services/ogAdmServer/sources/ogAdmServer.cpp563
-rw-r--r--admin/Services/ogAdmServer/sources/ogAdmServer.h19
-rw-r--r--admin/WebConsole/comandos/gestores/gestor_IniciarSesion.php4
-rw-r--r--admin/WebConsole/comandos/gestores/gestor_InventarioSoftware.php1
-rw-r--r--admin/WebConsole/estilos.css12
-rw-r--r--admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php20
-rw-r--r--admin/WebConsole/principal/colasacciones.php4
-rw-r--r--admin/WebConsole/varios/menucliente.php26
-rw-r--r--admin/WebConsole/varios/msgbrowser.php39
-rwxr-xr-xclient/nfsexport/scripts/createLogicalPartitions1
-rwxr-xr-xclient/nfsexport/scripts/createPrimaryPartitions4
-rwxr-xr-xclient/nfsexport/scripts/formatFs4
-rwxr-xr-xclient/nfsexport/scripts/getFsType5
-rwxr-xr-xclient/nfsexport/scripts/getIpAddress3
-rwxr-xr-xclient/nfsexport/scripts/getOsVersion5
-rwxr-xr-xclient/nfsexport/scripts/listHardwareInfo24
-rwxr-xr-xclient/nfsexport/scripts/menuBrowser6
22 files changed, 741 insertions, 471 deletions
diff --git a/admin/Database/ogBDAdmin.sql b/admin/Database/ogBDAdmin.sql
index d01e01c3..ea9ab1b6 100644
--- a/admin/Database/ogBDAdmin.sql
+++ b/admin/Database/ogBDAdmin.sql
@@ -37,7 +37,7 @@ CREATE TABLE IF NOT EXISTS `acciones` (
`accionid` int(11) default NULL,
`idnotificador` int(11) default NULL,
PRIMARY KEY (`idaccion`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `acciones`
@@ -61,7 +61,7 @@ CREATE TABLE IF NOT EXISTS `acciones_menus` (
`descripitem` varchar(250) default NULL,
`orden` tinyint(4) default NULL,
PRIMARY KEY (`idaccionmenu`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `acciones_menus`
@@ -91,7 +91,7 @@ CREATE TABLE IF NOT EXISTS `aulas` (
`horaresevini` tinyint(4) default NULL,
`horaresevfin` tinyint(4) default NULL,
PRIMARY KEY (`idaula`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `aulas`
@@ -113,7 +113,7 @@ CREATE TABLE IF NOT EXISTS `campus` (
`cuadro_y` tinyint(3) default NULL,
`cuadro_x` tinyint(3) default NULL,
PRIMARY KEY (`idcampus`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `campus`
@@ -133,7 +133,7 @@ CREATE TABLE IF NOT EXISTS `centros` (
`identidad` int(11) default NULL,
`comentarios` text,
PRIMARY KEY (`idcentro`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `centros`
@@ -171,7 +171,7 @@ CREATE TABLE IF NOT EXISTS `comandos` (
`ejecutor` char(1) default NULL,
`activo` tinyint(1) NOT NULL,
PRIMARY KEY (`idcomando`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ;
--
-- Volcar la base de datos para la tabla `comandos`
@@ -221,7 +221,7 @@ CREATE TABLE IF NOT EXISTS `comandos_eng` (
`interactivo` tinyint(1) default NULL,
`ejecutor` char(1) default NULL,
PRIMARY KEY (`idcomando`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `comandos_eng`
@@ -240,7 +240,7 @@ CREATE TABLE IF NOT EXISTS `configuraciones` (
`descripcion` varchar(250) default NULL,
`configuracion` text NOT NULL,
PRIMARY KEY (`idconfiguracion`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `configuraciones`
@@ -261,7 +261,7 @@ CREATE TABLE IF NOT EXISTS `entidades` (
`iduniversidad` int(11) default NULL,
`grupoid` int(11) default NULL,
PRIMARY KEY (`identidad`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `entidades`
@@ -279,7 +279,7 @@ CREATE TABLE IF NOT EXISTS `estatus` (
`idestatus` int(11) NOT NULL auto_increment,
`descripcion` varchar(250) NOT NULL default '',
PRIMARY KEY (`idestatus`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
--
-- Volcar la base de datos para la tabla `estatus`
@@ -308,7 +308,7 @@ CREATE TABLE IF NOT EXISTS `grupos` (
`iduniversidad` int(11) default NULL,
`comentarios` text,
PRIMARY KEY (`idgrupo`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `grupos`
@@ -329,7 +329,7 @@ CREATE TABLE IF NOT EXISTS `gruposordenadores` (
`grupoid` int(11) default NULL,
`comentarios` text,
PRIMARY KEY (`idgrupo`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Estructura de tabla para la tabla `hardwares`
@@ -342,7 +342,7 @@ CREATE TABLE IF NOT EXISTS `hardwares` (
`idcentro` int(11) NOT NULL default '0',
`grupoid` int(11) default NULL,
PRIMARY KEY (`idhardware`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
@@ -356,7 +356,7 @@ CREATE TABLE IF NOT EXISTS `iconos` (
`idtipoicono` int(11) default NULL,
`descripcion` varchar(250) default NULL,
PRIMARY KEY (`idicono`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ;
--
-- Volcar la base de datos para la tabla `iconos`
@@ -390,7 +390,7 @@ CREATE TABLE IF NOT EXISTS `idiomas` (
`descripcion` varchar(100) default NULL,
`nemonico` char(3) default NULL,
PRIMARY KEY (`ididioma`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- Volcar la base de datos para la tabla `idiomas`
@@ -416,7 +416,7 @@ CREATE TABLE IF NOT EXISTS `imagenes` (
`comentarios` text,
`grupoid` int(11) default NULL,
PRIMARY KEY (`idimagen`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `imagenes`
@@ -433,7 +433,7 @@ DROP TABLE IF EXISTS `imagenes_softincremental`;
CREATE TABLE IF NOT EXISTS `imagenes_softincremental` (
`idimagen` int(11) NOT NULL default '0',
`idsoftincremental` int(11) NOT NULL default '0'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Volcar la base de datos para la tabla `imagenes_softincremental`
@@ -465,7 +465,7 @@ CREATE TABLE IF NOT EXISTS `menus` (
`htmlmenupri` varchar(250) default NULL,
`resolucion` tinyint(4) default NULL,
PRIMARY KEY (`idmenu`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `menus`
@@ -488,7 +488,7 @@ CREATE TABLE IF NOT EXISTS `notificaciones` (
`descrinotificacion` text,
`idaccion` int(11) default NULL,
PRIMARY KEY (`idnotificacion`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `notificaciones`
@@ -517,7 +517,7 @@ CREATE TABLE IF NOT EXISTS `ordenadores` (
`idparticion` int(11) default NULL,
`cache` int(11) default NULL,
PRIMARY KEY (`idordenador`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `ordenadores`
@@ -535,7 +535,7 @@ CREATE TABLE IF NOT EXISTS `ordenador_imagen` (
`idordenador` int(11) NOT NULL default '0',
`particion` int(11) NOT NULL default '0',
`idimagen` int(11) NOT NULL default '0'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Volcar la base de datos para la tabla `ordenador_imagen`
@@ -552,7 +552,7 @@ CREATE TABLE `ordenador_perfilsoft` (
`idordenador` int(11) NOT NULL default '0',
`particion` int(11) NOT NULL default '0',
`idperfilsoft` int(11) NOT NULL default '0'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
@@ -570,7 +570,7 @@ CREATE TABLE IF NOT EXISTS `parametros` (
`nomliteral` varchar(250) default NULL,
`tipopa` tinyint(1) default NULL,
PRIMARY KEY (`idparametro`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;
--
-- Volcar la base de datos para la tabla `parametros`
@@ -609,7 +609,7 @@ CREATE TABLE IF NOT EXISTS `particiones` (
`idparticion` int(11) NOT NULL auto_increment,
`particion` varchar(250) NOT NULL default '',
PRIMARY KEY (`idparticion`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `particiones`
@@ -630,7 +630,7 @@ CREATE TABLE IF NOT EXISTS `perfileshard` (
`comentarios` text,
`grupoid` int(11) default NULL,
PRIMARY KEY (`idperfilhard`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `perfileshard`
@@ -647,7 +647,7 @@ DROP TABLE IF EXISTS `perfileshard_hardwares`;
CREATE TABLE IF NOT EXISTS `perfileshard_hardwares` (
`idperfilhard` int(11) NOT NULL default '0',
`idhardware` int(11) NOT NULL default '0'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Volcar la base de datos para la tabla `perfileshard_hardwares`
@@ -666,7 +666,7 @@ CREATE TABLE IF NOT EXISTS `perfileshard_perfilessoft` (
`idperfilhard` int(11) NOT NULL default '0',
`idperfilsoft` int(11) NOT NULL default '0',
PRIMARY KEY (`idphardidpsoft`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `perfileshard_perfilessoft`
@@ -687,7 +687,7 @@ CREATE TABLE IF NOT EXISTS `perfilessoft` (
`comentarios` text,
`grupoid` int(11) default NULL,
PRIMARY KEY (`idperfilsoft`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `perfilessoft`
@@ -704,7 +704,7 @@ DROP TABLE IF EXISTS `perfilessoft_softwares`;
CREATE TABLE IF NOT EXISTS `perfilessoft_softwares` (
`idperfilsoft` int(11) NOT NULL default '0',
`idsoftware` int(11) NOT NULL default '0'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Volcar la base de datos para la tabla `perfilessoft_softwares`
@@ -721,7 +721,7 @@ DROP TABLE IF EXISTS `phard_psoft_softincremental`;
CREATE TABLE IF NOT EXISTS `phard_psoft_softincremental` (
`idphardidpsoft` int(11) NOT NULL default '0',
`idsoftincremental` int(11) NOT NULL default '0'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Volcar la base de datos para la tabla `phard_psoft_softincremental`
@@ -743,7 +743,7 @@ CREATE TABLE IF NOT EXISTS `procedimientos` (
`comentarios` text,
`grupoid` int(11) default '0',
PRIMARY KEY (`idprocedimiento`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `procedimientos`
@@ -764,7 +764,7 @@ CREATE TABLE IF NOT EXISTS `procedimientos_comandos` (
`idcomando` int(11) NOT NULL default '0',
`parametros` text,
PRIMARY KEY (`idprocedimientocomando`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `procedimientos_comandos`
@@ -800,7 +800,7 @@ CREATE TABLE IF NOT EXISTS `programaciones` (
`minutosfin` tinyint(4) default NULL,
`suspendida` tinyint(1) default NULL,
PRIMARY KEY (`idprogramacion`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `programaciones`
@@ -829,7 +829,7 @@ CREATE TABLE IF NOT EXISTS `reservas` (
`idtrabajo` int(11) default NULL,
`estado` tinyint(4) default NULL,
PRIMARY KEY (`idreserva`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `reservas`
@@ -849,7 +849,7 @@ CREATE TABLE IF NOT EXISTS `reservastemporal` (
`idreserva` int(11) NOT NULL default '0',
`fecha` date NOT NULL default '0000-00-00',
PRIMARY KEY (`idreservatemporal`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `reservastemporal`
@@ -874,7 +874,7 @@ CREATE TABLE IF NOT EXISTS `servidoresdhcp` (
`grupoid` int(11) default NULL,
`comentarios` text,
PRIMARY KEY (`idservidordhcp`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `servidoresdhcp`
@@ -901,7 +901,7 @@ CREATE TABLE `servidoresrembo` (
`comentarios` text,
`puertorepo` int(11) NOT NULL,
PRIMARY KEY (`idservidorrembo`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `servidoresrembo`
@@ -924,7 +924,7 @@ CREATE TABLE IF NOT EXISTS `softincrementales` (
`comentarios` text,
`grupoid` int(11) default NULL,
PRIMARY KEY (`idsoftincremental`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `softincrementales`
@@ -941,7 +941,7 @@ DROP TABLE IF EXISTS `softincremental_softwares`;
CREATE TABLE IF NOT EXISTS `softincremental_softwares` (
`idsoftincremental` int(11) NOT NULL default '0',
`idsoftware` int(11) NOT NULL default '0'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Volcar la base de datos para la tabla `softincremental_softwares`
@@ -964,7 +964,7 @@ CREATE TABLE IF NOT EXISTS `softwares` (
`idtiposo` int(11) default NULL,
`grupoid` int(11) default NULL,
PRIMARY KEY (`idsoftware`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `softwares`
@@ -986,7 +986,7 @@ CREATE TABLE IF NOT EXISTS `tareas` (
`comentarios` text,
`grupoid` int(11) default '0',
PRIMARY KEY (`idtarea`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `tareas`
@@ -1009,7 +1009,7 @@ CREATE TABLE IF NOT EXISTS `tareas_comandos` (
`idambito` int(11) default NULL,
`parametros` text,
PRIMARY KEY (`idtareacomando`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `tareas_comandos`
@@ -1030,7 +1030,7 @@ CREATE TABLE IF NOT EXISTS `tipohardwares` (
`nemonico` char(3) NOT NULL,
`pci` tinyint(1) NOT NULL,
PRIMARY KEY (`idtipohardware`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=17 ;
--
-- Volcar la base de datos para la tabla `tipohardwares`
@@ -1065,7 +1065,7 @@ CREATE TABLE IF NOT EXISTS `tiposoftwares` (
`descripcion` varchar(250) NOT NULL default '',
`urlimg` varchar(250) NOT NULL default '',
PRIMARY KEY (`idtiposoftware`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- Volcar la base de datos para la tabla `tiposoftwares`
@@ -1090,7 +1090,7 @@ CREATE TABLE IF NOT EXISTS `tiposos` (
`descripcionrmb` varchar(50) default NULL,
`tipopar` varchar(50) default NULL,
PRIMARY KEY (`idtiposo`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=17 ;
--
-- Volcar la base de datos para la tabla `tiposos`
@@ -1129,7 +1129,7 @@ CREATE TABLE IF NOT EXISTS `trabajos` (
`comentarios` text,
`grupoid` int(11) default NULL,
PRIMARY KEY (`idtrabajo`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `trabajos`
@@ -1151,7 +1151,7 @@ CREATE TABLE IF NOT EXISTS `trabajos_tareas` (
`ambitskwrk` text,
`parametros` text,
PRIMARY KEY (`idtrabajotarea`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `trabajos_tareas`
@@ -1170,7 +1170,7 @@ CREATE TABLE IF NOT EXISTS `universidades` (
`nombreuniversidad` varchar(200) NOT NULL default '',
`comentarios` text,
PRIMARY KEY (`iduniversidad`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- Volcar la base de datos para la tabla `universidades`
@@ -1190,7 +1190,7 @@ CREATE TABLE IF NOT EXISTS `urlimagesitems` (
`idurlimagesitems` int(11) NOT NULL auto_increment,
`descripcion` varchar(250) NOT NULL default '',
PRIMARY KEY (`idurlimagesitems`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `urlimagesitems`
@@ -1214,7 +1214,7 @@ CREATE TABLE IF NOT EXISTS `usuarios` (
`ididioma` int(11) default NULL,
`idtipousuario` tinyint(4) default NULL,
PRIMARY KEY (`idusuario`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- Volcar la base de datos para la tabla `usuarios`
diff --git a/admin/Services/ogAdmClient/ogAdmClient.cfg b/admin/Services/ogAdmClient/ogAdmClient.cfg
index cfe7de7d..57d84bde 100644
--- a/admin/Services/ogAdmClient/ogAdmClient.cfg
+++ b/admin/Services/ogAdmClient/ogAdmClient.cfg
@@ -2,5 +2,6 @@ ServerIP=SERVERIP
Puerto=2008
ClientScripts=/opt/opengnsys/scripts
UrlMenu=OPENGNSYSURL/varios/menubrowser.php
+UrlMsg=OPENGNSYSURL/varios/msgbrowser.php
diff --git a/admin/Services/ogAdmClient/sources/ogAdmClient.c b/admin/Services/ogAdmClient/sources/ogAdmClient.c
index aa7ada3c..25c8ff72 100644
--- a/admin/Services/ogAdmClient/sources/ogAdmClient.c
+++ b/admin/Services/ogAdmClient/sources/ogAdmClient.c
@@ -143,22 +143,22 @@ int LeeFileConfiguracion()
char * buffer,*lineas[100],*dualparametro[2];
char ch[2];
int i,numlin,resul;
- FILE* Fconfig;
+ FILE* Fsalida;
if(szPathFileCfg==NULL) return(false); // Nombre del fichero de configuración erróneo
- Fconfig = fopen ( szPathFileCfg , "rb" ); // Abre fichero de configuración
- if (Fconfig==NULL)
+ Fsalida = fopen ( szPathFileCfg , "rb" ); // Abre fichero de configuración
+ if (Fsalida==NULL)
return(false); // Error de apertura del fichero de configuración
- fseek (Fconfig , 0 , SEEK_END);
- lSize = ftell (Fconfig); // Obtiene tamaño del fichero.
- rewind (Fconfig); // Coloca puntero de lectura al principio
+ fseek (Fsalida , 0 , SEEK_END);
+ lSize = ftell (Fsalida); // Obtiene tamaño del fichero.
+ rewind (Fsalida); // Coloca puntero de lectura al principio
buffer =(char*)ReservaMemoria(lSize); // Toma memoria para el buffer de lectura.
if (buffer == NULL)
return(false); // Error de reserva de memoria para buffer de lectura
- fread (buffer,1,lSize,Fconfig); // Lee contenido del fichero
- fclose(Fconfig);
+ fread (buffer,1,lSize,Fsalida); // Lee contenido del fichero
+ fclose(Fsalida);
//inicializar variables globales
IPlocal[0]='\0'; // IP local
@@ -189,8 +189,13 @@ int LeeFileConfiguracion()
resul=strcmp(dualparametro[0],"UrlMenu");
if(resul==0)
strcpy(URLMENU,dualparametro[1]);
- else
- return(false);
+ else{
+ resul=strcmp(dualparametro[0],"UrlMsg");
+ if(resul==0)
+ strcpy(URLMSG,dualparametro[1]);
+ else
+ return(false);
+ }
}
}
}
@@ -219,10 +224,10 @@ void Log(char* msg)
fprintf (FLog,"%02d/%02d/%d %02d:%02d ***%s\n",timeinfo->tm_mday,timeinfo->tm_mon+1,timeinfo->tm_year+1900,timeinfo->tm_hour,timeinfo->tm_min,msg);
fclose(FLog);
// Lo muestra por consola
-/*
+
sprintf(msgcon,"echo '%02d/%02d/%d %02d:%02d ***%s'\n",timeinfo->tm_mday,timeinfo->tm_mon+1,timeinfo->tm_year+1900,timeinfo->tm_hour,timeinfo->tm_min,msg);
system(msgcon);
-*/
+
}
//______________________________________________________________________________________________________
@@ -262,7 +267,7 @@ void UltimoErrorScript(int herror,char*modulo)
{
e.herror=herror;
if(herror>MAXERRORSCRIPT){
- strcpy(e.msg,tbErrores[MAXERRORSCRIPT+1]);
+ strcpy(e.msg,tbErroresScripts[MAXERRORSCRIPT]);
}
else
strcpy(e.msg,tbErroresScripts[herror]);
@@ -360,7 +365,7 @@ int SplitParametros(char **trozos,char *cadena, char * ch)
// El parámetro salida recoge la salida por pantalla que se genera en la ejecución del script siempre que
// sea disinto de NULL, esto es, si al llamar a la función este parámetro es NULL no se recogerá dicha salida.
//______________________________________________________________________________________________________
-int EjecutarScript ( char *script,char * parametros,char *salida,int swasci)
+int oldEjecutarScript ( char *script,char * parametros,char *salida,int swasci)
{
int descr[2]; /* Descriptores de E y S de la turbería */
int bytesleidos; /* Bytes leidos en el mensaje */
@@ -434,6 +439,119 @@ int EjecutarScript ( char *script,char * parametros,char *salida,int swasci)
return(-1);
}
//______________________________________________________________________________________________________
+// Función: EjecutarScript
+//
+// Descripción:
+// Ejecuta un script de la shell creando un proceso hijo para ello
+// Parámetros:
+// - script: Nombre del script de la shell
+// - parametros: Parámetros que se le pasarán al script
+// - salida: Recoge la salida por pantalla que genera el script
+// - swasci: Filtra la respuesta del script:
+// true=Elimina de la respuesta caracteres menores de asci 32
+// false= No los elimina
+// Devuelve:
+// Código de error de la ejecución. ( Ver tabla de código de errores en la documentación)
+// Especificaciones:
+// El parámetro salida recoge la salida desde un fichero que se genera en la ejecución del script siempre que
+// sea distinto de NULL, esto es, si al llamar a la función este parámetro es NULL no se recogerá dicha salida.
+//______________________________________________________________________________________________________
+int EjecutarScript ( char *script,char * parametros,char *salida,int swasci)
+{
+ int descr[2]; /* Descriptores de E y S de la turbería */
+ int resul,bytesleidos,estado;
+ pid_t pid;
+ pipe (descr);
+ int i,nargs;
+ FILE *Fretorno;
+ char buffer[512];
+
+ if(ndebug>2){
+ sprintf(msglog,"Ejecución del script: %s",script);
+ Log(msglog);
+ }
+
+ nargs=SplitParametros(argumentos,parametros," "); // Crea matriz de los argumentos del scripts
+ for(i=nargs;i<MAXARGS;i++){
+ argumentos[i]=NULL;
+ }
+
+ if(ndebug>2){
+ for(i=0;i<nargs;i++){
+ sprintf(msglog,"Parámetro %d del script: %s",i,argumentos[i]);
+ Log(msglog);
+ }
+ }
+
+ if(salida!=(char*)NULL){ // Si se solicita retorno de información...
+ Fretorno = fopen("/tmp/retorno","w" );
+ if (Fretorno==NULL){
+ return(8); // Error en la eliminación del archivo temporal de intercambio"
+ }
+ fclose(Fretorno);
+ }
+
+ if((pid=fork())==0){
+ /* Proceso hijo que ejecuta el script */
+ close (descr[LEER]);
+ dup2 (descr[ESCRIBIR], 1);
+ close (descr[ESCRIBIR]);
+ resul=execv(script,argumentos);
+ //resul=execlp (script, script, argumentos[0],argumentos[1],NULL);
+ exit(resul);
+ }
+ else {
+ if (pid ==-1){
+ sprintf(msglog,"***Error en la creación del proceso hijo pid=%d",pid);
+ Log(msglog);
+ return(-1);
+ }
+ /* Proceso padre que lee la salida del script */
+ close (descr[ESCRIBIR]);
+ bytesleidos = read (descr[LEER], buffer, 512);
+ while(bytesleidos>0){
+ bytesleidos = read (descr[LEER], buffer, 512);
+ }
+ close (descr[LEER]);
+ if(salida!=(char*)NULL){ // Si se solicita retorno de información...
+ FILE *Fretorno = fopen("/tmp/retorno","rb" );
+ long lSize;
+ if (Fretorno!=NULL){
+ fseek (Fretorno , 0 , SEEK_END); // Obtiene tamaño del fichero.
+ lSize = ftell (Fretorno);
+ rewind (Fretorno);
+ if(lSize>LONGITUD_SCRIPTSALIDA){
+ lSize=LONGITUD_SCRIPTSALIDA;
+ Log("***Aviso, la información de salida excede de la longitud permitida. Puede haberse truncado");
+ }
+ fread (salida,1,lSize,Fretorno); // Lee contenido del fichero
+ for(i=lSize-1;i>=0;i--){
+ if(salida[i]<32 && swasci) // Caracter Asci menor de 32
+ salida[i]='\0';
+ }
+ fclose(Fretorno);
+ }
+ else
+ return(9); // Error en la eliminación del archivo temporal de intercambio"
+
+ }
+
+ if(ndebug>2){
+ sprintf(msglog,"Información devuelta %s",salida);
+ Log(msglog);
+ }
+ //kill(pid,SIGQUIT);
+ waitpid(pid,&estado,0);
+ resul=WEXITSTATUS(estado);
+ if(ndebug>2){
+ sprintf(msglog,"Estatus de finalización del script:%d",resul);
+ Log(msglog);
+ }
+ return(resul);
+ }
+ return(-1);
+}
+//______________________________________________________________________________________________________
// Función: ReservaMemoria
//
// Descripción:
@@ -979,7 +1097,7 @@ int GestionTramas(TRAMA *trama)
res=strcmp(nombrefuncion,"IniciarSesion");
if(res==0)
- return(Reiniciar(trama,nwtrama));
+ return(IniciarSesion(trama,nwtrama));
res=strcmp(nombrefuncion,"RESPUESTA_InclusionCliente");
if(res==0)
@@ -1096,7 +1214,7 @@ int TomaIPlocal()
{
int herror;
- sprintf(cmdshell,"%s/getIpAddress",HIDRASCRIPTS);
+ sprintf(cmdshell,"%s/admGetIpAddress",HIDRASCRIPTS);
herror=EjecutarScript (cmdshell,NULL,IPlocal,true);
if(herror){
UltimoErrorScript(herror,"TomaIPlocal()"); // Se ha producido algún error
@@ -1280,12 +1398,15 @@ int Arrancar(TRAMA *trama,TRAMA *nwtrama)
int Apagar(TRAMA *trama,TRAMA *nwtrama)
{
int res;
-
+
sprintf(nwtrama->parametros,"nfn=RESPUESTA_Apagar\r");
res=RespuestaEjecucionComando(trama,nwtrama,true);
- strcpy(cmdshell,"poweroff");
- system(cmdshell);
- return(res);
+ sprintf(cmdshell,"poweroff");
+ res=ExecBash(cmdshell);
+ if(!res){
+ UltimoErrorScript(10,"Reiniciar()"); // Se ha producido algún error
+ }
+ return(res);
}
//______________________________________________________________________________________________________
// Función: Reiniciar
@@ -1304,12 +1425,15 @@ int Reiniciar(TRAMA *trama,TRAMA *nwtrama)
sprintf(nwtrama->parametros,"nfn=RESPUESTA_Reiniciar\r");
res=RespuestaEjecucionComando(trama,nwtrama,true);
- strcpy(cmdshell,"reboot");
- system(cmdshell);
- return(res);
+ sprintf(cmdshell,"reboot");
+ res=ExecBash(cmdshell);
+ if(!res){
+ UltimoErrorScript(10,"Reiniciar()"); // Se ha producido algún error
+ }
+ return(res);
}
//______________________________________________________________________________________________________
-// Función: IniciSesion
+// Función: IniciarSesion
//
// Descripción:
// Inicia Sesión en algún sistema operativo instalado en la máquina
@@ -1321,53 +1445,21 @@ int Reiniciar(TRAMA *trama,TRAMA *nwtrama)
// *** En ese proceso se devuelve correcto aún sabiendo que no se se sabe si va a funcionar
// pero esto evita que si se ha lanzado con seguimiento, la tarea no quede sin norificar.
//______________________________________________________________________________________________________
-int IniciarSesion(TRAMA *trama,TRAMA *nwtrama)
+int IniciarSesion(TRAMA *trama,TRAMA *nwtrama)
{
- int res,herror;
+ int res;
char *particion=TomaParametro("par",trama->parametros);
- FILE* f;
- long lSize;
-
char *disco=(char*)ReservaMemoria(2);
sprintf(disco,"1"); // Siempre el disco 1
- sprintf(parametros,"bootOs %s %s",disco,particion);
-
- //sprintf(nwtrama->parametros,"nfn=RESPUESTA_IniciarSesion\r");
- //res=RespuestaEjecucionComando(trama,nwtrama,true);
- sprintf(cmdshell,"bootOs %s %s",disco,particion);
- system(cmdshell);
- return(res);
-
-/*
- sprintf(filecmdshell,"%s/%s","/tmp","_hidrascript_");
- f = fopen(filecmdshell,"wt"); // Abre fichero de script
- if(f==NULL)
- res=false; // Error de apertura del fichero de configuración
- else{
- lSize=strlen(parametros);
- fwrite(parametros,1,lSize,f); // Escribe el código a ejecutar
- fclose(f);
-
- sprintf(cmdshell,"/bin/chmod"); // Da permiso de ejecución al fichero
- sprintf(parametros," %s %s %s","/bin/chmod","+x",filecmdshell);
-
- herror=EjecutarScript(cmdshell,parametros,NULL,true);
- if(herror){
- UltimoErrorScript(herror,"IniciarSesion()"); // Se ha producido algún error
- res=false;
- }
- else{
- sprintf(cmdshell,"%s",filecmdshell); // Ejecución el fichero de script creado
- int herror=system(cmdshell);
- if(herror){
- UltimoErrorScript(herror,"IniciarSesion()"); // Se ha producido algún error
- res=false;
- }
- }
- }
- return(res);
-*/
+ sprintf(nwtrama->parametros,"nfn=RESPUESTA_IniciarSesion\r");
+ res=RespuestaEjecucionComando(trama,nwtrama,true);
+ sprintf(cmdshell,"%s/admBootOs %s %s",HIDRASCRIPTS,disco,particion);
+ res=ExecBash(cmdshell);
+ if(!res){
+ UltimoErrorScript(10,"IniciarSesion()"); // Se ha producido algún error
+ }
+ return(res);
}
//______________________________________________________________________________________________________
// Función: Actualizar
@@ -1384,7 +1476,10 @@ int Actualizar()
{
int res;
+ kill(pidmenu,SIGQUIT);
+ MuestraMensaje(1);
res=InclusionCliente();
+ MuestraMenu(URLMENU);
return(res);
}
//______________________________________________________________________________________________________
@@ -1443,7 +1538,7 @@ int CrearPerfilSoftware(TRAMA*trama,TRAMA*nwtrama)
int CrearPerfil(char* disco,char* fileimg,char* pathimg,char* particion,char*iprepo)
{
int herror;
- sprintf(cmdshell,"%s/createImage",HIDRASCRIPTS);
+ sprintf(cmdshell,"%s/admCreateImage",HIDRASCRIPTS);
sprintf(parametros,"%s %s %s %s %s","createImage",disco,particion,"REPO",fileimg);
if(ndebug>3){
@@ -1569,8 +1664,8 @@ int RestaurandoImagen(char* disco,char* compres,char* mettran,char* fileimg,char
{
int herror;
- sprintf(cmdshell,"%s/restoreImage",HIDRASCRIPTS);
- sprintf(parametros," %s %s %s %s %s","restoreImage",disco,particion,iprepo,fileimg);
+ sprintf(cmdshell,"%s/admRestoreImage",HIDRASCRIPTS);
+ sprintf(parametros," %s %s %s %s %s","admRestoreImage","REPO",fileimg,disco,particion);
if(ndebug>3){
sprintf(msglog,"Restaurando Imagen disco:%s, partición:%s, Repositorio:%s, Imagen:%s",disco,particion,Propiedades.iprepo,fileimg);
@@ -1643,9 +1738,9 @@ int ParticionaryFormatear(TRAMA*trama,TRAMA*nwtrama)
int Particionar(char* disco,char* PrParticion,char* LoParticion)
{
if (strlen(PrParticion)>0){
- if(Particionando(disco,PrParticion,"createPrimaryPartitions")){ // Particiones Primarias
+ if(Particionando(disco,PrParticion,"admCreatePrimaryPartitions")){ // Particiones Primarias
if (strlen(LoParticion)>0)
- return(Particionando(disco,PrParticion,"createLogicalPartitions")); // Particiones Logicas
+ return(Particionando(disco,PrParticion,"admCreateLogicalPartitions")); // Particiones Logicas
else
return(true);
}
@@ -1653,7 +1748,7 @@ int Particionar(char* disco,char* PrParticion,char* LoParticion)
return(false);
}
if (strlen(LoParticion)>0)
- return(Particionando(disco,PrParticion,"createLogicalPartitions"));
+ return(Particionando(disco,PrParticion,"admCreateLogicalPartitions"));
else
return(false);
}
@@ -1704,7 +1799,7 @@ int Formatear(char* disco,char* particion)
{
int herror;
- sprintf(cmdshell,"%s/formatFs",HIDRASCRIPTS);
+ sprintf(cmdshell,"%s/admFormatFs",HIDRASCRIPTS);
sprintf(parametros," %s %s %s","FormatFs",disco,particion);
herror=EjecutarScript(cmdshell,parametros,NULL,true);
if(herror){
@@ -1767,8 +1862,8 @@ char* LeeConfiguracion(char* disco)
char *nomso;
cadenaparticiones=(char*)ReservaMemoria(LONGITUD_SCRIPTSALIDA);
- sprintf(cmdshell,"%s/listPrimaryPartitions",HIDRASCRIPTS);
- sprintf(parametros," %s %s","listPrimaryPartitions",disco);
+ sprintf(cmdshell,"%s/admListPrimaryPartitions",HIDRASCRIPTS);
+ sprintf(parametros," %s %s","admListPrimaryPartitions",disco);
herror=EjecutarScript(cmdshell,parametros,cadenaparticiones,true);
if(herror){
UltimoErrorScript(herror,"LeeConfiguracion()"); // Se ha producido algún error
@@ -1837,8 +1932,8 @@ char* TomaNomSO(char*disco,int particion)
infosopar=(char*)ReservaMemoria(LONGITUD_SCRIPTSALIDA); // Información del S.O. de la partición
- sprintf(cmdshell,"%s/getOsVersion",HIDRASCRIPTS);
- sprintf(parametros," %s %s %d","getOsVersion",disco,particion);
+ sprintf(cmdshell,"%s/admGetOsVersion",HIDRASCRIPTS);
+ sprintf(parametros," %s %s %d","admGetOsVersion",disco,particion);
herror=EjecutarScript(cmdshell,parametros,infosopar,true);
if(herror){
UltimoErrorScript(herror,"TomaNomSO()"); // Se ha producido algún error
@@ -1861,23 +1956,20 @@ char* TomaNomSO(char*disco,int particion)
// Devuelve:
// Nada
// ________________________________________________________________________________________________________
-int MuestraMenu(char*ips,char *urp,char *iph)
+int MuestraMenu(char *urp)
{
- pid_t pid;
int herror,nargs,resul;
-
- sprintf(cmdshell,"%s/menuBrowser",HIDRASCRIPTS);
- sprintf(parametros,"%s %s %s %s","menuBrowser",ips,urp,iph);
+ sprintf(cmdshell,"%s/admMenuBrowser",HIDRASCRIPTS);
+ sprintf(parametros,"%s %s","admMenuBrowser",urp);
nargs=SplitParametros(argumentos,parametros," "); // Crea matriz de los argumentos del scripts
- if((pid=fork())==0){
+ if((pidmenu=fork())==0){
/* Proceso hijo que ejecuta el script */
execv(cmdshell,argumentos);
- //resul=execlp (script, script, argumentos[0],argumentos[1],NULL);
exit(resul);
}
else {
- if (pid ==-1){
+ if (pidmenu ==-1){
UltimoErrorScript(herror,"MuestraMenu()"); // Se ha producido algún error
return(false);
}
@@ -1903,9 +1995,9 @@ int InventarioHardware(TRAMA *trama,TRAMA *nwtrama)
int herror,res;
char *parametroshrd;
- parametroshrd=(char*)ReservaMemoria(LONGITUD_SCRIPTSALIDALARGA);
- sprintf(cmdshell,"%s/listHardwareInfo",HIDRASCRIPTS);
- herror=EjecutarScript(cmdshell,NULL,parametroshrd,false);
+ parametroshrd=(char*)ReservaMemoria(LONGITUD_SCRIPTSALIDA);
+ sprintf(cmdshell,"%s/admListHardwareInfo",HIDRASCRIPTS);
+ herror=EjecutarScript(cmdshell,NULL,parametroshrd,true);
if(herror){
UltimoErrorScript(herror,"InventarioHardware()"); // Se ha producido algún error
}
@@ -1936,15 +2028,16 @@ int InventarioSoftware(TRAMA *trama,TRAMA *nwtrama)
int herror,res;
char *parametrossft,*infopar;
char *particion=TomaParametro("par",trama->parametros); // Toma partición
+ //char *tipo=TomaParametro("tpl",trama->parametros); // Toma tipo de listado
char *disco=(char*)ReservaMemoria(2);
sprintf(disco,"1"); // Siempre el disco 1
- sprintf(cmdshell,"%s/listSoftwareInfo",HIDRASCRIPTS);
- sprintf(parametros,"%s %s %s","listSoftwareInfo",disco,particion);
+ sprintf(cmdshell,"%s/admListSoftwareInfo",HIDRASCRIPTS);
+ sprintf(parametros,"%s %s %s","admListSoftwareInfo",disco,particion);
- parametrossft=(char*)ReservaMemoria(LONGITUD_SCRIPTSALIDALARGA);
- herror=EjecutarScript(cmdshell,parametros,parametrossft,false);
+ parametrossft=(char*)ReservaMemoria(LONGITUD_SCRIPTSALIDA);
+ herror=EjecutarScript(cmdshell,parametros,parametrossft,true);
if(herror){
UltimoErrorScript(herror,"InventarioSoftware()"); // Se ha producido algún error
}
@@ -1952,7 +2045,7 @@ int InventarioSoftware(TRAMA *trama,TRAMA *nwtrama)
// Toma tipo de partición
infopar=(char*)ReservaMemoria(16); //Tipo de partición
if(res && infopar){
- sprintf(cmdshell,"%s/getFsType",HIDRASCRIPTS);
+ sprintf(cmdshell,"%s/admGetFsType",HIDRASCRIPTS);
sprintf(parametros," %s %s %s","getFsType",disco,particion);
herror=EjecutarScript(cmdshell,parametros,infopar,true);
if(herror){
@@ -2007,13 +2100,40 @@ int TomaConfiguracion(TRAMA *trama,TRAMA *nwtrama)
// ________________________________________________________________________________________________________
int ExecShell(TRAMA *trama,TRAMA *nwtrama)
{
- FILE* f;
- long lSize;
- int herror,res;
+ int res;
char* wscript=TomaParametro("scp",trama->parametros); // Código del script
char* codigo=URLDecode(wscript); // Decodifica el código recibido con formato URLCode
+ res=ExecBash(codigo);
+ if(!res){
+ UltimoErrorScript(10,"ExecShell()"); // Se ha producido algún error
+ }
+
+ char *disco=(char*)ReservaMemoria(2);
+ sprintf(disco,"1"); // Siempre el disco 1
+ char* parametroscfg=LeeConfiguracion(disco);
+ int lon;
+ lon=sprintf(nwtrama->parametros,"nfn=RESPUESTA_ExecShell\r");
+ lon+=sprintf(nwtrama->parametros+lon,"cfg=%s\r",parametroscfg);
+ RespuestaEjecucionComando(trama,nwtrama,res);
+ return(true);
+}
+//______________________________________________________________________________________________________
+// Función: ExecBash
+//
+// Descripción:
+// Ejecuta código bash
+// Parámetros:
+// - codigo: Código a ejecutar
+// Devuelve:
+// true si el proceso fue correcto o false en caso contrario
+// ________________________________________________________________________________________________________
+int ExecBash(char*codigo){
+ FILE* f;
+ long lSize;
+ int herror,res;
+
sprintf(filecmdshell,"%s/%s","/tmp","_hidrascript_");
f = fopen(filecmdshell,"wt"); // Abre fichero de script
if(f==NULL)
@@ -2022,13 +2142,12 @@ int ExecShell(TRAMA *trama,TRAMA *nwtrama)
lSize=strlen(codigo);
fwrite(codigo,1,lSize,f); // Escribe el código a ejecutar
fclose(f);
-
sprintf(cmdshell,"/bin/chmod"); // Da permiso de ejecución al fichero
sprintf(parametros," %s %s %s","/bin/chmod","+x",filecmdshell);
herror=EjecutarScript(cmdshell,parametros,NULL,true);
if(herror){
- UltimoErrorScript(herror,"ExecShell()"); // Se ha producido algún error
+ UltimoErrorScript(herror,"ExecBash()"); // Se ha producido algún error
res=false;
}
else{
@@ -2036,21 +2155,11 @@ int ExecShell(TRAMA *trama,TRAMA *nwtrama)
//int herror=EjecutarScript(cmdshell,NULL,NULL,true);
int herror=system(cmdshell);
if(herror){
- UltimoErrorScript(herror,"ExecShell()"); // Se ha producido algún error
+ UltimoErrorScript(herror,"ExecBash()"); // Se ha producido algún error
res=false;
}
}
}
-
- char *disco=(char*)ReservaMemoria(2);
- sprintf(disco,"1"); // Siempre el disco 1
- char* parametroscfg=LeeConfiguracion(disco);
- int lon;
-
- lon=sprintf(nwtrama->parametros,"nfn=RESPUESTA_ExecShell\r");
- lon+=sprintf(nwtrama->parametros+lon,"cfg=%s\r",parametroscfg);
- RespuestaEjecucionComando(trama,nwtrama,res);
-
return(res);
}
//______________________________________________________________________________________________________
@@ -2134,7 +2243,18 @@ int RespuestaEjecucionComando(TRAMA* trama, TRAMA *nwtrama, int res)
}
return(true);
}
-
+//______________________________________________________________________________________________________
+// Función: MuestraMensaje
+//
+// Descripción:
+// Envia una página al browser con un mensaje determinado
+// Parámetros:
+// - idx: Indice de la cadena del mensaje
+// ________________________________________________________________________________________________________
+void MuestraMensaje(int idx){
+ sprintf(urlpag,"%s?msg=%d",URLMSG,idx); // Url de la página de mensajes
+ MuestraMenu(urlpag);
+}
//***********************************************************************************************************************
// PROGRAMA PRINCIPAL
//***********************************************************************************************************************
@@ -2181,7 +2301,7 @@ int main(int argc, char *argv[])
Log("Procesa comandos pendientes");
ComandosPendientes(); // Bucle para procesar comandos pendientes
Log("Acciones pendientes procesadas");
- MuestraMenu(Servidorhidra,URLMENU,Propiedades.IPlocal);
+ //MuestraMenu(URLMENU);
Log("Disponibilidad para comandos interactivos activada ...");
ProcesaComandos(); // Bucle para procesar comando s interactivos
Log("Disponibilidad para comandos interactivos desactivada...");
diff --git a/admin/Services/ogAdmClient/sources/ogAdmClient.h b/admin/Services/ogAdmClient/sources/ogAdmClient.h
index 562f15d3..09fcf68f 100644
--- a/admin/Services/ogAdmClient/sources/ogAdmClient.h
+++ b/admin/Services/ogAdmClient/sources/ogAdmClient.h
@@ -16,12 +16,12 @@
#include <unistd.h>
#include <ctype.h>
#include <time.h>
+#include <signal.h>
#define LEER 0
#define ESCRIBIR 1
-#define LONGITUD_SCRIPTSALIDA 1024 // Longitud máxima de la informacin devuelta por un script
-#define LONGITUD_SCRIPTSALIDALARGA 4024 // Longitud máima de la informacin devuelta por un script
+#define LONGITUD_SCRIPTSALIDA 4064 // Longitud máxima de la informacin devuelta por un script
#define LONGITUD_PARAMETROS_TRAMA 4024 // Longitud máima de la informacin de la trama (parametros)
#define LONGITUD_TRAMA LONGITUD_PARAMETROS_TRAMA+11 // Longitud máxima de la trama completa
#define LONGITUD_CONFIGURACION 1024 // Longitud mxima de las configuraciones de particin
@@ -79,8 +79,7 @@ char* argumentos[MAXARGS];
char msglog[LONSTD];
char msgcon[LONSTD];
char filecmdshell[LONSTDC];
-char filemenu[LONSTDC];
-char fileitem[LONSTDC];
+char urlpag[LONSTDC];
char fileini[LONSTDC];
char filecmd[LONSTDC];
@@ -107,7 +106,9 @@ char HIDRACHEIMAGENES[LONSTDC]; // Path al directorio donde están las imágenes
char HIDRASRVIMAGENES[LONSTDC]; // Path al directorio donde están las imágenes (en el repositorio)
char HIDRASRVCMD[LONSTDC]; // Path del directorio del repositorio donde se depositan los comandos para el cliente
char HIDRASCRIPTS[LONSTDC]; // Path al directorio donde están los scripts de la interface con la APi de funciones de OpenGnsys (en el cliente )
-char URLMENU[LONSTDC]; // Url de la Aplicación Web
+char URLMENU[LONSTDC]; // Url de la pagina de menu para el browser
+char URLMSG[LONSTDC]; // Url de la página de mensajed para el browser
+
int HIDRAVER; // Versión de la apliación de Administración
int TPAR ; // Tamaño de la particin
@@ -193,6 +194,7 @@ BOOL CMDPTES; // Indicador de comandos pendientes
BOOL aut = false; // Variable para controlar el acceso al menu de administracion
+pid_t pidmenu;
char* tbErrores[]={"000-Se han generado errores. No se puede continuar la ejecución de este módulo",\
"001-No hay memoria suficiente para el buffer",\
@@ -219,7 +221,7 @@ char* tbErrores[]={"000-Se han generado errores. No se puede continuar la ejecuc
"022-Error en la recepción de tramas desde el Servidor de Administración",\
"023-Error desconocido",\
};
- #define MAXERROR 22 // Error máximo cometido
+ #define MAXERROR 23 // Error máximo cometido
char* tbErroresScripts[]={"000-Se han generado errores. No se puede continuar la ejecución de este módulo",\
"001-Formato de ejecución incorrecto.",\
@@ -228,10 +230,13 @@ char* tbErroresScripts[]={"000-Se han generado errores. No se puede continuar la
"004- Partición o fichero bloqueado",\
"005-Error al crear o restaurar una imagen",\
"006-Sin sistema operativo",\
- "007- Programa o función no ejecutable",\
- "008-Error desconocido",\
+ "007-Programa o función no ejecutable",\
+ "008-Error en la eliminación del archivo temporal de intercambio",\
+ "009-Error en la lectura del archivo temporal de intercambio",\
+ "010-Error al ejecutar código de la shell",\
+ "011-Error desconocido",
};
- #define MAXERRORSCRIPT 7 // Error máximo cometido
+ #define MAXERRORSCRIPT 11 // Error máximo cometido
// Prototipos de funciones
char* Desencriptar(char *);
@@ -280,6 +285,7 @@ int ComandosPendientes(void);
int Arrancar(TRAMA *,TRAMA *);
int Apagar(TRAMA*,TRAMA*);
int Reiniciar(TRAMA*,TRAMA*);
+int IniciarSesion(TRAMA*,TRAMA*);
int Actualizar();
int CrearPerfilSoftware(TRAMA*,TRAMA*);
int CrearPerfil(char*,char*,char*,char*,char*);
@@ -299,4 +305,7 @@ int InventarioSoftware(TRAMA *,TRAMA *);
int TomaConfiguracion(TRAMA *,TRAMA *);
int RespuestaEjecucionComando(TRAMA* , TRAMA *, int);
int ExecShell(TRAMA *,TRAMA *);
+int ExecBash(char*);
char* URLDecode(char*);
+int MuestraMenu(char*);
+void MuestraMensaje(int);
diff --git a/admin/Services/ogAdmRepo/sources/ogAdmRepo.cpp b/admin/Services/ogAdmRepo/sources/ogAdmRepo.cpp
index 4e9cf13b..f62b5624 100644
--- a/admin/Services/ogAdmRepo/sources/ogAdmRepo.cpp
+++ b/admin/Services/ogAdmRepo/sources/ogAdmRepo.cpp
@@ -51,7 +51,7 @@ int TomaConfiguracion(char* pathfilecfg)
if(pathfilecfg==NULL) exit(EXIT_FAILURE);; // Nombre del fichero en blanco
Fconfig = fopen ( pathfilecfg , "rb" );
- if (Fconfig==NULL) exit(EXIT_FAILURE);;
+ if (Fconfig==NULL) return(FALSE);
fseek (Fconfig , 0 , SEEK_END); // Obtiene tamaño del fichero.
lSize = ftell (Fconfig);
rewind (Fconfig);
diff --git a/admin/Services/ogAdmServer/sources/ogAdmServer.cpp b/admin/Services/ogAdmServer/sources/ogAdmServer.cpp
index 517b3169..27bcfced 100644
--- a/admin/Services/ogAdmServer/sources/ogAdmServer.cpp
+++ b/admin/Services/ogAdmServer/sources/ogAdmServer.cpp
@@ -2,14 +2,14 @@
// Aplicación HIDRA
// Copyright 2003-2005 JosnManuel Alonso. Todos los derechos reservados.
// Fichero: hidra.cpp
-// Descripcin:
+// Descripción:
// Este proyecto implementa el servicio hidra en un ordenador con plataforma windows NT. Este fichero aporta las funciones de
// envn de comandos y recepcin de respuestas
// ****************************************************************************************************************************************************
#include "ogAdmServer.h"
#include "encriptacion.c"
// ________________________________________________________________________________________________________
-// Funcin: RegistraLog
+// Función: RegistraLog
//
// Descripción:
// Esta funcin registra los evento de errores en un fichero log
@@ -31,9 +31,9 @@ void RegistraLog(const char *msg,int swerrno)
}
// ________________________________________________________________________________________________________
-// Funcin: TomaHora
+// Función: TomaHora
//
-// Descripcin:
+// Descripción:
// Esta funcin toma la hora actual del sistema y devuelve una estructura conlos datos
// Parametros:
// - msg : Mensage de error
@@ -152,9 +152,9 @@ int TomaConfiguracion(char* pathfilecfg)
return(TRUE);
}
// ________________________________________________________________________________________________________
-// Funcin: GestionaConexion
+// Función: GestionaConexion
//
-// Descripcin:
+// Descripción:
// Esta hebra es la encargada de comunicarse con los clientes a travn del socket enviado como parnetro.
// Parametros:
// - lpParam : Socket usado
@@ -171,9 +171,9 @@ void * GestionaConexion(void* s)
return(s);
}
// ________________________________________________________________________________________________________
-// Funcin: gestiona_comando
+// Función: gestiona_comando
//
-// Descripcin:
+// Descripción:
// Analiza el comando enviado por el servidor web y lo reenvia al cliente rembo o lo ejecuta n mismo
// Parametros:
// - s : Socket usado
@@ -278,9 +278,9 @@ void gestiona_comando(SOCKET s,TRAMA trama)
return;
}
- resul=strcmp(nombrefuncion,"RESPUESTA_RemboOffline");
+ resul=strcmp(nombrefuncion,"RESPUESTA_IniciarSesion");
if(resul==0){
- RESPUESTA_RemboOffline(s,parametros);
+ RESPUESTA_IniciarSesion(s,parametros);
respuesta_cortesia(s);
return;
}
@@ -393,9 +393,9 @@ void gestiona_comando(SOCKET s,TRAMA trama)
}
}
// ________________________________________________________________________________________________________
-// Funcin: manda_comando
+// Función: manda_comando
//
-// Descripcin:
+// Descripción:
// Esta funcin envia un comando por la red (TCP) desde el servidor hidra al servidor rembo que controla al cliente que lo ejecutarn
// Parametros:
// - sock : El socket del cliente
@@ -414,9 +414,9 @@ int manda_comando(SOCKET sock,char* parametros)
return(resul);
}
// ________________________________________________________________________________________________________
-// Funcin: manda_trama
+// Función: manda_trama
//
-// Descripcin:
+// Descripción:
// Esta funcin envia una trama por la red (TCP)
// Parametros:
// - sock : El socket del host al que se dirige la trama
@@ -445,9 +445,9 @@ int manda_trama(SOCKET sock,TRAMA* trama)
return(TRUE);
}
// ________________________________________________________________________________________________________
-// Funcin: recibe_trama
+// Función: recibe_trama
//
-// Descripcin:
+// Descripción:
// Esta funcin recibe una trama por la red (TCP)
// Parametros:
// - sock : El socket del cliente
@@ -475,9 +475,9 @@ int recibe_trama(SOCKET sock,TRAMA* trama)
return(TRUE);
}
// ________________________________________________________________________________________________________
-// Funcin: hay_hueco
+// Función: hay_hueco
//
-// Descripcin:
+// Descripción:
// Esta funcin devuelve true o false dependiendo de que haya hueco en la tabla de sockets para un nuevo cliente.
// Parametros:
// - idx: Primer indice libre que se podrn utilizar
@@ -495,9 +495,9 @@ int hay_hueco(int *idx)
return(FALSE);
}
// ________________________________________________________________________________________________________
-// Funcin: cliente_existente
+// Función: cliente_existente
//
-// Descripcin:
+// Descripción:
// Esta funcin devuelve true o false dependiendo de si el cliente estnya registrado en la tabla de sockets
// Parametros:
// - ip : La ip del cliente a buscar
@@ -515,9 +515,9 @@ BOOLEAN cliente_existente(char *ip,int* idx)
return(FALSE);
}
// ________________________________________________________________________________________________________
-// Funcin: hay_huecoservidorrembo
+// Función: hay_huecoservidorrembo
//
-// Descripcin:
+// Descripción:
// Esta funcin devuelve true o false dependiendo de que haya hueco en la tabla de sockets para un nuevo servidor rembo.
// Parametros:
// - idx: Primer indice libre que se podrn utilizar
@@ -534,9 +534,9 @@ int hay_huecoservidorrembo(int *idx)
return(FALSE);
}
// ________________________________________________________________________________________________________
-// Funcin: servidorrembo_existente
+// Función: servidorrembo_existente
//
-// Descripcin:
+// Descripción:
// Esta funcin devuelve true o false dependiendo de si el servidor estnya registrado en la tabla de sockets
// Parametros:
// - ip : La ip delcliente a buscar
@@ -554,9 +554,9 @@ BOOLEAN servidorrembo_existente(char *ip,int* idx)
return(FALSE);
}
// ________________________________________________________________________________________________________
-// Funcin: INTROaFINCAD
+// Función: INTROaFINCAD
//
-// Descripcin:
+// Descripción:
// Cambia INTROS por caracteres fin de cadena ('\0') en una cadena
// Parametros:
// - parametros : La cadena a explorar
@@ -570,9 +570,9 @@ void INTROaFINCAD(char* parametros)
}
}
// ________________________________________________________________________________________________________
-// Funcinn: FINCADaINTRO
+// Funciónn: FINCADaINTRO
//
-// Descripcinn?:
+// Descripciónn?:
// Cambia caracteres fin de cadena ('\0') por INTROS en una cadena
// Parametros:
// - parametros : La cadena a explorar
@@ -585,11 +585,11 @@ void FINCADaINTRO(char* a,char *b)
}
}
// ________________________________________________________________________________________________________
-// Funcin: cuenta_ipes
+// Función: cuenta_ipes
//
-// Descripcin:
+// Descripción:
// Cuenta las comas (caracter de separacion) de las cadenas de ipes
-// Parnetros:
+// Parámetros:
// - parametros : La cadena a explorar
// ________________________________________________________________________________________________________
int cuenta_ipes(char* iph)
@@ -602,12 +602,12 @@ int cuenta_ipes(char* iph)
return(cont);
}
// ________________________________________________________________________________________________________
-// Funcin: toma_parametro
+// Función: toma_parametro
//
-// Descripcin:
+// Descripción:
// Esta funcin devuelve el valor de un parametro incluido en la trama.
// El formato del protocolo es: "nombre_parametro=valor_parametro"
-// Parnetros:
+// Parámetros:
// - nombre_parametro: Es el nombre del parnetro a recuperar
// - parametros: Es la matriz que contiene todos los parnetros
// ________________________________________________________________________________________________________
@@ -631,11 +631,11 @@ char * toma_parametro(const char* nombre_parametro,char *parametros)
return(NULL);
}
// ________________________________________________________________________________________________________
-// Funcin: split_parametros
+// Función: split_parametros
//
-// Descripcin:
+// Descripción:
// Esta funcin trocea una cadena segn un carnter delimitador, Devuelve el nmero de trozos
-// Parnetros:
+// Parámetros:
// - trozos: Array de punteros a cadenas
// - cadena: Cadena a trocear
// - ch: Carnter delimitador
@@ -653,12 +653,12 @@ int split_parametros(char **trozos,char *cadena, char * ch){
return(w-1); // Devuelve el numero de trozos
}
// ________________________________________________________________________________________________________
-// Funcin: corte_iph
+// Función: corte_iph
//
-// Descripcin:
+// Descripción:
// Esta funcin devuelve el valor del parametro iph incluido en la trama que debe ser el ltimo parnetro de la trama.
-// Parnetros:
-// - parametros: Parnetros de la trama
+// Parámetros:
+// - parametros: Parámetros de la trama
// ________________________________________________________________________________________________________
char* corte_iph(char *parametros)
{
@@ -679,12 +679,47 @@ char* corte_iph(char *parametros)
}
return(NULL);
}
+
+// ________________________________________________________________________________________________________
+// Función: escaparComillas
+//
+// Descripción:
+// Escapa las comillas simples de una cadena
+// Parámetros:
+// - s: Cadena de caracteres
+// Devuelve:
+// La cadena con las comillas escapadas "\'"
+// ________________________________________________________________________________________________________
+char* escaparComillas(char *cadena){
+
+ int lon,i,con=0;
+ char *cadenaescapada;
+
+ lon=strlen(cadena);
+ for(i=0;i<lon;i++){ // Cuenta las comillas
+ if(cadena[i]==COMILLAS_SIMPES) con++;
+ }
+ if(con>0){ // Existen comillas
+ cadenaescapada = (char*) malloc (lon+con); // Toma memoria para la cadena escapada.
+ if (cadenaescapada == NULL) return(NULL);
+ int ptr=0;
+ for(i=0;i<lon;i++){
+ if(cadena[i]==COMILLAS_SIMPES)
+ cadenaescapada[ptr++]=BARRA_INVERTIDA;
+ cadenaescapada[ptr++]=cadena[i];
+ }
+ }
+ else
+ cadenaescapada=cadena;
+
+ return(cadenaescapada);
+}
// ________________________________________________________________________________________________________
-// Funcin: respuesta_cortesia
+// Función: respuesta_cortesia
//
-// Descripcin:
+// Descripción:
// Envn respuesta de cortesn al cliente rembo
-// Parnetros:
+// Parámetros:
// - s: Socket usado por el cliente para comunicarse con el servidor HIDRA
// ________________________________________________________________________________________________________
int respuesta_cortesia(SOCKET s)
@@ -697,11 +732,11 @@ int respuesta_cortesia(SOCKET s)
return(manda_comando(s,nwparametros));
}
// ________________________________________________________________________________________________________
-// Funcin: NoComandosPendientes
+// Función: NoComandosPendientes
//
-// Descripcin:
+// Descripción:
// Envn respuesta de cortesn al cliente rembo
-// Parnetros:
+// Parámetros:
// - s: Socket usado por el cliente para comunicarse con el servidor HIDRA
// ________________________________________________________________________________________________________
int NoComandosPendientes(SOCKET s)
@@ -714,14 +749,14 @@ int NoComandosPendientes(SOCKET s)
return(manda_comando(s,nwparametros));
}
// ________________________________________________________________________________________________________
-// Funcin: InclusionCliente
+// Función: InclusionCliente
//
-// Descripcin:
+// Descripción:
// Esta funcin incorpora el socket de un nuevo cliente a la tabla de sockets y le devuelve alguna de sus propiedades: nombre,
// dentificador, perfil hardware , mens...
-// Parnetros:
+// Parámetros:
// - s: Socket del cliente
-// - parametros: Parnetros de la trama recibida
+// - parametros: Parámetros de la trama recibida
// ________________________________________________________________________________________________________
int InclusionCliente(SOCKET s,char *parametros)
{
@@ -883,9 +918,9 @@ int InclusionCliente(SOCKET s,char *parametros)
// ________________________________________________________________________________________________________
// Función: Toma menu
//
-// Descripcin:
+// Descripción:
// Esta funcin toma los parametros del menu inicial del cliente rembo y se los envn en el proceso de inclusin
-// Parnetros:
+// Parámetros:
// - nwparametros: Cadena con los parnetros a enviar al cliente
// - idmenu: Identificador del men
// - lon : Longitud inicial de la cadena de parnetros
@@ -1004,13 +1039,13 @@ int Toma_menu(Database db, Table tbl,char* nwparametros,int idmenu,int lon)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin:RecuperaItem
+// Función:RecuperaItem
//
-// Descripcin:
+// Descripción:
// Esta funcin busca en la base de datos, los parametros de un items de un menu
-// Parnetros:
+// Parámetros:
// - s: Socket del cliente
-// - parametros: Parnetros de la trama recibida
+// - parametros: Parámetros de la trama recibida
// ________________________________________________________________________________________________________
int RecuperaItem(SOCKET s,char *parametros)
{
@@ -1021,7 +1056,7 @@ int RecuperaItem(SOCKET s,char *parametros)
int idtipoaccion,tipoaccion;
// Toma parnetros
- ida=toma_parametro("ida",parametros); // Toma identificador de la accin
+ ida=toma_parametro("ida",parametros); // Toma identificador de la acción
// Abre conexin con la base de datos
if(!db.Open(usuario,pasguor,datasource,catalog)){ // error de conexion
@@ -1035,11 +1070,11 @@ int RecuperaItem(SOCKET s,char *parametros)
}
if (tbl.ISEOF()) return(false);
- if(!tbl.Get("tipoaccion",tipoaccion)){ // Toma tipo de accin
+ if(!tbl.Get("tipoaccion",tipoaccion)){ // Toma tipo de acción
tbl.GetErrorErrStr(ErrStr); // error al acceder al registro
return(false);
}
- if(!tbl.Get("idtipoaccion",idtipoaccion)){ // Toma identificador del tipo de accin
+ if(!tbl.Get("idtipoaccion",idtipoaccion)){ // Toma identificador del tipo de acción
tbl.GetErrorErrStr(ErrStr); // error al acceder al registro
return(false);
}
@@ -1073,11 +1108,11 @@ int RecuperaItem(SOCKET s,char *parametros)
}
// ________________________________________________________________________________________________________
-// Funcin: actualiza_configuracion
+// Función: actualiza_configuracion
//
-// Descripcin:
+// Descripción:
// Esta funcin actualiza la base de datos con la configuracion de sistemas operativos y particiones de un ordenador
-// Parnetros:
+// Parámetros:
// - db: Objeto base de datos (ya operativo)
// - tbl: Objeto tabla
// - cfg: cadena con una configuracin
@@ -1121,9 +1156,25 @@ int actualiza_hardware(Database db, Table tbl,char* hrd,char* ip,char*ido)
}
if(lon>MAXHARDWARE) lon=MAXHARDWARE;
- // Trocea la cadena de configuracin
+
+ // Lee archivo de inventario hardware
+ FILE *Finv;
+ char *buffer;
+ long lSize;
+ Finv = fopen ( hrd , "rb" ); // EL parametro sft contiene el path del archivo de inventario
+ if (Finv==NULL) return(false);
+ fseek (Finv , 0 , SEEK_END); // Obtiene tamaño del fichero.
+ lSize = ftell (Finv);
+ rewind (Finv);
+ buffer = (char*) malloc (lSize); // Toma memoria para el buffer de lectura.
+ if (buffer == NULL) return(false);
+ fread (buffer,1,lSize,Finv); // Lee contenido del fichero
+ fclose(Finv);
+ buffer=escaparComillas(buffer);
+
+ // Trocea la cadena de configuración
strcpy(ch,"\n");// caracter delimitador
- lon=split_parametros(tbHardware,hrd,ch);
+ lon=split_parametros(tbHardware,buffer,ch);
// Trocea las cadenas de parametros de particin
for (i=0;i<lon;i++){
@@ -1203,7 +1254,7 @@ int actualiza_hardware(Database db, Table tbl,char* hrd,char* ip,char*ido)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: CuestionPerfilHardware
+// Función: CuestionPerfilHardware
//________________________________________________________________________________________________________/
int CuestionPerfilHardware(Database db, Table tbl,int idcentro,char* ido,int *tbidhardware,int i,char *nombreordenador){
char sqlstr[1000],ErrStr[200];
@@ -1271,11 +1322,11 @@ int CuestionPerfilHardware(Database db, Table tbl,int idcentro,char* ido,int *tb
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: actualiza_configuracion
+// Función: actualiza_configuracion
//
-// Descripcin:
+// Descripción:
// Esta funcin actualiza la base de datos con la configuracion de sistemas operativos y particiones de un ordenador
-// Parnetros:
+// Parámetros:
// - db: Objeto base de datos (ya operativo)
// - tbl: Objeto tabla
// - cfg: cadena con una configuracin
@@ -1333,6 +1384,7 @@ int actualiza_software(Database db, Table tbl,char* sft,char* par,char* tfs,char
if (buffer == NULL) return(false);
fread (buffer,1,lSize,Finv); // Lee contenido del fichero
fclose(Finv);
+ buffer=escaparComillas(buffer);
// trocea las lineas
lon=split_parametros(tbSoftware,buffer,ch);
@@ -1417,7 +1469,7 @@ int actualiza_software(Database db, Table tbl,char* sft,char* par,char* tfs,char
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: CuestionPerfilSoftware
+// Función: CuestionPerfilSoftware
//________________________________________________________________________________________________________/
int CuestionPerfilSoftware(Database db, Table tbl,int idcentro,char* ido,int *tbidsoftware,int i,char *nombreordenador,char *particion){
char sqlstr[1000],ErrStr[200];
@@ -1505,11 +1557,11 @@ int CuestionPerfilSoftware(Database db, Table tbl,int idcentro,char* ido,int *tb
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: actualiza_configuracion
+// Función: actualiza_configuracion
//
-// Descripcin:
+// Descripción:
// Esta funcin actualiza la base de datos con la configuracion de sistemas operativos y particiones de un ordenador
-// Parnetros:
+// Parámetros:
// - db: Objeto base de datos (ya operativo)
// - tbl: Objeto tabla
// - cfg: cadena con una configuracin
@@ -1612,12 +1664,12 @@ int actualiza_configuracion(Database db, Table tbl,char* cfg,int idcfgo,int idpr
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: TomaParticiones
+// Función: TomaParticiones
//
-// Descripcin:
+// Descripción:
// Esta funcin compone basndose en la cadena de configuracin que devuelve el ordenador, una cadena de particiones con
// los valores "n0=PPPP;n1=PPPP..." con las duplas:el nmero de particin y el tipo, separados por coma
-// Parnetros:
+// Parámetros:
// - cfg: Cadena de configuracin
// - parts: Cadena devuelta con el formato anterior descrito
// - lonprt: Longitud mnmima para las cadenas
@@ -1662,13 +1714,13 @@ void TomaParticiones(char* cfg, char* parts,int lonprt)
lon+=sprintf(parts+lon,"@prt");
}
// ________________________________________________________________________________________________________
-// Funcin: ComandosPendientes
+// Función: ComandosPendientes
//
-// Descripcin:
+// Descripción:
// Esta funcin busca en la base de datos,comandos pendientes de ejecutar por un ordenador concreto
-// Parnetros:
+// Parámetros:
// - s: Socket del cliente
-// - parametros: Parnetros de la trama recibida
+// - parametros: Parámetros de la trama recibida
// ________________________________________________________________________________________________________
int ComandosPendientes(SOCKET s,char *parametros)
{
@@ -1694,13 +1746,13 @@ int ComandosPendientes(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: EjecutarItem
+// Función: EjecutarItem
//
-// Descripcin:
+// Descripción:
// Esta funcin ejecuta un item de un men concreto solicitado por algn cliente rembo
-// Parnetros:
+// Parámetros:
// - s: Socket del cliente
-// - parametros: Parnetros de la trama recibida
+// - parametros: Parámetros de la trama recibida
// ________________________________________________________________________________________________________
int EjecutarItem(SOCKET s,char *parametros)
{
@@ -1785,11 +1837,11 @@ int EjecutarItem(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: DisponibilidadComandos
+// Función: DisponibilidadComandos
//
-// Descripcin:
+// Descripción:
// Esta funcin habilita a un clinte rembo para recibir o no, comandos iteractivos
-// Parnetros:
+// Parámetros:
// - s: Socket del cliente
// - parametros: Parmetros de la trama recibida
// ________________________________________________________________________________________________________
@@ -1810,11 +1862,11 @@ int DisponibilidadComandos(SOCKET s,char *parametros)
return(resul);
}
// ________________________________________________________________________________________________________
-// Funcin: Coloca_estado
+// Función: Coloca_estado
//
-// Descripcin:
+// Descripción:
// Esta funcin coloca el estado de un ordenador en la tabla de sockets
-// Parnetros:
+// Parámetros:
// - iph: Ip del ordenador
// - e: Nuevo estado
// - s: Socket usado por el cliente para comunicarse con el servidor HIDRA
@@ -1834,11 +1886,11 @@ int Coloca_estado(char *iph,const char *e,SOCKET s)
return(false);
}
// ________________________________________________________________________________________________________
-// Funcin: IgualIP
+// Función: IgualIP
//
-// Descripcin:
+// Descripción:
// Comprueba si una cadena con una ipe estnincluidad en otra que contienen varias direcciones ipes separas por punto y coma
-// Parnetros:
+// Parámetros:
// - cadenaiph: Cadena de IPes
// - ipcliente: Cadena de la ip a buscar
// ________________________________________________________________________________________________________
@@ -1862,13 +1914,13 @@ BOOLEAN IgualIP(char *cadenaiph,char *ipcliente)
return(FALSE);
}
// ________________________________________________________________________________________________________
-// Funcin: inclusion_srvRMB
+// Función: inclusion_srvRMB
//
-// Descripcin:
+// Descripción:
// Esta funcin incorpora el socket de un nuevo servidor rembo a la tabla de sockets
-// Parnetros:
+// Parámetros:
// - s: Socket del servidor rembo
-// - parametros: Parnetros de la trama recibida
+// - parametros: Parámetros de la trama recibida
// ________________________________________________________________________________________________________
int inclusion_srvRMB(char *iphsrvrmb,int puertorepo)
{
@@ -1890,13 +1942,13 @@ int inclusion_srvRMB(char *iphsrvrmb,int puertorepo)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: inclusion_cliWINLNX
+// Función: inclusion_cliWINLNX
//
-// Descripcin:
+// Descripción:
// Esta funcin incorpora el socket de un nuevo cliente rembo a la tabla de sockets
-// Parnetros:
+// Parámetros:
// - s: Socket del servidor rembo
-// - parametros: Parnetros de la trama recibida
+// - parametros: Parámetros de la trama recibida
// ________________________________________________________________________________________________________
int inclusion_cliWINLNX(SOCKET s,char *parametros)
{
@@ -1924,9 +1976,9 @@ int inclusion_cliWINLNX(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: inclusion_REPO
+// Función: inclusion_REPO
//
-// Descripcin:
+// Descripción:
// Esta funcin incorpora el socket de un nuevo repositorio hidra
// ________________________________________________________________________________________________________
int inclusion_REPO(SOCKET s,char *parametros)
@@ -1991,13 +2043,13 @@ int inclusion_REPO(SOCKET s,char *parametros)
return(manda_trama(s,trama));
}
// ________________________________________________________________________________________________________
-// Funcin: Sondeo
+// Función: Sondeo
//
-// Descripcin:
+// Descripción:
// Esta funcin recupera el estado de los ordenadores solicitados
-// Parnetros:
+// Parámetros:
// - s: Socket del servidor web que envn el comando
-// - parametros: Parnetros de la trama enviada por nte
+// - parametros: Parámetros de la trama enviada por nte
// ________________________________________________________________________________________________________
int Sondeo(SOCKET s,char *parametros)
{
@@ -2021,11 +2073,11 @@ int Sondeo(SOCKET s,char *parametros)
return(manda_comando(s,nwparametros));
}
// ________________________________________________________________________________________________________
-// Funcin: Actualizar
+// Función: Actualizar
//
-// Descripcin:
+// Descripción:
// Esta funcin actualiza la vista de ordenadores
-// Parnetros:
+// Parámetros:
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
int Actualizar(char *parametros)
@@ -2065,11 +2117,11 @@ int Actualizar(char *parametros)
return(false);
}
// ________________________________________________________________________________________________________
-// Funcin: FicheroOperador
+// Función: FicheroOperador
//
-// Descripcin:
+// Descripción:
// Esta funcin envia al servidor datos de un operador para crear fichero de login
-// Parnetros:
+// Parámetros:
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
int FicheroOperador(char *parametros)
@@ -2108,11 +2160,11 @@ int FicheroOperador(char *parametros)
return(resul);
}
// ________________________________________________________________________________________________________
-// Funcin: Conmutar
+// Función: Conmutar
//
-// Descripcin:
+// Descripción:
// Esta funcin conmuta un cliente rembo del modo NO administrado al modo admnistrado
-// Parnetros:
+// Parámetros:
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
int Conmutar(char *parametros)
@@ -2163,11 +2215,11 @@ int Conmutar(char *parametros)
return(resul);
}
// ________________________________________________________________________________________________________
-// Funcin: PurgarTablaSockets
+// Función: PurgarTablaSockets
//
-// Descripcin:
+// Descripción:
// Borra ordenadores de la tabla de sockets
-// Parnetros:
+// Parámetros:
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
void PurgarTablaSockets(char *parametros)
@@ -2215,11 +2267,11 @@ int Arrancar(char *parametros)
return(false);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_Arrancar
+// Función: RESPUESTA_Arrancar
//
-// Descripcin:
+// Descripción:
// Responde al comando Apagar
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -2235,7 +2287,7 @@ int RESPUESTA_Arrancar(SOCKET s,char *parametros)
der=toma_parametro("der",parametros); // Toma descripcin del error ( si hubiera habido)
iph=toma_parametro("iph",parametros); // Toma ip
ido=toma_parametro("ido",parametros); // Toma identificador del ordenador
- ids=toma_parametro("ids",parametros); // Toma identificador de la accin
+ ids=toma_parametro("ids",parametros); // Toma identificador de la acción
if(!db.Open(usuario,pasguor,datasource,catalog)){ // error de conexion
db.GetErrorErrStr(ErrStr);
@@ -2248,11 +2300,11 @@ int RESPUESTA_Arrancar(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_Apagar
+// Función: RESPUESTA_Apagar
//
-// Descripcin:
+// Descripción:
// Responde al comando Apagar
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -2268,7 +2320,7 @@ int RESPUESTA_Apagar(SOCKET s,char *parametros)
der=toma_parametro("der",parametros); // Toma descripcin del error ( si hubiera habido)
iph=toma_parametro("iph",parametros); // Toma ip
ido=toma_parametro("ido",parametros); // Toma identificador del ordenador
- ids=toma_parametro("ids",parametros); // Toma identificador de la accin
+ ids=toma_parametro("ids",parametros); // Toma identificador de la acción
if(!db.Open(usuario,pasguor,datasource,catalog)){ // error de conexion
db.GetErrorErrStr(ErrStr);
@@ -2278,7 +2330,7 @@ int RESPUESTA_Apagar(SOCKET s,char *parametros)
return(false); // Error al registrar notificacion
}
- if(strcmp(res,ACCION_FALLIDA)==0) return(TRUE); // Error en la ejecucin de la accin en el cliente rembo
+ if(strcmp(res,ACCION_FALLIDA)==0) return(TRUE); // Error en la ejecucin de la acción en el cliente rembo
if (cliente_existente(iph,&i)) // Si ya existe la IP ...
borra_entrada(i);
@@ -2286,28 +2338,28 @@ int RESPUESTA_Apagar(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin:RESPUESTA_RemboOffline
+// Función: RESPUESTA_Reiniciar
//
-// Descripcin:
-// Responde al comando Apagar
-// Parnetros:
+// Descripción:
+// Responde al comando Reiniciar
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
-int RESPUESTA_RemboOffline(SOCKET s,char *parametros)
+int RESPUESTA_Reiniciar(SOCKET s,char *parametros)
{
+ int i;
char ErrStr[200];
Database db;
Table tbl;
- int i;
-
+
char *res,*der,*iph,*ido,*ids;
res=toma_parametro("res",parametros); // Toma resultado
der=toma_parametro("der",parametros); // Toma descripcin del error ( si hubiera habido)
iph=toma_parametro("iph",parametros); // Toma ip
ido=toma_parametro("ido",parametros); // Toma identificador del ordenador
- ids=toma_parametro("ids",parametros); // Toma identificador de la accin
+ ids=toma_parametro("ids",parametros); // Toma identificador de la acción
if(!db.Open(usuario,pasguor,datasource,catalog)){ // error de conexion
db.GetErrorErrStr(ErrStr);
@@ -2316,8 +2368,7 @@ int RESPUESTA_RemboOffline(SOCKET s,char *parametros)
if(!RespuestaEstandar(res,der,ids,ido,db,tbl)){
return(false); // Error al registrar notificacion
}
-
- if(strcmp(res,ACCION_FALLIDA)==0) return(TRUE); // Error en la ejecucin de la accin en el cliente rembo
+ if(strcmp(res,ACCION_FALLIDA)==0) return(TRUE); // Error en la ejecucin de la acción en el cliente rembo
if (cliente_existente(iph,&i)) // Si ya existe la IP ...
borra_entrada(i);
@@ -2325,28 +2376,27 @@ int RESPUESTA_RemboOffline(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_Reiniciar
+// Función: RESPUESTA_Apagar
//
-// Descripcin:
-// Responde al comando Reiniciar
-// Parnetros:
+// Descripción:
+// Responde al comando Apagar
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
-int RESPUESTA_Reiniciar(SOCKET s,char *parametros)
+int RESPUESTA_IniciarSesion(SOCKET s,char *parametros)
{
- int i;
char ErrStr[200];
Database db;
Table tbl;
-
+ int i;
char *res,*der,*iph,*ido,*ids;
res=toma_parametro("res",parametros); // Toma resultado
der=toma_parametro("der",parametros); // Toma descripcin del error ( si hubiera habido)
iph=toma_parametro("iph",parametros); // Toma ip
ido=toma_parametro("ido",parametros); // Toma identificador del ordenador
- ids=toma_parametro("ids",parametros); // Toma identificador de la accin
+ ids=toma_parametro("ids",parametros); // Toma identificador de la acción
if(!db.Open(usuario,pasguor,datasource,catalog)){ // error de conexion
db.GetErrorErrStr(ErrStr);
@@ -2355,7 +2405,8 @@ int RESPUESTA_Reiniciar(SOCKET s,char *parametros)
if(!RespuestaEstandar(res,der,ids,ido,db,tbl)){
return(false); // Error al registrar notificacion
}
- if(strcmp(res,ACCION_FALLIDA)==0) return(TRUE); // Error en la ejecucin de la accin en el cliente rembo
+
+ if(strcmp(res,ACCION_FALLIDA)==0) return(TRUE); // Error en la ejecucin de la acción en el cliente rembo
if (cliente_existente(iph,&i)) // Si ya existe la IP ...
borra_entrada(i);
@@ -2364,11 +2415,11 @@ int RESPUESTA_Reiniciar(SOCKET s,char *parametros)
}
// ________________________________________________________________________________________________________
//
-// Funcin: borra_entrada
+// Función: borra_entrada
//
-// Descripcin:
+// Descripción:
// Borra la entrada de un ordenador en la tabla de socket
-// Parnetros:
+// Parámetros:
// - i: Indice dentro de la tabla
// ________________________________________________________________________________________________________
int borra_entrada(int i)
@@ -2384,11 +2435,11 @@ int borra_entrada(int i)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_ExecShell
+// Función: RESPUESTA_ExecShell
//
-// Descripcin:
+// Descripción:
// Responde al comando Ejecutar script
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -2415,7 +2466,7 @@ int RESPUESTA_ExecShell(SOCKET s,char *parametros)
return(false); // Error al registrar notificacion
}
- if(strcmp(res,ACCION_FALLIDA)!=0) { // Ha habido algn error en la ejecucin de la accin del cliente rembo
+ if(strcmp(res,ACCION_FALLIDA)!=0) { // Ha habido algn error en la ejecucin de la acción del cliente rembo
if(!actualiza_configuracion(db,tbl,cfg,0,0,iph)) // El ordenador ha cambiado de configuracin
return(false);
}
@@ -2423,14 +2474,14 @@ int RESPUESTA_ExecShell(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RespuestaEstandar
+// Función: RespuestaEstandar
//
-// Descripcin:
+// Descripción:
// Esta funcin actualiza la base de datos con el resultado de la ejecucin de un comando con seguimiento
-// Parnetros:
+// Parámetros:
// - res: resultado de la ejecucin del comando
-// - der: Descripcin del error si hubiese habido
-// - ids: identificador de la accin notificada
+// - der: Descripción del error si hubiese habido
+// - ids: identificador de la acción notificada
// - ido: Identificador del ordenador que notifica
// - db: Objeto base de datos (operativo)
// - tbl: Objeto tabla
@@ -2459,18 +2510,18 @@ int RespuestaEstandar(char *res,char *der,char *ids,char* ido,Database db,Table
pthread_mutex_unlock(&guardia);
return(true);
}
- if(!tbl.Get("parametros",parametros)){ // Toma parametros de la accin
+ if(!tbl.Get("parametros",parametros)){ // Toma parametros de la acción
tbl.GetErrorErrStr(ErrStr); // error al acceder al registro
pthread_mutex_unlock(&guardia);
return(false);
}
- char resultado[2]; // comprueba si ya ha fallado la accin
- if(!tbl.Get("resultado",resultado)){ // Toma resultado actual de la accin
+ char resultado[2]; // comprueba si ya ha fallado la acción
+ if(!tbl.Get("resultado",resultado)){ // Toma resultado actual de la acción
tbl.GetErrorErrStr(ErrStr); // error al recuperar el campo resultado
pthread_mutex_unlock(&guardia);
return(false);
}
- if(!tbl.Get("idaccion",idaccion)){ // Toma el identificador de la accin para tener el dato en formato "int"
+ if(!tbl.Get("idaccion",idaccion)){ // Toma el identificador de la acción para tener el dato en formato "int"
tbl.GetErrorErrStr(ErrStr); // error al recuperar el campo resultado
pthread_mutex_unlock(&guardia);
return(false);
@@ -2506,7 +2557,7 @@ int RespuestaEstandar(char *res,char *der,char *ids,char* ido,Database db,Table
return(false);
}
}
- // Comprueba si la accin se ejecutncorrectamente para el ambito sumando notificaciones
+ // Comprueba si la acción se ejecutncorrectamente para el ambito sumando notificaciones
INTROaFINCAD(parametros);
iph=toma_parametro("iph",parametros); // Toma cadenaip
int tbnumipes=0,totalipes=1,lon;
@@ -2566,11 +2617,11 @@ int RespuestaEstandar(char *res,char *der,char *ids,char* ido,Database db,Table
return(resul);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_CrearPerfilSoftware
+// Función: RESPUESTA_CrearPerfilSoftware
//
-// Descripcin:
+// Descripción:
// Responde al comando Crear Perfil Software
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -2598,7 +2649,7 @@ int RESPUESTA_CrearPerfilSoftware(SOCKET s,char *parametros)
return(false); // Error al registrar notificacion
}
- if(strcmp(res,ACCION_FALLIDA)==0) { // Ha habido algn error en la ejecucin de la accin en el cliente rembo
+ if(strcmp(res,ACCION_FALLIDA)==0) { // Ha habido algn error en la ejecucin de la acción en el cliente rembo
db.Close();
return(false);
}
@@ -2621,12 +2672,12 @@ int RESPUESTA_CrearPerfilSoftware(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_CrearSoftwareIncremental
+// Función: RESPUESTA_CrearSoftwareIncremental
//
-// Descripcin:
+// Descripción:
// Esta funcin responde a un comando de creacin de un software incremental. Ademn actualiza la base de datos insertando
// en su caso la nueva combinacin de perfil software con incremental.
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -2656,7 +2707,7 @@ int RESPUESTA_CrearSoftwareIncremental(SOCKET s,char *parametros)
return(false); // Error al registrar notificacion
}
- if(strcmp(res,ACCION_FALLIDA)==0) { // Ha habido algn error en la ejecucin de la accin en el cliente rembo
+ if(strcmp(res,ACCION_FALLIDA)==0) { // Ha habido algn error en la ejecucin de la acción en el cliente rembo
db.Close();
return(false);
}
@@ -2697,11 +2748,11 @@ int RESPUESTA_CrearSoftwareIncremental(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_RestaurarImagen
+// Función: RESPUESTA_RestaurarImagen
//
-// Descripcin:
+// Descripción:
// Esta funcin responde a un comando de restauracin de una imagen. Ademn actualiza la base de datos.
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -2733,7 +2784,7 @@ int RESPUESTA_RestaurarImagen(SOCKET s,char *parametros)
if(!RespuestaEstandar(res,der,ids,ido,db,tbl)){
return(false); // Error al registrar notificacion
}
- if(strcmp(res,ACCION_FALLIDA)==0) { // Ha habido algn error en la ejecucin de la accin del cliente rembo
+ if(strcmp(res,ACCION_FALLIDA)==0) { // Ha habido algn error en la ejecucin de la acción del cliente rembo
db.Close();
return(false);
}
@@ -2744,11 +2795,11 @@ int RESPUESTA_RestaurarImagen(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: Actualiza_ordenador_imagen
+// Función: Actualiza_ordenador_imagen
//
-// Descripcin:
+// Descripción:
// Esta funcin actualiza la tabla ordenador_imagen
-// Parnetros:
+// Parámetros:
// - par: particion
// - idi: identificador de la imagen ( 0 ninguna )
// - ido: identificador del ordenador
@@ -2800,11 +2851,11 @@ int Actualiza_ordenador_imagen(char *par,const char *idi,char *ido,Database db)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_ParticionaryFormatear
+// Función: RESPUESTA_ParticionaryFormatear
//
-// Descripcin:
+// Descripción:
// Esta funcin responde a un comando de particionar y formatear. Ademn actualiza la base de datos.
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -2817,7 +2868,7 @@ int RESPUESTA_ParticionaryFormatear(SOCKET s,char *parametros)
res=toma_parametro("res",parametros); // Toma resultado
der=toma_parametro("der",parametros); // Toma descripcin del error ( si hubiera habido)
- ids=toma_parametro("ids",parametros); // Toma identificador de la accin
+ ids=toma_parametro("ids",parametros); // Toma identificador de la acción
iph=toma_parametro("iph",parametros); // Toma ip
ido=toma_parametro("ido",parametros); // Toma identificador del ordenador
cfg=toma_parametro("cfg",parametros); // Toma configuracin
@@ -2833,7 +2884,7 @@ int RESPUESTA_ParticionaryFormatear(SOCKET s,char *parametros)
}
if(strcmp(res,ACCION_FALLIDA)==0){
db.Close();
- return(true); // Ha habido algn error en la ejecucin de la accin del cliente rembo
+ return(true); // Ha habido algn error en la ejecucin de la acción del cliente rembo
}
if(!actualiza_configuracion(db,tbl,cfg,0,0,iph)) return(false); // Erro al actualiza la configuracin
@@ -2847,11 +2898,11 @@ int RESPUESTA_ParticionaryFormatear(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_Configurar
+// Función: RESPUESTA_Configurar
//
-// Descripcin:
+// Descripción:
// Esta funcin responde a un comando de Configurar. Ademn actualiza la base de datos.
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -2871,7 +2922,7 @@ int RESPUESTA_Configurar(SOCKET s,char *parametros)
cfg=toma_parametro("cfg",parametros); // Toma configuracin
hdc=toma_parametro("hdc",parametros); // Toma participaciones a formatear
- strcpy(gids,ids); // Guarda el identificador de la accin
+ strcpy(gids,ids); // Guarda el identificador de la acción
strcpy(gido,ido); // Guarda el identificador del ordenador
if(!db.Open(usuario,pasguor,datasource,catalog)){ // error de conexion
@@ -2884,7 +2935,7 @@ int RESPUESTA_Configurar(SOCKET s,char *parametros)
if(strcmp(res,ACCION_FALLIDA)==0){
db.Close();
- return(true); // Ha habido algn error en la ejecucin de la accin del cliente rembo
+ return(true); // Ha habido algn error en la ejecucin de la acción del cliente rembo
}
if(!actualiza_configuracion(db,tbl,cfg,0,0,iph)) return(false); // Erro al actualiza la configuracin
@@ -2906,11 +2957,11 @@ int RESPUESTA_Configurar(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_TomaConfiguracion
+// Función: RESPUESTA_TomaConfiguracion
//
-// Descripcin:
+// Descripción:
// Esta funcin responde a un comando de Toma Comfiguracin. Ademn actualiza la base de datos.
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -2924,7 +2975,7 @@ int RESPUESTA_TomaConfiguracion(SOCKET s,char *parametros)
res=toma_parametro("res",parametros); // Toma resultado
der=toma_parametro("der",parametros); // Toma descripcin del error ( si hubiera habido)
- ids=toma_parametro("ids",parametros); // Toma identificador de la accin
+ ids=toma_parametro("ids",parametros); // Toma identificador de la acción
iph=toma_parametro("iph",parametros); // Toma ip
ido=toma_parametro("ido",parametros); // Toma identificador del ordenador
cfg=toma_parametro("cfg",parametros); // Toma configuracin
@@ -2936,7 +2987,7 @@ int RESPUESTA_TomaConfiguracion(SOCKET s,char *parametros)
if(!RespuestaEstandar(res,der,ids,ido,db,tbl)){
return(false); // Error al registrar notificacion
}
- if(strcmp(res,ACCION_FALLIDA)!=0) { // Ha habido algn error en la ejecucin de la accin del cliente rembo
+ if(strcmp(res,ACCION_FALLIDA)!=0) { // Ha habido algn error en la ejecucin de la acción del cliente rembo
if(!actualiza_configuracion(db,tbl,cfg,0,0,iph)) // El ordenador ha cambiado de configuracin
return(false);
}
@@ -2944,11 +2995,11 @@ int RESPUESTA_TomaConfiguracion(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_TomaHardware
+// Función: RESPUESTA_TomaHardware
//
-// Descripcin:
+// Descripción:
// Esta funcin responde a un comando de Toma HArdware. Ademn actualiza la base de datos.
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -2962,7 +3013,7 @@ int RESPUESTA_TomaHardware(SOCKET s,char *parametros)
res=toma_parametro("res",parametros); // Toma resultado
der=toma_parametro("der",parametros); // Toma descripcin del error ( si hubiera habido)
- ids=toma_parametro("ids",parametros); // Toma identificador de la accin
+ ids=toma_parametro("ids",parametros); // Toma identificador de la acción
iph=toma_parametro("iph",parametros); // Toma ip
ido=toma_parametro("ido",parametros); // Toma identificador del ordenador
@@ -2975,7 +3026,7 @@ int RESPUESTA_TomaHardware(SOCKET s,char *parametros)
if(!RespuestaEstandar(res,der,ids,ido,db,tbl)){
return(false); // Error al registrar notificacion
}
- if(strcmp(res,ACCION_FALLIDA)!=0) { // Ha habido algn error en la ejecucin de la accin del cliente rembo
+ if(strcmp(res,ACCION_FALLIDA)!=0) { // Ha habido algn error en la ejecucin de la acción del cliente rembo
if(!actualiza_hardware(db,tbl,hrd,iph,ido)) // El ordenador ha cambiado de configuracin
return(false);
}
@@ -2983,11 +3034,11 @@ int RESPUESTA_TomaHardware(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: RESPUESTA_TomaSoftware
+// Función: RESPUESTA_TomaSoftware
//
-// Descripcin:
+// Descripción:
// Esta funcin responde a un comando de Inventario Software. Además actualiza la base de datos.
-// Parnetros:
+// Parámetros:
// - s: Socket que el cliente rembo usa para comunicarse con el servidor HIDRA
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -3001,7 +3052,7 @@ int RESPUESTA_TomaSoftware(SOCKET s,char *parametros)
res=toma_parametro("res",parametros); // Toma resultado
der=toma_parametro("der",parametros); // Toma descripcin del error ( si hubiera habido)
- ids=toma_parametro("ids",parametros); // Toma identificador de la accin
+ ids=toma_parametro("ids",parametros); // Toma identificador de la acción
iph=toma_parametro("iph",parametros); // Toma ip
ido=toma_parametro("ido",parametros); // Toma identificador del ordenador
@@ -3016,7 +3067,7 @@ int RESPUESTA_TomaSoftware(SOCKET s,char *parametros)
if(!RespuestaEstandar(res,der,ids,ido,db,tbl)){
return(false); // Error al registrar notificacion
}
- if(strcmp(res,ACCION_FALLIDA)!=0) { // Ha habido algn error en la ejecucin de la accin del cliente rembo
+ if(strcmp(res,ACCION_FALLIDA)!=0) { // Ha habido algn error en la ejecucin de la acción del cliente rembo
if(!actualiza_software(db,tbl,sft,par,tfs,iph,ido)) // El ordenador ha cambiado de configuracin
return(false);
}
@@ -3024,15 +3075,15 @@ int RESPUESTA_TomaSoftware(SOCKET s,char *parametros)
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: busca_comandos
+// Función: busca_comandos
//
-// Descripcin:
+// Descripción:
// Esta funcin busca en la base de datos,comandos pendientes de ejecutar para el ordenador cocreto
-// Parnetros:
+// Parámetros:
// - iph: Direccin IP del ordenador
// - ido: Identificador del ordenador
-// - parametros: parametros de la accin buscada
-// - ids: Identificador de la accin
+// - parametros: parametros de la acción buscada
+// - ids: Identificador de la acción
// ________________________________________________________________________________________________________
int busca_comandos(char* iph,char *ido,char *parametros,int *ids)
{
@@ -3062,7 +3113,7 @@ int busca_comandos(char* iph,char *ido,char *parametros,int *ids)
}
if(IgualIP(parametros,iph)){ // Si existe la IP en la cadena
- if(!tbl.Get("idaccion",*ids)){ // Toma identificador de la accin
+ if(!tbl.Get("idaccion",*ids)){ // Toma identificador de la acción
tbl.GetErrorErrStr(ErrStr); // error al acceder al registro
return(false);
}
@@ -3141,7 +3192,7 @@ int comprueba_resultados(int idaccion,Database db){
db.GetErrorErrStr(ErrStr);
return(false);
}
- // Comprueba si ha finalizado esta accin e inserta su notificador correspondiente
+ // Comprueba si ha finalizado esta acción e inserta su notificador correspondiente
return(comprueba_finalizada(idaccion,finalaccion,db));
}
// ________________________________________________________________________________________________________
@@ -3234,11 +3285,11 @@ int comprueba_finalizada(int idaccion,char *resultado,Database db){
return(resul);
}
// ________________________________________________________________________________________________________
-// Funcin: EnviaServidoresRembo
+// Función: EnviaServidoresRembo
//
-// Descripcin:
+// Descripción:
// Esta funcin envia una trama a un servidor rembo para que sus clientes ejecuten un comando
-// Parnetros:
+// Parámetros:
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
void EnviaServidoresRembo(char * parametros)
@@ -3255,11 +3306,11 @@ void EnviaServidoresRembo(char * parametros)
}
}
// ________________________________________________________________________________________________________
-// Funcin: manda_comando_servidorrembo
+// Función: manda_comando_servidorrembo
//
-// Descripcin:
+// Descripción:
// Esta funcin envia una trama a un servidor rembo para que sus clientes ejecuten un comando
-// Parnetros:
+// Parámetros:
// - ip_srvrbm: Direccin IP del servidor REMBO
// - parametros: parametros del comando
// ________________________________________________________________________________________________________
@@ -3308,9 +3359,9 @@ SOCKET UDPConnect(char *ips)
return(socket_c);
}
//________________________________________________________________________________________________________
-// Funcin: envia_comandos
+// Función: envia_comandos
//
-// Descripcin:
+// Descripción:
// Enva trama UDP
// ________________________________________________________________________________________________________
int envia_comandos(SOCKET s,TRAMA* trama, char* ipsrv,int puerto)
@@ -3335,9 +3386,9 @@ int envia_comandos(SOCKET s,TRAMA* trama, char* ipsrv,int puerto)
return true;
}
// ________________________________________________________________________________________________________
-// Funcin: DesmarcaServidoresRembo
+// Función: DesmarcaServidoresRembo
//
-// Descripcin:
+// Descripción:
// Esta funcin desmarca la tabla completa de servidores rembo para iniciar la cuesation de envio
// ________________________________________________________________________________________________________
void DesmarcaServidoresRembo(void)
@@ -3349,11 +3400,11 @@ void DesmarcaServidoresRembo(void)
}
}
// ________________________________________________________________________________________________________
-// Funcin: MarcaServidoresRembo
+// Función: MarcaServidoresRembo
//
-// Descripcin:
+// Descripción:
// Esta funcin marca la tabla de servidores Rembo y coloca la ip del cliente en el buffer
-// Parnetros:
+// Parámetros:
// - ipsrvrmb: ip del servidor rembo
// - ipclrmb: ip del cliente rembo
// ________________________________________________________________________________________________________
@@ -3371,11 +3422,11 @@ void MarcaServidoresRembo(char* ipsrvrmb,char*ipclrmb)
}
}
// ________________________________________________________________________________________________________
-// Funcin: TomaIPServidorRembo
+// Función: TomaIPServidorRembo
//
-// Descripcin:
+// Descripción:
// Esta funcin devuelve true o false dependiendo si el Servidor REMBO estnen la tabla de servidores.
-// Parnetros:
+// Parámetros:
// - ip : La ip del servidor a buscar
// ________________________________________________________________________________________________________
BOOLEAN TomaIPServidorRembo(char *ip,int *p)
@@ -3395,11 +3446,11 @@ BOOLEAN TomaIPServidorRembo(char *ip,int *p)
return(FALSE);
}
// ________________________________________________________________________________________________________
-// Funcin: AbreConexion
+// Función: AbreConexion
//
-// Descripcin:
+// Descripción:
// Crea un socket y lo conecta a una interface de red. Devuelve el socket
-// Parnetros:
+// Parámetros:
// - ips : La direccin IP con la que se comunicarnel socket
// - port : Puerto para la comunicacin
// ________________________________________________________________________________________________________
@@ -3427,17 +3478,17 @@ SOCKET AbreConexion(char *ips,int port)
}
// ________________________________________________________________________________________________________
-// Funcin: EjecutarTarea
+// Función: EjecutarTarea
//
-// Descripcin:
-// Registra una accin (Tarea) y la envn para su ejecucin
-// Parnetros:
+// Descripción:
+// Registra una acción (Tarea) y la envn para su ejecucin
+// Parámetros:
// - idtarea : Identificador de la tarea
// - accionid: identificador del trabajo padre (si existe)
// - idnotificador: identificador del trabajo_tarea incluido en trabajo padre (si existe)
// - idcentro: Centro propietario del trabjo padre (si existe este trabajo)
// - Database: una conexion ADO operativa
-// - parametros: parnetros de la accin
+// - parametros: parnetros de la acción
// ________________________________________________________________________________________________________
int EjecutarTarea(int idtarea,int accionid,int idnotificador,int idcentro,Database db,char* parametros )
{
@@ -3539,7 +3590,7 @@ int EjecutarTarea(int idtarea,int accionid,int idnotificador,int idcentro,Databa
return(false);
}
accionid=0;
- // Toma identificador dela accin
+ // Toma identificador dela acción
sprintf(sqlstr,"SELECT LAST_INSERT_ID() as identificador");
if(!db.Execute(sqlstr,tbl)){ // Error al leer
db.GetErrorErrStr(ErrStr);
@@ -3562,7 +3613,7 @@ int EjecutarTarea(int idtarea,int accionid,int idnotificador,int idcentro,Databa
free(tbComandosparametros[i]);
return(false);
}
- // Toma identificador dela accin
+ // Toma identificador dela acción
sprintf(sqlstr,"SELECT LAST_INSERT_ID() as identificador");
if(!db.Execute(sqlstr,tbl)){ // Error al leer
db.GetErrorErrStr(ErrStr);
@@ -3582,11 +3633,11 @@ int EjecutarTarea(int idtarea,int accionid,int idnotificador,int idcentro,Databa
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: manda peticin de inclusion
+// Función: manda peticin de inclusion
//
-// Descripcin:
+// Descripción:
// Esta funcin envia una tarea por la red.
-// Parnetros:
+// Parámetros:
// - parametros: El contenido de la tarea
// ________________________________________________________________________________________________________
void envia_tarea(char* parametros)
@@ -3600,14 +3651,14 @@ void envia_tarea(char* parametros)
gestiona_comando(INVALID_SOCKET,trama);
}
// ________________________________________________________________________________________________________
-// Funcin: EjecutarTrabajo
+// Función: EjecutarTrabajo
//
-// Descripcin:
-// Registra una accin (Trabajo y la envn para su ejecucin
-// Parnetros:
+// Descripción:
+// Registra una acción (Trabajo y la envn para su ejecucin
+// Parámetros:
// - idtrabajo : Identificador del trabajo
// - Database: una conexion ADO operativa
-// - parametros: parnetros de la accin
+// - parametros: parnetros de la acción
// ________________________________________________________________________________________________________
int EjecutarTrabajo(int idtrabajo,Database db,char*parametros )
{
@@ -3690,7 +3741,7 @@ int EjecutarTrabajo(int idtrabajo,Database db,char*parametros )
return(false);
}
int accionid=0;
- // Toma identificador dela accin
+ // Toma identificador dela acción
sprintf(sqlstr,"SELECT LAST_INSERT_ID() as identificador");
if(!db.Execute(sqlstr,tbl)){ // Error al leer
db.GetErrorErrStr(ErrStr);
@@ -3712,11 +3763,11 @@ int EjecutarTrabajo(int idtrabajo,Database db,char*parametros )
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: cuestion_nuevoordenador
+// Función: cuestion_nuevoordenador
//
-// Descripcin:
+// Descripción:
// Esta funcin da de alta un ordenador y un aula si el sistema estnconfigurado para ello
-// Parnetros:
+// Parámetros:
// - db: Objeto base de datos (ya operativo)
// - tbl: Objeto tabla
// - ido: identificador del ordenador que se darnde alta automnicamente( se devuelve)
@@ -3780,11 +3831,11 @@ int cuestion_nuevoordenador(Database db,Table tbl,int*ido,char *nau,char *nor,ch
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: alta_ordenador
+// Función: alta_ordenador
//
-// Descripcin:
+// Descripción:
// Esta funcin da de alta un ordenador
-// Parnetros:
+// Parámetros:
// - db: Objeto base de datos (ya operativo)
// - tbl: Objeto tabla
// - mac: MAC del ordenador
@@ -3812,7 +3863,7 @@ int alta_ordenador(Database db,Table tbl,int* ido,char *nor,char *iph,char*mac,i
return(false);
}
idordenador=0;
- // Toma identificador dela accin
+ // Toma identificador dela acción
sprintf(sqlstr,"SELECT LAST_INSERT_ID() as identificador");
if(!db.Execute(sqlstr,tbl)){ // Error al leer
db.GetErrorErrStr(ErrStr);
@@ -3828,11 +3879,11 @@ int alta_ordenador(Database db,Table tbl,int* ido,char *nor,char *iph,char*mac,i
return(true);
}
// ________________________________________________________________________________________________________
-// Funcin: Toma_idservidorres
+// Función: Toma_idservidorres
//
-// Descripcin:
+// Descripción:
// Esta funcin devuelve los identificadores de los servidores rembo y dhcp de un determinado ordenador
-// Parnetros:
+// Parámetros:
// db: Objeto base de datos (ya operativo)
// tbl: Objeto tabla
// ipd: ip del servidor dhcp
diff --git a/admin/Services/ogAdmServer/sources/ogAdmServer.h b/admin/Services/ogAdmServer/sources/ogAdmServer.h
index afd6c5ca..237b118d 100644
--- a/admin/Services/ogAdmServer/sources/ogAdmServer.h
+++ b/admin/Services/ogAdmServer/sources/ogAdmServer.h
@@ -37,14 +37,18 @@
#define PUERTOMINUSER 40000
#define PUERTOMAXUSER 60000
-#define LITAMBITO_CENTROS "centros"
-#define LITAMBITO_GRUPOSAULAS "gruposaulas"
-#define LITAMBITO_AULAS "aulas"
+#define COMILLAS_SIMPES 0x27
+#define DOBLES_COMILLAS 0x22
+#define BARRA_INVERTIDA 0x5c
+
+#define LITAMBITO_CENTROS "centros"
+#define LITAMBITO_GRUPOSAULAS "gruposaulas"
+#define LITAMBITO_AULAS "aulas"
#define LITAMBITO_GRUPOSORDENADORES "gruposordenadores"
-#define LITAMBITO_ORDENADORES "ordenadores"
+#define LITAMBITO_ORDENADORES "ordenadores"
-#define ACCION_EXITOSA "1" // Finalizada con exito
-#define ACCION_FALLIDA "2" // Finalizada con errores
+#define ACCION_EXITOSA "1" // Finalizada con exito
+#define ACCION_FALLIDA "2" // Finalizada con errores
#define ACCION_TERMINADA "3" // Finalizada manualmente con indicacion de exito
#define ACCION_ABORTADA "4" // Finalizada manualmente con indicacion de errores
#define ACCION_SINERRORES "5" // Activa y sin ningn error
@@ -163,6 +167,7 @@ void FINCADaINTRO(char*,char*);
int cuenta_ipes(char*);
char * toma_parametro(const char*,char *);
char * corte_iph(char *);
+char * escaparComillas(char*);
int respuesta_cortesia(SOCKET );
int NoComandosPendientes(SOCKET);
@@ -200,8 +205,8 @@ void PurgarTablaSockets(char *);
int borra_entrada(int);
int RESPUESTA_Arrancar(SOCKET ,char *);
int RESPUESTA_Apagar(SOCKET ,char *);
-int RESPUESTA_RemboOffline(SOCKET ,char *);
int RESPUESTA_Reiniciar(SOCKET ,char *);
+int RESPUESTA_IniciarSesion(SOCKET ,char *);
int RESPUESTA_Actualizar(SOCKET,char *);
int RESPUESTA_ExecShell(SOCKET ,char *);
int RespuestaEstandar(char *,char *,char *,char*,Database, Table);
diff --git a/admin/WebConsole/comandos/gestores/gestor_IniciarSesion.php b/admin/WebConsole/comandos/gestores/gestor_IniciarSesion.php
index 5624b5df..3eeebfbe 100644
--- a/admin/WebConsole/comandos/gestores/gestor_IniciarSesion.php
+++ b/admin/WebConsole/comandos/gestores/gestor_IniciarSesion.php
@@ -102,10 +102,10 @@ function Gestiona($cmd){
$parametros=$ejecutor;
$parametros.="nfn=".$nombrefuncion.chr(13);
- $parametros.="iph=".$cadenaip.chr(13);
$parametros.="par=".$particion.chr(13);
+ $parametros.="iph=".$cadenaip.chr(13);
$cmd->ParamSetValor("@parametros",$parametros);
return(CuestionAcciones($cmd,$shidra,$parametros));
}
-?> \ No newline at end of file
+?>
diff --git a/admin/WebConsole/comandos/gestores/gestor_InventarioSoftware.php b/admin/WebConsole/comandos/gestores/gestor_InventarioSoftware.php
index dcf0231d..b1ec7752 100644
--- a/admin/WebConsole/comandos/gestores/gestor_InventarioSoftware.php
+++ b/admin/WebConsole/comandos/gestores/gestor_InventarioSoftware.php
@@ -106,6 +106,7 @@ for($j=0;$j<sizeof($auxsplit)-1;$j++){
$parametros=$ejecutor;
$parametros.="nfn=".$nombrefuncion.chr(13);
$parametros.="par=".$particion.chr(13);
+ $parametros.="tpl=si".chr(13); // Tipo de listado reducido
$parametros.="iph=".$cadenaip.chr(13);
$cmd->ParamSetValor("@parametros",$parametros);
diff --git a/admin/WebConsole/estilos.css b/admin/WebConsole/estilos.css
index e12955df..77c01929 100644
--- a/admin/WebConsole/estilos.css
+++ b/admin/WebConsole/estilos.css
@@ -351,4 +351,16 @@ A.tabla_listados_sin:link{
COLOR: #003300;
FONT-FAMILY: Arial, Helvetica, sans-serif;
FONT-SIZE: 11px;
+}
+.mensajebrowser{
+ BORDER-BOTTOM: #999999 1px solid;
+ BORDER-LEFT: #999999 1px solid;
+ BORDER-RIGHT: #999999 1px solid;
+ BORDER-TOP: #999999 1px solid;
+ BACKGROUND-COLOR: #FFFFFF;
+ COLOR: #999999;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 14px;
+ FONT-WEIGHT: 300;
}
+
diff --git a/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php b/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php
new file mode 100644
index 00000000..e7e35ae0
--- /dev/null
+++ b/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php
@@ -0,0 +1,20 @@
+<?
+//________________________________________________________________________________________________________
+//
+// Fichero de idiomas php: msgbrowser.php
+// Idioma: Español
+//________________________________________________________________________________________________________
+
+// Literales de los mensajes del browser del cliente
+$TbMsg=array();
+ $TbMsg[0]='Indice del mensaje NO identificado';
+ $TbMsg[1]='Actualizando, por favor espere...';
+ $TbMsg[2]='Creando imagen, por favor espere...';
+ $TbMsg[3]='Restaurando imagen, por favor espere...';
+ $TbMsg[4]='Modificando tabla de particiones, por favor espere...';
+ $TbMsg[5]='Formateando, por favor espere...';
+ $TbMsg[6]='Creando Inventario Hardware, por favor espere...';
+ $TbMsg[7]='Creando Inventario Software, por favor espere...';
+ $TbMsg[8]='Ejecutando script bash, por favor espere...';
+
+?>
diff --git a/admin/WebConsole/principal/colasacciones.php b/admin/WebConsole/principal/colasacciones.php
index d4621461..fd0b988c 100644
--- a/admin/WebConsole/principal/colasacciones.php
+++ b/admin/WebConsole/principal/colasacciones.php
@@ -490,9 +490,9 @@ else{
<BR><BR>
<? if($accionid==0){?>
<TABLE align=center class=filtros border=0 align=left cellPadding=2 cellSpacing=5 >
- <TR height=20 width=450 valign=baseline>
+ <TR height=20 width=100% valign=baseline>
<TD width=70 onclick=eleccion(this,1) onmouseout=desresaltar(this) onmouseover=resaltar(this) >
- &nbsp;<IMG src="../images/iconos/eliminar.gif"'>&nbsp;<?echo $TbMsg[12]?>&nbsp;</TD>
+ &nbsp;<A href="#op"><IMG border=0 src="../images/iconos/eliminar.gif"'></A>&nbsp;<?echo $TbMsg[12]?>&nbsp;</TD>
<TD width=85 onclick=eleccion(this,2) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle>
&nbsp;<IMG src="../images/iconos/reiniciar.gif"'>&nbsp;<?echo $TbMsg[13]?>&nbsp;</TD>
<TD width=75 onclick=eleccion(this,3) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle>
diff --git a/admin/WebConsole/varios/menucliente.php b/admin/WebConsole/varios/menucliente.php
index d21dfeef..4ce22557 100644
--- a/admin/WebConsole/varios/menucliente.php
+++ b/admin/WebConsole/varios/menucliente.php
@@ -1,11 +1,11 @@
<?
// *************************************************************************
// Aplicación WEB: ogAdmWebCon
-// Autor: Jos�Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
-// Fecha Creaci�: A� 2003-2004
-// Fecha �tima modificaci�: Marzo-2006
+// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
+// Fecha Creación: Año 2003-2004
+// Fecha útima modificación: Marzo-2006
// Nombre del fichero: menubrowser.php
-// Descripci� :
+// Descripción :
// Muestra menu en el browser del cliente
// ****************************************************************************
include_once("../includes/ctrlacc.php");
@@ -14,7 +14,7 @@ include_once("../includes/CreaComando.php");
//________________________________________________________________________________________________________
$cmd=CreaComando($cadenaconexion);
if (!$cmd)
- Header('Location: '.$pagerror.'?herror=2'); // Error de conexi�con servidor B.D.
+ Header('Location: '.$pagerror.'?herror=2'); // Error de conexión servidor B.D.
//________________________________________________________________________________________________________
$ITEMS_PUBLICOS=1;
$ITEMS_PRIVADOS=2;
@@ -25,6 +25,10 @@ if (isset($_GET["tip"])) $tip=$_GET["tip"];
$iph=tomaIP();
if(empty($iph))
die("***ATENCION.- Usted no esta accediendo desde un ordenador permitido: Dirección IP=".$iph);
+
+$UrlPagina=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // Url página
+$UrlPagina=dirname($UrlPagina);
+$UrlPaginaIconos=dirname($UrlPagina)."/images/iconos";
//________________________________________________________________________________________________________
$rsmenu=RecuperaMenu($cmd,$iph); // Recupera un recordset con los datos del m en
if(!empty($rsmenu)){
@@ -57,7 +61,7 @@ if(!empty($rsmenu)){
}
else{
$codeHtml='<P align=center>';
- $codeHtml.='<SPAN style="COLOR: #999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE: 16px;">NO SE HA DETECTADO NINGÚN MENÚ PARA ESTE CLIENTE</SPAN>';
+ $codeHtml.='<SPAN style="COLOR:#999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE: 16px;">NO SE HA DETECTADO NINGÚN MENÚ PARA ESTE CLIENTE</SPAN>';
$codeHtml.='</P>';
}
?>
@@ -66,6 +70,7 @@ else{
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</HEAD>
<BODY>
+ <P align=left><IMG border=0 src="../images/iconos/logoopengnsys.png" width=64><P>
<?
echo $codeHtml;
?>
@@ -101,6 +106,7 @@ function RecuperaMenu($cmd,$iph){
function GeneraMenu($rs,$tipo,$iph){
global $ITEMS_PUBLICOS;
global $ITEMS_PRIVADOS;
+ global $UrlPaginaIconos;
$titulo=$rs->campos["titulo"];
$coorx=$rs->campos["coorx"];
@@ -114,11 +120,6 @@ function GeneraMenu($rs,$tipo,$iph){
$htmlmenupub=$rs->campos["htmlmenupub"];
$htmlmenupri=$rs->campos["htmlmenupri"];
-
- $UrlPagina=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // Url página
- $UrlPagina=dirname($UrlPagina);
- $UrlPaginaIconos=dirname($UrlPagina)."/images/iconos";
-
if($tipo==$ITEMS_PRIVADOS)
$mod=$smodalidad;
else
@@ -127,9 +128,6 @@ function GeneraMenu($rs,$tipo,$iph){
// Genera HTML de la p�ina en funci� de las propiedades del Men del clioente
//$codeHTML.='<DIV style="POSITION:absolute;TOP:'.$coory."px;LEFT:".$coorx.'px">';
-
- $codeHTML.='<P align=left><IMG border=0 src="http://'.$UrlPaginaIconos.'/logoopengnsys.png" width=64><P>';
-
$codeHTML.='<P align=center>';
$codeHTML.='<SPAN style="COLOR: #999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE: 20px;"><U>'.$titulo.'</U></SPAN>';
$codeHTML.='</BR>';
diff --git a/admin/WebConsole/varios/msgbrowser.php b/admin/WebConsole/varios/msgbrowser.php
new file mode 100644
index 00000000..973db502
--- /dev/null
+++ b/admin/WebConsole/varios/msgbrowser.php
@@ -0,0 +1,39 @@
+<?
+// *************************************************************************
+// Aplicación WEB: ogAdmWebCon
+// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
+// Fecha Creación: Año 2003-2004
+// Fecha útima modificación: Marzo-2006
+// Nombre del fichero: menubrowser.php
+// Descripción :
+// Muestra menu en el browser del cliente
+// ****************************************************************************
+$idioma="esp"; // Por defecto idoma español
+include_once("../idiomas/php/".$idioma."/msgbrowser_".$idioma.".php");
+
+$msg="";
+if (isset($_GET["msg"])) $msg=$_GET["msg"]; // Recoge indice del mensaje
+
+if (isset($TbMsg[$msg]))
+ $mensaje=$TbMsg[$msg];
+else
+ $mensaje=$TbMsg[0]; // Mensaje erronéo
+?>
+<HTML>
+<TITLE>Administración web de aulas</TITLE>
+<HEAD>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+ <LINK rel="stylesheet" type="text/css" href="../estilos.css">
+ <SCRIPT language="javascript">
+
+ </SCRIPT>
+</HEAD>
+<BODY>
+ <BR><BR><BR>
+ <TABLE class="mensajebrowser" cellspacing=0 cellpadding=2 align=center border=0>
+ <TR>
+ <TD align=center class="mensajebrowser">&nbsp;<? echo $mensaje?>&nbsp;</TD>
+ </TR>
+ </TABLE>
+</BODY>
+</HTML>
diff --git a/client/nfsexport/scripts/createLogicalPartitions b/client/nfsexport/scripts/createLogicalPartitions
index ba3c9893..7a693aac 100755
--- a/client/nfsexport/scripts/createLogicalPartitions
+++ b/client/nfsexport/scripts/createLogicalPartitions
@@ -1,4 +1,3 @@
#!/bin/bash
-echo Particionando...
diff --git a/client/nfsexport/scripts/createPrimaryPartitions b/client/nfsexport/scripts/createPrimaryPartitions
index 3e49205b..f69f354d 100755
--- a/client/nfsexport/scripts/createPrimaryPartitions
+++ b/client/nfsexport/scripts/createPrimaryPartitions
@@ -1,5 +1,3 @@
#!/bin/bash
-DATOS=$(ogCreatePartitions $*) || exit $?
+ogCreatePartitions "$@"
exit 0
-
-
diff --git a/client/nfsexport/scripts/formatFs b/client/nfsexport/scripts/formatFs
index b43a530f..3e2e565b 100755
--- a/client/nfsexport/scripts/formatFs
+++ b/client/nfsexport/scripts/formatFs
@@ -1,4 +1,2 @@
#!/bin/bash
-DATOS=$(ogFormatFs $*) || exit $?
-exit 0
-
+ogFormatFs "$@"
diff --git a/client/nfsexport/scripts/getFsType b/client/nfsexport/scripts/getFsType
index fd084d44..b3516a4f 100755
--- a/client/nfsexport/scripts/getFsType
+++ b/client/nfsexport/scripts/getFsType
@@ -1,4 +1,3 @@
#!/bin/bash
-DATOS=$(ogGetFsType $*) || exit $?
-[ -n "$DATOS" ] && echo $DATOS
-exit 0
+ogGetFsType "$@"
+
diff --git a/client/nfsexport/scripts/getIpAddress b/client/nfsexport/scripts/getIpAddress
index 577414c0..e428ebfc 100755
--- a/client/nfsexport/scripts/getIpAddress
+++ b/client/nfsexport/scripts/getIpAddress
@@ -1,2 +1,3 @@
#!/bin/bash
-ogGetIpAddress
+ogGetIpAddress "$@"
+
diff --git a/client/nfsexport/scripts/getOsVersion b/client/nfsexport/scripts/getOsVersion
index 09fb7a06..6e6d91d5 100755
--- a/client/nfsexport/scripts/getOsVersion
+++ b/client/nfsexport/scripts/getOsVersion
@@ -1,4 +1,3 @@
#!/bin/bash
-DATOS=$(ogGetOsVersion $*) || exit $?
-[ -n "$DATOS" ] && echo $DATOS
-exit 0
+ogGetOsVersion "$@"
+
diff --git a/client/nfsexport/scripts/listHardwareInfo b/client/nfsexport/scripts/listHardwareInfo
index 0de95cc3..380166e4 100755
--- a/client/nfsexport/scripts/listHardwareInfo
+++ b/client/nfsexport/scripts/listHardwareInfo
@@ -1,3 +1,23 @@
#!/bin/bash
-ogListHardwareInfo 2>/dev/null
-exit 0
+# Scirpt de ejemplo para almacenear en fichero temporal el listado de hardware.
+# (puede usarse como base para el programa de arranque usado por OpenGNSys Admin).
+# Formato: listHardwareInfo
+
+PROG="$(basename $0)"
+if [ $# -ne 0 ]; then
+ ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG "
+ exit $?
+fi
+
+# Directorio del servidor donde se exportan los ficheros de registro.
+SERVERLOGDIR=$(mount | awk -v d=$OGLOG '
+ BEGIN {FS="[: ]"}
+ {if ($4==d) dir=$2}
+ END {print dir}')
+
+# Fichero de listado: hard-IP
+HARDFILE="hard-$(ogGetIpAddress)"
+# Redirigir salida al fichero de listado.
+ogListHardwareInfo>$OGLOG/$HARDFILE || exit $?
+# Salida: camino del fichero de listado en el servidor de repositorio.
+echo $SERVERLOGDIR/$HARDFILE
diff --git a/client/nfsexport/scripts/menuBrowser b/client/nfsexport/scripts/menuBrowser
index 5b3a735a..164d5314 100755
--- a/client/nfsexport/scripts/menuBrowser
+++ b/client/nfsexport/scripts/menuBrowser
@@ -3,10 +3,10 @@
# (puede usarse como base para el programa de arranque usado por OpenGNSys Admin).
PROG="$(basename $0)"
-if [ $# -ne 3 ]; then
- ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG IPservidor urlmenu ipcliente"
+if [ $# -ne 1 ]; then
+ ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG urlmenu"
exit $?
fi
-url="$2"
+url="$1"
browser -qws $url