summaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
Diffstat (limited to 'admin')
-rw-r--r--admin/Sources/Services/ogAdmRepo/Makefile44
-rw-r--r--admin/Sources/Services/ogAdmRepo/ogAdmRepo.cfg3
-rw-r--r--admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.cpp177
-rw-r--r--admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.h41
-rw-r--r--admin/Sources/Services/opengnsys.default7
-rwxr-xr-xadmin/Sources/Services/opengnsys.init17
6 files changed, 7 insertions, 282 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/ogAdmRepo.cfg b/admin/Sources/Services/ogAdmRepo/ogAdmRepo.cfg
deleted file mode 100644
index 1a8f289d..00000000
--- a/admin/Sources/Services/ogAdmRepo/ogAdmRepo.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-IPlocal=SERVERIP
-Puerto=2002
-ApiToken=REPOKEY
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