diff options
author | ramon <ramongomez@us.es> | 2018-01-25 09:47:08 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2018-01-25 09:47:08 +0000 |
commit | b51a508aeb09be6905a4b2216620803dd085b905 (patch) | |
tree | 6a732e7107f07cdd47c734d567a7f22195b7c5d6 /admin | |
parent | aa26f6e8aeed4a582f6d0238b2d99a5a3b6d6406 (diff) |
#730: Eliminar ficheros y código en desuso.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5583 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin')
10 files changed, 1 insertions, 2183 deletions
diff --git a/admin/Sources/Clients/ogAdmLnxClient/Makefile b/admin/Sources/Clients/ogAdmLnxClient/Makefile deleted file mode 100644 index bc2fe3a9..00000000 --- a/admin/Sources/Clients/ogAdmLnxClient/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -# makefile - -# Nombre del proyecto -PROYECTO := ogAdmLnxClient - -# Directorios y librerias -DIRS := -LIBS := -static - -# Opciones de compilacion -#OPCS := -m32 -O0 -g -Wall # Depuracion -OPCS := -m32 -O3 -Wall # Optimizacion - -# Ficheros objetos -OBJS := sources/ogAdmLnxClient.o - -all: $(PROYECTO) - -$(PROYECTO): $(OBJS) - g++ $(OPCS) $(DIRS) $(LIBS) $(OBJS) -o $(PROYECTO) - strip $(PROYECTO) # Optimizacion - -clean: - rm $(PROYECTO) $(OBJS) - -sources/%.o: sources/%.cpp - g++ $(OPCS) -c -o"$@" "$<" - -sources/%.o: sources/%.c - gcc $(OPCS) -I ../../Includes -c -o"$@" "$<" - - - - diff --git a/admin/Sources/Clients/ogAdmLnxClient/ogAdmLnxClient.cfg b/admin/Sources/Clients/ogAdmLnxClient/ogAdmLnxClient.cfg deleted file mode 100644 index 80d69686..00000000 --- a/admin/Sources/Clients/ogAdmLnxClient/ogAdmLnxClient.cfg +++ /dev/null @@ -1,4 +0,0 @@ -ServidorAdm=Dirección IP del servidor de administración -PUERTO=Puerto del servidor de administración -IPLOCAL=Dirección IP local - diff --git a/admin/Sources/Clients/ogAdmLnxClient/sources/ogAdmLnxClient.c b/admin/Sources/Clients/ogAdmLnxClient/sources/ogAdmLnxClient.c deleted file mode 100644 index 0c4c431e..00000000 --- a/admin/Sources/Clients/ogAdmLnxClient/sources/ogAdmLnxClient.c +++ /dev/null @@ -1,499 +0,0 @@ -// ******************************************************************************************************** -// Cliernte: ogAdmLnxClient -// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla -// Fecha Creación: Febrero-2012 -// Fecha Última modificación: Febrero-2012 -// Nombre del fichero: ogAdmLnxClient.c -// Descripción :Este fichero implementa el cliente windows del sistema -// ******************************************************************************************************** -#include "ogAdmLnxClient.h" -#include "ogAdmLib.c" - -// ________________________________________________________________________________________________________ -// Función: EjecutarScript -// -// Descripción: -// Ejecuta código de script -// Parámetros: -// ptrTrama: contenido del mensaje -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -//______________________________________________________________________________________________________ -BOOLEAN EjecutarScript(TRAMA* ptrTrama) -{ - int lon,resul,res; - char *nfn,*ids,*cod,*scp,msglog[LONSTD]; - char modulo[] = "EjecutarScript()"; - - - if (ndebug>=DEBUG_MAXIMO) { - sprintf(msglog, "%s:%s",tbMensajes[21],modulo); - infoDebug(msglog); - } - - nfn=copiaParametro("nfn",ptrTrama); - ids=copiaParametro("ids",ptrTrama); - - scp=copiaParametro("scp",ptrTrama); - cod=URLDecode(scp); - - res=0; - /* Nombre del archivo de script */ - char filescript[LONPRM]; - sprintf(filescript,"/tmp/_script_%s",IPlocal); - if(!escribeArchivo(filescript,cod)){ - errorLog(modulo, 52, FALSE); - res=52; // Error al crear fichero de comandos - } - - if(res==0){ - sprintf(filescript,"chmod 0777 /tmp/_script_%s",IPlocal); - - resul=system(filescript); - if (resul==0) { - sprintf(filescript,"/tmp/_script_%s",IPlocal); - resul=system(filescript); - if (resul>0) { - errorLog(modulo, 86, FALSE); - } - } - } - - initParametros(ptrTrama,0); - lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_EjecutarScript"); - respuestaEjecucionComando(ptrTrama,resul,ids); - return(TRUE); -} -//________________________________________________________________________________________________________ -// Función: tomaConfiguracion -// -// Descripción: -// Lee el fichero de configuración del servicio -// Parámetros: -// filecfg : Ruta completa al fichero de configuración -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -//________________________________________________________________________________________________________ -BOOLEAN tomaConfiguracion(char* filecfg) -{ - char modulo[] = "tomaConfiguracion()"; - - if (filecfg == NULL || strlen(filecfg) == 0) { - errorLog(modulo, 1, FALSE); // Fichero de configuración del cliente vacÃo - return (FALSE); - } - FILE *fcfg; - int lSize; - char * buffer, *lineas[MAXPRM], *dualparametro[2]; - int i, numlin, resul; - - fcfg = fopen(filecfg, "rt"); - if (fcfg == NULL) { - errorLog(modulo, 2, FALSE); // No existe fichero de configuración del cliente - return (FALSE); - } - - fseek(fcfg, 0, SEEK_END); - lSize = ftell(fcfg); // Obtiene tamaño del fichero. - rewind(fcfg); - buffer = (char*) reservaMemoria(lSize+1); // Toma memoria para el buffer de lectura. - if (buffer == NULL) { // No hay memoria suficiente para el buffer - errorLog(modulo, 3, FALSE); - return (FALSE); - } - lSize=fread(buffer, 1, lSize, fcfg); // Lee contenido del fichero - buffer[lSize]=CHARNULL; - fclose(fcfg); - - /* Inicializar variables globales */ - servidoradm[0]=CHARNULL; - puerto[0] = CHARNULL; - IPlocal[0]=CHARNULL; - - numlin = splitCadena(lineas, buffer, '\n'); - for (i = 0; i < numlin; i++){ - splitCadena(dualparametro, lineas[i], '='); - - resul = strcmp(StrToUpper(dualparametro[0]), "SERVIDORADM"); - if (resul == 0) - strcpy(servidoradm, dualparametro[1]); - - resul = strcmp(StrToUpper(dualparametro[0]), "PUERTO"); - if (resul == 0) - strcpy(puerto, dualparametro[1]); - - resul = strcmp(StrToUpper(dualparametro[0]), "IPLOCAL"); - if (resul == 0) - strcpy(IPlocal, dualparametro[1]); - } - - if (servidoradm[0] == CHARNULL) { - errorLog(modulo,4, FALSE); // Falta parámetro SERVIDORADM - return (FALSE); - } - - if (puerto[0] == CHARNULL) { - errorLog(modulo,5, FALSE); // Falta parámetro PUERTO - return (FALSE); - } - if (IPlocal[0] == CHARNULL) { - errorLog(modulo, 92, FALSE); // Falta parámetro IPLOCAL - return (FALSE); - } - return (TRUE); -} -//______________________________________________________________________________________________________ -// Función: InclusionClienteWinLnx -// Descripción: -// Abre una sesión en el servidor de administración y registra al cliente en el sistema -// Parámetros: -// Ninguno -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -//______________________________________________________________________________________________________ -BOOLEAN InclusionClienteWinLnx(TRAMA* ptrTrama) -{ - int lon; - SOCKET socket_c; - char modulo[] = "InclusionClienteWinLnx()"; - - initParametros(ptrTrama,0); - lon=sprintf(ptrTrama->parametros,"nfn=InclusionClienteWinLnx\r"); // Nombre de la función a ejecutar en el servidor - - if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_PETICION)){ - errorLog(modulo,37,FALSE); - return(FALSE); - } - ptrTrama=recibeMensaje(&socket_c); - if(!ptrTrama){ - errorLog(modulo,22,FALSE); - return(FALSE); - } - close(socket_c); - - if(!gestionaTrama(ptrTrama)){ // Análisis de la trama - errorLog(modulo,39,FALSE); - return(FALSE); - } - - return(TRUE); -} -//______________________________________________________________________________________________________ -// Función: RESPUESTA_InclusionClienteWinLnx -// -// Descripción: -// Respuesta del servidor de administración a la petición de inicio -// enviando los datos identificativos del cliente -// Parámetros: -// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -//______________________________________________________________________________________________________ -BOOLEAN RESPUESTA_InclusionClienteWinLnx(TRAMA* ptrTrama) -{ - char* res; - char modulo[] = "RESPUESTA_InclusionClienteWinLnx()"; - int err; - - res=copiaParametro("res",ptrTrama); // Resultado del proceso de inclusión - err=(int)atoi(res); // Código de error devuelto por el servidor - if(err>0){ // Error en el proceso de inclusión - errorLog(modulo,41,FALSE); - errorLog(modulo,err,FALSE); - return (FALSE); - } - strcpy(idordenador,copiaParametro("ido",ptrTrama)); // Identificador del ordenador - strcpy(nombreordenador,copiaParametro("npc",ptrTrama)); // Nombre del ordenador - - if(idordenador==NULL || nombreordenador==NULL){ - errorLog(modulo,40,FALSE); - return (FALSE); - } - return(TRUE); -} -//______________________________________________________________________________________________________ -// Función: ProcesaComandos -// -// Descripción: -// Espera comando desde el Servidor de Administración para ejecutarlos -// Parámetros: -// Ninguno -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -// ________________________________________________________________________________________________________ -void procesaComandos(TRAMA* ptrTrama) -{ - int lon; - SOCKET socket_c; - char modulo[] = "procesaComandos()"; - - initParametros(ptrTrama,0); - while(TRUE){ - lon=sprintf(ptrTrama->parametros,"nfn=DisponibilidadComandos\r"); - lon+=sprintf(ptrTrama->parametros+lon,"tpc=%s\r",CLIENTE_LNX); // Activar disponibilidad - if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_INFORMACION)){ - errorLog(modulo,43,FALSE); - return; - } - infoLog(19); // Disponibilidad de cliente activada - ptrTrama=recibeMensaje(&socket_c); - if(!ptrTrama){ - errorLog(modulo,46,FALSE); - return; - } - - close(socket_c); - - if(!gestionaTrama(ptrTrama)){ // Análisis de la trama - errorLog(modulo,39,FALSE); - return; - } - } -} -//_____________________________________________________________________________________________________ -// Función: Apagar -// -// Descripción: -// Apaga el cliente -// Parámetros: -// ptrTrama: contenido del mensaje -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -//_____________________________________________________________________________________________________ -BOOLEAN Apagar(TRAMA* ptrTrama) -{ - int lon; - char *ids,msglog[LONSTD]; - char modulo[] = "Apagar()"; - - if (ndebug>=DEBUG_MAXIMO) { - sprintf(msglog, "%s:%s",tbMensajes[21],modulo); - infoDebug(msglog); - } - ids=copiaParametro("ids",ptrTrama); - - initParametros(ptrTrama,0); - lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_Apagar"); - respuestaEjecucionComando(ptrTrama,0,ids); - - system("shutdown -h now"); - return(TRUE); -} -//_____________________________________________________________________________________________________ -// Función: Reiniciar -// -// Descripción: -// Apaga el cliente -// Parámetros: -// ptrTrama: contenido del mensaje -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún errorservidoradm -//_____________________________________________________________________________________________________ -BOOLEAN Reiniciar(TRAMA* ptrTrama) -{ - int lon; - char *ids,msglog[LONSTD]; - char modulo[] = "Reiniciar()"; - - if (ndebug>=DEBUG_MAXIMO) { - sprintf(msglog, "%s:%s",tbMensajes[21],modulo); - infoDebug(msglog); - } - ids=copiaParametro("ids",ptrTrama); - - initParametros(ptrTrama,0); - lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_Reiniciar"); - respuestaEjecucionComando(ptrTrama,0,ids); - - system("shutdown -r now"); - - return(TRUE); -} -//______________________________________________________________________________________________________ -// Función: Sondeo -// -// Descripción: -// EnvÃa al servidor una confirmación de que está dentro del sistema -// Parámetros: -// ptrTrama: contenido del mensajede -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -//______________________________________________________________________________________________________ -BOOLEAN Sondeo(TRAMA* ptrTrama) -{ - return(TRUE); -} -//______________________________________________________________________________________________________ -// Función: respuestaEjecucionComando -// -// Descripción: -// Envia una respuesta a una ejecucion de comando al servidor de Administración -// Parámetros: -// - ptrTrama: contenido del mensaje -// - res: Resultado de la ejecución (Código de error devuelto por el script ejecutado) -// - ids: Identificador de la sesion (En caso de no haber seguimiento es NULO) -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -// ________________________________________________________________________________________________________ -BOOLEAN respuestaEjecucionComando(TRAMA* ptrTrama,int res,char *ids) -{ - int lon; - SOCKET socket_c; - char modulo[] = "respuestaEjecucionComando()"; - - lon=strlen(ptrTrama->parametros); - if(ids){ // Existe seguimiento - lon+=sprintf(ptrTrama->parametros+lon,"ids=%s\r",ids); // Añade identificador de la sesión - } - if (res==0){ // Resultado satisfactorio - lon+=sprintf(ptrTrama->parametros+lon,"res=%s\r","1"); - lon+=sprintf(ptrTrama->parametros+lon,"der=%s\r",""); - } - else{ // Algún error - lon+=sprintf(ptrTrama->parametros+lon,"res=%s\r","2"); - lon+=sprintf(ptrTrama->parametros+lon,"der=(Errno:%d)-%s\r",res,tbErrores[res]);// Descripción del error - } - if(!(enviaMensajeServidor(&socket_c,ptrTrama,MSG_NOTIFICACION))){ - errorLog(modulo,44,FALSE); - return(FALSE); - } - close(socket_c); - return(TRUE); -} -// ________________________________________________________________________________________________________ -// Función: gestionaTrama -// -// Descripción: -// Procesa las tramas recibidas.servidoradm -// Parametros: -// ptrTrama: contenido del mensaje -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -// ________________________________________________________________________________________________________ -BOOLEAN gestionaTrama(TRAMA *ptrTrama) -{ - int i, res; - char *nfn; - char modulo[] = "gestionaTrama()"; - - INTROaFINCAD(ptrTrama); - nfn = copiaParametro("nfn", ptrTrama); // Toma nombre de función - - for (i = 0; i < MAXIMAS_FUNCIONES; i++) { // Recorre funciones que procesan las tramas - res = strcmp(tbfuncionesClient[i].nf, nfn); - if (res == 0) { // Encontrada la función que procesa el mensaje - return(tbfuncionesClient[i].fptr(ptrTrama)); // Invoca la función - } - } - errorLog(modulo, 18, FALSE); - return (FALSE); -} -//______________________________________________________________________________________________________ -// Función: enviaMensajeServidor -// -// Descripción: -// Envia un mensaje al servidor de Administración -// Parámetros: -// - socket_c: (Salida) Socket utilizado para el envÃo -// - ptrTrama: contenido del mensaje -// - tipo: Tipo de mensaje -// C=Comando, N=Respuesta a un comando, P=Peticion,R=Respuesta a una petición, I=Informacion -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -// ________________________________________________________________________________________________________ -BOOLEAN enviaMensajeServidor(SOCKET *socket_c,TRAMA *ptrTrama,char tipo) -{ - int lon; - char modulo[] = "enviaMensajeServidor()"; - - *socket_c=abreConexion(); - if(*socket_c==INVALID_SOCKET){ - errorLog(modulo,38,FALSE); // Error de conexión con el servidor - return(FALSE); - } - ptrTrama->arroba='@'; // Cabecera de la trama - strncpy(ptrTrama->identificador,"JMMLCAMDJ_MCDJ",14); // identificador de la trama - ptrTrama->tipo=tipo; // Tipo de mensaje - lon=strlen(ptrTrama->parametros); // Compone la trama - lon+=sprintf(ptrTrama->parametros+lon,"iph=%s\r",IPlocal); // Ip del ordenador - lon+=sprintf(ptrTrama->parametros+lon,"ido=%s\r",idordenador); // Identificador del ordenador - lon+=sprintf(ptrTrama->parametros+lon,"npc=%s\r",nombreordenador); // Nombre del ordenador - - if (!mandaTrama(socket_c,ptrTrama)) { - errorLog(modulo,26,FALSE); - return (FALSE); - } - return(TRUE); -} -// ******************************************************************************************************** -// PROGRAMA PRINCIPAL (CLIENTE) -// ******************************************************************************************************** -int main(int argc, char *argv[]) -{ - TRAMA *ptrTrama; - char modulo[] = "main()"; - - ptrTrama=(TRAMA *)reservaMemoria(sizeof(TRAMA)); - if (ptrTrama == NULL) { // No hay memoria suficiente para el bufer de las tramas - errorLog(modulo, 3, FALSE); - exit(EXIT_FAILURE); - } - /*-------------------------------------------------------------------------------------------------------- - Validación de parámetros de ejecución y fichero de configuración - ---------------------------------------------------------------------------------------------------------*/ - /*-------------------------------------------------------------------------------------------------------- - Validación de parámetros de ejecución y fichero de configuración - ---------------------------------------------------------------------------------------------------------*/ - if (!validacionParametros(argc, argv,7)) // Valida parámetros de ejecución - exit(EXIT_FAILURE); - - if (!tomaConfiguracion(szPathFileCfg)) // Toma parametros de configuración - exit(EXIT_FAILURE); - - /*-------------------------------------------------------------------------------------------------------- - Carga catálogo de funciones que procesan las tramas - ---------------------------------------------------------------------------------------------------------*/ - int cf = 0; - - strcpy(tbfuncionesClient[cf].nf, "RESPUESTA_InclusionClienteWinLnx"); - tbfuncionesClient[cf++].fptr = &RESPUESTA_InclusionClienteWinLnx; - - strcpy(tbfuncionesClient[cf].nf, "Apagar"); - tbfuncionesClient[cf++].fptr = &Apagar; - - strcpy(tbfuncionesClient[cf].nf, "Reiniciar"); - tbfuncionesClient[cf++].fptr = &Reiniciar; - - strcpy(tbfuncionesClient[cf].nf, "Sondeo"); - tbfuncionesClient[cf++].fptr = &Sondeo; - - strcpy(tbfuncionesClient[cf].nf, "EjecutarScript"); - tbfuncionesClient[cf++].fptr = &EjecutarScript; - - /*-------------------------------------------------------------------------------------------------------- - Inicio de sesión - ---------------------------------------------------------------------------------------------------------*/ - infoLog(1); // Inicio de sesión - infoLog(3); // Abriendo sesión en el servidor de Administración; - /*-------------------------------------------------------------------------------------------------------- - Inclusión del cliente en el sistema - ---------------------------------------------------------------------------------------------------------*/ - if(!InclusionClienteWinLnx(ptrTrama)){ // Ha habido algún problema al abrir sesión - errorLog(modulo,0,FALSE); - exit(EXIT_FAILURE); - } - infoLog(4); // Cliente iniciado - procesaComandos(ptrTrama); // Bucle para procesar comandos interactivos - exit(EXIT_SUCCESS); -} diff --git a/admin/Sources/Clients/ogAdmLnxClient/sources/ogAdmLnxClient.h b/admin/Sources/Clients/ogAdmLnxClient/sources/ogAdmLnxClient.h deleted file mode 100644 index 8371d2e4..00000000 --- a/admin/Sources/Clients/ogAdmLnxClient/sources/ogAdmLnxClient.h +++ /dev/null @@ -1,54 +0,0 @@ -// ******************************************************************************************************** -// Cliernte: ogAdmLnxClient -// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla -// Fecha Creación: Marzo-2010 -// Fecha Última modificación: Marzo-2010 -// Nombre del fichero: ogAdmLnxClient.h -// Descripción :Este fichero implementa el cliente general del sistema -// ******************************************************************************************************** -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <ctype.h> -#include <errno.h> -#include <unistd.h> -#include <time.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <sys/wait.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <signal.h> -#include "ogAdmLib.h" -// ________________________________________________________________________________________________________ -// Variables globales -// ________________________________________________________________________________________________________ -char idordenador[LONPRM]; // Identificador del ordenador -char nombreordenador[LONPRM]; // Nombre del ordenador - -char servidoradm[LONPRM]; // Dirección IP del servidor de administración -char puerto[LONPRM]; // Puerto de comunicación -char IPlocal[LONPRM]; // Path donde está la interface entre la administración y el módulo de clonación - - -typedef struct{ // Estructura usada para referenciar las funciones que procesan las tramas - char nf[LONFUN]; // Nombre de la función - BOOLEAN (*fptr)(TRAMA*); // Puntero a la función que procesa la trama -}MSGFUN; -MSGFUN tbfuncionesClient[MAXIMAS_FUNCIONES]; -// ________________________________________________________________________________________________________ -// Prototipo de funciones -// ________________________________________________________________________________________________________ - -void procesaComandos(TRAMA*); -BOOLEAN gestionaTrama(TRAMA *); -BOOLEAN InclusionClienteWinLnx(); -BOOLEAN RESPUESTA_InclusionClienteWinLnx(TRAMA *); -BOOLEAN respuestaEjecucionComando(TRAMA *,int,char*); - -BOOLEAN Apagar(TRAMA *); -BOOLEAN Reiniciar(TRAMA *); -BOOLEAN Sondeo(TRAMA *); - -BOOLEAN enviaMensajeServidor(SOCKET *,TRAMA *,char); - diff --git a/admin/Sources/Clients/ogAdmWinClient/Readme b/admin/Sources/Clients/ogAdmWinClient/Readme deleted file mode 100644 index 6585e818..00000000 --- a/admin/Sources/Clients/ogAdmWinClient/Readme +++ /dev/null @@ -1,25 +0,0 @@ - El cliente opengnsys para Windows es una aplicación que se instala como un servicio, de esta manera, no es necesario
- abrir sesión en este sistema operativo para que la máquina cliente se comunique con el administrador de opengnsys.
- Actualmente sólo responde a los comandos "Apagar" y "Reiniciar".
-
-
-Para INSTALAR esta aplicación como un servicio windows hay que seguir los siguentes pasos:
-
-1) Copiar el ejecutable ogAdmWinClient.exe en una carpeta cualquiera --se aconseja la carpeta c:\Windows\system32\opengnsys, creándola previamente--.
-2) Abrir una consola y posicionarse en la carpeta seleccionada
-3) Teclear:
- c>ogAdmClient t -install -s [IP servidor Opengnsys] -p [puerto] -i [IP local usada para comunicaciones con el servidor]
-
-Este servicio se da de alta en la base de datos de servicios de Windows con estado "detenido" y "manual" por lo que es necesario abrir la consola
-del administrador de servicios de Windows para iniciarlos y modificar las propiedades para que arranquen automáticamente al iniciarse Windows.
-
-
- Para DESINTALAR esta aplicación una vez que se ha instalado como servicio hay que hacer:
- 1) Abrir una consola y posicionarse en la carpeta donde está el ejecutable del servicio
- 2) Teclear:
- c>ogAdmClient t -remove
-
-
-
-*** El fichero de log del servicio se llama por defecto ogAdmWinClient.log y estará en el caso de que la carpeta del ejecutable sea c:\Windows\system32\opengnsys,
- este archivo estará en c:\Windows\system32\
diff --git a/admin/Sources/Clients/ogAdmWinClient/sources/ogAdmWinClient.cpp b/admin/Sources/Clients/ogAdmWinClient/sources/ogAdmWinClient.cpp deleted file mode 100644 index 2f164d41..00000000 --- a/admin/Sources/Clients/ogAdmWinClient/sources/ogAdmWinClient.cpp +++ /dev/null @@ -1,713 +0,0 @@ -// ********************************************************************************************************
-// Cliente: ogAdmWinClient
-// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
-// Fecha Creación: Febrero-2012
-// Fecha Última modificación: Febrero-2012
-// Nombre del fichero: ogAdmWinClient.cpp
-// Descripción :Este fichero implementa el cliente windows del sistema
-// ********************************************************************************************************
-#include "ogAdmWinClient.h"
-#include "ogAdmLib.c"
-#include "registrow.c"
-//________________________________________________________________________________________________________
-// Función: tomaConfiguracion
-//
-// Descripción:
-// Lee el fichero de configuración del servicio
-// Parámetros:
-// filecfg : Ruta completa al fichero de configuración
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-//________________________________________________________________________________________________________
-BOOLEAN tomaConfiguracion(char* filecfg)
-{
- char modulo[] = "tomaConfiguracion()";
-
- if (filecfg == NULL || strlen(filecfg) == 0) {
- errorLog(modulo, 1, FALSE); // Fichero de configuración del cliente vacío
- return (FALSE);
- }
- FILE *fcfg;
- int lSize;
- char * buffer, *lineas[MAXPRM], *dualparametro[2];
- int i, numlin, resul;
-
- fcfg = fopen(filecfg, "rt");
- if (fcfg == NULL) {
- errorLog(modulo, 2, FALSE); // No existe fichero de configuración del cliente
- return (FALSE);
- }
-
- fseek(fcfg, 0, SEEK_END);
- lSize = ftell(fcfg); // Obtiene tamaño del fichero.
- rewind(fcfg);
- buffer = (char*) reservaMemoria(lSize+1); // Toma memoria para el buffer de lectura.
- if (buffer == NULL) { // No hay memoria suficiente para el buffer
- errorLog(modulo, 3, FALSE);
- return (FALSE);
- }
- lSize=fread(buffer, 1, lSize, fcfg); // Lee contenido del fichero
- buffer[lSize]=CHARNULL;
- fclose(fcfg);
-
- /* Inicializar variables globales */
- servidoradm[0]=CHARNULL;
- puerto[0] = CHARNULL;
- IPlocal[0]=CHARNULL;
-
- numlin = splitCadena(lineas, buffer, '\n');
- for (i = 0; i < numlin; i++){
- splitCadena(dualparametro, lineas[i], '=');
-
- resul = strcmp(StrToUpper(dualparametro[0]), "SERVIDORADM");
- if (resul == 0)
- strcpy(servidoradm, dualparametro[1]);
-
- resul = strcmp(StrToUpper(dualparametro[0]), "PUERTO");
- if (resul == 0)
- strcpy(puerto, dualparametro[1]);
-
- resul = strcmp(StrToUpper(dualparametro[0]), "IPLOCAL");
- if (resul == 0)
- strcpy(IPlocal, dualparametro[1]);
- }
-
- if (servidoradm[0] == CHARNULL) {
- errorLog(modulo,4, FALSE); // Falta parámetro SERVIDORADM
- return (FALSE);
- }
-
- if (puerto[0] == CHARNULL) {
- errorLog(modulo,5, FALSE); // Falta parámetro PUERTO
- return (FALSE);
- }
- if (IPlocal[0] == CHARNULL) {
- errorLog(modulo, 92, FALSE); // Falta parámetro IPLOCAL
- return (FALSE);
- }
- return (TRUE);
-}
-//______________________________________________________________________________________________________
-// Función: InclusionClienteWinLnx
-// Descripción:
-// Abre una sesión en el servidor de administración y registra al cliente en el sistema
-// Parámetros:
-// Ninguno
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-//______________________________________________________________________________________________________
-BOOLEAN InclusionClienteWinLnx(TRAMA* ptrTrama)
-{
- int lon;
- SOCKET socket_c;
- char modulo[] = "InclusionClienteWinLnx()";
-
- initParametros(ptrTrama,0);
- lon=sprintf(ptrTrama->parametros,"nfn=InclusionClienteWinLnx\r"); // Nombre de la función a ejecutar en el servidor
-
- if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_PETICION)){
- errorLog(modulo,37,FALSE);
- return(FALSE);
- }
- ptrTrama=recibeMensaje(&socket_c);
- if(!ptrTrama){
- errorLog(modulo,22,FALSE);
- return(FALSE);
- }
- closesocket(socket_c);
-
- if(!gestionaTrama(ptrTrama)){ // Análisis de la trama
- errorLog(modulo,39,FALSE);
- return(FALSE);
- }
-
- return(TRUE);
-}
-//______________________________________________________________________________________________________
-// Función: RESPUESTA_InclusionClienteWinLnx
-//
-// Descripción:
-// Respuesta del servidor de administración a la petición de inicio
-// enviando los datos identificativos del cliente
-// Parámetros:
-// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-//______________________________________________________________________________________________________
-BOOLEAN RESPUESTA_InclusionClienteWinLnx(TRAMA* ptrTrama)
-{
- char* res;
- char modulo[] = "RESPUESTA_InclusionClienteWinLnx()";
- int err;
-
- res=copiaParametro("res",ptrTrama); // Resultado del proceso de inclusión
- err=(int)atoi(res); // Código de error devuelto por el servidor
- if(err>0){ // Error en el proceso de inclusión
- errorLog(modulo,41,FALSE);
- errorLog(modulo,err,FALSE);
- return (FALSE);
- }
- strcpy(idordenador,copiaParametro("ido",ptrTrama)); // Identificador del ordenador
- strcpy(nombreordenador,copiaParametro("npc",ptrTrama)); // Nombre del ordenador
-
- if(idordenador==NULL || nombreordenador==NULL){
- errorLog(modulo,40,FALSE);
- return (FALSE);
- }
- return(TRUE);
-}
-//______________________________________________________________________________________________________
-// Función: ProcesaComandos
-//
-// Descripción:
-// Espera comando desde el Servidor de Administración para ejecutarlos
-// Parámetros:
-// Ninguno
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-// ________________________________________________________________________________________________________
-void procesaComandos(TRAMA* ptrTrama)
-{
- int lon;
- SOCKET socket_c;
- char modulo[] = "procesaComandos()";
-
- initParametros(ptrTrama,0);
- while(TRUE){
- lon=sprintf(ptrTrama->parametros,"nfn=DisponibilidadComandos\r");
- lon+=sprintf(ptrTrama->parametros+lon,"tpc=%s\r",CLIENTE_WIN); // Activar disponibilidad
- if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_INFORMACION)){
- errorLog(modulo,43,FALSE);
- return;
- }
- infoLog(19); // Disponibilidad de cliente activada
- ptrTrama=recibeMensaje(&socket_c);
- if(!ptrTrama){
- errorLog(modulo,46,FALSE);
- return;
- }
-
- closesocket(socket_c);
-
- if(!gestionaTrama(ptrTrama)){ // Análisis de la trama
- errorLog(modulo,39,FALSE);
- return;
- }
- }
-}
-//_____________________________________________________________________________________________________
-// Función: Apagar
-//
-// Descripción:
-// Apaga el cliente
-// Parámetros:
-// ptrTrama: contenido del mensaje
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-//_____________________________________________________________________________________________________
-BOOLEAN Apagar(TRAMA* ptrTrama)
-{
- int lon;
- char *ids,msglog[LONSTD];
- char modulo[] = "Apagar()";
-
- if (ndebug>=DEBUG_MAXIMO) {
- sprintf(msglog, "%s:%s",tbMensajes[21],modulo);
- infoDebug(msglog);
- }
- ids=copiaParametro("ids",ptrTrama);
-
- initParametros(ptrTrama,0);
- lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_Apagar");
- respuestaEjecucionComando(ptrTrama,0,ids);
-
- if(versionWin<5)
- ApagarReiniciar(EWX_POWEROFF | EWX_FORCE,ids,0);
- else
- ApagarReiniciar(EWX_SHUTDOWN | EWX_FORCE,ids,0);
- return(TRUE);
-}
-//_____________________________________________________________________________________________________
-// Función: Reiniciar
-//
-// Descripción:
-// Apaga el cliente
-// Parámetros:
-// ptrTrama: contenido del mensaje
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún errorservidoradm
-//_____________________________________________________________________________________________________
-BOOLEAN Reiniciar(TRAMA* ptrTrama)
-{
- int lon;
- char *ids,msglog[LONSTD];
- char modulo[] = "Reiniciar()";
-
- if (ndebug>=DEBUG_MAXIMO) {
- sprintf(msglog, "%s:%s",tbMensajes[21],modulo);
- infoDebug(msglog);
- }
- ids=copiaParametro("ids",ptrTrama);
-
- initParametros(ptrTrama,0);
- lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_Reiniciar");
- respuestaEjecucionComando(ptrTrama,0,ids);
-
- if(versionWin<5)
- ApagarReiniciar(EWX_REBOOT | EWX_FORCE,ids,1);
- else
- ApagarReiniciar(EWX_REBOOT | EWX_FORCE,ids,1);
-
- return(TRUE);
-}
-// _____________________________________________________________________________________________________________
-//
-// Función: ApagarReiniciar
-//
-// Descripción:
-// Apaga o reinicia el ordenador o bien hace logout del usuario
-//
-// Parámetros:
-// - uFlags : Especifica el tipo de shutdown
-// _____________________________________________________________________________________________________________
-BOOLEAN ApagarReiniciar(UINT uFlags,char *ids,int sw)
-{
- HANDLE hToken;
- TOKEN_PRIVILEGES tkp;
- char modulo[] = "Reiniciar()";
-
- if (versionWin>4){
- if (!ExitWindowsEx(uFlags, 0)) {
- errorLog(modulo,86,FALSE);
- return(FALSE);
- }
- return TRUE;
- }
- // Get a token for this process.
- if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) {
- errorLog(modulo,86,FALSE);
- return(FALSE);
- }
-
- // Get the LUID for the shutdown privilege.
- LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
-
- tkp.PrivilegeCount = 1; // one privilege to set
- tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
-
- // Get the shutdown privilege for this process.
- AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);
-
- if (GetLastError() != ERROR_SUCCESS) {
- errorLog(modulo,86,FALSE);
- return(FALSE);
- }
-
- // Shut down the system and force all applications to close.
- if (!ExitWindowsEx(uFlags, 0)) {
- errorLog(modulo,86,FALSE);
- return(FALSE);
- }
-
- return TRUE;
-}
-// _____________________________________________________________________________________________________________
-//
-// Función: TomaVersionWindows
-//
-// Descripción:
-// Toma la versión del sistema operativo
-//
-// Valores de retorno:
-// 1.- Microsoft Windows Server 2003
-// 2.- Microsoft Windows XP
-// 3.- Microsoft Windows 2000
-// 4.- Microsoft Windows NT
-// 5.- Microsoft Windows 95
-// 6.- Microsoft Windows 98
-// 7.- Microsoft Windows Millennium Edition
-// _____________________________________________________________________________________________________________
-int TomaVersionWindows()
-{
- OSVERSIONINFOEX osvi;
- BOOL bOsVersionInfoEx;
-
- // Intenta tomar la version usando la estructura OSVERSIONINFOEX
- // Si falla lo intentausando la estructura OSVERSIONINFO.
-
- ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
- osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
-
- if( !(bOsVersionInfoEx = GetVersionEx ((OSVERSIONINFO *) &osvi)) ){
- osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
- if (! GetVersionEx ( (OSVERSIONINFO *) &osvi) )
- return -1;
- }
- switch (osvi.dwPlatformId){
- // Test for the Windows NT product family.
- case VER_PLATFORM_WIN32_NT:
- if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2 )
- return(1); // Microsoft Windows Server 2003
- if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 )
- return(2); // Microsoft Windows XP
- if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0 )
- return(3); // Microsoft Windows 2000
- if ( osvi.dwMajorVersion <= 4 )
- return(4); // Microsoft Windows NT
- break;
-
- // Test for the Windows Me/98/95.
- case VER_PLATFORM_WIN32_WINDOWS:
- if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0)
- return(5); // Microsoft Windows 95
- if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10)
- return(6); // Microsoft Windows 98
- if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90)
- return(7); // Microsoft Windows Millennium Edition
- break;
- }
- return -1;
-}
-//______________________________________________________________________________________________________
-// Función: Sondeo
-//
-// Descripción:
-// Envía al servidor una confirmación de que está dentro del sistema
-// Parámetros:
-// ptrTrama: contenido del mensajede
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-//______________________________________________________________________________________________________
-BOOLEAN Sondeo(TRAMA* ptrTrama)
-{
- return(TRUE);
-}
-//______________________________________________________________________________________________________
-// Función: Actualizar
-//
-// Descripción:
-// Envía al servidor una confirmación de que está dentro del sistema
-// Parámetros:
-// ptrTrama: contenido del mensajede
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-//______________________________________________________________________________________________________
-BOOLEAN Actualizar(TRAMA* ptrTrama)
-{
- return(TRUE);
-}
-//______________________________________________________________________________________________________
-// Función: respuestaEjecucionComando
-//
-// Descripción:
-// Envia una respuesta a una ejecucion de comando al servidor de Administración
-// Parámetros:
-// - ptrTrama: contenido del mensaje
-// - res: Resultado de la ejecución (Código de error devuelto por el script ejecutado)
-// - ids: Identificador de la sesion (En caso de no haber seguimiento es NULO)
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-// ________________________________________________________________________________________________________
-BOOLEAN respuestaEjecucionComando(TRAMA* ptrTrama,int res,char *ids)
-{
- int lon;
- SOCKET socket_c;
- char modulo[] = "respuestaEjecucionComando()";
-
- lon=strlen(ptrTrama->parametros);
- if(ids){ // Existe seguimiento
- lon+=sprintf(ptrTrama->parametros+lon,"ids=%s\r",ids); // Añade identificador de la sesión
- }
- if (res==0){ // Resultado satisfactorio
- lon+=sprintf(ptrTrama->parametros+lon,"res=%s\r","1");
- lon+=sprintf(ptrTrama->parametros+lon,"der=%s\r","");
- }
- else{ // Algún error
- lon+=sprintf(ptrTrama->parametros+lon,"res=%s\r","2");
- lon+=sprintf(ptrTrama->parametros+lon,"der=%s\r",tbErrores[res]);// Descripción del error
- }
- if(!(enviaMensajeServidor(&socket_c,ptrTrama,MSG_NOTIFICACION))){
- errorLog(modulo,44,FALSE);
- return(FALSE);
- }
- closesocket(socket_c);
- return(TRUE);
-}
-// ________________________________________________________________________________________________________
-// Función: gestionaTrama
-//
-// Descripción:
-// Procesa las tramas recibidas.servidoradm
-// Parametros:
-// ptrTrama: contenido del mensaje
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-// ________________________________________________________________________________________________________
-BOOLEAN gestionaTrama(TRAMA *ptrTrama)
-{
- int i, res;
- char *nfn;
- char modulo[] = "gestionaTrama()";
-
- INTROaFINCAD(ptrTrama);
- nfn = copiaParametro("nfn", ptrTrama); // Toma nombre de función
- for (i = 0; i < MAXIMAS_FUNCIONES; i++) { // Recorre funciones que procesan las tramas
- res = strcmp(tbfuncionesClient[i].nf, nfn);
- if (res == 0) { // Encontrada la función que procesa el mensaje
- return(tbfuncionesClient[i].fptr(ptrTrama)); // Invoca la función
- }
- }
- errorLog(modulo, 18, FALSE);
- return (FALSE);
-}
-//______________________________________________________________________________________________________
-// Función: enviaMensajeServidor
-//
-// Descripción:
-// Envia un mensaje al servidor de Administración
-// Parámetros:
-// - socket_c: (Salida) Socket utilizado para el envío
-// - ptrTrama: contenido del mensaje
-// - tipo: Tipo de mensaje
-// C=Comando, N=Respuesta a un comando, P=Peticion,R=Respuesta a una petición, I=Informacion
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-// ________________________________________________________________________________________________________
-BOOLEAN enviaMensajeServidor(SOCKET *socket_c,TRAMA *ptrTrama,char tipo)
-{
- int lon;
- char modulo[] = "enviaMensajeServidor()";
-
- *socket_c=abreConexion();
- if(*socket_c==INVALID_SOCKET){
- errorLog(modulo,38,FALSE); // Error de conexión con el servidor
- return(FALSE);
- }
- ptrTrama->arroba='@'; // Cabecera de la trama
- strncpy(ptrTrama->identificador,"JMMLCAMDJ_MCDJ",14); // identificador de la trama
- ptrTrama->tipo=tipo; // Tipo de mensaje
- lon=strlen(ptrTrama->parametros); // Compone la trama
- lon+=sprintf(ptrTrama->parametros+lon,"iph=%s\r",IPlocal); // Ip del ordenador
- lon+=sprintf(ptrTrama->parametros+lon,"ido=%s\r",idordenador); // Identificador del ordenador
- lon+=sprintf(ptrTrama->parametros+lon,"npc=%s\r",nombreordenador); // Nombre del ordenador
-
- if (!mandaTrama(socket_c,ptrTrama)) {
- errorLog(modulo,26,FALSE);
- return (FALSE);
- }
- return(TRUE);
-}
-// _____________________________________________________________________________________________________________
-// Función: TomaParametrosReg
-//
-// Descripción:
-// Toma los parámetros de conexión del registro
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-// _____________________________________________________________________________________________________________
-BOOLEAN TomaParametrosReg()
-{
- if(!ReadRegistryString(HIVE,BASE,"servidoradm",servidoradm,20))
- return(FALSE);
-
- if(!ReadRegistryString(HIVE,BASE,"puerto",puerto,20))
- return(FALSE);
-
- if(!ReadRegistryString(HIVE,BASE,"Iplocal",IPlocal,20))
- return(FALSE);
-
- return(TRUE);
-}
-//______________________________________________________________________________________________________
-// Función: TomaIP
-//
-// Descripción:
-// Recupera la ip de la máquina
-// Parámetros:
-// Ninguno
-// Devuelve:
-// TRUE: Si el proceso es correcto
-// FALSE: En caso de ocurrir algún error
-// ________________________________________________________________________________________________________
-BOOLEAN TomaIP(char* ip)
-{
- char ac[80];
- struct in_addr addr;
- BOOLEAN ipv;
-
- if (gethostname(ac, sizeof(ac)) == SOCKET_ERROR) {
- return (FALSE);
- }
- struct hostent *phe = gethostbyname(ac);
- if (phe == 0) {
- return (FALSE);
- }
- ipv=FALSE;
- for (int i = 0; phe->h_addr_list[i] != 0 && !ipv; ++i) {
- memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr));
- strcpy(ip,inet_ntoa(addr));
- if(strcmp(IPlocal,"127.0.0.1")==0)
- ipv=FALSE;
- else{
- ipv=true; // IP válida distinta a loop
- break;
- }
- }
-
- return(ipv);
-}
-// ********************************************************************************************************
-// PROGRAMA PRINCIPAL (CLIENTE)
-// ********************************************************************************************************
-//int main(int argc, char *argv[])
-VOID ServiceStart (DWORD dwArgc, LPTSTR *lpszArgv)
- {
- //___________________________________________________________
- //
- // Service initialization (Report the status to the service control manager)
- //___________________________________________________________
- //
- if (!ReportStatusToSCMgr(
- SERVICE_START_PENDING, // service state
- NO_ERROR, // exit code
- 3000)) // wait hint
- return;
- //__________________________________________
-
- TRAMA *ptrTrama;
- char modulo[] = "main()";
-
- strcpy(szPathFileLog, "ogAdmWinClient.log"); // de configuración y de logs
-
-
- WSADATA wsd;
- if (WSAStartup(MAKEWORD(2,2),&wsd)!=0){ // Carga librería Winsock
- errorLog(modulo, 93, FALSE);
- exit(EXIT_FAILURE);
- }
-
- ptrTrama=(TRAMA *)reservaMemoria(sizeof(TRAMA));
- if (ptrTrama == NULL) { // No hay memoria suficiente para el bufer de las tramas
- errorLog(modulo, 3, FALSE);
- exit(EXIT_FAILURE);
- }
- /*--------------------------------------------------------------------------------------------------------
- Validación de parámetros de ejecución y fichero de configuración
- ---------------------------------------------------------------------------------------------------------*/
- if(!TomaParametrosReg()) // Toma parametros de configuracion
- exit(EXIT_FAILURE);
-
- //___________________________________________________________
- //
- // Service initialization (Report the status to the service control manager)
- //___________________________________________________________
- //
- if (!ReportStatusToSCMgr(
- SERVICE_START_PENDING, // service state
- NO_ERROR, // exit code
- 3000)) // wait hint
- return;
- //__________________________________________
- //
- // Toma IP local
- //___________________________________________
- //
- // Toma la ip también del registro
- /*if(!TomaIP(IPlocal)){
- errorLog(modulo,85,FALSE);
- exit(EXIT_FAILURE);
- }
- */
- versionWin=TomaVersionWindows(); // Toma versión de windows
-
- /*--------------------------------------------------------------------------------------------------------
- Carga catálogo de funciones que procesan las tramas
- ---------------------------------------------------------------------------------------------------------*/
- int cf = 0;
-
- strcpy(tbfuncionesClient[cf].nf, "RESPUESTA_InclusionClienteWinLnx");
- tbfuncionesClient[cf++].fptr = &RESPUESTA_InclusionClienteWinLnx;
-
- strcpy(tbfuncionesClient[cf].nf, "Apagar");
- tbfuncionesClient[cf++].fptr = &Apagar;
-
- strcpy(tbfuncionesClient[cf].nf, "Reiniciar");
- tbfuncionesClient[cf++].fptr = &Reiniciar;
-
- strcpy(tbfuncionesClient[cf].nf, "Sondeo");
- tbfuncionesClient[cf++].fptr = &Sondeo;
-
- strcpy(tbfuncionesClient[cf].nf, "Actualizar");
- tbfuncionesClient[cf++].fptr = &Actualizar;
-
- /*--------------------------------------------------------------------------------------------------------
- Inicio de sesión
- ---------------------------------------------------------------------------------------------------------*/
- infoLog(1); // Inicio de sesión
- infoLog(3); // Abriendo sesión en el servidor de Administración;
- /*--------------------------------------------------------------------------------------------------------
- Inclusión del cliente en el sistema
- ---------------------------------------------------------------------------------------------------------*/
- if(!InclusionClienteWinLnx(ptrTrama)){ // Ha habido algún problema al abrir sesión
- errorLog(modulo,0,FALSE);
- exit(EXIT_FAILURE);
- }
- infoLog(4); // Cliente iniciado
-
- //__________________________________________
- // El servicio está instalado y debe ser iniciado
- // -- report the status to the service control manager.--
- //
- if (!ReportStatusToSCMgr(
- SERVICE_RUNNING, // service state
- NO_ERROR, // exit code
- 0)) // wait hint
- return;
- // End of initialization
- //__________________________________________
-
- //
- // Service is now running, perform work until shutdown
- //
- while (ssStatus.dwCurrentState == SERVICE_RUNNING) { // Bucle para escuchar peticiones de clientes
- procesaComandos(ptrTrama); // Bucle para procesar comandos interactivos
- }
- WSACleanup();
- // El servicio de detiene
-}
-/* _____________________________________________________________________________________________________________
- FUNCTION: ServiceStop
-
- PURPOSE: Stops the service
- PARAMETERS:
- none
-
- RETURN VALUE:
- none
-
- COMMENTS:
-
- If a ServiceStop procedure is going to
- take longer than 3 seconds to execute,
- it should spawn a thread to execute the
- stop code, and return. Otherwise, the
- ServiceControlManager will believe that
- the service has stopped responding.
- _____________________________________________________________________________________________________________*/
-VOID ServiceStop()
-{
- // Incluir aquí el código necesario antes de parar el servicio
- ReportStatusToSCMgr(SERVICE_STOPPED, NO_ERROR, 0);
-}
\ No newline at end of file diff --git a/admin/Sources/Clients/ogAdmWinClient/sources/ogAdmWinClient.h b/admin/Sources/Clients/ogAdmWinClient/sources/ogAdmWinClient.h deleted file mode 100644 index 55e33ad8..00000000 --- a/admin/Sources/Clients/ogAdmWinClient/sources/ogAdmWinClient.h +++ /dev/null @@ -1,60 +0,0 @@ -// ********************************************************************************************************
-// Cliente: ogAdmWinClient
-// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
-// Fecha Creación: Febrero-2012
-// Fecha Última modificación: Febrero-2012
-// Nombre del fichero: ogAdmWinClient.h
-// Descripción :Este fichero implementa el cliente general del sistema
-// ********************************************************************************************************
-#define __WINDOWS__
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <time.h>
-#include <signal.h>
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#include <winreg.h>
-
-#include "registrow.h"
-#include "ogAdmLib.h"
-#include "servicio.h"
-// ________________________________________________________________________________________________________
-// Variables globales
-// ________________________________________________________________________________________________________
-//
-int versionWin;
-char idordenador[LONPRM]; // Identificador del ordenador
-char nombreordenador[LONPRM]; // Nombre del ordenador
-
-char servidoradm[LONPRM]; // Dirección IP del servidor de administración
-char puerto[LONPRM]; // Puerto de comunicación
-char IPlocal[LONPRM]; // Ip local por donde se van a enviar las comunicaciones
-
-
-typedef struct{ // Estructura usada para referenciar las funciones que procesan las tramas
- char nf[LONFUN]; // Nombre de la función
- BOOLEAN (*fptr)(TRAMA*); // Puntero a la función que procesa la trama
-}MSGFUN;
-MSGFUN tbfuncionesClient[MAXIMAS_FUNCIONES];
-// ________________________________________________________________________________________________________
-// Prototipo de funciones
-// ________________________________________________________________________________________________________
-
-void procesaComandos(TRAMA*);
-BOOLEAN gestionaTrama(TRAMA *);
-BOOLEAN InclusionClienteWinLnx();
-BOOLEAN RESPUESTA_InclusionClienteWinLnx(TRAMA *);
-BOOLEAN respuestaEjecucionComando(TRAMA *,int,char*);
-
-BOOLEAN Apagar(TRAMA *);
-BOOLEAN Reiniciar(TRAMA *);
-BOOLEAN Sondeo(TRAMA *);
-
-BOOLEAN enviaMensajeServidor(SOCKET *,TRAMA *,char);
-BOOLEAN ApagarReiniciar(UINT,char *,int sw);
-
-SOCKADDR_IN *GetIPInterfaceList(SOCKET , int *);
\ No newline at end of file diff --git a/admin/Sources/Clients/ogAdmWinClient/sources/servicio.c b/admin/Sources/Clients/ogAdmWinClient/sources/servicio.c deleted file mode 100644 index 773ac883..00000000 --- a/admin/Sources/Clients/ogAdmWinClient/sources/servicio.c +++ /dev/null @@ -1,628 +0,0 @@ -// ******************************************************************************************************************************************************************************
-// Aplicación HIDRA
-// Copyright 2003-2005 José Manuel Alonso. Todos los derechos reservados.
-// Fichero: servicio.c
-// Descripción:
-// Este proyecto implementa el servicio hidra en un ordenador con plataforma windows NT. Este fichero aporta las funciones para crear el servicio
-// ******************************************************************************************************************************************************************************
-//____________________________________________________________________________________________________________________________
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright (C) 1993-1997 Microsoft Corporation. All Rights Reserved.
-//
-// MODULE: service.c
-// PURPOSE: Implements functions required by all services windows.
-//
-// FUNCTIONS:
-// main(int argc, char **argv);
-// service_ctrl(DWORD dwCtrlCode);
-// service_main(DWORD dwArgc, LPTSTR *lpszArgv);
-// CmdInstallService();
-// CmdRemoveService();
-// CmdDebugService(int argc, char **argv);
-// ControlHandler ( DWORD dwCtrlType );
-// GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize );
-//
-// COMMENTS:
-// AUTHOR: Craig Link - Microsoft Developer Support
-//____________________________________________________________________________________________________________________________
-#include "servicio.h"
-//____________________________________________________________________________________________________________________________
-// internal variables
-DWORD dwErr = 0;
-BOOL bDebug = FALSE;
-TCHAR szErr[256];
-
-// internal function prototypes
-VOID WINAPI service_ctrl(DWORD dwCtrlCode);
-VOID WINAPI service_main(DWORD dwArgc, LPTSTR *lpszArgv);
-VOID CmdInstallService();
-VOID CmdRemoveService();
-VOID CmdDebugService(int argc, char **argv);
-BOOL WINAPI ControlHandler ( DWORD dwCtrlType );
-LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize );
-//____________________________________________________________________________________________________________________________
-//
-// FUNCTION: tomarestoparametros
-//
-// Descripción:
-//
-// Toma los parametros de conexión de la linea de comando y los graba en el Registro
-//____________________________________________________________________________________________________________________________
-int tomarestoparametros(int argc, char **argv)
-{
- int i,lon;
- char servidorhidra[20];
- char puerto[10];
- char iplocal[20];
-
- strcpy(servidorhidra,SERVIDOR_DEFAULT);
- strcpy(puerto,PUERTO_DEFAULT);
- strcpy(iplocal,IPLOCAL_DEFAULT);
-
- for(i=2;i<argc;i++){
- lon=strlen(argv[i]);
- if ((argv[i][0]=='-')||(argv[i][0]=='/') && argv[i][2]==' ') {
- switch (tolower(argv[i][1])){
- case 's': // Ip del servidor hidra
- //strcpy(servidorhidra,&argv[i][3]);
- TOMAPARAMSTR(servidorhidra);
- break;
- case 'p': // Puerto
- TOMAPARAMSTR(puerto);
- break;
- case 'i': // Ip local
- TOMAPARAMSTR(iplocal);
- break;
- default:
- printf("\nSintaxis: -install\n\n");
- printf(" -s IP del servidor\n -p puerto\n -i IP local\n");
- return(FALSE);
- break;
- }
- }
- }
- if(strcmp(servidorhidra,SERVIDOR_DEFAULT)==0
- || strcmp(puerto,PUERTO_DEFAULT)==0
- || strcmp(iplocal,IPLOCAL_DEFAULT)==0) {
- printf("\nSintaxis: -install\n\n");
- printf(" -s IP del servidor\n -p puerto\n -i IP local\n");
- return(FALSE);
- }
-
- CHKREGISTRY(WriteRegistryString(HIVE,BASE,"servidoradm",servidorhidra));
- CHKREGISTRY(WriteRegistryString(HIVE,BASE,"puerto",puerto));
- CHKREGISTRY(WriteRegistryString(HIVE,BASE,"iplocal",iplocal));
- return(TRUE);
-}
-//____________________________________________________________________________________________________________________________
-//
-// FUNCTION: borraparametros
-//
-// Descripción:
-//
-// Elimina la clave y subclave donde están los parámetros de conexión
-//____________________________________________________________________________________________________________________________
-int borraparametros()
-{
- RMVREGISTRY(DeleteRegistryKey(HIVE,BASE)); // Borra la subclave completa
- RMVREGISTRY(DeleteRegistryKey(HIVE,BASEKEY)); // Borra la clave completa
- return(TRUE);
-}
-//____________________________________________________________________________________________________________________________
-//
-// FUNCTION: main
-//
-// PURPOSE: entrypoint for service
-//
-// PARAMETERS:
-// argc - number of command line arguments
-// argv - array of command line arguments
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-// main() either performs the command line task, or
-// call StartServiceCtrlDispatcher to register the
-// main service thread. When the this call returns,
-// the service has stopped, so exit.
-//
-//____________________________________________________________________________________________________________________________
-void _CRTAPI1 main(int argc, char **argv)
-{
- SERVICE_TABLE_ENTRY dispatchTable[] =
- {
- { TEXT(SZSERVICENAME), (LPSERVICE_MAIN_FUNCTION)service_main },
- { NULL, NULL }
- };
-
- if ( (argc > 1) &&
- ((*argv[1] == '-') || (*argv[1] == '/')) )
- {
- if ( _stricmp( "install", argv[1]+1 ) == 0 )
- {
- if (!tomarestoparametros(argc,argv))
- exit(1);
- CmdInstallService();
- }
- else if ( _stricmp( "remove", argv[1]+1 ) == 0 )
- {
- borraparametros();
- CmdRemoveService();
- }
- else if ( _stricmp( "debug", argv[1]+1 ) == 0 )
- {
- bDebug = TRUE;
- CmdDebugService(argc, argv);
- }
- else
- {
- goto dispatch;
- }
- exit(0);
- }
- // if it doesn't match any of the above parameters
- // the service control manager may be starting the service
- // so we must call StartServiceCtrlDispatcher
- dispatch:
- // this is just to be friendly
- printf( "%s -install to install the service\n", SZAPPNAME );
- printf( "%s -remove to remove the service\n", SZAPPNAME );
- printf( "%s -debug <params> to run as a console app for debugging\n", SZAPPNAME );
- printf( "\nStartServiceCtrlDispatcher being called.\n" );
- printf( "This may take several seconds. Please wait.\n" );
-
- if (!StartServiceCtrlDispatcher(dispatchTable))
- AddToMessageLog(TEXT("StartServiceCtrlDispatcher failed."));
-}
-//____________________________________________________________________________________________________________________________
-// FUNCTION: service_main
-//
-// PURPOSE: To perform actual initialization of the service
-//
-// PARAMETERS:
-// dwArgc - number of command line arguments
-// lpszArgv - array of command line arguments
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-// This routine performs the service initialization and then calls
-// the user defined ServiceStart() routine to perform majority
-// of the work.
-//
-//____________________________________________________________________________________________________________________________
-void WINAPI service_main(DWORD dwArgc, LPTSTR *lpszArgv)
-{
- // register our service control handler:
- //
- sshStatusHandle = RegisterServiceCtrlHandler( TEXT(SZSERVICENAME), service_ctrl);
-
- if (!sshStatusHandle)
- goto cleanup;
-
- // SERVICE_STATUS members that don't change in example
- //
- ssStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
- ssStatus.dwServiceSpecificExitCode = 0;
-
-
- // report the status to the service control manager.
- //
- if (!ReportStatusToSCMgr(
- SERVICE_START_PENDING, // service state
- NO_ERROR, // exit code
- 3000)) // wait hint
- goto cleanup;
-
- ServiceStart( dwArgc, lpszArgv );
-
-cleanup:
-
- // try to report the stopped status to the service control manager.
- //
- if (sshStatusHandle)
- (VOID)ReportStatusToSCMgr(
- SERVICE_STOPPED,
- dwErr,
- 0);
- return;
-}
-//____________________________________________________________________________________________________________________________
-//
-// FUNCTION: service_ctrl
-//
-// PURPOSE: This function is called by the SCM whenever
-// ControlService() is called on this service.
-//
-// PARAMETERS:
-// dwCtrlCode - type of control requested
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//
-//____________________________________________________________________________________________________________________________
-VOID WINAPI service_ctrl(DWORD dwCtrlCode)
-{
- // Handle the requested control code.
- //
- switch(dwCtrlCode)
- {
- // Stop the service.
- //
- // SERVICE_STOP_PENDING should be reported before
- // setting the Stop Event - hServerStopEvent - in
- // ServiceStop(). This avoids a race condition
- // which may result in a 1053 - The Service did not respond...
- // error.
- case SERVICE_CONTROL_STOP:
- ReportStatusToSCMgr(SERVICE_STOP_PENDING, NO_ERROR, 0);
- ServiceStop();
- return;
-
- // Update the service status.
- //
- case SERVICE_CONTROL_INTERROGATE:
- break;
-
- // invalid control code
- //
- default:
- break;
-
- }
- ReportStatusToSCMgr(ssStatus.dwCurrentState, NO_ERROR, 0);
-}
-//____________________________________________________________________________________________________________________________
-//
-// FUNCTION: ReportStatusToSCMgr()
-//
-// PURPOSE: Sets the current status of the service and
-// reports it to the Service Control Manager
-//
-// PARAMETERS:
-// dwCurrentState - the state of the service
-// dwWin32ExitCode - error code to report
-// dwWaitHint - worst case estimate to next checkpoint
-//
-// RETURN VALUE:
-// TRUE - success
-// FALSE - failure
-//
-// COMMENTS:
-//
-//____________________________________________________________________________________________________________________________
-BOOL ReportStatusToSCMgr(DWORD dwCurrentState,DWORD dwWin32ExitCode,DWORD dwWaitHint)
-{
- static DWORD dwCheckPoint = 1;
- BOOL fResult = TRUE;
-
-
- if ( !bDebug ) // when debugging we don't report to the SCM
- {
- if (dwCurrentState == SERVICE_START_PENDING)
- ssStatus.dwControlsAccepted = 0;
- else
- ssStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;
-
- ssStatus.dwCurrentState = dwCurrentState;
- ssStatus.dwWin32ExitCode = dwWin32ExitCode;
- ssStatus.dwWaitHint = dwWaitHint;
-
- if ( ( dwCurrentState == SERVICE_RUNNING ) ||
- ( dwCurrentState == SERVICE_STOPPED ) )
- ssStatus.dwCheckPoint = 0;
- else
- ssStatus.dwCheckPoint = dwCheckPoint++;
-
- // Report the status of the service to the service control manager.
- //
- if (!(fResult = SetServiceStatus( sshStatusHandle, &ssStatus))) {
- AddToMessageLog(TEXT("SetServiceStatus"));
- }
- }
- return fResult;
-}
-//____________________________________________________________________________________________________________________________
-//
-// FUNCTION: AddToMessageLog(LPTSTR lpszMsg)
-//
-// PURPOSE: Allows any thread to log an error message
-//
-// PARAMETERS:
-// lpszMsg - text for message
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//
-//____________________________________________________________________________________________________________________________
-VOID AddToMessageLog(LPTSTR lpszMsg)
-{
- TCHAR szMsg[256];
- HANDLE hEventSource;
- LPTSTR lpszStrings[2];
-
- if ( !bDebug )
- {
- dwErr = GetLastError();
-
- // Use event logging to log the error.
- //
- hEventSource = RegisterEventSource(NULL, TEXT(SZSERVICENAME));
-
- _stprintf(szMsg, TEXT("%s error: %d"), TEXT(SZSERVICENAME), dwErr);
- lpszStrings[0] = szMsg;
- lpszStrings[1] = lpszMsg;
-
- if (hEventSource != NULL) {
- ReportEvent(hEventSource, // handle of event source
- EVENTLOG_ERROR_TYPE, // event type
- 0, // event category
- 0, // event ID
- NULL, // current user's SID
- 2, // strings in lpszStrings
- 0, // no bytes of raw data
- lpszStrings, // array of error strings
- NULL); // no raw data
-
- (VOID) DeregisterEventSource(hEventSource);
- }
- }
-}
-//____________________________________________________________________________________________________________________________
-//
-// The following code handles service installation and removal
-//
-//____________________________________________________________________________________________________________________________
-//
-// FUNCTION: CmdInstallService()
-//
-// PURPOSE: Installs the service
-// PARAMETERS:
-// none
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//____________________________________________________________________________________________________________________________
-void CmdInstallService()
-{
- SC_HANDLE schService;
- SC_HANDLE schSCManager;
-
- TCHAR szPath[512];
-
- if ( GetModuleFileName( NULL, szPath, 512 ) == 0 )
- {
- _tprintf(TEXT("Unable to install %s - %s\n"), TEXT(SZSERVICEDISPLAYNAME), GetLastErrorText(szErr, 256));
- return;
- }
- schSCManager = OpenSCManager(
- NULL, // machine (NULL == local)
- NULL, // database (NULL == default)
- SC_MANAGER_ALL_ACCESS // access required
- );
- if ( schSCManager )
- {
- schService = CreateService(
- schSCManager, // SCManager database
- TEXT(SZSERVICENAME), // name of service
- TEXT(SZSERVICEDISPLAYNAME), // name to display
- SERVICE_ALL_ACCESS, // desired access
- SERVICE_WIN32_OWN_PROCESS, // service type
- SERVICE_AUTO_START, // start type
- SERVICE_ERROR_NORMAL, // error control type
- szPath, // service's binary
- NULL, // no load ordering group
- NULL, // no tag identifier
- TEXT(SZDEPENDENCIES), // dependencies
- NULL, // LocalSystem account
- NULL); // no password
-
- if ( schService )
- {
- _tprintf(TEXT("%s installed.\n"), TEXT(SZSERVICEDISPLAYNAME) );
- CloseServiceHandle(schService);
- }
- else
- {
- _tprintf(TEXT("CreateService failed - %s\n"), GetLastErrorText(szErr, 256));
- }
-
- CloseServiceHandle(schSCManager);
- }
- else
- _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
-}
-//____________________________________________________________________________________________________________________________
-//
-// FUNCTION: CmdRemoveService()
-//
-// PURPOSE: Stops and removes the service
-//
-// PARAMETERS:
-// none
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//
-//____________________________________________________________________________________________________________________________
-void CmdRemoveService()
-{
- SC_HANDLE schService;
- SC_HANDLE schSCManager;
-
- schSCManager = OpenSCManager(
- NULL, // machine (NULL == local)
- NULL, // database (NULL == default)
- SC_MANAGER_ALL_ACCESS // access required
- );
- if ( schSCManager )
- {
- schService = OpenService(schSCManager, TEXT(SZSERVICENAME), SERVICE_ALL_ACCESS);
-
- if (schService)
- {
- // try to stop the service
- if ( ControlService( schService, SERVICE_CONTROL_STOP, &ssStatus ) )
- {
- _tprintf(TEXT("Stopping %s."), TEXT(SZSERVICEDISPLAYNAME));
- Sleep( 1000 );
-
- while( QueryServiceStatus( schService, &ssStatus ) )
- {
- if ( ssStatus.dwCurrentState == SERVICE_STOP_PENDING )
- {
- _tprintf(TEXT("."));
- Sleep( 1000 );
- }
- else
- break;
- }
-
- if ( ssStatus.dwCurrentState == SERVICE_STOPPED )
- _tprintf(TEXT("\n%s stopped.\n"), TEXT(SZSERVICEDISPLAYNAME) );
- else
- _tprintf(TEXT("\n%s failed to stop.\n"), TEXT(SZSERVICEDISPLAYNAME) );
-
- }
-
- // now remove the service
- if( DeleteService(schService) )
- _tprintf(TEXT("%s removed.\n"), TEXT(SZSERVICEDISPLAYNAME) );
- else
- _tprintf(TEXT("DeleteService failed - %s\n"), GetLastErrorText(szErr,256));
-
-
- CloseServiceHandle(schService);
- }
- else
- _tprintf(TEXT("OpenService failed - %s\n"), GetLastErrorText(szErr,256));
-
- CloseServiceHandle(schSCManager);
- }
- else
- _tprintf(TEXT("OpenSCManager failed - %s\n"), GetLastErrorText(szErr,256));
-}
-//____________________________________________________________________________________________________________________________
-//
-// The following code is for running the service as a console app
-//
-//
-// FUNCTION: CmdDebugService(int argc, char ** argv)
-//
-// PURPOSE: Runs the service as a console application
-//
-// PARAMETERS:
-// argc - number of command line arguments
-// argv - array of command line arguments
-//
-// RETURN VALUE:
-// none
-//
-// COMMENTS:
-//
-//____________________________________________________________________________________________________________________________
-void CmdDebugService(int argc, char ** argv)
-{
- DWORD dwArgc;
- LPTSTR *lpszArgv;
-
-#ifdef UNICODE
- lpszArgv = CommandLineToArgvW(GetCommandLineW(), &(dwArgc) );
-#else
- dwArgc = (DWORD) argc;
- lpszArgv = argv;
-#endif
-
- _tprintf(TEXT("Debugging %s.\n"), TEXT(SZSERVICEDISPLAYNAME));
-
- SetConsoleCtrlHandler( ControlHandler, TRUE );
-
- ServiceStart( dwArgc, lpszArgv );
-}
-//____________________________________________________________________________________________________________________________
-//
-// FUNCTION: ControlHandler ( DWORD dwCtrlType )
-//
-// PURPOSE: Handled console control events
-//
-// PARAMETERS:
-// dwCtrlType - type of control event
-//
-// RETURN VALUE:
-// True - handled
-// False - unhandled
-//
-// COMMENTS:
-//
-//____________________________________________________________________________________________________________________________
-BOOL WINAPI ControlHandler ( DWORD dwCtrlType )
-{
- switch( dwCtrlType )
- {
- case CTRL_BREAK_EVENT: // use Ctrl+C or Ctrl+Break to simulate
- case CTRL_C_EVENT: // SERVICE_CONTROL_STOP in debug mode
- _tprintf(TEXT("Stopping %s.\n"), TEXT(SZSERVICEDISPLAYNAME));
- ServiceStop();
- return TRUE;
- break;
-
- }
- return FALSE;
-}
-//____________________________________________________________________________________________________________________________
-//
-// FUNCTION: GetLastErrorText
-//
-// PURPOSE: copies error message text to string
-//
-// PARAMETERS:
-// lpszBuf - destination buffer
-// dwSize - size of buffer
-//
-// RETURN VALUE:
-// destination buffer
-//
-// COMMENTS:
-//
-//____________________________________________________________________________________________________________________________
-LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize )
-{
- DWORD dwRet;
- LPTSTR lpszTemp = NULL;
-
- dwRet = FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_ARGUMENT_ARRAY,
- NULL,
- GetLastError(),
- LANG_NEUTRAL,
- (LPTSTR)&lpszTemp,
- 0,
- NULL );
-
- // supplied buffer is not long enough
- if ( !dwRet || ( (long)dwSize < (long)dwRet+14 ) )
- lpszBuf[0] = TEXT('\0');
- else
- {
- lpszTemp[lstrlen(lpszTemp)-2] = TEXT('\0'); //remove cr and newline character
- _stprintf( lpszBuf, TEXT("%s (0x%x)"), lpszTemp, GetLastError() );
- }
-
- if ( lpszTemp )
- LocalFree((HLOCAL) lpszTemp );
-
- return lpszBuf;
-}
diff --git a/admin/Sources/Clients/ogAdmWinClient/sources/servicio.h b/admin/Sources/Clients/ogAdmWinClient/sources/servicio.h deleted file mode 100644 index 760d2c1a..00000000 --- a/admin/Sources/Clients/ogAdmWinClient/sources/servicio.h +++ /dev/null @@ -1,153 +0,0 @@ -// ******************************************************************************************************************************************************************************
-// Aplicación HIDRA
-// Copyright 2003-2005 José Manuel Alonso. Todos los derechos reservados.
-// Fichero: servicio.h
-// Descripción:
-// Este proyecto implementa el servicio hidra en un ordenador con plataforma windows NT. Este fichero aporta las funciones para crear el servicio
-// ******************************************************************************************************************************************************************************
-//____________________________________________________________________________________________________________________________
-// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
-// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-// PARTICULAR PURPOSE.
-//
-// Copyright (C) 1993-1997 Microsoft Corporation. All Rights Reserved.
-//
-// MODULE: service.h
-// AUTHOR: Craig Link
-//
-// Comments: The use of this header file and the accompanying service.c
-// file simplifies the process of writting a service. You as a developer
-// simply need to follow the TODO's outlined in this header file, and
-// implement the ServiceStart() and ServiceStop() functions.
-//
-// There is no need to modify the code in service.c. Just add service.c
-// to your project and link with the following libraries...
-//
-// libcmt.lib kernel32.lib advapi.lib shell32.lib
-//
-// This code also supports unicode. Be sure to compile both service.c and
-// and code #include "service.h" with the same Unicode setting.
-//
-// Upon completion, your code will have the following command line interface
-//
-// <service exe> -? to display this list
-// <service exe> -install to install the service
-// <service exe> -remove to remove the service
-// <service exe> -debug <params> to run as a console app for debugging
-//
-// Note: This code also implements Ctrl+C and Ctrl+Break handlers
-// when using the debug option. These console events cause
-// your ServiceStop routine to be called
-//
-// Also, this code only handles the OWN_SERVICE service type
-// running in the LOCAL_SYSTEM security context.
-//
-// To control your service ( start, stop, etc ) you may use the
-// Services control panel applet or the NET.EXE program.
-//
-// To aid in writing/debugging service, the
-// SDK contains a utility (MSTOOLS\BIN\SC.EXE) that
-// can be used to control, configure, or obtain service status.
-// SC displays complete status for any service/driver
-// in the service database, and allows any of the configuration
-// parameters to be easily changed at the command line.
-// For more information on SC.EXE, type SC at the command line.
-//
-//____________________________________________________________________________________________________________________________
-#include <windows.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <process.h>
-#include <tchar.h>
-#include "registrow.h"
-
-#ifndef _SERVICE_H
-#define _SERVICE_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// name of the executable
-#define SZAPPNAME "ogAdmWinClient"
-// internal name of the service
-#define SZSERVICENAME "Cliente Opengnsys"
-// displayed name of the service
-#define SZSERVICEDISPLAYNAME "Cliente Opengnsys"
-// list of service dependencies - "dep1\0dep2\0\0"
-#define SZDEPENDENCIES ""
-
-#define SERVIDOR_DEFAULT "0.0.0.0"
-#define PUERTO_DEFAULT "2003"
-#define IPLOCAL_DEFAULT "0.0.0.0"
-
-#define CHKREGISTRY(f) if (!(f)) { return 0;}
-#define RMVREGISTRY(f) if (!(f)) { return 0;}
-#define TOMAPARAMINT(p) p=atoi(&argv[i][3]);
-#define TOMAPARAMSTR(p) strcpy(p,&argv[i][3]);
-
-#define HIVE HKEY_LOCAL_MACHINE // Rama del registro donde estarán los parametros de conexión
-#define BASEKEY "SOFTWARE\\opengnsys" // Key del registro para parametros de conexión
-#define BASE "SOFTWARE\\opengnsys\\cliente" // SubKey del registro para parametros de conexión
-
-//____________________________________________________________________________________________________________________________
-//
-SERVICE_STATUS ssStatus; // current status of the service
-SERVICE_STATUS_HANDLE sshStatusHandle;
-//
-//____________________________________________________________________________________________________________________________
-// ServiceStart()must be defined by in your code.
-// The service should use ReportStatusToSCMgr to indicate
-// progress. This routine must also be used by StartService()
-// to report to the SCM when the service is running.
-//
-// If a ServiceStop procedure is going to take longer than
-// 3 seconds to execute, it should spawn a thread to
-// execute the stop code, and return. Otherwise, the
-// ServiceControlManager will believe that the service has
-// stopped responding
-//
-//____________________________________________________________________________________________________________________________
-VOID ServiceStart(DWORD dwArgc, LPTSTR *lpszArgv);
-VOID ServiceStop();
-//____________________________________________________________________________________________________________________________
-// The following are procedures which
-// may be useful to call within the above procedures,
-// but require no implementation by the user.
-// They are implemented in service.c
-//
-// FUNCTION: ReportStatusToSCMgr()
-//
-// PURPOSE: Sets the current status of the service and
-// reports it to the Service Control Manager
-//
-// PARAMETERS:
-// dwCurrentState - the state of the service
-// dwWin32ExitCode - error code to report
-// dwWaitHint - worst case estimate to next checkpoint
-//
-// RETURN VALUE:
-// TRUE - success
-// FALSE - failure
-//____________________________________________________________________________________________________________________________
-BOOL ReportStatusToSCMgr(DWORD dwCurrentState, DWORD dwWin32ExitCode, DWORD dwWaitHint);
-//____________________________________________________________________________________________________________________________
-// FUNCTION: AddToMessageLog(LPTSTR lpszMsg)
-//
-// PURPOSE: Allows any thread to log an error message
-//
-// PARAMETERS:
-// lpszMsg - text for message
-//
-// RETURN VALUE:
-// none
-//____________________________________________________________________________________________________________________________
-void AddToMessageLog(LPTSTR lpszMsg);
-//____________________________________________________________________________________________________________________________
-//
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/admin/WebConsole/propiedades/propiedades_aulas.php b/admin/WebConsole/propiedades/propiedades_aulas.php index 5bc1d3e4..745cc9df 100644 --- a/admin/WebConsole/propiedades/propiedades_aulas.php +++ b/admin/WebConsole/propiedades/propiedades_aulas.php @@ -74,7 +74,7 @@ if ($opcion!=$op_alta) $resul=TomaPropiedades($cmd,$idaula); else{ $resul=TomaConfiguracion($cmd); - $urlfoto="aula.jpg";} + $urlfoto="aula.jpg";} if (!$resul) header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. //________________________________________________________________________________________________________ @@ -178,18 +178,6 @@ function abrir_ventana(URL){ ?> </tr> <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> -<!-- HORARIO DE SERVICIO TEMPORALMENTE DESHABILITADO. - <TR> - <TH align=center> <?php echo $TbMsg[13]?> </TD> - <?php - if ($opcion==$op_eliminacion) - echo '<TD colspan=3>'.$TbMsg[14].$horaresevini.'   '.$TbMsg[15].$horaresevfin.'</TD>'; - else - echo '<TD colspan=3>'.$TbMsg[14].' <INPUT class="formulariodatos" onclick="vertabla_horas(this)" name=horaresevini style="width:30" type=text value='.$horaresevini.'>   '.$TbMsg[15].' <INPUT class="formulariodatos" onclick="vertabla_horas(this)" name=horaresevfin style="width:30" type=text value='.$horaresevfin.'></TD>'; - ?> - </TR> ---> -<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <TR> <TH align=center> <?php echo $TbMsg[10]?> </TH> <?php if ($opcion==$op_eliminacion) |