aboutsummaryrefslogtreecommitdiff
path: root/parse
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-10-08 20:15:17 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-10-08 20:15:17 +0200
commit044255e7d40bdbadd442ff60b66b096518610af8 (patch)
tree1b323603d5028eab41585321ba580593f0f592e4 /parse
parentcd42ef6603dc8b6703ff261e628b31ee07ef0165 (diff)
Work in progress
Diffstat (limited to 'parse')
-rw-r--r--parse/parse.go64
1 files changed, 21 insertions, 43 deletions
diff --git a/parse/parse.go b/parse/parse.go
index 8f53c06..60c59b6 100644
--- a/parse/parse.go
+++ b/parse/parse.go
@@ -2,13 +2,15 @@ package main
import (
"fmt"
+ "log"
//"dim13.org/asn1/ber"
"dim13.org/asn1/acse"
- "dim13.org/asn1/csta"
+ //"dim13.org/asn1/csta"
"dim13.org/asn1/rose"
"github.com/dim13/asn1"
+ "github.com/kr/pretty"
)
var t = map[byte]string{
@@ -21,61 +23,37 @@ var t = map[byte]string{
0xa2: "ROSE Response",
}
+func unmarshal(b []byte, v interface{}) {
+ _, err := asn1.Unmarshal(b, v)
+ if err != nil {
+ log.Fatal(err)
+ }
+ pretty.Println(v)
+}
+
func main() {
for n, s := range session {
fmt.Println(">>> packet", n, t[s[0]])
//fmt.Println(ber.Dump(s))
switch s[0] {
case 0xa1:
- v := rose.Invoke{}
- _, err := asn1.Unmarshal(s, &v)
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println(v, csta.Modules[v.Opcode])
+ unmarshal(s, &rose.Invoke{})
case 0xa2:
- v := rose.ReturnResult{}
- _, err := asn1.Unmarshal(s, &v)
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println(v, csta.Modules[v.Result.Opcode])
+ unmarshal(s, &rose.ReturnResult{})
case 0x60:
- v := acse.AARQ{}
- _, err := asn1.Unmarshal(s, &v)
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println(v)
+ unmarshal(s, &acse.AARQ{})
case 0x61:
- v := acse.AARE{}
- _, err := asn1.Unmarshal(s, &v)
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println(v)
+ unmarshal(s, &acse.AARE{})
case 0x62:
- v := acse.RLRQ{}
- _, err := asn1.Unmarshal(s, &v)
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println(v)
+ unmarshal(s, &acse.RLRQ{})
case 0x63:
- v := acse.RLRE{}
- _, err := asn1.Unmarshal(s, &v)
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println(v)
+ unmarshal(s, &acse.RLRE{})
case 0x64:
- v := acse.ABRT{}
- _, err := asn1.Unmarshal(s, &v)
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println(v)
+ unmarshal(s, &acse.ABRT{})
}
}
+ fmt.Printf("%x\n", session[0])
+ a, _ := acse.Associate()
+ fmt.Printf("%x\n", a)
}