115 lines
5.3 KiB
Diff
115 lines
5.3 KiB
Diff
From bac9b5fed2bb29e13326c90d7c12a6936fe9f04b Mon Sep 17 00:00:00 2001
|
|
From: Andras Gemes <andrasgemes@outlook.com>
|
|
Date: Sat, 21 Jan 2023 19:29:58 +0100
|
|
Subject: [PATCH 7/9] compat-pcre: add compat-type PCRE header
|
|
|
|
---
|
|
include/Makefile.inc | 1 +
|
|
include/aircrack-ng/pcre/compat-pcre.h | 90 ++++++++++++++++++++++++++
|
|
2 files changed, 91 insertions(+)
|
|
create mode 100644 include/aircrack-ng/pcre/compat-pcre.h
|
|
|
|
--- a/include/Makefile.inc
|
|
+++ b/include/Makefile.inc
|
|
@@ -71,6 +71,7 @@ nobase_aircrack_HEADERS = %D%/aircrack-
|
|
%D%/aircrack-ng/osdep/network.h \
|
|
%D%/aircrack-ng/osdep/osdep.h \
|
|
%D%/aircrack-ng/osdep/packed.h \
|
|
+ %D%/aircrack-ng/pcre/compat-pcre.h \
|
|
%D%/aircrack-ng/ptw/aircrack-ptw-lib.h \
|
|
%D%/aircrack-ng/support/common.h \
|
|
%D%/aircrack-ng/support/communications.h \
|
|
--- /dev/null
|
|
+++ b/include/aircrack-ng/pcre/compat-pcre.h
|
|
@@ -0,0 +1,90 @@
|
|
+/*
|
|
+* Copyright (C) 2023 Andras Gemes <andrasgemes@outlook.com>
|
|
+*
|
|
+* This program is free software; you can redistribute it and/or modify
|
|
+* it under the terms of the GNU General Public License as published by
|
|
+* the Free Software Foundation; either version 2 of the License, or
|
|
+* (at your option) any later version.
|
|
+*
|
|
+* This program is distributed in the hope that it will be useful,
|
|
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
+* GNU General Public License for more details.
|
|
+*
|
|
+* You should have received a copy of the GNU General Public License
|
|
+* along with this program; if not, write to the Free Software
|
|
+* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
+*
|
|
+*
|
|
+* In addition, as a special exception, the copyright holders give
|
|
+* permission to link the code of portions of this program with the
|
|
+* OpenSSL library under certain conditions as described in each
|
|
+* individual source file, and distribute linked combinations
|
|
+* including the two.
|
|
+* You must obey the GNU General Public License in all respects
|
|
+* for all of the code used other than OpenSSL. * If you modify
|
|
+* file(s) with this exception, you may extend this exception to your
|
|
+* version of the file(s), but you are not obligated to do so. * If you
|
|
+* do not wish to do so, delete this exception statement from your
|
|
+* version. * If you delete this exception statement from all source
|
|
+* files in the program, then also delete it here.
|
|
+*/
|
|
+
|
|
+#ifndef AIRCRACK_NG_COMPAT_PCRE_H
|
|
+#define AIRCRACK_NG_COMPAT_PCRE_H
|
|
+
|
|
+#ifdef HAVE_PCRE2
|
|
+#define PCRE2_CODE_UNIT_WIDTH 8
|
|
+#include <pcre2.h>
|
|
+#elif defined HAVE_PCRE
|
|
+#include <pcre.h>
|
|
+#endif
|
|
+
|
|
+#ifdef HAVE_PCRE2
|
|
+#define COMPAT_PCRE_COMPILE(pattern, pcreerror, pcreerroffset) \
|
|
+ pcre2_compile((PCRE2_SPTR) (pattern), \
|
|
+ PCRE2_ZERO_TERMINATED, \
|
|
+ 0, \
|
|
+ (pcreerror), \
|
|
+ (pcreerroffset), \
|
|
+ NULL)
|
|
+#elif defined HAVE_PCRE
|
|
+#define COMPAT_PCRE_COMPILE(pattern, pcreerror, pcreerroffset) \
|
|
+ pcre_compile((pattern), 0, (pcreerror), (pcreerroffset), NULL)
|
|
+#endif
|
|
+
|
|
+#ifdef HAVE_PCRE2
|
|
+#define COMPAT_PCRE_MATCH(regex, essid, length, match_data) \
|
|
+ pcre2_match((regex), \
|
|
+ (PCRE2_SPTR) (essid), \
|
|
+ (int) strnlen((char *) (essid), (length)), \
|
|
+ 0, \
|
|
+ 0, \
|
|
+ (match_data), \
|
|
+ 0)
|
|
+#elif defined HAVE_PCRE
|
|
+#define COMPAT_PCRE_MATCH(regex, essid, length, match_data) \
|
|
+ pcre_exec((regex), \
|
|
+ NULL, \
|
|
+ (char *) (essid), \
|
|
+ strnlen((char *) (essid), (length)), \
|
|
+ 0, \
|
|
+ 0, \
|
|
+ NULL, \
|
|
+ 0)
|
|
+#endif
|
|
+
|
|
+#ifdef HAVE_PCRE2
|
|
+#define COMPAT_PCRE_PRINT_ERROR(pcreerroffset, pcreerr) \
|
|
+ printf("Error: regular expression compilation failed at " \
|
|
+ "offset %zu: %s; aborting\n", \
|
|
+ (pcreerroffset), \
|
|
+ (pcreerr))
|
|
+#elif defined HAVE_PCRE
|
|
+#define COMPAT_PCRE_PRINT_ERROR(pcreerroffset, pcreerrorbuf) \
|
|
+ printf("Error: regular expression compilation failed at " \
|
|
+ "offset %d: %s; aborting\n", \
|
|
+ (pcreerroffset), \
|
|
+ (pcreerrorbuf))
|
|
+#endif
|
|
+#endif //AIRCRACK_NG_COMPAT_PCRE_H
|