|
- # Copyright 2010 The Go Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style
- # license that can be found in the LICENSE file.
-
- # This code is used to parse the debug log from gnutls-cli and generate a
- # script of the handshake. This script is included in handshake_server_test.go.
- # See the comments there for details.
-
- import sys
-
- blocks = []
-
- READ = 1
- WRITE = 2
-
- currentBlockType = 0
- currentBlock = []
- for line in sys.stdin.readlines():
- line = line[:-1]
- if line.startswith("|<7>| WRITE: "):
- if currentBlockType != WRITE:
- if len(currentBlock) > 0:
- blocks.append(currentBlock)
- currentBlock = []
- currentBlockType = WRITE
- elif line.startswith("|<7>| READ: "):
- if currentBlockType != READ:
- if len(currentBlock) > 0:
- blocks.append(currentBlock)
- currentBlock = []
- currentBlockType = READ
- elif line.startswith("|<7>| 0"):
- line = line[13:]
- line = line.strip()
- bs = line.split()
- for b in bs:
- currentBlock.append(int(b, 16))
-
- if len(currentBlock) > 0:
- blocks.append(currentBlock)
-
- for block in blocks:
- sys.stdout.write("\t{\n")
-
- i = 0
- for b in block:
- if i % 8 == 0:
- sys.stdout.write("\t\t")
- sys.stdout.write("0x%02x," % b)
- if i % 8 == 7:
- sys.stdout.write("\n")
- else:
- sys.stdout.write(" ")
- i += 1
- sys.stdout.write("\n\t},\n\n")
|