mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Merge branch 'ticket31705_v2' into ticket31705_v2_merged
Conflicts: src/feature/dirparse/authcert_parse.c src/feature/dirparse/ns_parse.c src/feature/hs/hs_service.c src/lib/conf/conftesting.h src/lib/log/log.h src/lib/thread/threads.h src/test/test_options.c These conflicts were mostly related to autostyle improvements, with one or two due to doxygen fixes.
This commit is contained in:
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
# apply.sh:
|
||||
# run spatch with appropriate includes and builtins for the Tor source code
|
||||
|
||||
top="$(dirname "$0")/../.."
|
||||
|
||||
spatch -macro_file_builtins "$top"/scripts/coccinelle/tor-coccinelle.h \
|
||||
-I "$top" -I "$top"/src -I "$top"/ext --defined COCCI "$@"
|
||||
@@ -1,4 +1,17 @@
|
||||
#!/usr/bin/perl -w -p -i
|
||||
#
|
||||
# Copyright (c) 2001 Matej Pfajfar.
|
||||
# Copyright (c) 2001-2004, Roger Dingledine.
|
||||
# Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
|
||||
# Copyright (c) 2007-2019, The Tor Project, Inc.
|
||||
# See LICENSE for licensing information
|
||||
|
||||
# This script looks for instances of C comparison operators as macro arguments,
|
||||
# and replaces them with our OP_* equivalents.
|
||||
#
|
||||
# Some macros that take operators are our tt_int_op() testing macro, and the
|
||||
# standard timercmp() macro. Coccinelle can't handle their syntax, however,
|
||||
# unless we give them their operators as a macro too.
|
||||
|
||||
next if m#^ */\*# or m#^ *\* #;
|
||||
|
||||
|
||||
@@ -1,3 +1,63 @@
|
||||
/* Copyright (c) 2001 Matej Pfajfar.
|
||||
* Copyright (c) 2001-2004, Roger Dingledine.
|
||||
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
|
||||
* Copyright (c) 2007-2019, The Tor Project, Inc. */
|
||||
/* See LICENSE for licensing information */
|
||||
|
||||
/*
|
||||
* This file looks like a C header, but its purpose is a bit different.
|
||||
*
|
||||
* We never include it from our real C files; we only tell Coccinelle
|
||||
* about it in apply.sh.
|
||||
*
|
||||
* It tells the Coccinelle semantic patching tool how to understand
|
||||
* things that would otherwise not be good C syntax, or which would
|
||||
* otherwise not make sense to it as C. It doesn't need to produce
|
||||
* semantically equivalent C, or even correct C: it only has to produce
|
||||
* syntactically valid C.
|
||||
*/
|
||||
|
||||
#define MOCK_DECL(a, b, c) a b c
|
||||
#define MOCK_IMPL(a, b, c) a b c
|
||||
#define CHECK_PRINTF(a, b)
|
||||
#define CHECK_SCANF(a, b)
|
||||
#define STATIC static
|
||||
#define EXTERN(a,b) extern a b;
|
||||
|
||||
#define STMT_BEGIN do {
|
||||
#define STMT_END } while (0)
|
||||
|
||||
#define BUG(x) (x)
|
||||
#define IF_BUG_ONCE(x) if (x)
|
||||
|
||||
#define ATTR_NORETURN
|
||||
#define ATTR_UNUSED
|
||||
#define ATTR_CONST
|
||||
#define ATTR_MALLOC
|
||||
#define ATTR_WUR
|
||||
#define DISABLE_GCC_WARNING(x)
|
||||
#define ENABLE_GCC_WARNING(x)
|
||||
|
||||
#define HANDLE_DECL(a,b,c)
|
||||
#define HANDLE_IMPL(a,b,c)
|
||||
#define HT_ENTRY(x) void *
|
||||
#define HT_HEAD(a,b) struct ht_head
|
||||
#define HT_INITIALIZER() { }
|
||||
#define X509 struct x509_st
|
||||
#define STACK_OF(x) struct foo_stack_t
|
||||
#define TOR_TAILQ_HEAD(a,b) struct tailq_head
|
||||
#define TOR_TAILQ_ENTRY(a) struct tailq_entry
|
||||
#define TOR_SIMPLEQ_HEAD(a,b) struct simpleq_entry
|
||||
#define TOR_SIMPLEQ_ENTRY(a) struct simpleq_entry
|
||||
#define TOR_LIST_HEAD(a,b) struct list_head
|
||||
#define TOR_LIST_ENTRY(a) struct list_entry
|
||||
#define TOR_SLIST_HEAD(a,b) struct slist_head
|
||||
#define TOR_SLIST_ENTRY(a) struct slist_entry
|
||||
|
||||
#define NS_DECL(a, b, c) a b c
|
||||
#define NS(a) a
|
||||
|
||||
#define CONF_TEST_MEMBERS(a,b,c)
|
||||
#define DUMMY_CONF_TEST_MEMBERS
|
||||
|
||||
#define EAT_SEMICOLON extern int dummy__;
|
||||
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Echo the name of every argument of this script that is not "perfect"
|
||||
# according to coccinelle's --parse-c.
|
||||
|
||||
top="$(dirname "$0")/../.."
|
||||
|
||||
exitcode=0
|
||||
|
||||
for fn in "$@"; do
|
||||
|
||||
if spatch -macro_file_builtins "$top"/scripts/coccinelle/tor-coccinelle.h \
|
||||
-I "$top" -I "$top"/src -I "$top"/ext --defined COCCI \
|
||||
--parse-c "$fn" \
|
||||
2>/dev/null | grep "perfect = 1" > /dev/null; then
|
||||
: # it's perfect
|
||||
else
|
||||
echo "$fn"
|
||||
if test "${VERBOSE}" != ""; then
|
||||
spatch -macro_file_builtins "$top"/scripts/coccinelle/tor-coccinelle.h \
|
||||
-I "$top" -I "$top"/src -I "$top"/ext --defined COCCI \
|
||||
--parse-c "$fn"
|
||||
fi
|
||||
exitcode=1
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
exit "$exitcode"
|
||||
Reference in New Issue
Block a user