Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37855646
en ru br
Репозитории ALT

Группа :: Сети/Прочее
Пакет: dirb

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: Fix-DIRB-for-GCC-10.patch
Скачать


From a949ec35d6368537e52bf85458aab590c4deec77 Mon Sep 17 00:00:00 2001
From: Nikita Ermakov <arei@altlinux.org>
Date: Wed, 9 Dec 2020 15:12:41 +0300
Subject: [PATCH] Fix DIRB for GCC 10
GCC now defaults to -fno-common. Use the common module variables.c for
global variables.
---
 src/Makefile.am |  3 ++-
 src/Makefile.in |  6 ++++--
 src/dirb.h      |  1 -
 src/variables.c | 30 ++++++++++++++++++++++++++++++
 src/variables.h | 45 +++++++++++++++++++++++----------------------
 5 files changed, 59 insertions(+), 26 deletions(-)
 create mode 100644 src/variables.c
diff --git a/src/Makefile.am b/src/Makefile.am
index c0d56c6..5e6f384 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -11,7 +11,8 @@ base = crea_wordlist.c\
 	calculanec.c\
 	utils.c\
 	options.c\
-	resume.c
+	resume.c\
+	variables.c
 
 dirb_SOURCES = $(base)
 
diff --git a/src/Makefile.in b/src/Makefile.in
index add6c74..990de35 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -50,7 +50,7 @@ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
 am__objects_1 = crea_wordlist.$(OBJEXT) dirb.$(OBJEXT) \
 	get_url.$(OBJEXT) lanza_ataque.$(OBJEXT) calculanec.$(OBJEXT) \
-	utils.$(OBJEXT) options.$(OBJEXT) resume.$(OBJEXT)
+	utils.$(OBJEXT) options.$(OBJEXT) resume.$(OBJEXT) variables.$(OBJEXT)
 am_dirb_OBJECTS = $(am__objects_1)
 dirb_OBJECTS = $(am_dirb_OBJECTS)
 dirb_LDADD = $(LDADD)
@@ -153,7 +153,8 @@ base = crea_wordlist.c\
 	calculanec.c\
 	utils.c\
 	options.c\
-	resume.c
+	resume.c\
+	variables.c
 
 dirb_SOURCES = $(base)
 dirb_LDFLAGS = @NETWORK_LIBS@
@@ -230,6 +231,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resume.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/variables.Po@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
diff --git a/src/dirb.h b/src/dirb.h
index 5917adc..a3df2eb 100644
--- a/src/dirb.h
+++ b/src/dirb.h
@@ -8,7 +8,6 @@
 
 #include "global.h"
 #include "variables.h"
-#include "estructuras.h"
 #include "funciones.h"
 
 
diff --git a/src/variables.c b/src/variables.c
new file mode 100644
index 0000000..55afcf0
--- /dev/null
+++ b/src/variables.c
@@ -0,0 +1,30 @@
+#include "variables.h"
+
+FILE *outfile;                    // Fichero de output
+CURL *curl;                       // Descriptor CURL
+struct opciones options;          // Array con las opciones recibidas del usuario
+
+struct result *nec[100];          // Array que almacena los NECs
+int contador;                     // Contador de palabras generadas
+int descargadas;                  // Numero de URLs descargadas
+int encontradas;                  // Numero de URLs encontradas
+int errores;                      // Contador de errores
+int existant;                     // Flag para determinar si la URL actual existe
+int listable;                     // Flag para determinar si un directorio es listable
+
+struct words *wordlist_base;      // Base de la lista de palabras
+struct words *wordlist_current;   // Nodo actual de la lista de palabras
+struct words *wordlist_final;     // Final de la lista de palabras
+
+struct words *exts_base;          // Base de la lista de extensiones
+struct words *exts_current;       // Nodo actual de la lista de externsiones
+int exts_num;                     // Numero de extensiones
+
+struct words *muts_base;          // Base de la lista de mutaciones
+
+struct words *dirlist_base;       // Base de la lista de los directorios encontrados
+struct words *dirlist_final;      // Final de la lista los directorios encontrados
+struct words *dirlist_current;    // Nodo actual de la lista los directorios encontrados
+
+int resuming;                     // Flag para saber si estamos en una sesion resumida
+int next_dir;					  // Flag para saber si tenemos que pasar al siguiente directorio
diff --git a/src/variables.h b/src/variables.h
index d06d6bf..0b0c271 100644
--- a/src/variables.h
+++ b/src/variables.h
@@ -7,38 +7,39 @@
 
 
 #include "global.h"
+#include "estructuras.h"
 
 
 /* Global variables */
 
-FILE *outfile;                    // Fichero de output
-CURL *curl;                       // Descriptor CURL
-struct opciones options;          // Array con las opciones recibidas del usuario
+extern FILE *outfile;                    // Fichero de output
+extern CURL *curl;                       // Descriptor CURL
+extern struct opciones options;          // Array con las opciones recibidas del usuario
 
-struct result *nec[100];          // Array que almacena los NECs
-int contador;                     // Contador de palabras generadas
-int descargadas;                  // Numero de URLs descargadas
-int encontradas;                  // Numero de URLs encontradas
-int errores;                      // Contador de errores
-int existant;                     // Flag para determinar si la URL actual existe
-int listable;                     // Flag para determinar si un directorio es listable
+extern struct result *nec[100];          // Array que almacena los NECs
+extern int contador;                     // Contador de palabras generadas
+extern int descargadas;                  // Numero de URLs descargadas
+extern int encontradas;                  // Numero de URLs encontradas
+extern int errores;                      // Contador de errores
+extern int existant;                     // Flag para determinar si la URL actual existe
+extern int listable;                     // Flag para determinar si un directorio es listable
 
-struct words *wordlist_base;      // Base de la lista de palabras
-struct words *wordlist_current;   // Nodo actual de la lista de palabras
-struct words *wordlist_final;     // Final de la lista de palabras
+extern struct words *wordlist_base;      // Base de la lista de palabras
+extern struct words *wordlist_current;   // Nodo actual de la lista de palabras
+extern struct words *wordlist_final;     // Final de la lista de palabras
 
-struct words *exts_base;          // Base de la lista de extensiones
-struct words *exts_current;       // Nodo actual de la lista de externsiones
-int exts_num;                     // Numero de extensiones
+extern struct words *exts_base;          // Base de la lista de extensiones
+extern struct words *exts_current;       // Nodo actual de la lista de externsiones
+extern int exts_num;                     // Numero de extensiones
 
-struct words *muts_base;          // Base de la lista de mutaciones
+extern struct words *muts_base;          // Base de la lista de mutaciones
 
-struct words *dirlist_base;       // Base de la lista de los directorios encontrados
-struct words *dirlist_final;      // Final de la lista los directorios encontrados
-struct words *dirlist_current;    // Nodo actual de la lista los directorios encontrados
+extern struct words *dirlist_base;       // Base de la lista de los directorios encontrados
+extern struct words *dirlist_final;      // Final de la lista los directorios encontrados
+extern struct words *dirlist_current;    // Nodo actual de la lista los directorios encontrados
 
-int resuming;                     // Flag para saber si estamos en una sesion resumida
-int next_dir;					  // Flag para saber si tenemos que pasar al siguiente directorio
+extern int resuming;                     // Flag para saber si estamos en una sesion resumida
+extern int next_dir;					  // Flag para saber si tenemos que pasar al siguiente directorio
 
 
 
-- 
2.25.4
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin