diff options
author | Ramón M. Gómez <ramongomez@us.es> | 2018-11-14 18:40:06 +0100 |
---|---|---|
committer | Ramón M. Gómez <ramongomez@us.es> | 2018-11-14 18:40:06 +0100 |
commit | b351d8afce7769df7e57c13c88efc3b1346d031e (patch) | |
tree | 39bb18d7f7d2033881efc2214a694595dd7ea575 | |
parent | 348b5c973a033baec95cb0bd460594ab117ad5ce (diff) |
#875: Removing old ogAdmRepo service.
-rw-r--r-- | admin/Sources/Services/ogAdmRepo/Makefile | 44 | ||||
-rw-r--r-- | admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.cpp | 177 | ||||
-rw-r--r-- | admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.h | 41 | ||||
-rw-r--r-- | admin/Sources/Services/opengnsys.default | 7 | ||||
-rwxr-xr-x | admin/Sources/Services/opengnsys.init | 17 | ||||
-rwxr-xr-x | installer/opengnsys_installer.sh | 11 | ||||
-rwxr-xr-x | installer/opengnsys_update.sh | 12 | ||||
-rwxr-xr-x | repoman/bin/opengnsys.cron | 5 | ||||
-rw-r--r-- | repoman/etc/logrotate.tmpl | 2 | ||||
-rw-r--r-- | repoman/etc/ogAdmRepo.cfg.tmpl (renamed from admin/Sources/Services/ogAdmRepo/ogAdmRepo.cfg) | 1 | ||||
-rw-r--r-- | server/etc/logrotate.tmpl | 2 | ||||
-rwxr-xr-x | server/lib/security-config | 5 |
12 files changed, 12 insertions, 312 deletions
diff --git a/admin/Sources/Services/ogAdmRepo/Makefile b/admin/Sources/Services/ogAdmRepo/Makefile deleted file mode 100644 index d7b3591d..00000000 --- a/admin/Sources/Services/ogAdmRepo/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# makefile - -# Nombre del proyecto -PROYECTO := ogAdmRepo - -#Directorio de instalación -INSTALL_DIR := /opt/opengnsys - -# Opciones de compilacion -CFLAGS := $(shell mysql_config --cflags) -CFLAGS += -O0 -g -Wall -I../../Includes # Depuracion -#CFLAGS += -O3 -I../../Includes # Optimizacion -CPPFLAGS := $(CFLAGS) - -# Opciones de linkado -LDFLAGS := -Wl,--no-as-needed $(shell mysql_config --libs) -lpthread - -# Ficheros objetos -OBJS := ../../Includes/Database.o sources/ogAdmRepo.o - - -all: $(PROYECTO) - -$(PROYECTO): $(OBJS) - g++ $(LDFLAGS) $(OBJS) -o $(PROYECTO) -# strip $(PROYECTO) # Optimizacion - -install: $(PROYECTO) - cp $(PROYECTO) $(INSTALL_DIR)/sbin - cp $(PROYECTO).cfg $(INSTALL_DIR)/etc - -clean: - rm -f $(PROYECTO) $(OBJS) - -uninstall: clean - rm -f /usr/local/sbin/$(PROYECTO) /usr/local/etc/$(PROYECTO).cfg - -sources/%.o: sources/%.cpp - g++ $(CPPFLAGS) -c -o"$@" "$<" - -sources/%.o: sources/%.c - gcc $(CFLAGS) -c -o"$@" "$<" - - diff --git a/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.cpp b/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.cpp deleted file mode 100644 index 067b6af0..00000000 --- a/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.cpp +++ /dev/null @@ -1,177 +0,0 @@ -// ******************************************************************************************************** -// Servicio: ogAdmRepo -// 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: ogAdmRepo.cpp -// Descripción :Este fichero implementa el servicio de administración general del sistema -// ******************************************************************************************************** -#include "ogAdmRepo.h" -#include "ogAdmLib.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 servicio vacío - return (FALSE); - } - FILE *fcfg; - long 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 servicio - 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); - } - fread(buffer, 1, lSize, fcfg); // Lee contenido del fichero - buffer[lSize]=(char) NULL; - fclose(fcfg); - - iplocal[0] = (char) NULL; //inicializar variables globales - puerto[0] = (char) NULL; - - numlin = splitCadena(lineas, buffer, '\n'); - for (i = 0; i < numlin; i++) { - splitCadena(dualparametro, lineas[i], '='); - resul = strcmp(StrToUpper(dualparametro[0]), "IPLOCAL"); - if (resul == 0) - strcpy(iplocal, dualparametro[1]); - resul = strcmp(StrToUpper(dualparametro[0]), "PUERTO"); - if (resul == 0) - strcpy(puerto, dualparametro[1]); - } - if (iplocal[0] == (char) NULL) { - errorLog(modulo, 4, FALSE); // Falta parámetro IPLOCAL - return (FALSE); - } - if (puerto[0] == (char) NULL) { - errorLog(modulo, 5, FALSE); // Falta parámetro PUERTO - return (FALSE); - } - return (TRUE); -} -// ________________________________________________________________________________________________________ -// Función: gestionaTrama -// -// Descripción: -// Procesa las tramas recibidas . -// Parametros: -// - s : Socket usado para comunicaciones -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -// ________________________________________________________________________________________________________ -BOOLEAN gestionaTrama(SOCKET *socket_c) -{ - TRAMA* ptrTrama; - int i, res; - char *nfn; - char modulo[] = "gestionaTrama()"; - - ptrTrama=recibeTrama(socket_c); - if (ptrTrama){ - INTROaFINCAD(ptrTrama); - nfn = copiaParametro("nfn",ptrTrama); // Toma dirección/es IP - for (i = 0; i < MAXIMAS_FUNCIONES; i++) { // Recorre funciones que procesan las tramas - res = strcmp(tbfuncionesRepo[i].nf, nfn); - if (res == 0) { // Encontrada la función que procesa el mensaje - return (tbfuncionesRepo[i].fptr(socket_c, ptrTrama)); // Invoca la función - } - } - } - else - errorLog(modulo, 17, FALSE); // Error en la recepción - return (TRUE); -} -// ******************************************************************************************************** -// PROGRAMA PRINCIPAL (SERVICIO) -// ******************************************************************************************************** -int main(int argc, char *argv[]) -{ - SOCKET socket_r; // Socket donde escucha el servidor - SOCKET socket_c; // Socket de los clientes que se conectan - socklen_t iAddrSize; - struct sockaddr_in local, cliente; - char modulo[] = "main()"; - - /*-------------------------------------------------------------------------------------------------------- - Validación de parámetros de ejecución y lectura del fichero de configuración del servicio - ---------------------------------------------------------------------------------------------------------*/ - if (!validacionParametros(argc, argv,1)) // Valida parámetros de ejecución - exit(EXIT_FAILURE); - - if (!tomaConfiguracion(szPathFileCfg)) { // Toma parametros de configuracion - exit(EXIT_FAILURE); - } - /*-------------------------------------------------------------------------------------------------------- - Carga del catálogo de funciones que procesan las tramas (referencia directa por puntero a función) - ---------------------------------------------------------------------------------------------------------*/ - int cf = 0; - - cf++; - - - /*-------------------------------------------------------------------------------------------------------- - Creación y configuración del socket del servicio - ---------------------------------------------------------------------------------------------------------*/ - socket_r = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // Crea socket del servicio - if (socket_r == SOCKET_ERROR) { // Error al crear el socket del servicio - errorLog(modulo, 13, TRUE); - exit(EXIT_FAILURE); - } - - local.sin_addr.s_addr = htonl(INADDR_ANY); // Configura el socket del servicio - local.sin_family = AF_INET; - local.sin_port = htons(atoi(puerto)); - - if (bind(socket_r, (struct sockaddr *) &local, sizeof(local))== SOCKET_ERROR) { // Enlaza socket - errorLog(modulo, 14, TRUE); - exit(EXIT_FAILURE); - } - - listen(socket_r, 250); // Pone a escuchar al socket - iAddrSize = sizeof(cliente); - /*-------------------------------------------------------------------------------------------------------- - Bucle para acceptar conexiones - ---------------------------------------------------------------------------------------------------------*/ - infoLog(1); // Inicio de sesión - while(TRUE) { - socket_c = accept(socket_r, (struct sockaddr *) &cliente, &iAddrSize); - if (socket_c == INVALID_SOCKET) { - errorLog(modulo, 15, TRUE); - exit(EXIT_FAILURE); - } - if(!gestionaTrama(&socket_c)){ - errorLog(modulo, 39, TRUE); - break; - } - close(socket_c); - } - /*-------------------------------------------------------------------------------------------------------- - Fin del servicio - ---------------------------------------------------------------------------------------------------------*/ - close(socket_r); - exit(EXIT_SUCCESS); -} diff --git a/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.h b/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.h deleted file mode 100644 index 8051f3f6..00000000 --- a/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.h +++ /dev/null @@ -1,41 +0,0 @@ -// ******************************************************************************************************** -// Servicio: ogAdmRepo -// 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: ogAdmRepo.h -// Descripción: Este fichero implementa el servicio de repositorio de imágenes -// ******************************************************************************************************** -#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 <netinet/in.h> -#include <arpa/inet.h> -#include "ogAdmLib.h" -// ________________________________________________________________________________________________________ -// Variables globales -// ________________________________________________________________________________________________________ -char iplocal[LONPRM]; // Dirección IP del servidor de administración -char puerto[LONPRM]; // Puerto de comunicación - -char servidoradm[LONIP]; // IP del servidor - -typedef struct{ // Estructura usada para referenciar las funciones que procesan las tramas - char nf[LONFUN]; // Nombre de la función - BOOLEAN (*fptr)(SOCKET*,TRAMA*); // Puntero a la función que procesa la trama -}MSGFUN; - -MSGFUN tbfuncionesRepo[MAXIMAS_FUNCIONES]; - -// ________________________________________________________________________________________________________ -// Prototipo de funciones -// ________________________________________________________________________________________________________ -BOOLEAN tomaConfiguracion(char*); -BOOLEAN gestionaTrama(SOCKET*); -BOOLEAN tomaConfiguracion(char*); diff --git a/admin/Sources/Services/opengnsys.default b/admin/Sources/Services/opengnsys.default index 644f516a..9af83e29 100644 --- a/admin/Sources/Services/opengnsys.default +++ b/admin/Sources/Services/opengnsys.default @@ -1,7 +1,8 @@ -# RUN_OGADMSERVER run OpenGnsys Admin service. -# RUN_OGADMREPO run OpenGnsys Repository Manager service. +# RUN_OGADMSERVER defined as OpenGnsys Admin Server +# RUN_OGADMREPO defined as OpenGnsys Repository Manager +# RUN_OGADMAGENT run task scheduler service # RUN_BTTRACKER run Bittorrent Tracker -# RUN_BTSEEDER starts seeding of selected torrent files +# RUN_BTSEEDER start seeding of selected torrent files # RUN_CRON run Cron script to check started processes RUN_OGADMSERVER="yes" RUN_OGADMREPO="yes" diff --git a/admin/Sources/Services/opengnsys.init b/admin/Sources/Services/opengnsys.init index 548843fa..ae27593b 100755 --- a/admin/Sources/Services/opengnsys.init +++ b/admin/Sources/Services/opengnsys.init @@ -30,11 +30,6 @@ SERVERDAEMON_OPTIONS="-f $SERVERCFG -l $SERVERLOG" # # Servidor de Repositorio # -REPONAME=ogAdmRepo -REPODAEMON=$BASEDIR/sbin/$REPONAME -REPOCFG=$BASEDIR/etc/$REPONAME.cfg -REPOLOG=$BASEDIR/log/$REPONAME.log -REPODAEMON_OPTIONS="-f $REPOCFG -l $REPOLOG" ############## ADV REPOAUXNAME=ogAdmRepoAux REPOAUXDAEMON=$BASEDIR/sbin/$REPOAUXNAME @@ -155,17 +150,14 @@ arranca_demonios() { faucet $SERVERAUXPORT --daemon --in bash -c "$SERVERAUXDAEMON" # NUEVO [ $? = 0 ] && $SUCCESSMSG || $FAILMSG fi - if [ $RUN_OGADMSERVER = "yes" ] && [ $RUN_OGADMREPO = "yes" ]; then - sleep 5 # Damos tiempo a que ogAdmServer este funcionando - fi if [ $RUN_OGADMREPO = "yes" ]; then - $ACTIONMSG "Iniciando demonio: $REPONAME" - $DAEMONSTART $REPODAEMON $EXTRAOPTS $REPODAEMON_OPTIONS $ENDOPTS - [ $? = 0 ] && $SUCCESSMSG || $FAILMSG $ACTIONMSG "Iniciando demonio: $REPOAUXNAME" faucet $REPOAUXPORT --daemon --in bash -c "$REPOAUXDAEMON" [ $? = 0 ] && $SUCCESSMSG || $FAILMSG fi + if [ $RUN_OGADMSERVER = "yes" ] && [ $RUN_OGADMAGENT = "yes" ]; then + sleep 5 # Damos tiempo a que ogAdmServer este funcionando + fi if [ $RUN_OGADMAGENT = "yes" ]; then $ACTIONMSG "Iniciando demonio: $AGENTNAME" $DAEMONSTART $AGENTDAEMON $EXTRAOPTS $AGENTDAEMON_OPTIONS $ENDOPTS @@ -200,9 +192,6 @@ para_demonios() { $ACTIONMSG "Parando demonio: $AGENTNAME" $DAEMONSTOP $AGENTNAME [ $? = 0 ] && $SUCCESSMSG || $FAILMSG - $ACTIONMSG "Parando demonio: $REPONAME" - $DAEMONSTOP $REPONAME - [ $? = 0 ] && $SUCCESSMSG || $FAILMSG $ACTIONMSG "Parando demonio: $REPOAUXNAME" pkill faucet [ $? -le 1 ] && $SUCCESSMSG || $FAILMSG diff --git a/installer/opengnsys_installer.sh b/installer/opengnsys_installer.sh index 2ad18cb8..0da6c226 100755 --- a/installer/opengnsys_installer.sh +++ b/installer/opengnsys_installer.sh @@ -1342,15 +1342,6 @@ function servicesCompilation () hayErrores=1 fi popd - # Compilar OpenGnsys Repository Manager - echoAndLog "${FUNCNAME}(): Compiling OpenGnsys Repository Manager" - pushd $WORKDIR/opengnsys/admin/Sources/Services/ogAdmRepo - make && mv ogAdmRepo $INSTALL_TARGET/sbin - if [ $? -ne 0 ]; then - echoAndLog "${FUNCNAME}(): error while compiling OpenGnsys Repository Manager" - hayErrores=1 - fi - popd # Compilar OpenGnsys Agent echoAndLog "${FUNCNAME}(): Compiling OpenGnsys Agent" pushd $WORKDIR/opengnsys/admin/Sources/Services/ogAdmAgent @@ -1502,7 +1493,7 @@ function openGnsysConfigure() $WORKDIR/opengnsys/admin/Sources/Services/ogAdmServer/ogAdmServer.cfg > $INSTALL_TARGET/etc/ogAdmServer-$dev.cfg sed -e "s/SERVERIP/${SERVERIP[i]}/g" \ -e "s/REPOKEY/$OPENGNSYS_REPOKEY/g" \ - $WORKDIR/opengnsys/admin/Sources/Services/ogAdmRepo/ogAdmRepo.cfg > $INSTALL_TARGET/etc/ogAdmRepo-$dev.cfg + $WORKDIR/opengnsys/repoman/etc/ogAdmRepo.cfg.tmpl > $INSTALL_TARGET/etc/ogAdmRepo-$dev.cfg sed -e "s/SERVERIP/${SERVERIP[i]}/g" \ -e "s/DBUSER/$OPENGNSYS_DB_USER/g" \ -e "s/DBPASSWORD/$OPENGNSYS_DB_PASSWD/g" \ diff --git a/installer/opengnsys_update.sh b/installer/opengnsys_update.sh index 7943d4e2..91505c75 100755 --- a/installer/opengnsys_update.sh +++ b/installer/opengnsys_update.sh @@ -937,16 +937,8 @@ function compileServices() hayErrores=1 fi popd - # Compilar OpenGnsys Repository Manager - echoAndLog "${FUNCNAME}(): Recompiling OpenGnsys Repository Manager" - pushd $WORKDIR/opengnsys/admin/Sources/Services/ogAdmRepo - make && moveNewService ogAdmRepo $INSTALL_TARGET/sbin - if [ $? -ne 0 ]; then - echoAndLog "${FUNCNAME}(): error while compiling OpenGnsys Repository Manager" - hayErrores=1 - fi - popd - # Actualizar o insertar clave de acceso REST en el fichero de configuración del repositorio. + # Parar antiguo servicio de repositorio y añadir clave de acceso REST en su fichero de configuración. + pgrep ogAdmRepo > /dev/null && service="ogAdmRepo" $STOPSERVICE grep -q '^ApiToken=' $INSTALL_TARGET/etc/ogAdmRepo.cfg && \ sed -i "s/^ApiToken=.*$/ApiToken=$REPOKEY/" $INSTALL_TARGET/etc/ogAdmRepo.cfg || \ sed -i "$ a\ApiToken=$REPOKEY/" $INSTALL_TARGET/etc/ogAdmRepo.cfg diff --git a/repoman/bin/opengnsys.cron b/repoman/bin/opengnsys.cron index 78f01db5..32c6f493 100755 --- a/repoman/bin/opengnsys.cron +++ b/repoman/bin/opengnsys.cron @@ -31,9 +31,4 @@ if [ "$RUN_OGADMSERVER" == "yes" ]; then /etc/init.d/opengnsys restart fi fi -# Reiniciar servicios si es repositorio y proceso ogAdmRepo está caído. -if [ "$RUN_OGADMREPO" == "yes" -a $(pgrep ogAdmRepo | wc -w) == 0 ]; then - date +"%d/%m/%Y %H:%M ERROR: El servicio ogAdmRepo estaba caido, se reinicia" >> $LOGDIR/ogAdmRepo.log - /etc/init.d/opengnsys restart -fi diff --git a/repoman/etc/logrotate.tmpl b/repoman/etc/logrotate.tmpl index f2dfcf4b..62cdbaf0 100644 --- a/repoman/etc/logrotate.tmpl +++ b/repoman/etc/logrotate.tmpl @@ -3,7 +3,7 @@ # Las copias se comprimen # Los registros de las transferencias multicast se guardan una semana (repo). # El resto de los registros se comprueban diariamente que no excedan 100k. Se mantienen los últimos 5. -# Con esta condición de los servicios ogAdmServer y ogAdmRepo conservan datos de más de un mes. +# Con esta condición los servicios de OpenGnsys Repository conservan datos de más de un mes. copytruncate compress diff --git a/admin/Sources/Services/ogAdmRepo/ogAdmRepo.cfg b/repoman/etc/ogAdmRepo.cfg.tmpl index 1a8f289d..ed68ea60 100644 --- a/admin/Sources/Services/ogAdmRepo/ogAdmRepo.cfg +++ b/repoman/etc/ogAdmRepo.cfg.tmpl @@ -1,3 +1,2 @@ IPlocal=SERVERIP -Puerto=2002 ApiToken=REPOKEY diff --git a/server/etc/logrotate.tmpl b/server/etc/logrotate.tmpl index d487fcff..233efc57 100644 --- a/server/etc/logrotate.tmpl +++ b/server/etc/logrotate.tmpl @@ -3,7 +3,7 @@ # Las copias se comprimen # Los registros de las transferencias multicast se guardan una semana (repo). # El resto de los registros se comprueban diariamente que no excedan 100k. Se mantienen los últimos 5. -# Con esta condición de los servicios ogAdmServer y ogAdmRepo conservan datos de más de un mes. +# Con esta condición los servicios de OpenGnsys Server conservan datos de más de un mes. copytruncate compress diff --git a/server/lib/security-config b/server/lib/security-config index eb8bf5cf..ddba161f 100755 --- a/server/lib/security-config +++ b/server/lib/security-config @@ -42,16 +42,11 @@ s=ios.Service() s.short = 'OpenGnsys Server' s.name = 'ogAdmServer' s.ports = [('2008', 'tcp')] -ios.service_writer(s, '/etc/firewalld/services') -s.short = 'OpenGnsys Repository' -s.name = 'ogAdmRepo' -s.ports = [('2002', 'tcp')] ios.service_writer(s, '/etc/firewalld/services')" # Adding active services. firewall-cmd --permanent --add-service=dhcp firewall-cmd --permanent --add-service=https firewall-cmd --permanent --add-service=mysql --zone internal - firewall-cmd --permanent --add-service=ogAdmRepo firewall-cmd --permanent --add-service=ogAdmServer # Ubuntu 14.04 does not define "rsyncd" service. firewall-cmd --permanent --add-service=rsyncd || \ |