patches/strace/4.5.16/250-strace-fix-disabled-largefile-syscalls.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Apr 26 21:31:05 2008 +0000 (2008-04-26)
changeset 454 372b2f397baa
permissions -rw-r--r--
Configure tsocks with a simple heuristic.

Consider the proxy has to be in a 'local' network. It means it is directly
reachable by the local machine, even if the local machine has to hop through
one or more gates to reach the proxy (often the case in enterprise networks
where class A 10.0.0.0/8 is in fact sub-divided into smaller networks, each
one of them in a different location, eg. 10.1.0.0/16 in a place, while
10.2.0.0/16 would be on the other side of the world). Not being in the same
subnet does not mean the proxy is not available.

So we will build a mask with at most high bits set, which defines a network
that has both the local machine and the proxy. Because a machine may have
more than one interface, build a mask for each of them, removing 127.0.0.1
which is added automagically by tsocks, and removing duplicate masks.

If all of this does not work, then it means the local machine can NOT in fact
reach the proxy, which in turn means the user mis-configured something (most
probably a typo...).

/trunk/scripts/crosstool.sh | 61 52 9 0 +++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 52 insertions(+), 9 deletions(-)
yann@428
     1
diff -dur strace-4.5.16.orig/syscall.c strace-4.5.16/syscall.c
yann@428
     2
--- strace-4.5.16.orig/syscall.c	2007-07-14 19:21:44.000000000 +0200
yann@428
     3
+++ strace-4.5.16/syscall.c	2007-07-14 19:22:49.000000000 +0200
yann@428
     4
@@ -125,6 +125,18 @@
yann@428
     5
 #define TP TRACE_PROCESS
yann@428
     6
 #define TS TRACE_SIGNAL
yann@428
     7
yann@428
     8
+#ifndef HAVE_STATFS64
yann@428
     9
+/*
yann@428
    10
+ * Ugly hacks for systems that do not have LFS
yann@428
    11
+ */
yann@428
    12
+
yann@428
    13
+#define sys_truncate64  sys_truncate
yann@428
    14
+#define sys_ftruncate64 sys_ftruncate
yann@428
    15
+#define sys_getdents64  sys_getdents
yann@428
    16
+#define sys_statfs64    sys_statfs
yann@428
    17
+#define sys_fstatfs64   sys_fstatfs
yann@428
    18
+#endif
yann@428
    19
+
yann@428
    20
 static const struct sysent sysent0[] = {
yann@428
    21
 #include "syscallent.h"
yann@428
    22
 };