source: ogServer-Git/src/ogAdmLib.c @ 7dbe1a7

Last change on this file since 7dbe1a7 was 7dbe1a7, checked in by OpenGnSys Support Team <soporte-og@…>, 4 years ago

#971 remove unused functions in ogAdmLib

Remove unused legacy code.

  • Property mode set to 100644
File size: 7.5 KB
RevLine 
[cf7bbda]1// **************************************************************************************************************************************************
2// Libreria: ogAdmLib
3// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
4// Fecha Creación: Marzo-2010
5// Fecha Última modificación: Marzo-2010
6// Nombre del fichero: ogAdmLib.c
7// Descripción: Este fichero implementa una libreria de funciones para uso común de los servicios
8// **************************************************************************************************************************************************
9
10#include <stdio.h>
11#include <string.h>
12#include <stdlib.h>
13#include <ctype.h>
14#include <sys/types.h>
15#include <sys/socket.h>
16#include "ogAdmLib.h"
17
[d6789f1]18char szPathFileCfg[4096],szPathFileLog[4096];
19int ndebug;
20
[cf7bbda]21//______________________________________________________________________________________________________
22// Función: ValidacionParametros
23//
24//       Descripción:
25//              Valida que los parametros de ejecución del programa sean correctos
26//      Parámetros:
27//              - argc: Número de argumentos
28//              - argv: Puntero a cada argumento
29//              - eje:  Tipo de ejecutable (1=Servicio,2=Repositorio o 3=Cliente)
30//      Devuelve:
31//              - TRUE si los argumentos pasados son correctos
32//              - FALSE en caso contrario
33//      Especificaciones:
34//              La sintaxis de los argumentos es la siguiente
35//                      -f      Archivo de configuración del servicio
36//                      -l      Archivo de logs
37//                      -d      Nivel de debuger (mensages que se escribirán en el archivo de logs)
38//      Devuelve:
39//              TRUE: Si el proceso es correcto
40//              FALSE: En caso de ocurrir algún error
41//______________________________________________________________________________________________________
42BOOLEAN validacionParametros(int argc, char*argv[],int eje) {
43        int i;
44
45        switch(eje){
46                case 1: // Administrador
[333abbe]47                        strcpy(szPathFileCfg, "ogserver.cfg"); // Valores por defecto de archivos
48                        strcpy(szPathFileLog, "ogserver.log"); // de configuración y de logs
[cf7bbda]49                        break;
50                case 2: // Repositorio
51                        strcpy(szPathFileCfg, "ogAdmRepo.cfg"); // Valores por defecto de archivos
52                        strcpy(szPathFileLog, "ogAdmRepo.log"); // de configuración y de logs
53                        break;
54                case 3: // Cliente OpenGnsys
55                        strcpy(szPathFileCfg, "ogAdmClient.cfg"); // Valores por defecto de archivos
56                        strcpy(szPathFileLog, "ogAdmClient.log"); // de configuración y de logs
57                        break;
58                case 4: // Servicios DHCP,BOOTP Y TFTP
59                        strcpy(szPathFileCfg, "ogAdmBoot.cfg"); // Valores por defecto de archivos
60                        strcpy(szPathFileLog, "ogAdmBoot.log"); // de configuración y de logs
61                        break;
62                case 5: // Agente
63                        strcpy(szPathFileCfg, "ogAdmAgent.cfg"); // Valores por defecto de archivos
64                        strcpy(szPathFileLog, "ogAdmAgent.log"); // de configuración y de logs
65                        break;
66                case 6: // Agente
67                        strcpy(szPathFileCfg, "ogAdmWinClient.cfg"); // Valores por defecto de archivos
68                        strcpy(szPathFileLog, "ogAdmWinClient.log"); // de configuración y de logs
69                        break;
70                case 7: // Agente
71                        strcpy(szPathFileCfg, "ogAdmnxClient.cfg"); // Valores por defecto de archivos
72                        strcpy(szPathFileLog, "ogAdmLnxClient.log"); // de configuración y de logs
73                        break;
74        }
75
76        ndebug = 1; // Nivel de debuger por defecto
77
78        for (i = 1; (i + 1) < argc; i += 2) {
79                if (argv[i][0] == '-') {
80                        switch (tolower(argv[i][1])) {
81                        case 'f':
82                                if (argv[i + 1] != NULL)
83                                        strcpy(szPathFileCfg, argv[i + 1]);
84                                else {
85                                        return (FALSE);
86                                }
87                                break;
88                        case 'l':
89                                if (argv[i + 1] != NULL)
90                                        strcpy(szPathFileLog, argv[i + 1]);
91                                else {
92                                        return (FALSE);
93                                }
94                                break;
95                        case 'd':
96                                if (argv[i + 1] != NULL) {
97                                        ndebug = atoi(argv[i + 1]);
98                                        if (ndebug < 1)
99                                                ndebug = 1; // Por defecto el nivel de debug es 1
100                                } else
101                                        ndebug = 1; // Por defecto el nivel de debug es 1
102                                break;
103                        default:
104                                exit(EXIT_FAILURE);
105                                break;
106                        }
107                }
108        }
109        return (TRUE);
110}
111// ________________________________________________________________________________________________________
112// Función: splitCadena
113//
114//      Descripción:
115//                      Trocea una cadena según un carácter delimitador
116//      Parámetros:
117//                      - trozos: Array de punteros a cadenas
118//                      - cadena: Cadena a trocear
119//                      - chd: Carácter delimitador
120//      Devuelve:
121//              Número de trozos en que se divide la cadena
122// ________________________________________________________________________________________________________
123int splitCadena(char **trozos,char *cadena, char chd)
124{
125        int w=0;
126        if(cadena==NULL) return(w);
127
128        trozos[w++]=cadena;
129        while(*cadena!='\0'){
130                if(*cadena==chd){
131                        *cadena='\0';
132                        if(*(cadena+1)!='\0')
133                                trozos[w++]=cadena+1;
134                }
135                cadena++;
136        }
137        return(w); // Devuelve el número de trozos
138}
139// ________________________________________________________________________________________________________
140// Función: escaparCadena
141//
142//      Descripción:
143//                      Sustituye las apariciones de un caracter comila simple ' por \'
144//      Parámetros:
145//                      - cadena: Cadena a escapar
146// Devuelve:
147//              La cadena con las comillas simples sustituidas por \'
148// ________________________________________________________________________________________________________
149char* escaparCadena(char *cadena)
150{
151        int b,c;
152        char *buffer;
153
154        buffer = (char*) reservaMemoria(strlen(cadena)*2); // Toma memoria para el buffer de conversión
155        if (buffer == NULL) { // No hay memoria suficiente para el buffer
156                return (FALSE);
157        }
158
159        c=b=0;
160        while(cadena[c]!=0) {
161                if (cadena[c]=='\''){
162                        buffer[b++]='\\';
163                        buffer[b++]='\'';
164                }
165                else{
166                        buffer[b++]=cadena[c];
167                }
168                c++;
169        }
170        return(buffer);
171}
172
173// ________________________________________________________________________________________________________
174// Función: igualIP
175//
176//      Descripción:
177//              Comprueba si una cadena con una dirección IP está incluida en otra que  contienen varias direcciones ipes
178//              separadas por punto y coma
179//      Parámetros:
180//              - cadenaiph: Cadena de direcciones IPES
181//              - ipcliente: Cadena de la IP a buscar
182//      Devuelve:
183//              TRUE: Si el proceso es correcto
184//              FALSE: En caso de ocurrir algún error
185// ________________________________________________________________________________________________________
186BOOLEAN contieneIP(char *cadenaiph,char *ipcliente)
187{
188        char *posa,*posb;
189        int lon, i;
190
191        posa=strstr(cadenaiph,ipcliente);
192        if(posa==NULL) return(FALSE); // No existe la IP en la cadena
193        posb=posa; // Iguala direcciones
194        for (i = 0; i < LONIP; i++) {
195                if(*posb==';') break;
196                if(*posb=='\0') break;
197                if(*posb=='\r') break;
198                posb++;
199        }
200        lon=strlen(ipcliente);
201        if((posb-posa)==lon) return(TRUE); // IP encontrada
202        return(FALSE);
203}
204// ________________________________________________________________________________________________________
205// Función: rTrim
206//
207//               Descripción:
208//                      Elimina caracteres de espacios y de asci menor al espacio al final de la cadena
209//              Parámetros:
210//                      - cadena: Cadena a procesar
211// ________________________________________________________________________________________________________
212char* rTrim(char *cadena)
213{
214        int i,lon;
215
216        lon=strlen(cadena);
217        for (i=lon-1;i>=0;i--){
218                if(cadena[i]<32)
219                        cadena[i]='\0';
220                else
221                        return(cadena);
222        }
223        return(cadena);
224}
225//______________________________________________________________________________________________________
226// Función: reservaMemoria
227//
228//      Descripción:
229//              Reserva memoria para una variable
230//      Parámetros:
231//              - lon:  Longitud en bytes de la reserva
232//      Devuelve:
233//              Un puntero a la zona de memoria reservada que ha sido previamente rellena con zeros o nulos
234//______________________________________________________________________________________________________
235char* reservaMemoria(int lon)
236{
237        char *mem;
238
239        mem=(char*)malloc(lon);
240        if(mem!=NULL)
241                memset(mem,0,lon);
242        return(mem);
243}
Note: See TracBrowser for help on using the repository browser.