rb-wartslib 0.9.12 → 0.9.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +37 -0
- data/README +9 -6
- data/bin/count-traces +4 -4
- data/bin/create-aspath +3 -3
- data/bin/extract-trace-addrs +3 -3
- data/bin/modify-traces +7 -7
- data/bin/scdump +3 -3
- data/bin/select-traces +9 -9
- data/bin/show-cycles +5 -6
- data/bin/split-traces-by-type +2 -2
- data/bin/stat-traces +29 -30
- data/bin/trace-gap-size-hist +3 -3
- data/bin/trace-timestamps-hist +2 -2
- data/bin/w2tr +2 -2
- data/bin/wdump +16 -4
- data/docs/index.html +9 -1
- data/docs/reference.html +330 -7
- data/docs/style.css +1 -1
- data/docs/tut-1-count.rb +1 -1
- data/docs/tut-10-list2.rb +3 -3
- data/docs/tut-11-cycle.rb +1 -1
- data/docs/tut-12-cycle2.rb +7 -8
- data/docs/tut-13-write.rb +1 -1
- data/docs/tut-14-write2.rb +2 -3
- data/docs/tut-15-write3.rb +1 -1
- data/docs/tut-16-write4.rb +1 -1
- data/docs/tut-17-modify.rb +3 -4
- data/docs/tut-18-modify2.rb +3 -4
- data/docs/tut-2-count-block.rb +1 -1
- data/docs/tut-3-count-resp.rb +1 -1
- data/docs/tut-4-path-length.rb +5 -17
- data/docs/tut-5-hop-addr.rb +1 -1
- data/docs/tut-6-hop-addr2.rb +1 -1
- data/docs/tut-7-hop-addr3.rb +1 -1
- data/docs/tut-8-hop-addr4.rb +1 -1
- data/docs/tut-9-list.rb +1 -1
- data/docs/tutorial.html +38 -54
- data/ext/scaddr.h +3 -2
- data/ext/scext.c +11 -2
- data/ext/scfile.c +2 -1
- data/ext/scfile.h +3 -2
- data/ext/sclist.h +2 -2
- data/ext/sctrace.c +205 -18
- data/ext/sctrace.h +3 -2
- data/lib/wartslib/wl-file.rb +3 -2
- data/lib/wartslib/wl-trace.rb +70 -2
- metadata +2 -2
data/lib/wartslib/wl-file.rb
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
## along with this program; if not, write to the Free Software
|
19
19
|
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
20
20
|
##
|
21
|
-
## $Id: wl-file.rb,v 1.
|
21
|
+
## $Id: wl-file.rb,v 1.9 2008/02/02 00:23:40 youngh Exp $
|
22
22
|
#############################################################################
|
23
23
|
|
24
24
|
module Warts
|
@@ -50,7 +50,8 @@ class File
|
|
50
50
|
end
|
51
51
|
|
52
52
|
if mode == "r" && command
|
53
|
-
|
53
|
+
ENV['RBWARTSLIB_FILE_OPEN_PATH'] = path
|
54
|
+
io = IO.popen "#{command} \"$RBWARTSLIB_FILE_OPEN_PATH\""
|
54
55
|
begin
|
55
56
|
retval = __raw_open io, mode, type, &block
|
56
57
|
unless block
|
data/lib/wartslib/wl-trace.rb
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
## along with this program; if not, write to the Free Software
|
19
19
|
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
20
20
|
##
|
21
|
-
## $Id: wl-trace.rb,v 1.
|
21
|
+
## $Id: wl-trace.rb,v 1.11 2008/01/25 00:25:59 youngh Exp $
|
22
22
|
#############################################################################
|
23
23
|
|
24
24
|
module Warts
|
@@ -32,10 +32,78 @@ class Trace
|
|
32
32
|
HALT_REASON[Warts::Trace::STOP_NONE] = "S"
|
33
33
|
HALT_REASON[Warts::Trace::STOP_UNREACH] = "U"
|
34
34
|
HALT_REASON[Warts::Trace::STOP_LOOP] = "L"
|
35
|
-
HALT_REASON[Warts::Trace::
|
35
|
+
HALT_REASON[Warts::Trace::STOP_GAPLIMIT] = "G"
|
36
36
|
|
37
37
|
public
|
38
38
|
|
39
|
+
# from scamper_trace.h:SCAMPER_TRACE_STOP_*
|
40
|
+
STOP_REASON_TEXT = Hash.new { |h, k| "<<UNKNOWN STOP CODE #{k}>>" }
|
41
|
+
STOP_REASON_TEXT.merge!({
|
42
|
+
Warts::Trace::STOP_NONE => "none (null reason)",
|
43
|
+
Warts::Trace::STOP_COMPLETED => "completed (got an ICMP port unreach)",
|
44
|
+
Warts::Trace::STOP_UNREACH => "unreach (got an other ICMP unreach code)",
|
45
|
+
Warts::Trace::STOP_ICMP => "icmp (got an ICMP msg, not unreach)",
|
46
|
+
Warts::Trace::STOP_LOOP => "loop (loop detected)",
|
47
|
+
Warts::Trace::STOP_GAPLIMIT => "gaplimit (gaplimit exceeded)",
|
48
|
+
Warts::Trace::STOP_ERROR => "error (sendto error)",
|
49
|
+
Warts::Trace::STOP_HOPLIMIT => "hoplimit (hoplimit reached)"
|
50
|
+
})
|
51
|
+
|
52
|
+
|
53
|
+
# Just a convenience function. This returns the same strings as warts-dump.
|
54
|
+
def self.decompose_tcp_flags(flags)
|
55
|
+
retval = []
|
56
|
+
retval << "fin" if (flags & 0x01) != 0
|
57
|
+
retval << "syn" if (flags & 0x02) != 0
|
58
|
+
retval << "rst" if (flags & 0x04) != 0
|
59
|
+
retval << "psh" if (flags & 0x08) != 0
|
60
|
+
retval << "ack" if (flags & 0x10) != 0
|
61
|
+
retval << "urg" if (flags & 0x20) != 0
|
62
|
+
retval << "ece" if (flags & 0x40) != 0
|
63
|
+
retval << "cwr" if (flags & 0x80) != 0
|
64
|
+
retval
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
# Just a convenience function.
|
69
|
+
# This returns the same strings as warts-dump, except for "gapcont" which
|
70
|
+
# arts-dump doesn't return. See scamper_trace.h:SCAMPER_TRACE_FLAG_*
|
71
|
+
def self.decompose_flags(flags)
|
72
|
+
retval = []
|
73
|
+
retval << "all_attempts" if (flags & Warts::Trace::FLAG_ALLATTEMPTS) != 0
|
74
|
+
retval << "pmtud" if (flags & Warts::Trace::FLAG_PMTUD) != 0
|
75
|
+
retval << "dltxts" if (flags & Warts::Trace::FLAG_DL) != 0
|
76
|
+
retval
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
# Just a convenience function.
|
81
|
+
# This returns the same strings as warts-dump, except for "tcpresp" which
|
82
|
+
# arts-dump doesn't return. See scamper_trace.h:SCAMPER_TRACE_HOP_FLAG_*.
|
83
|
+
# I commented out printing of REPLY_TTL and TCP because they're mostly of
|
84
|
+
# internal interest, and they can be got through accessor methods anyway.
|
85
|
+
def self.decompose_hop_flags(flags)
|
86
|
+
retval = []
|
87
|
+
retval << "sockrxts" if (flags & Warts::Trace::HOP_FLAG_TS_SOCK_RX) != 0
|
88
|
+
retval << "dltxts" if (flags & Warts::Trace::HOP_FLAG_TS_DL_TX) != 0
|
89
|
+
retval << "dlrxts" if (flags & Warts::Trace::HOP_FLAG_TS_DL_RX) != 0
|
90
|
+
retval << "tscrtt" if (flags & Warts::Trace::HOP_FLAG_TS_TSC) != 0
|
91
|
+
#retval << "replyttl" if (flags & Warts::Trace::HOP_FLAG_REPLY_TTL) != 0
|
92
|
+
#retval << "tcpresp" if (flags & Warts::Trace::HOP_FLAG_TCP) != 0
|
93
|
+
retval
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
def flags_breakdown
|
98
|
+
Warts::Trace.decompose_flags flags
|
99
|
+
end
|
100
|
+
|
101
|
+
|
102
|
+
def hop_flags_breakdown(hop, response=0)
|
103
|
+
Warts::Trace.decompose_hop_flags hop_flags(hop, response)
|
104
|
+
end
|
105
|
+
|
106
|
+
|
39
107
|
# The length of the path (in hops), taking any responding destination into
|
40
108
|
# account.
|
41
109
|
#
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rb-wartslib
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.9.
|
7
|
-
date: 2008-01
|
6
|
+
version: 0.9.13
|
7
|
+
date: 2008-02-01 00:00:00 -08:00
|
8
8
|
summary: Ruby extension for reading/writing warts files
|
9
9
|
require_paths:
|
10
10
|
- lib
|