Documentation and some small tweaks

This commit is contained in:
Miek Gieben 2011-07-23 08:59:58 +02:00
parent dca86ec149
commit 92291b1575
3 changed files with 205 additions and 207 deletions

View File

@ -21,38 +21,41 @@ var k_en_main int = 111
// line 13 "kparse.rl" // line 13 "kparse.rl"
// Parse a private key file as defined in XXX. // PrivateKey parses a private key file as defined in XXX.
// A map[string]string is returned with the values. All the keys // A map[string]string is returned with the values. All the keys
// are in lowercase. The algorithm is returned as m[algorithm] = "RSASHA1" // are in lowercase. The algorithm is returned as m[algorithm] = "RSASHA1"
func (kp *Parser) PrivateKey() (m map[string]string, err os.Error) { func (kp *Parser) PrivateKey() (m map[string]string, err os.Error) {
m = make(map[string]string) m = make(map[string]string)
var k string var (
k, data string
cs, p, pe int
)
lines := strings.SplitAfter(string(kp.buf), "\n", -1) lines := strings.SplitAfter(string(kp.buf), "\n", -1)
for _, data := range lines { for _, data := range lines {
cs, p, pe := 0, 0, len(data) cs, p, pe = 0, 0, len(data)
mark := 0 mark := 0
// line 37 "kparse.go" // line 40 "kparse.go"
cs = k_start cs = k_start
// line 40 "kparse.go" // line 43 "kparse.go"
{ {
if p == pe { goto _test_eof } if p == pe { goto _test_eof }
switch cs { switch cs {
case -666: // i am a hack D: case -666: // i am a hack D:
tr13: tr13:
// line 29 "kparse.rl" // line 32 "kparse.rl"
{ m[k] = data[mark:p] } { m[k] = data[mark:p] }
goto st111 goto st111
tr28: tr28:
// line 30 "kparse.rl" // line 33 "kparse.rl"
{ m[k] = strings.ToUpper(data[mark:p-1]) } { m[k] = strings.ToUpper(data[mark:p-1]) }
goto st111 goto st111
tr40: tr40:
// line 29 "kparse.rl" // line 32 "kparse.rl"
{ m[k] = data[mark:p] } { m[k] = data[mark:p] }
// line 30 "kparse.rl" // line 33 "kparse.rl"
{ m[k] = strings.ToUpper(data[mark:p-1]) } { m[k] = strings.ToUpper(data[mark:p-1]) }
goto st111 goto st111
st111: st111:
@ -60,7 +63,7 @@ st111:
if p == pe { goto _test_eof111 } if p == pe { goto _test_eof111 }
fallthrough fallthrough
case 111: case 111:
// line 64 "kparse.go" // line 67 "kparse.go"
switch data[p] { switch data[p] {
case 65: goto tr110 case 65: goto tr110
case 67: goto tr111 case 67: goto tr111
@ -81,7 +84,7 @@ st0:
cs = 0; cs = 0;
goto _out; goto _out;
tr110: tr110:
// line 27 "kparse.rl" // line 30 "kparse.rl"
{ mark = p } { mark = p }
goto st1 goto st1
st1: st1:
@ -89,7 +92,7 @@ st1:
if p == pe { goto _test_eof1 } if p == pe { goto _test_eof1 }
fallthrough fallthrough
case 1: case 1:
// line 93 "kparse.go" // line 96 "kparse.go"
switch data[p] { switch data[p] {
case 67: goto st2 case 67: goto st2
case 76: goto st37 case 76: goto st37
@ -165,7 +168,7 @@ case 8:
if data[p] == 58 { goto tr9 } if data[p] == 58 { goto tr9 }
goto st0 goto st0
tr9: tr9:
// line 28 "kparse.rl" // line 31 "kparse.rl"
{ k = strings.ToLower(data[mark:p]) } { k = strings.ToLower(data[mark:p]) }
goto st9 goto st9
st9: st9:
@ -173,7 +176,7 @@ st9:
if p == pe { goto _test_eof9 } if p == pe { goto _test_eof9 }
fallthrough fallthrough
case 9: case 9:
// line 177 "kparse.go" // line 180 "kparse.go"
if data[p] == 32 { goto st10 } if data[p] == 32 { goto st10 }
goto st0 goto st0
st10: st10:
@ -204,7 +207,7 @@ case 10:
} }
goto st0 goto st0
tr11: tr11:
// line 27 "kparse.rl" // line 30 "kparse.rl"
{ mark = p } { mark = p }
goto st11 goto st11
st11: st11:
@ -212,7 +215,7 @@ st11:
if p == pe { goto _test_eof11 } if p == pe { goto _test_eof11 }
fallthrough fallthrough
case 11: case 11:
// line 216 "kparse.go" // line 219 "kparse.go"
switch data[p] { switch data[p] {
case 10: goto tr13 case 10: goto tr13
case 32: goto st11 case 32: goto st11
@ -233,7 +236,7 @@ case 11:
} }
goto st0 goto st0
tr12: tr12:
// line 27 "kparse.rl" // line 30 "kparse.rl"
{ mark = p } { mark = p }
goto st12 goto st12
st12: st12:
@ -241,7 +244,7 @@ st12:
if p == pe { goto _test_eof12 } if p == pe { goto _test_eof12 }
fallthrough fallthrough
case 12: case 12:
// line 245 "kparse.go" // line 248 "kparse.go"
switch data[p] { switch data[p] {
case 9: goto st13 case 9: goto st13
case 10: goto tr13 case 10: goto tr13
@ -288,7 +291,7 @@ case 14:
} }
goto st0 goto st0
tr19: tr19:
// line 27 "kparse.rl" // line 30 "kparse.rl"
{ mark = p } { mark = p }
goto st15 goto st15
st15: st15:
@ -296,7 +299,7 @@ st15:
if p == pe { goto _test_eof15 } if p == pe { goto _test_eof15 }
fallthrough fallthrough
case 15: case 15:
// line 300 "kparse.go" // line 303 "kparse.go"
switch data[p] { switch data[p] {
case 83: goto st16 case 83: goto st16
case 115: goto st16 case 115: goto st16
@ -430,7 +433,7 @@ case 26:
} }
goto st0 goto st0
tr31: tr31:
// line 27 "kparse.rl" // line 30 "kparse.rl"
{ mark = p } { mark = p }
goto st27 goto st27
st27: st27:
@ -438,7 +441,7 @@ st27:
if p == pe { goto _test_eof27 } if p == pe { goto _test_eof27 }
fallthrough fallthrough
case 27: case 27:
// line 442 "kparse.go" // line 445 "kparse.go"
switch data[p] { switch data[p] {
case 10: goto tr13 case 10: goto tr13
case 32: goto st11 case 32: goto st11
@ -757,7 +760,7 @@ case 43:
} }
goto st0 goto st0
tr111: tr111:
// line 27 "kparse.rl" // line 30 "kparse.rl"
{ mark = p } { mark = p }
goto st44 goto st44
st44: st44:
@ -765,7 +768,7 @@ st44:
if p == pe { goto _test_eof44 } if p == pe { goto _test_eof44 }
fallthrough fallthrough
case 44: case 44:
// line 769 "kparse.go" // line 772 "kparse.go"
switch data[p] { switch data[p] {
case 79: goto st45 case 79: goto st45
case 82: goto st54 case 82: goto st54
@ -914,7 +917,7 @@ case 58:
} }
goto st0 goto st0
tr112: tr112:
// line 27 "kparse.rl" // line 30 "kparse.rl"
{ mark = p } { mark = p }
goto st59 goto st59
st59: st59:
@ -922,7 +925,7 @@ st59:
if p == pe { goto _test_eof59 } if p == pe { goto _test_eof59 }
fallthrough fallthrough
case 59: case 59:
// line 926 "kparse.go" // line 929 "kparse.go"
switch data[p] { switch data[p] {
case 88: goto st60 case 88: goto st60
case 120: goto st60 case 120: goto st60
@ -996,7 +999,7 @@ case 66:
if 49 <= data[p] && data[p] <= 50 { goto st8 } if 49 <= data[p] && data[p] <= 50 { goto st8 }
goto st0 goto st0
tr113: tr113:
// line 27 "kparse.rl" // line 30 "kparse.rl"
{ mark = p } { mark = p }
goto st67 goto st67
st67: st67:
@ -1004,7 +1007,7 @@ st67:
if p == pe { goto _test_eof67 } if p == pe { goto _test_eof67 }
fallthrough fallthrough
case 67: case 67:
// line 1008 "kparse.go" // line 1011 "kparse.go"
switch data[p] { switch data[p] {
case 79: goto st68 case 79: goto st68
case 111: goto st68 case 111: goto st68
@ -1068,7 +1071,7 @@ case 73:
if data[p] == 49 { goto st8 } if data[p] == 49 { goto st8 }
goto st0 goto st0
tr114: tr114:
// line 27 "kparse.rl" // line 30 "kparse.rl"
{ mark = p } { mark = p }
goto st74 goto st74
st74: st74:
@ -1076,7 +1079,7 @@ st74:
if p == pe { goto _test_eof74 } if p == pe { goto _test_eof74 }
fallthrough fallthrough
case 74: case 74:
// line 1080 "kparse.go" // line 1083 "kparse.go"
switch data[p] { switch data[p] {
case 79: goto st75 case 79: goto st75
case 111: goto st75 case 111: goto st75
@ -1133,7 +1136,7 @@ case 79:
} }
goto st0 goto st0
tr115: tr115:
// line 27 "kparse.rl" // line 30 "kparse.rl"
{ mark = p } { mark = p }
goto st80 goto st80
st80: st80:
@ -1141,7 +1144,7 @@ st80:
if p == pe { goto _test_eof80 } if p == pe { goto _test_eof80 }
fallthrough fallthrough
case 80: case 80:
// line 1145 "kparse.go" // line 1148 "kparse.go"
switch data[p] { switch data[p] {
case 82: goto st81 case 82: goto st81
case 85: goto st103 case 85: goto st103
@ -1564,23 +1567,20 @@ case 110:
_out: {} _out: {}
} }
// line 62 "kparse.rl" // line 65 "kparse.rl"
} }
/* if cs < k_first_final {
if cs < z_first_final {
// No clue what I'm doing what so ever
if p == pe { if p == pe {
//return nil, os.ErrorString("unexpected eof") //return nil, os.ErrorString("unexpected eof")
println("err unexp eof") println("err unexp eof")
return m, nil return m, nil
} else { } else {
//return nil, os.ErrorString(fmt.Sprintf("error at position %d", p)) //return nil, os.ErrorString(fmt.Sprintf("error at position %d", p))
println("err ", p, "data:", string(data[p])) println("err ", p, "data:", data[p])
return nil, nil return nil, nil
} }
} }
*/
return m, nil return m, nil
} }

View File

@ -12,15 +12,18 @@ import (
write data; write data;
}%% }%%
// Parse a private key file as defined in XXX. // PrivateKey parses a private key file as defined in XXX.
// A map[string]string is returned with the values. All the keys // A map[string]string is returned with the values. All the keys
// are in lowercase. The algorithm is returned as m[algorithm] = "RSASHA1" // are in lowercase. The algorithm is returned as m[algorithm] = "RSASHA1"
func (kp *Parser) PrivateKey() (m map[string]string, err os.Error) { func (kp *Parser) PrivateKey() (m map[string]string, err os.Error) {
m = make(map[string]string) m = make(map[string]string)
var k string var (
k, data string
cs, p, pe int
)
lines := strings.SplitAfter(string(kp.buf), "\n", -1) lines := strings.SplitAfter(string(kp.buf), "\n", -1)
for _, data := range lines { for _, data := range lines {
cs, p, pe := 0, 0, len(data) cs, p, pe = 0, 0, len(data)
mark := 0 mark := 0
%%{ %%{
@ -62,19 +65,16 @@ func (kp *Parser) PrivateKey() (m map[string]string, err os.Error) {
}%% }%%
} }
/* if cs < k_first_final {
if cs < z_first_final {
// No clue what I'm doing what so ever
if p == pe { if p == pe {
//return nil, os.ErrorString("unexpected eof") //return nil, os.ErrorString("unexpected eof")
println("err unexp eof") println("err unexp eof")
return m, nil return m, nil
} else { } else {
//return nil, os.ErrorString(fmt.Sprintf("error at position %d", p)) //return nil, os.ErrorString(fmt.Sprintf("error at position %d", p))
println("err ", p, "data:", string(data[p])) println("err ", p, "data:", data[p])
return nil, nil return nil, nil
} }
} }
*/
return m, nil return m, nil
} }

314
zparse.go

File diff suppressed because it is too large Load Diff