From 34a4025591ccfbfc9a1843529dd20a6ae24567d2 Mon Sep 17 00:00:00 2001 From: Justine Alexandra Roberts Tunney Date: Thu, 8 Jan 2015 17:43:58 -0500 Subject: [PATCH] Use interface for Msg.Payload. --- example/echo/echo_test.go | 17 +- example/echo2/echo2_test.go | 8 +- example/echo3/echo3_test.go | 21 +- sdp/sdp.go | 13 + sip/dialog.go | 29 +- sip/messages.go | 9 - sip/msg.go | 36 +- sip/msg_parse.go | 2050 ++++++++++++++++++----------------- sip/msg_parse.rl | 12 +- sip/msg_test.go | 80 +- sip/payload.go | 19 + 11 files changed, 1163 insertions(+), 1131 deletions(-) create mode 100644 sip/payload.go diff --git a/example/echo/echo_test.go b/example/echo/echo_test.go index f8c7bd4..b826c4c 100755 --- a/example/echo/echo_test.go +++ b/example/echo/echo_test.go @@ -204,9 +204,8 @@ func TestCallToEchoApp(t *testing.T) { Port: uint16(laddr.Port), }, }, - ContentType: "application/sdp", - UserAgent: "gosip/1.o", - Payload: sdp.New(rtpaddr, sdp.ULAWCodec, sdp.DTMFCodec).String(), + UserAgent: "gosip/1.o", + Payload: sdp.New(rtpaddr, sdp.ULAWCodec, sdp.DTMFCodec), } // Turn invite message into a packet and send via UDP socket. @@ -247,16 +246,14 @@ func TestCallToEchoApp(t *testing.T) { if !msg.IsResponse() || msg.Status != 200 || msg.Phrase != "OK" { t.Fatal("wanted 200 ok but got:", msg.Status, msg.Phrase) } - if msg.Payload == "" || msg.ContentType != "application/sdp" { - t.Fatal("200 ok didn't have sdp payload") - } // Figure out where they want us to send RTP. - rsdp, err := sdp.Parse(msg.Payload) - if err != nil { - t.Fatal("failed to parse sdp", err) + var rrtpaddr *net.UDPAddr + if ms, ok := msg.Payload.(*sdp.SDP); ok { + rrtpaddr = &net.UDPAddr{IP: net.ParseIP(ms.Addr), Port: int(ms.Audio.Port)} + } else { + t.Fatal("200 ok didn't have sdp payload") } - rrtpaddr := &net.UDPAddr{IP: net.ParseIP(rsdp.Addr), Port: int(rsdp.Audio.Port)} // Acknowledge the 200 OK to answer the call. var ack sip.Msg diff --git a/example/echo2/echo2_test.go b/example/echo2/echo2_test.go index 2200eeb..7ba690d 100755 --- a/example/echo2/echo2_test.go +++ b/example/echo2/echo2_test.go @@ -34,7 +34,7 @@ func TestCallToEchoApp(t *testing.T) { // Send an INVITE message with an SDP media session description. invite := sip.NewRequest(tp, sip.MethodInvite, to, from) - sip.AttachSDP(invite, sdp.New(rtpaddr, sdp.ULAWCodec, sdp.DTMFCodec)) + invite.Payload = sdp.New(rtpaddr, sdp.ULAWCodec, sdp.DTMFCodec) err = tp.Send(invite) if err != nil { t.Fatal(err) @@ -108,12 +108,8 @@ loop: t.Errorf("Got %d %s", msg.Status, msg.Phrase) return } - if msg.ContentType == sdp.ContentType { + if ms, ok := msg.Payload.(*sdp.SDP); ok { log.Printf("Establishing media session") - ms, err := sdp.Parse(msg.Payload) - if err != nil { - t.Fatal("Failed to parse SDP", err) - } rs.Peer = &net.UDPAddr{IP: net.ParseIP(ms.Addr), Port: int(ms.Audio.Port)} } } else { diff --git a/example/echo3/echo3_test.go b/example/echo3/echo3_test.go index 54d3f7b..04ea489 100755 --- a/example/echo3/echo3_test.go +++ b/example/echo3/echo3_test.go @@ -5,18 +5,15 @@ package echo2_test import ( "github.com/jart/gosip/dsp" "github.com/jart/gosip/rtp" + "github.com/jart/gosip/sdp" "github.com/jart/gosip/sip" + "github.com/jart/gosip/util" "net" "testing" "time" ) func TestCallToEchoApp(t *testing.T) { - invite := &sip.Msg{ - Method: sip.MethodInvite, - Request: &sip.URI{User: "echo", Host: "127.0.0.1", Port: 5060}, - } - // Create RTP audio session. rs, err := rtp.NewSession("") if err != nil { @@ -25,8 +22,20 @@ func TestCallToEchoApp(t *testing.T) { defer rs.Close() rtpPort := uint16(rs.Sock.LocalAddr().(*net.UDPAddr).Port) + invite := &sip.Msg{ + Method: sip.MethodInvite, + Request: &sip.URI{User: "echo", Host: "127.0.0.1", Port: 5060}, + Payload: &sdp.SDP{ + Origin: sdp.Origin{ID: util.GenerateOriginID()}, + Audio: &sdp.Media{ + Port: rtpPort, + Codecs: []sdp.Codec{sdp.ULAWCodec, sdp.DTMFCodec}, + }, + }, + } + // Create a SIP phone call. - dl, err := sip.NewDialog(invite, rtpPort) + dl, err := sip.NewDialog(invite) if err != nil { t.Fatal(err) } diff --git a/sdp/sdp.go b/sdp/sdp.go index a678085..f762947 100755 --- a/sdp/sdp.go +++ b/sdp/sdp.go @@ -247,6 +247,19 @@ func Parse(s string) (sdp *SDP, err error) { return sdp, nil } +func (sdp *SDP) ContentType() string { + return ContentType +} + +func (sdp *SDP) Data() []byte { + if sdp == nil { + return nil + } + var b bytes.Buffer + sdp.Append(&b) + return b.Bytes() +} + func (sdp *SDP) String() string { if sdp == nil { return "" diff --git a/sip/dialog.go b/sip/dialog.go index 76c2d10..f99dae5 100755 --- a/sip/dialog.go +++ b/sip/dialog.go @@ -48,7 +48,6 @@ type dialogState struct { addr string // Destination ip:port. sock *net.UDPConn // Outbound message socket (connected for ICMP) csock *net.UDPConn // Inbound socket for Contact field. - sdp *sdp.SDP // Media session description. routes *AddressRoute // List of SRV addresses to attempt contacting. invite *Msg // Our INVITE that established the dialog. remote *Msg // Message from remote UA that established dialog. @@ -64,27 +63,17 @@ type dialogState struct { } // NewDialog creates a phone call. -func NewDialog(invite *Msg, rtpPort uint16) (dl *Dialog, err error) { +func NewDialog(invite *Msg) (dl *Dialog, err error) { errChan := make(chan error) stateChan := make(chan int) peerChan := make(chan *net.UDPAddr) sendHangupChan := make(chan bool, 4) - ms := &sdp.SDP{ - Origin: sdp.Origin{ - ID: util.GenerateOriginID(), - }, - Audio: &sdp.Media{ - Port: rtpPort, - Codecs: []sdp.Codec{sdp.ULAWCodec, sdp.DTMFCodec}, - }, - } dls := &dialogState{ errChan: errChan, stateChan: stateChan, peerChan: peerChan, sendHangupChan: sendHangupChan, invite: invite, - sdp: ms, } go dls.run() return &Dialog{ @@ -243,9 +232,10 @@ func (dls *dialogState) populate(msg *Msg) { } } if msg.Method == MethodInvite { - dls.sdp.Addr = lhost - dls.sdp.Origin.Addr = lhost - AttachSDP(msg, dls.sdp) + if ms, ok := msg.Payload.(*sdp.SDP); ok { + ms.Addr = lhost + ms.Origin.Addr = lhost + } } PopulateMessage(nil, nil, msg) } @@ -365,13 +355,8 @@ func (dls *dialogState) handleRequest(msg *Msg) bool { } func (dls *dialogState) checkSDP(msg *Msg) { - if msg.ContentType == sdp.ContentType { - ms, err := sdp.Parse(msg.Payload) - if err != nil { - log.Println("Bad SDP payload:", err) - } else { - dls.peerChan <- &net.UDPAddr{IP: net.ParseIP(ms.Addr), Port: int(ms.Audio.Port)} - } + if ms, ok := msg.Payload.(*sdp.SDP); ok { + dls.peerChan <- &net.UDPAddr{IP: net.ParseIP(ms.Addr), Port: int(ms.Audio.Port)} } } diff --git a/sip/messages.go b/sip/messages.go index c047d78..5963d43 100644 --- a/sip/messages.go +++ b/sip/messages.go @@ -1,7 +1,6 @@ package sip import ( - "github.com/jart/gosip/sdp" "github.com/jart/gosip/util" "log" ) @@ -114,11 +113,3 @@ func AckMatch(msg, ack *Msg) bool { ack.CSeqMethod == MethodAck && ack.Via.Last().CompareHostPort(msg.Via)) } - -func AttachSDP(msg *Msg, ms *sdp.SDP) { - if msg.Headers == nil { - msg.Headers = Headers{} - } - msg.ContentType = sdp.ContentType - msg.Payload = ms.String() -} diff --git a/sip/msg.go b/sip/msg.go index 94abb16..18ac1db 100755 --- a/sip/msg.go +++ b/sip/msg.go @@ -18,11 +18,11 @@ type Msg struct { // Fields that aren't headers. VersionMajor uint8 VersionMinor uint8 - Method string // Indicates type of request (if request) - Request *URI // dest URI (nil if response) - Status int // Indicates happiness of response (if response) - Phrase string // Explains happiness of response (if response) - Payload string // Stuff that comes after two line breaks + Method string // Indicates type of request (if request) + Request *URI // dest URI (nil if response) + Status int // Indicates happiness of response (if response) + Phrase string // Explains happiness of response (if response) + Payload Payload // Stuff that comes after two line breaks // Special non-SIP fields. SourceAddr *net.UDPAddr // Set by transport layer as received address. @@ -39,7 +39,6 @@ type Msg struct { CSeqMethod string // Helps with matching to orig message MaxForwards int // 0 has context specific meaning UserAgent string - ContentType string // All the other RFC 3261 headers in plus some extras. Accept string @@ -217,16 +216,6 @@ func (msg *Msg) Append(b *bytes.Buffer) error { } } - if msg.ContentType != "" { - b.WriteString("Content-Type: ") - b.WriteString(msg.ContentType) - b.WriteString("\r\n") - } - - b.WriteString("Content-Length: ") - b.WriteString(strconv.Itoa(len(msg.Payload))) - b.WriteString("\r\n") - if msg.Accept != "" { b.WriteString("Accept: ") b.WriteString(msg.Accept) @@ -465,8 +454,19 @@ func (msg *Msg) Append(b *bytes.Buffer) error { } } - b.WriteString("\r\n") - b.WriteString(msg.Payload) + if msg.Payload != nil { + b.WriteString("Content-Type: ") + b.WriteString(msg.Payload.ContentType()) + b.WriteString("\r\n") + payload := msg.Payload.Data() + b.WriteString("Content-Length: ") + b.WriteString(strconv.Itoa(len(payload))) + b.WriteString("\r\n\n\n") + b.Write(payload) + } else { + b.WriteString("Content-Length: 0\r\n\r\n") + } + return nil } diff --git a/sip/msg_parse.go b/sip/msg_parse.go index e905def..4900116 100644 --- a/sip/msg_parse.go +++ b/sip/msg_parse.go @@ -6,12 +6,13 @@ import ( // "bytes" "errors" "fmt" + "github.com/jart/gosip/sdp" ) -//line msg_parse.rl:10 +//line msg_parse.rl:11 -//line msg_parse.go:15 +//line msg_parse.go:16 const msg_start int = 1 const msg_first_final int = 810 const msg_error int = 0 @@ -19,7 +20,7 @@ const msg_error int = 0 const msg_en_main int = 1 -//line msg_parse.rl:11 +//line msg_parse.rl:12 // ParseMsg turns a a SIP message into a data structure. func ParseMsg(s string) (msg *Msg, err error) { @@ -48,16 +49,17 @@ func ParseMsgBytes(data []byte) (msg *Msg, err error) { amt := 0 mark := 0 clen := 0 + ctype := "" // var b1 string var hex byte -//line msg_parse.go:56 +//line msg_parse.go:58 { cs = msg_start } -//line msg_parse.go:61 +//line msg_parse.go:63 { var _widec int16 if p == pe { @@ -1729,7 +1731,7 @@ st_case_0: cs = 0 goto _out tr0: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -1739,7 +1741,7 @@ tr0: goto _test_eof2 } st_case_2: -//line msg_parse.go:1743 +//line msg_parse.go:1745 switch data[p] { case 32: goto tr3 @@ -1776,7 +1778,7 @@ tr0: } goto st0 tr3: -//line msg_parse.rl:78 +//line msg_parse.rl:80 msg.Method = string(data[mark:p]) @@ -1786,13 +1788,13 @@ tr3: goto _test_eof3 } st_case_3: -//line msg_parse.go:1790 +//line msg_parse.go:1792 if data[p] == 32 { goto st0 } goto tr5 tr5: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -1802,13 +1804,13 @@ tr5: goto _test_eof4 } st_case_4: -//line msg_parse.go:1806 +//line msg_parse.go:1808 if data[p] == 32 { goto tr7 } goto st4 tr7: -//line msg_parse.rl:90 +//line msg_parse.rl:92 msg.Request, err = ParseURIBytes(data[mark:p]) if err != nil { return nil, err } @@ -1819,7 +1821,7 @@ tr7: goto _test_eof5 } st_case_5: -//line msg_parse.go:1823 +//line msg_parse.go:1825 if data[p] == 83 { goto st6 } @@ -1861,7 +1863,7 @@ tr7: } goto st0 tr12: -//line msg_parse.rl:82 +//line msg_parse.rl:84 msg.VersionMajor = msg.VersionMajor * 10 + (data[p] - 0x30) @@ -1871,7 +1873,7 @@ tr12: goto _test_eof10 } st_case_10: -//line msg_parse.go:1875 +//line msg_parse.go:1877 if data[p] == 46 { goto st11 } @@ -1889,7 +1891,7 @@ tr12: } goto st0 tr14: -//line msg_parse.rl:86 +//line msg_parse.rl:88 msg.VersionMinor = msg.VersionMinor * 10 + (data[p] - 0x30) @@ -1899,7 +1901,7 @@ tr14: goto _test_eof12 } st_case_12: -//line msg_parse.go:1903 +//line msg_parse.go:1905 if data[p] == 13 { goto st13 } @@ -1908,147 +1910,147 @@ tr14: } goto st0 tr44: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:118 +//line msg_parse.rl:120 msg.AcceptContact = string(data[mark:p]) goto st13 tr47: -//line msg_parse.rl:118 +//line msg_parse.rl:120 msg.AcceptContact = string(data[mark:p]) goto st13 tr53: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:272 +//line msg_parse.rl:274 msg.ReferredBy = string(data[mark:p]) goto st13 tr56: -//line msg_parse.rl:272 +//line msg_parse.rl:274 msg.ReferredBy = string(data[mark:p]) goto st13 tr66: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:176 +//line msg_parse.rl:178 - msg.ContentType = string(data[mark:p]) + ctype = string(data[mark:p]) goto st13 tr69: -//line msg_parse.rl:176 +//line msg_parse.rl:178 - msg.ContentType = string(data[mark:p]) + ctype = string(data[mark:p]) goto st13 tr78: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:192 +//line msg_parse.rl:194 msg.Date = string(data[mark:p]) goto st13 tr81: -//line msg_parse.rl:192 +//line msg_parse.rl:194 msg.Date = string(data[mark:p]) goto st13 tr91: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:172 +//line msg_parse.rl:174 msg.ContentEncoding = string(data[mark:p]) goto st13 tr94: -//line msg_parse.rl:172 +//line msg_parse.rl:174 msg.ContentEncoding = string(data[mark:p]) goto st13 tr102: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:208 +//line msg_parse.rl:210 msg.From, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st13 tr105: -//line msg_parse.rl:208 +//line msg_parse.rl:210 msg.From, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st13 tr113: -//line msg_parse.rl:150 +//line msg_parse.rl:152 msg.CallID = string(data[mark:p]) goto st13 tr131: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:213 +//line msg_parse.rl:215 msg.InReplyTo = string(data[mark:p]) goto st13 tr134: -//line msg_parse.rl:213 +//line msg_parse.rl:215 msg.InReplyTo = string(data[mark:p]) goto st13 tr140: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:303 +//line msg_parse.rl:305 msg.Supported = string(data[mark:p]) goto st13 tr143: -//line msg_parse.rl:303 +//line msg_parse.rl:305 msg.Supported = string(data[mark:p]) goto st13 tr158: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:154 +//line msg_parse.rl:156 *contactp, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -2056,7 +2058,7 @@ tr158: goto st13 tr161: -//line msg_parse.rl:154 +//line msg_parse.rl:156 *contactp, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -2064,119 +2066,119 @@ tr161: goto st13 tr169: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:200 +//line msg_parse.rl:202 msg.Event = string(data[mark:p]) goto st13 tr172: -//line msg_parse.rl:200 +//line msg_parse.rl:202 msg.Event = string(data[mark:p]) goto st13 tr197: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:241 +//line msg_parse.rl:243 msg.PAssertedIdentity, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st13 tr200: -//line msg_parse.rl:241 +//line msg_parse.rl:243 msg.PAssertedIdentity, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st13 tr209: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:268 +//line msg_parse.rl:270 msg.ReferTo = string(data[mark:p]) goto st13 tr212: -//line msg_parse.rl:268 +//line msg_parse.rl:270 msg.ReferTo = string(data[mark:p]) goto st13 tr221: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:299 +//line msg_parse.rl:301 msg.Subject = string(data[mark:p]) goto st13 tr224: -//line msg_parse.rl:299 +//line msg_parse.rl:301 msg.Subject = string(data[mark:p]) goto st13 tr232: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:311 +//line msg_parse.rl:313 msg.To, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st13 tr235: -//line msg_parse.rl:311 +//line msg_parse.rl:313 msg.To, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st13 tr244: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:130 +//line msg_parse.rl:132 msg.Allow = string(data[mark:p]) -//line msg_parse.rl:134 +//line msg_parse.rl:136 msg.AllowEvents = string(data[mark:p]) goto st13 tr247: -//line msg_parse.rl:130 +//line msg_parse.rl:132 msg.Allow = string(data[mark:p]) -//line msg_parse.rl:134 +//line msg_parse.rl:136 msg.AllowEvents = string(data[mark:p]) goto st13 tr255: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:324 +//line msg_parse.rl:326 *viap, err = ParseVia(string(data[mark:p])) if err != nil { return nil, err } @@ -2184,7 +2186,7 @@ tr255: goto st13 tr258: -//line msg_parse.rl:324 +//line msg_parse.rl:326 *viap, err = ParseVia(string(data[mark:p])) if err != nil { return nil, err } @@ -2192,107 +2194,107 @@ tr258: goto st13 tr271: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:330 +//line msg_parse.rl:332 msg.Warning = string(data[mark:p]) goto st13 tr274: -//line msg_parse.rl:330 +//line msg_parse.rl:332 msg.Warning = string(data[mark:p]) goto st13 tr298: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:334 +//line msg_parse.rl:336 msg.WWWAuthenticate = string(data[mark:p]) goto st13 tr301: -//line msg_parse.rl:334 +//line msg_parse.rl:336 msg.WWWAuthenticate = string(data[mark:p]) goto st13 tr328: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:316 +//line msg_parse.rl:318 msg.Unsupported = string(data[mark:p]) goto st13 tr331: -//line msg_parse.rl:316 +//line msg_parse.rl:318 msg.Unsupported = string(data[mark:p]) goto st13 tr349: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:320 +//line msg_parse.rl:322 msg.UserAgent = string(data[mark:p]) goto st13 tr352: -//line msg_parse.rl:320 +//line msg_parse.rl:322 msg.UserAgent = string(data[mark:p]) goto st13 tr373: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:307 +//line msg_parse.rl:309 msg.Timestamp = string(data[mark:p]) goto st13 tr376: -//line msg_parse.rl:307 +//line msg_parse.rl:309 msg.Timestamp = string(data[mark:p]) goto st13 tr394: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:295 +//line msg_parse.rl:297 msg.Server = string(data[mark:p]) goto st13 tr397: -//line msg_parse.rl:295 +//line msg_parse.rl:297 msg.Server = string(data[mark:p]) goto st13 tr436: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:262 +//line msg_parse.rl:264 *rroutep, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -2300,7 +2302,7 @@ tr436: goto st13 tr439: -//line msg_parse.rl:262 +//line msg_parse.rl:264 *rroutep, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -2308,77 +2310,77 @@ tr439: goto st13 tr470: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:276 +//line msg_parse.rl:278 msg.RemotePartyID, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st13 tr473: -//line msg_parse.rl:276 +//line msg_parse.rl:278 msg.RemotePartyID, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st13 tr488: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:229 +//line msg_parse.rl:231 msg.ReplyTo = string(data[mark:p]) goto st13 tr491: -//line msg_parse.rl:229 +//line msg_parse.rl:231 msg.ReplyTo = string(data[mark:p]) goto st13 tr505: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:281 +//line msg_parse.rl:283 msg.Require = string(data[mark:p]) goto st13 tr508: -//line msg_parse.rl:281 +//line msg_parse.rl:283 msg.Require = string(data[mark:p]) goto st13 tr526: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:285 +//line msg_parse.rl:287 msg.RetryAfter = string(data[mark:p]) goto st13 tr529: -//line msg_parse.rl:285 +//line msg_parse.rl:287 msg.RetryAfter = string(data[mark:p]) goto st13 tr542: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:289 +//line msg_parse.rl:291 *routep, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -2386,7 +2388,7 @@ tr542: goto st13 tr545: -//line msg_parse.rl:289 +//line msg_parse.rl:291 *routep, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -2394,301 +2396,301 @@ tr545: goto st13 tr566: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:246 +//line msg_parse.rl:248 msg.Priority = string(data[mark:p]) goto st13 tr569: -//line msg_parse.rl:246 +//line msg_parse.rl:248 msg.Priority = string(data[mark:p]) goto st13 tr596: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:250 +//line msg_parse.rl:252 msg.ProxyAuthenticate = string(data[mark:p]) goto st13 tr599: -//line msg_parse.rl:250 +//line msg_parse.rl:252 msg.ProxyAuthenticate = string(data[mark:p]) goto st13 tr617: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:254 +//line msg_parse.rl:256 msg.ProxyAuthorization = string(data[mark:p]) goto st13 tr620: -//line msg_parse.rl:254 +//line msg_parse.rl:256 msg.ProxyAuthorization = string(data[mark:p]) goto st13 tr636: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:258 +//line msg_parse.rl:260 msg.ProxyRequire = string(data[mark:p]) goto st13 tr639: -//line msg_parse.rl:258 +//line msg_parse.rl:260 msg.ProxyRequire = string(data[mark:p]) goto st13 tr663: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:237 +//line msg_parse.rl:239 msg.Organization = string(data[mark:p]) goto st13 tr666: -//line msg_parse.rl:237 +//line msg_parse.rl:239 msg.Organization = string(data[mark:p]) goto st13 tr707: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:233 +//line msg_parse.rl:235 msg.MIMEVersion = string(data[mark:p]) goto st13 tr710: -//line msg_parse.rl:233 +//line msg_parse.rl:235 msg.MIMEVersion = string(data[mark:p]) goto st13 tr758: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:196 +//line msg_parse.rl:198 msg.ErrorInfo = string(data[mark:p]) goto st13 tr761: -//line msg_parse.rl:196 +//line msg_parse.rl:198 msg.ErrorInfo = string(data[mark:p]) goto st13 tr798: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:188 +//line msg_parse.rl:190 msg.CallInfo = string(data[mark:p]) goto st13 tr801: -//line msg_parse.rl:188 +//line msg_parse.rl:190 msg.CallInfo = string(data[mark:p]) goto st13 tr833: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:160 +//line msg_parse.rl:162 msg.ContentDisposition = string(data[mark:p]) goto st13 tr836: -//line msg_parse.rl:160 +//line msg_parse.rl:162 msg.ContentDisposition = string(data[mark:p]) goto st13 tr860: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:164 +//line msg_parse.rl:166 msg.ContentLanguage = string(data[mark:p]) goto st13 tr863: -//line msg_parse.rl:164 +//line msg_parse.rl:166 msg.ContentLanguage = string(data[mark:p]) goto st13 tr889: -//line msg_parse.rl:184 +//line msg_parse.rl:186 msg.CSeqMethod = string(data[mark:p]) goto st13 tr912: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:114 +//line msg_parse.rl:116 msg.Accept = string(data[mark:p]) goto st13 tr915: -//line msg_parse.rl:114 +//line msg_parse.rl:116 msg.Accept = string(data[mark:p]) goto st13 tr940: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:122 +//line msg_parse.rl:124 msg.AcceptEncoding = string(data[mark:p]) goto st13 tr943: -//line msg_parse.rl:122 +//line msg_parse.rl:124 msg.AcceptEncoding = string(data[mark:p]) goto st13 tr960: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:126 +//line msg_parse.rl:128 msg.AcceptLanguage = string(data[mark:p]) goto st13 tr963: -//line msg_parse.rl:126 +//line msg_parse.rl:128 msg.AcceptLanguage = string(data[mark:p]) goto st13 tr982: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:138 +//line msg_parse.rl:140 msg.AlertInfo = string(data[mark:p]) goto st13 tr985: -//line msg_parse.rl:138 +//line msg_parse.rl:140 msg.AlertInfo = string(data[mark:p]) goto st13 tr999: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:130 +//line msg_parse.rl:132 msg.Allow = string(data[mark:p]) goto st13 tr1002: -//line msg_parse.rl:130 +//line msg_parse.rl:132 msg.Allow = string(data[mark:p]) goto st13 tr1018: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:134 +//line msg_parse.rl:136 msg.AllowEvents = string(data[mark:p]) goto st13 tr1021: -//line msg_parse.rl:134 +//line msg_parse.rl:136 msg.AllowEvents = string(data[mark:p]) goto st13 tr1049: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:142 +//line msg_parse.rl:144 msg.AuthenticationInfo = string(data[mark:p]) goto st13 tr1052: -//line msg_parse.rl:142 +//line msg_parse.rl:144 msg.AuthenticationInfo = string(data[mark:p]) goto st13 tr1070: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:146 +//line msg_parse.rl:148 msg.Authorization = string(data[mark:p]) goto st13 tr1073: -//line msg_parse.rl:146 +//line msg_parse.rl:148 msg.Authorization = string(data[mark:p]) goto st13 tr1094: -//line msg_parse.rl:99 +//line msg_parse.rl:101 msg.Phrase = string(buf[0:amt]) @@ -2698,13 +2700,13 @@ tr1094: goto _test_eof13 } st_case_13: -//line msg_parse.go:2702 +//line msg_parse.go:2704 if data[p] == 10 { goto tr16 } goto st0 tr16: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st14 st14: @@ -2712,7 +2714,7 @@ tr16: goto _test_eof14 } st_case_14: -//line msg_parse.go:2716 +//line msg_parse.go:2718 switch data[p] { case 13: goto st15 @@ -2800,9 +2802,9 @@ tr16: } goto st0 tr36: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; -//line msg_parse.rl:43 +//line msg_parse.rl:45 {p++; cs = 810; goto _out } @@ -2812,7 +2814,7 @@ tr36: goto _test_eof810 } st_case_810: -//line msg_parse.go:2816 +//line msg_parse.go:2818 goto st0 st16: if p++; p == pe { @@ -2855,7 +2857,7 @@ tr36: } goto st0 tr42: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -2865,7 +2867,7 @@ tr42: goto _test_eof18 } st_case_18: -//line msg_parse.go:2869 +//line msg_parse.go:2871 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -2888,7 +2890,7 @@ tr42: } goto st0 tr43: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -2898,7 +2900,7 @@ tr43: goto _test_eof19 } st_case_19: -//line msg_parse.go:2902 +//line msg_parse.go:2904 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -2919,17 +2921,17 @@ tr43: } goto st0 tr902: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:118 +//line msg_parse.rl:120 msg.AcceptContact = string(data[mark:p]) goto st20 tr48: -//line msg_parse.rl:118 +//line msg_parse.rl:120 msg.AcceptContact = string(data[mark:p]) @@ -2939,13 +2941,13 @@ tr48: goto _test_eof20 } st_case_20: -//line msg_parse.go:2943 +//line msg_parse.go:2945 if data[p] == 10 { goto tr49 } goto st0 tr49: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st21 st21: @@ -2953,7 +2955,7 @@ tr49: goto _test_eof21 } st_case_21: -//line msg_parse.go:2957 +//line msg_parse.go:2959 switch data[p] { case 9: goto st19 @@ -3050,7 +3052,7 @@ tr49: } goto st0 tr51: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -3060,7 +3062,7 @@ tr51: goto _test_eof23 } st_case_23: -//line msg_parse.go:3064 +//line msg_parse.go:3066 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -3083,7 +3085,7 @@ tr51: } goto st0 tr52: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -3093,7 +3095,7 @@ tr52: goto _test_eof24 } st_case_24: -//line msg_parse.go:3097 +//line msg_parse.go:3099 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -3114,17 +3116,17 @@ tr52: } goto st0 tr898: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:272 +//line msg_parse.rl:274 msg.ReferredBy = string(data[mark:p]) goto st25 tr57: -//line msg_parse.rl:272 +//line msg_parse.rl:274 msg.ReferredBy = string(data[mark:p]) @@ -3134,13 +3136,13 @@ tr57: goto _test_eof25 } st_case_25: -//line msg_parse.go:3138 +//line msg_parse.go:3140 if data[p] == 10 { goto tr58 } goto st0 tr58: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st26 st26: @@ -3148,7 +3150,7 @@ tr58: goto _test_eof26 } st_case_26: -//line msg_parse.go:3152 +//line msg_parse.go:3154 switch data[p] { case 9: goto st24 @@ -3271,7 +3273,7 @@ tr58: } goto st0 tr64: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -3281,7 +3283,7 @@ tr64: goto _test_eof29 } st_case_29: -//line msg_parse.go:3285 +//line msg_parse.go:3287 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -3304,7 +3306,7 @@ tr64: } goto st0 tr65: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -3314,7 +3316,7 @@ tr65: goto _test_eof30 } st_case_30: -//line msg_parse.go:3318 +//line msg_parse.go:3320 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -3335,19 +3337,19 @@ tr65: } goto st0 tr787: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:176 +//line msg_parse.rl:178 - msg.ContentType = string(data[mark:p]) + ctype = string(data[mark:p]) goto st31 tr70: -//line msg_parse.rl:176 +//line msg_parse.rl:178 - msg.ContentType = string(data[mark:p]) + ctype = string(data[mark:p]) goto st31 st31: @@ -3355,13 +3357,13 @@ tr70: goto _test_eof31 } st_case_31: -//line msg_parse.go:3359 +//line msg_parse.go:3361 if data[p] == 10 { goto tr71 } goto st0 tr71: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st32 st32: @@ -3369,7 +3371,7 @@ tr71: goto _test_eof32 } st_case_32: -//line msg_parse.go:3373 +//line msg_parse.go:3375 switch data[p] { case 9: goto st30 @@ -3502,7 +3504,7 @@ tr71: } goto st0 tr76: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -3512,7 +3514,7 @@ tr76: goto _test_eof37 } st_case_37: -//line msg_parse.go:3516 +//line msg_parse.go:3518 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -3535,7 +3537,7 @@ tr76: } goto st0 tr77: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -3545,7 +3547,7 @@ tr77: goto _test_eof38 } st_case_38: -//line msg_parse.go:3549 +//line msg_parse.go:3551 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -3566,17 +3568,17 @@ tr77: } goto st0 tr783: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:192 +//line msg_parse.rl:194 msg.Date = string(data[mark:p]) goto st39 tr82: -//line msg_parse.rl:192 +//line msg_parse.rl:194 msg.Date = string(data[mark:p]) @@ -3586,13 +3588,13 @@ tr82: goto _test_eof39 } st_case_39: -//line msg_parse.go:3590 +//line msg_parse.go:3592 if data[p] == 10 { goto tr83 } goto st0 tr83: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st40 st40: @@ -3600,7 +3602,7 @@ tr83: goto _test_eof40 } st_case_40: -//line msg_parse.go:3604 +//line msg_parse.go:3606 switch data[p] { case 9: goto st38 @@ -3723,7 +3725,7 @@ tr83: } goto st0 tr89: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -3733,7 +3735,7 @@ tr89: goto _test_eof43 } st_case_43: -//line msg_parse.go:3737 +//line msg_parse.go:3739 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -3756,7 +3758,7 @@ tr89: } goto st0 tr90: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -3766,7 +3768,7 @@ tr90: goto _test_eof44 } st_case_44: -//line msg_parse.go:3770 +//line msg_parse.go:3772 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -3787,17 +3789,17 @@ tr90: } goto st0 tr746: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:172 +//line msg_parse.rl:174 msg.ContentEncoding = string(data[mark:p]) goto st45 tr95: -//line msg_parse.rl:172 +//line msg_parse.rl:174 msg.ContentEncoding = string(data[mark:p]) @@ -3807,13 +3809,13 @@ tr95: goto _test_eof45 } st_case_45: -//line msg_parse.go:3811 +//line msg_parse.go:3813 if data[p] == 10 { goto tr96 } goto st0 tr96: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st46 st46: @@ -3821,7 +3823,7 @@ tr96: goto _test_eof46 } st_case_46: -//line msg_parse.go:3825 +//line msg_parse.go:3827 switch data[p] { case 9: goto st44 @@ -3936,7 +3938,7 @@ tr96: } goto st0 tr100: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -3946,7 +3948,7 @@ tr100: goto _test_eof49 } st_case_49: -//line msg_parse.go:3950 +//line msg_parse.go:3952 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -3969,7 +3971,7 @@ tr100: } goto st0 tr101: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -3979,7 +3981,7 @@ tr101: goto _test_eof50 } st_case_50: -//line msg_parse.go:3983 +//line msg_parse.go:3985 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -4000,18 +4002,18 @@ tr101: } goto st0 tr741: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:208 +//line msg_parse.rl:210 msg.From, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st51 tr106: -//line msg_parse.rl:208 +//line msg_parse.rl:210 msg.From, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -4022,13 +4024,13 @@ tr106: goto _test_eof51 } st_case_51: -//line msg_parse.go:4026 +//line msg_parse.go:4028 if data[p] == 10 { goto tr107 } goto st0 tr107: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st52 st52: @@ -4036,7 +4038,7 @@ tr107: goto _test_eof52 } st_case_52: -//line msg_parse.go:4040 +//line msg_parse.go:4042 switch data[p] { case 9: goto st50 @@ -4206,7 +4208,7 @@ tr107: } goto st0 tr111: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -4216,7 +4218,7 @@ tr111: goto _test_eof56 } st_case_56: -//line msg_parse.go:4220 +//line msg_parse.go:4222 switch data[p] { case 13: goto tr113 @@ -4350,7 +4352,7 @@ tr111: } goto st0 tr117: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st60 st60: @@ -4358,7 +4360,7 @@ tr117: goto _test_eof60 } st_case_60: -//line msg_parse.go:4362 +//line msg_parse.go:4364 switch data[p] { case 9: goto st61 @@ -4529,7 +4531,7 @@ tr117: } goto st0 tr129: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -4539,7 +4541,7 @@ tr129: goto _test_eof72 } st_case_72: -//line msg_parse.go:4543 +//line msg_parse.go:4545 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -4562,7 +4564,7 @@ tr129: } goto st0 tr130: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -4572,7 +4574,7 @@ tr130: goto _test_eof73 } st_case_73: -//line msg_parse.go:4576 +//line msg_parse.go:4578 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -4593,17 +4595,17 @@ tr130: } goto st0 tr737: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:213 +//line msg_parse.rl:215 msg.InReplyTo = string(data[mark:p]) goto st74 tr135: -//line msg_parse.rl:213 +//line msg_parse.rl:215 msg.InReplyTo = string(data[mark:p]) @@ -4613,13 +4615,13 @@ tr135: goto _test_eof74 } st_case_74: -//line msg_parse.go:4617 +//line msg_parse.go:4619 if data[p] == 10 { goto tr136 } goto st0 tr136: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st75 st75: @@ -4627,7 +4629,7 @@ tr136: goto _test_eof75 } st_case_75: -//line msg_parse.go:4631 +//line msg_parse.go:4633 switch data[p] { case 9: goto st73 @@ -4724,7 +4726,7 @@ tr136: } goto st0 tr138: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -4734,7 +4736,7 @@ tr138: goto _test_eof77 } st_case_77: -//line msg_parse.go:4738 +//line msg_parse.go:4740 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -4757,7 +4759,7 @@ tr138: } goto st0 tr139: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -4767,7 +4769,7 @@ tr139: goto _test_eof78 } st_case_78: -//line msg_parse.go:4771 +//line msg_parse.go:4773 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -4788,17 +4790,17 @@ tr139: } goto st0 tr733: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:303 +//line msg_parse.rl:305 msg.Supported = string(data[mark:p]) goto st79 tr144: -//line msg_parse.rl:303 +//line msg_parse.rl:305 msg.Supported = string(data[mark:p]) @@ -4808,13 +4810,13 @@ tr144: goto _test_eof79 } st_case_79: -//line msg_parse.go:4812 +//line msg_parse.go:4814 if data[p] == 10 { goto tr145 } goto st0 tr145: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st80 st80: @@ -4822,7 +4824,7 @@ tr145: goto _test_eof80 } st_case_80: -//line msg_parse.go:4826 +//line msg_parse.go:4828 switch data[p] { case 9: goto st78 @@ -4943,41 +4945,41 @@ tr145: } goto st0 tr147: -//line msg_parse.rl:168 +//line msg_parse.rl:170 clen = clen * 10 + (int(data[p]) - 0x30) -//line msg_parse.rl:204 +//line msg_parse.rl:206 msg.Expires = msg.Expires * 10 + (int(data[p]) - 0x30) -//line msg_parse.rl:217 +//line msg_parse.rl:219 msg.MaxForwards = 0 -//line msg_parse.rl:221 +//line msg_parse.rl:223 msg.MaxForwards = msg.MaxForwards * 10 + (int(data[p]) - 0x30) -//line msg_parse.rl:225 +//line msg_parse.rl:227 msg.MinExpires = msg.MinExpires * 10 + (int(data[p]) - 0x30) goto st83 tr149: -//line msg_parse.rl:168 +//line msg_parse.rl:170 clen = clen * 10 + (int(data[p]) - 0x30) -//line msg_parse.rl:204 +//line msg_parse.rl:206 msg.Expires = msg.Expires * 10 + (int(data[p]) - 0x30) -//line msg_parse.rl:221 +//line msg_parse.rl:223 msg.MaxForwards = msg.MaxForwards * 10 + (int(data[p]) - 0x30) -//line msg_parse.rl:225 +//line msg_parse.rl:227 msg.MinExpires = msg.MinExpires * 10 + (int(data[p]) - 0x30) @@ -4987,7 +4989,7 @@ tr149: goto _test_eof83 } st_case_83: -//line msg_parse.go:4991 +//line msg_parse.go:4993 if data[p] == 13 { goto st13 } @@ -5005,7 +5007,7 @@ tr149: } goto st0 tr150: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st85 st85: @@ -5013,7 +5015,7 @@ tr150: goto _test_eof85 } st_case_85: -//line msg_parse.go:5017 +//line msg_parse.go:5019 switch data[p] { case 9: goto st86 @@ -5073,7 +5075,7 @@ tr150: } goto st0 tr156: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -5083,7 +5085,7 @@ tr156: goto _test_eof89 } st_case_89: -//line msg_parse.go:5087 +//line msg_parse.go:5089 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -5106,7 +5108,7 @@ tr156: } goto st0 tr157: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -5116,7 +5118,7 @@ tr157: goto _test_eof90 } st_case_90: -//line msg_parse.go:5120 +//line msg_parse.go:5122 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -5137,11 +5139,11 @@ tr157: } goto st0 tr676: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:154 +//line msg_parse.rl:156 *contactp, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -5149,7 +5151,7 @@ tr676: goto st91 tr162: -//line msg_parse.rl:154 +//line msg_parse.rl:156 *contactp, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -5161,13 +5163,13 @@ tr162: goto _test_eof91 } st_case_91: -//line msg_parse.go:5165 +//line msg_parse.go:5167 if data[p] == 10 { goto tr163 } goto st0 tr163: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st92 st92: @@ -5175,7 +5177,7 @@ tr163: goto _test_eof92 } st_case_92: -//line msg_parse.go:5179 +//line msg_parse.go:5181 switch data[p] { case 9: goto st90 @@ -5290,7 +5292,7 @@ tr163: } goto st0 tr167: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -5300,7 +5302,7 @@ tr167: goto _test_eof95 } st_case_95: -//line msg_parse.go:5304 +//line msg_parse.go:5306 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -5323,7 +5325,7 @@ tr167: } goto st0 tr168: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -5333,7 +5335,7 @@ tr168: goto _test_eof96 } st_case_96: -//line msg_parse.go:5337 +//line msg_parse.go:5339 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -5354,17 +5356,17 @@ tr168: } goto st0 tr649: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:200 +//line msg_parse.rl:202 msg.Event = string(data[mark:p]) goto st97 tr173: -//line msg_parse.rl:200 +//line msg_parse.rl:202 msg.Event = string(data[mark:p]) @@ -5374,13 +5376,13 @@ tr173: goto _test_eof97 } st_case_97: -//line msg_parse.go:5378 +//line msg_parse.go:5380 if data[p] == 10 { goto tr174 } goto st0 tr174: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st98 st98: @@ -5388,7 +5390,7 @@ tr174: goto _test_eof98 } st_case_98: -//line msg_parse.go:5392 +//line msg_parse.go:5394 switch data[p] { case 9: goto st96 @@ -5700,7 +5702,7 @@ tr174: } goto st0 tr195: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -5710,7 +5712,7 @@ tr195: goto _test_eof118 } st_case_118: -//line msg_parse.go:5714 +//line msg_parse.go:5716 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -5733,7 +5735,7 @@ tr195: } goto st0 tr196: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -5743,7 +5745,7 @@ tr196: goto _test_eof119 } st_case_119: -//line msg_parse.go:5747 +//line msg_parse.go:5749 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -5764,18 +5766,18 @@ tr196: } goto st0 tr555: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:241 +//line msg_parse.rl:243 msg.PAssertedIdentity, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st120 tr201: -//line msg_parse.rl:241 +//line msg_parse.rl:243 msg.PAssertedIdentity, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -5786,13 +5788,13 @@ tr201: goto _test_eof120 } st_case_120: -//line msg_parse.go:5790 +//line msg_parse.go:5792 if data[p] == 10 { goto tr202 } goto st0 tr202: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st121 st121: @@ -5800,7 +5802,7 @@ tr202: goto _test_eof121 } st_case_121: -//line msg_parse.go:5804 +//line msg_parse.go:5806 switch data[p] { case 9: goto st119 @@ -5919,7 +5921,7 @@ tr202: } goto st0 tr207: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -5929,7 +5931,7 @@ tr207: goto _test_eof124 } st_case_124: -//line msg_parse.go:5933 +//line msg_parse.go:5935 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -5952,7 +5954,7 @@ tr207: } goto st0 tr208: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -5962,7 +5964,7 @@ tr208: goto _test_eof125 } st_case_125: -//line msg_parse.go:5966 +//line msg_parse.go:5968 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -5983,17 +5985,17 @@ tr208: } goto st0 tr417: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:268 +//line msg_parse.rl:270 msg.ReferTo = string(data[mark:p]) goto st126 tr213: -//line msg_parse.rl:268 +//line msg_parse.rl:270 msg.ReferTo = string(data[mark:p]) @@ -6003,13 +6005,13 @@ tr213: goto _test_eof126 } st_case_126: -//line msg_parse.go:6007 +//line msg_parse.go:6009 if data[p] == 10 { goto tr214 } goto st0 tr214: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st127 st127: @@ -6017,7 +6019,7 @@ tr214: goto _test_eof127 } st_case_127: -//line msg_parse.go:6021 +//line msg_parse.go:6023 switch data[p] { case 9: goto st125 @@ -6136,7 +6138,7 @@ tr214: } goto st0 tr219: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -6146,7 +6148,7 @@ tr219: goto _test_eof130 } st_case_130: -//line msg_parse.go:6150 +//line msg_parse.go:6152 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -6169,7 +6171,7 @@ tr219: } goto st0 tr220: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -6179,7 +6181,7 @@ tr220: goto _test_eof131 } st_case_131: -//line msg_parse.go:6183 +//line msg_parse.go:6185 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -6200,17 +6202,17 @@ tr220: } goto st0 tr386: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:299 +//line msg_parse.rl:301 msg.Subject = string(data[mark:p]) goto st132 tr225: -//line msg_parse.rl:299 +//line msg_parse.rl:301 msg.Subject = string(data[mark:p]) @@ -6220,13 +6222,13 @@ tr225: goto _test_eof132 } st_case_132: -//line msg_parse.go:6224 +//line msg_parse.go:6226 if data[p] == 10 { goto tr226 } goto st0 tr226: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st133 st133: @@ -6234,7 +6236,7 @@ tr226: goto _test_eof133 } st_case_133: -//line msg_parse.go:6238 +//line msg_parse.go:6240 switch data[p] { case 9: goto st131 @@ -6353,7 +6355,7 @@ tr226: } goto st0 tr230: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -6363,7 +6365,7 @@ tr230: goto _test_eof136 } st_case_136: -//line msg_parse.go:6367 +//line msg_parse.go:6369 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -6386,7 +6388,7 @@ tr230: } goto st0 tr231: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -6396,7 +6398,7 @@ tr231: goto _test_eof137 } st_case_137: -//line msg_parse.go:6400 +//line msg_parse.go:6402 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -6417,18 +6419,18 @@ tr231: } goto st0 tr362: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:311 +//line msg_parse.rl:313 msg.To, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st138 tr236: -//line msg_parse.rl:311 +//line msg_parse.rl:313 msg.To, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -6439,13 +6441,13 @@ tr236: goto _test_eof138 } st_case_138: -//line msg_parse.go:6443 +//line msg_parse.go:6445 if data[p] == 10 { goto tr237 } goto st0 tr237: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st139 st139: @@ -6453,7 +6455,7 @@ tr237: goto _test_eof139 } st_case_139: -//line msg_parse.go:6457 +//line msg_parse.go:6459 switch data[p] { case 9: goto st137 @@ -6572,7 +6574,7 @@ tr237: } goto st0 tr242: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -6582,7 +6584,7 @@ tr242: goto _test_eof142 } st_case_142: -//line msg_parse.go:6586 +//line msg_parse.go:6588 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -6605,7 +6607,7 @@ tr242: } goto st0 tr243: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -6615,7 +6617,7 @@ tr243: goto _test_eof143 } st_case_143: -//line msg_parse.go:6619 +//line msg_parse.go:6621 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -6636,25 +6638,25 @@ tr243: } goto st0 tr315: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:130 +//line msg_parse.rl:132 msg.Allow = string(data[mark:p]) -//line msg_parse.rl:134 +//line msg_parse.rl:136 msg.AllowEvents = string(data[mark:p]) goto st144 tr248: -//line msg_parse.rl:130 +//line msg_parse.rl:132 msg.Allow = string(data[mark:p]) -//line msg_parse.rl:134 +//line msg_parse.rl:136 msg.AllowEvents = string(data[mark:p]) @@ -6664,13 +6666,13 @@ tr248: goto _test_eof144 } st_case_144: -//line msg_parse.go:6668 +//line msg_parse.go:6670 if data[p] == 10 { goto tr249 } goto st0 tr249: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st145 st145: @@ -6678,7 +6680,7 @@ tr249: goto _test_eof145 } st_case_145: -//line msg_parse.go:6682 +//line msg_parse.go:6684 switch data[p] { case 9: goto st143 @@ -6793,7 +6795,7 @@ tr249: } goto st0 tr253: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -6803,7 +6805,7 @@ tr253: goto _test_eof148 } st_case_148: -//line msg_parse.go:6807 +//line msg_parse.go:6809 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -6826,7 +6828,7 @@ tr253: } goto st0 tr254: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -6836,7 +6838,7 @@ tr254: goto _test_eof149 } st_case_149: -//line msg_parse.go:6840 +//line msg_parse.go:6842 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -6857,11 +6859,11 @@ tr254: } goto st0 tr311: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:324 +//line msg_parse.rl:326 *viap, err = ParseVia(string(data[mark:p])) if err != nil { return nil, err } @@ -6869,7 +6871,7 @@ tr311: goto st150 tr259: -//line msg_parse.rl:324 +//line msg_parse.rl:326 *viap, err = ParseVia(string(data[mark:p])) if err != nil { return nil, err } @@ -6881,13 +6883,13 @@ tr259: goto _test_eof150 } st_case_150: -//line msg_parse.go:6885 +//line msg_parse.go:6887 if data[p] == 10 { goto tr260 } goto st0 tr260: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st151 st151: @@ -6895,7 +6897,7 @@ tr260: goto _test_eof151 } st_case_151: -//line msg_parse.go:6899 +//line msg_parse.go:6901 switch data[p] { case 9: goto st149 @@ -7068,7 +7070,7 @@ tr260: } goto st0 tr269: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -7078,7 +7080,7 @@ tr269: goto _test_eof159 } st_case_159: -//line msg_parse.go:7082 +//line msg_parse.go:7084 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -7101,7 +7103,7 @@ tr269: } goto st0 tr270: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -7111,7 +7113,7 @@ tr270: goto _test_eof160 } st_case_160: -//line msg_parse.go:7115 +//line msg_parse.go:7117 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -7132,17 +7134,17 @@ tr270: } goto st0 tr280: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:330 +//line msg_parse.rl:332 msg.Warning = string(data[mark:p]) goto st161 tr275: -//line msg_parse.rl:330 +//line msg_parse.rl:332 msg.Warning = string(data[mark:p]) @@ -7152,13 +7154,13 @@ tr275: goto _test_eof161 } st_case_161: -//line msg_parse.go:7156 +//line msg_parse.go:7158 if data[p] == 10 { goto tr276 } goto st0 tr276: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st162 st162: @@ -7166,7 +7168,7 @@ tr276: goto _test_eof162 } st_case_162: -//line msg_parse.go:7170 +//line msg_parse.go:7172 switch data[p] { case 9: goto st160 @@ -7249,11 +7251,11 @@ tr276: } goto st0 tr272: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:330 +//line msg_parse.rl:332 msg.Warning = string(data[mark:p]) @@ -7263,13 +7265,13 @@ tr272: goto _test_eof163 } st_case_163: -//line msg_parse.go:7267 +//line msg_parse.go:7269 if data[p] == 10 { goto tr277 } goto st0 tr277: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st164 st164: @@ -7277,7 +7279,7 @@ tr277: goto _test_eof164 } st_case_164: -//line msg_parse.go:7281 +//line msg_parse.go:7283 switch data[p] { case 9: goto st165 @@ -7360,7 +7362,7 @@ tr277: } goto st0 tr279: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -7370,7 +7372,7 @@ tr279: goto _test_eof165 } st_case_165: -//line msg_parse.go:7374 +//line msg_parse.go:7376 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -7572,7 +7574,7 @@ tr279: } goto st0 tr296: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -7582,7 +7584,7 @@ tr296: goto _test_eof181 } st_case_181: -//line msg_parse.go:7586 +//line msg_parse.go:7588 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -7605,7 +7607,7 @@ tr296: } goto st0 tr297: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -7615,7 +7617,7 @@ tr297: goto _test_eof182 } st_case_182: -//line msg_parse.go:7619 +//line msg_parse.go:7621 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -7636,17 +7638,17 @@ tr297: } goto st0 tr307: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:334 +//line msg_parse.rl:336 msg.WWWAuthenticate = string(data[mark:p]) goto st183 tr302: -//line msg_parse.rl:334 +//line msg_parse.rl:336 msg.WWWAuthenticate = string(data[mark:p]) @@ -7656,13 +7658,13 @@ tr302: goto _test_eof183 } st_case_183: -//line msg_parse.go:7660 +//line msg_parse.go:7662 if data[p] == 10 { goto tr303 } goto st0 tr303: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st184 st184: @@ -7670,7 +7672,7 @@ tr303: goto _test_eof184 } st_case_184: -//line msg_parse.go:7674 +//line msg_parse.go:7676 switch data[p] { case 9: goto st182 @@ -7753,11 +7755,11 @@ tr303: } goto st0 tr299: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:334 +//line msg_parse.rl:336 msg.WWWAuthenticate = string(data[mark:p]) @@ -7767,13 +7769,13 @@ tr299: goto _test_eof185 } st_case_185: -//line msg_parse.go:7771 +//line msg_parse.go:7773 if data[p] == 10 { goto tr304 } goto st0 tr304: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st186 st186: @@ -7781,7 +7783,7 @@ tr304: goto _test_eof186 } st_case_186: -//line msg_parse.go:7785 +//line msg_parse.go:7787 switch data[p] { case 9: goto st187 @@ -7864,7 +7866,7 @@ tr304: } goto st0 tr306: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -7874,7 +7876,7 @@ tr306: goto _test_eof187 } st_case_187: -//line msg_parse.go:7878 +//line msg_parse.go:7880 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -7897,11 +7899,11 @@ tr306: } goto st0 tr256: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:324 +//line msg_parse.rl:326 *viap, err = ParseVia(string(data[mark:p])) if err != nil { return nil, err } @@ -7913,13 +7915,13 @@ tr256: goto _test_eof188 } st_case_188: -//line msg_parse.go:7917 +//line msg_parse.go:7919 if data[p] == 10 { goto tr308 } goto st0 tr308: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st189 st189: @@ -7927,7 +7929,7 @@ tr308: goto _test_eof189 } st_case_189: -//line msg_parse.go:7931 +//line msg_parse.go:7933 switch data[p] { case 9: goto st190 @@ -8010,7 +8012,7 @@ tr308: } goto st0 tr310: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -8020,7 +8022,7 @@ tr310: goto _test_eof190 } st_case_190: -//line msg_parse.go:8024 +//line msg_parse.go:8026 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -8055,15 +8057,15 @@ tr310: } goto st0 tr245: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:130 +//line msg_parse.rl:132 msg.Allow = string(data[mark:p]) -//line msg_parse.rl:134 +//line msg_parse.rl:136 msg.AllowEvents = string(data[mark:p]) @@ -8073,13 +8075,13 @@ tr245: goto _test_eof192 } st_case_192: -//line msg_parse.go:8077 +//line msg_parse.go:8079 if data[p] == 10 { goto tr312 } goto st0 tr312: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st193 st193: @@ -8087,7 +8089,7 @@ tr312: goto _test_eof193 } st_case_193: -//line msg_parse.go:8091 +//line msg_parse.go:8093 switch data[p] { case 9: goto st194 @@ -8170,7 +8172,7 @@ tr312: } goto st0 tr314: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -8180,7 +8182,7 @@ tr314: goto _test_eof194 } st_case_194: -//line msg_parse.go:8184 +//line msg_parse.go:8186 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -8325,7 +8327,7 @@ tr314: } goto st0 tr326: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -8335,7 +8337,7 @@ tr326: goto _test_eof205 } st_case_205: -//line msg_parse.go:8339 +//line msg_parse.go:8341 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -8358,7 +8360,7 @@ tr326: } goto st0 tr327: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -8368,7 +8370,7 @@ tr327: goto _test_eof206 } st_case_206: -//line msg_parse.go:8372 +//line msg_parse.go:8374 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -8389,17 +8391,17 @@ tr327: } goto st0 tr337: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:316 +//line msg_parse.rl:318 msg.Unsupported = string(data[mark:p]) goto st207 tr332: -//line msg_parse.rl:316 +//line msg_parse.rl:318 msg.Unsupported = string(data[mark:p]) @@ -8409,13 +8411,13 @@ tr332: goto _test_eof207 } st_case_207: -//line msg_parse.go:8413 +//line msg_parse.go:8415 if data[p] == 10 { goto tr333 } goto st0 tr333: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st208 st208: @@ -8423,7 +8425,7 @@ tr333: goto _test_eof208 } st_case_208: -//line msg_parse.go:8427 +//line msg_parse.go:8429 switch data[p] { case 9: goto st206 @@ -8506,11 +8508,11 @@ tr333: } goto st0 tr329: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:316 +//line msg_parse.rl:318 msg.Unsupported = string(data[mark:p]) @@ -8520,13 +8522,13 @@ tr329: goto _test_eof209 } st_case_209: -//line msg_parse.go:8524 +//line msg_parse.go:8526 if data[p] == 10 { goto tr334 } goto st0 tr334: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st210 st210: @@ -8534,7 +8536,7 @@ tr334: goto _test_eof210 } st_case_210: -//line msg_parse.go:8538 +//line msg_parse.go:8540 switch data[p] { case 9: goto st211 @@ -8617,7 +8619,7 @@ tr334: } goto st0 tr336: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -8627,7 +8629,7 @@ tr336: goto _test_eof211 } st_case_211: -//line msg_parse.go:8631 +//line msg_parse.go:8633 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -8757,7 +8759,7 @@ tr336: } goto st0 tr347: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -8767,7 +8769,7 @@ tr347: goto _test_eof221 } st_case_221: -//line msg_parse.go:8771 +//line msg_parse.go:8773 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -8790,7 +8792,7 @@ tr347: } goto st0 tr348: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -8800,7 +8802,7 @@ tr348: goto _test_eof222 } st_case_222: -//line msg_parse.go:8804 +//line msg_parse.go:8806 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -8821,17 +8823,17 @@ tr348: } goto st0 tr358: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:320 +//line msg_parse.rl:322 msg.UserAgent = string(data[mark:p]) goto st223 tr353: -//line msg_parse.rl:320 +//line msg_parse.rl:322 msg.UserAgent = string(data[mark:p]) @@ -8841,13 +8843,13 @@ tr353: goto _test_eof223 } st_case_223: -//line msg_parse.go:8845 +//line msg_parse.go:8847 if data[p] == 10 { goto tr354 } goto st0 tr354: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st224 st224: @@ -8855,7 +8857,7 @@ tr354: goto _test_eof224 } st_case_224: -//line msg_parse.go:8859 +//line msg_parse.go:8861 switch data[p] { case 9: goto st222 @@ -8938,11 +8940,11 @@ tr354: } goto st0 tr350: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:320 +//line msg_parse.rl:322 msg.UserAgent = string(data[mark:p]) @@ -8952,13 +8954,13 @@ tr350: goto _test_eof225 } st_case_225: -//line msg_parse.go:8956 +//line msg_parse.go:8958 if data[p] == 10 { goto tr355 } goto st0 tr355: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st226 st226: @@ -8966,7 +8968,7 @@ tr355: goto _test_eof226 } st_case_226: -//line msg_parse.go:8970 +//line msg_parse.go:8972 switch data[p] { case 9: goto st227 @@ -9049,7 +9051,7 @@ tr355: } goto st0 tr357: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -9059,7 +9061,7 @@ tr357: goto _test_eof227 } st_case_227: -//line msg_parse.go:9063 +//line msg_parse.go:9065 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -9082,11 +9084,11 @@ tr357: } goto st0 tr233: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:311 +//line msg_parse.rl:313 msg.To, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -9097,13 +9099,13 @@ tr233: goto _test_eof228 } st_case_228: -//line msg_parse.go:9101 +//line msg_parse.go:9103 if data[p] == 10 { goto tr359 } goto st0 tr359: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st229 st229: @@ -9111,7 +9113,7 @@ tr359: goto _test_eof229 } st_case_229: -//line msg_parse.go:9115 +//line msg_parse.go:9117 switch data[p] { case 9: goto st230 @@ -9194,7 +9196,7 @@ tr359: } goto st0 tr361: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -9204,7 +9206,7 @@ tr361: goto _test_eof230 } st_case_230: -//line msg_parse.go:9208 +//line msg_parse.go:9210 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -9325,7 +9327,7 @@ tr361: } goto st0 tr371: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -9335,7 +9337,7 @@ tr371: goto _test_eof239 } st_case_239: -//line msg_parse.go:9339 +//line msg_parse.go:9341 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -9358,7 +9360,7 @@ tr371: } goto st0 tr372: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -9368,7 +9370,7 @@ tr372: goto _test_eof240 } st_case_240: -//line msg_parse.go:9372 +//line msg_parse.go:9374 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -9389,17 +9391,17 @@ tr372: } goto st0 tr382: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:307 +//line msg_parse.rl:309 msg.Timestamp = string(data[mark:p]) goto st241 tr377: -//line msg_parse.rl:307 +//line msg_parse.rl:309 msg.Timestamp = string(data[mark:p]) @@ -9409,13 +9411,13 @@ tr377: goto _test_eof241 } st_case_241: -//line msg_parse.go:9413 +//line msg_parse.go:9415 if data[p] == 10 { goto tr378 } goto st0 tr378: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st242 st242: @@ -9423,7 +9425,7 @@ tr378: goto _test_eof242 } st_case_242: -//line msg_parse.go:9427 +//line msg_parse.go:9429 switch data[p] { case 9: goto st240 @@ -9506,11 +9508,11 @@ tr378: } goto st0 tr374: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:307 +//line msg_parse.rl:309 msg.Timestamp = string(data[mark:p]) @@ -9520,13 +9522,13 @@ tr374: goto _test_eof243 } st_case_243: -//line msg_parse.go:9524 +//line msg_parse.go:9526 if data[p] == 10 { goto tr379 } goto st0 tr379: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st244 st244: @@ -9534,7 +9536,7 @@ tr379: goto _test_eof244 } st_case_244: -//line msg_parse.go:9538 +//line msg_parse.go:9540 switch data[p] { case 9: goto st245 @@ -9617,7 +9619,7 @@ tr379: } goto st0 tr381: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -9627,7 +9629,7 @@ tr381: goto _test_eof245 } st_case_245: -//line msg_parse.go:9631 +//line msg_parse.go:9633 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -9650,11 +9652,11 @@ tr381: } goto st0 tr222: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:299 +//line msg_parse.rl:301 msg.Subject = string(data[mark:p]) @@ -9664,13 +9666,13 @@ tr222: goto _test_eof246 } st_case_246: -//line msg_parse.go:9668 +//line msg_parse.go:9670 if data[p] == 10 { goto tr383 } goto st0 tr383: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st247 st247: @@ -9678,7 +9680,7 @@ tr383: goto _test_eof247 } st_case_247: -//line msg_parse.go:9682 +//line msg_parse.go:9684 switch data[p] { case 9: goto st248 @@ -9761,7 +9763,7 @@ tr383: } goto st0 tr385: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -9771,7 +9773,7 @@ tr385: goto _test_eof248 } st_case_248: -//line msg_parse.go:9775 +//line msg_parse.go:9777 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -9856,7 +9858,7 @@ tr385: } goto st0 tr392: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -9866,7 +9868,7 @@ tr392: goto _test_eof254 } st_case_254: -//line msg_parse.go:9870 +//line msg_parse.go:9872 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -9889,7 +9891,7 @@ tr392: } goto st0 tr393: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -9899,7 +9901,7 @@ tr393: goto _test_eof255 } st_case_255: -//line msg_parse.go:9903 +//line msg_parse.go:9905 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -9920,17 +9922,17 @@ tr393: } goto st0 tr403: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:295 +//line msg_parse.rl:297 msg.Server = string(data[mark:p]) goto st256 tr398: -//line msg_parse.rl:295 +//line msg_parse.rl:297 msg.Server = string(data[mark:p]) @@ -9940,13 +9942,13 @@ tr398: goto _test_eof256 } st_case_256: -//line msg_parse.go:9944 +//line msg_parse.go:9946 if data[p] == 10 { goto tr399 } goto st0 tr399: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st257 st257: @@ -9954,7 +9956,7 @@ tr399: goto _test_eof257 } st_case_257: -//line msg_parse.go:9958 +//line msg_parse.go:9960 switch data[p] { case 9: goto st255 @@ -10037,11 +10039,11 @@ tr399: } goto st0 tr395: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:295 +//line msg_parse.rl:297 msg.Server = string(data[mark:p]) @@ -10051,13 +10053,13 @@ tr395: goto _test_eof258 } st_case_258: -//line msg_parse.go:10055 +//line msg_parse.go:10057 if data[p] == 10 { goto tr400 } goto st0 tr400: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st259 st259: @@ -10065,7 +10067,7 @@ tr400: goto _test_eof259 } st_case_259: -//line msg_parse.go:10069 +//line msg_parse.go:10071 switch data[p] { case 9: goto st260 @@ -10148,7 +10150,7 @@ tr400: } goto st0 tr402: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -10158,7 +10160,7 @@ tr402: goto _test_eof260 } st_case_260: -//line msg_parse.go:10162 +//line msg_parse.go:10164 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -10317,11 +10319,11 @@ tr402: } goto st0 tr210: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:268 +//line msg_parse.rl:270 msg.ReferTo = string(data[mark:p]) @@ -10331,13 +10333,13 @@ tr210: goto _test_eof272 } st_case_272: -//line msg_parse.go:10335 +//line msg_parse.go:10337 if data[p] == 10 { goto tr414 } goto st0 tr414: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st273 st273: @@ -10345,7 +10347,7 @@ tr414: goto _test_eof273 } st_case_273: -//line msg_parse.go:10349 +//line msg_parse.go:10351 switch data[p] { case 9: goto st274 @@ -10428,7 +10430,7 @@ tr414: } goto st0 tr416: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -10438,7 +10440,7 @@ tr416: goto _test_eof274 } st_case_274: -//line msg_parse.go:10442 +//line msg_parse.go:10444 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -10612,7 +10614,7 @@ tr416: } goto st0 tr434: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -10622,7 +10624,7 @@ tr434: goto _test_eof286 } st_case_286: -//line msg_parse.go:10626 +//line msg_parse.go:10628 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -10645,7 +10647,7 @@ tr434: } goto st0 tr435: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -10655,7 +10657,7 @@ tr435: goto _test_eof287 } st_case_287: -//line msg_parse.go:10659 +//line msg_parse.go:10661 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -10676,11 +10678,11 @@ tr435: } goto st0 tr445: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:262 +//line msg_parse.rl:264 *rroutep, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -10688,7 +10690,7 @@ tr445: goto st288 tr440: -//line msg_parse.rl:262 +//line msg_parse.rl:264 *rroutep, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -10700,13 +10702,13 @@ tr440: goto _test_eof288 } st_case_288: -//line msg_parse.go:10704 +//line msg_parse.go:10706 if data[p] == 10 { goto tr441 } goto st0 tr441: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st289 st289: @@ -10714,7 +10716,7 @@ tr441: goto _test_eof289 } st_case_289: -//line msg_parse.go:10718 +//line msg_parse.go:10720 switch data[p] { case 9: goto st287 @@ -10797,11 +10799,11 @@ tr441: } goto st0 tr437: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:262 +//line msg_parse.rl:264 *rroutep, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -10813,13 +10815,13 @@ tr437: goto _test_eof290 } st_case_290: -//line msg_parse.go:10817 +//line msg_parse.go:10819 if data[p] == 10 { goto tr442 } goto st0 tr442: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st291 st291: @@ -10827,7 +10829,7 @@ tr442: goto _test_eof291 } st_case_291: -//line msg_parse.go:10831 +//line msg_parse.go:10833 switch data[p] { case 9: goto st292 @@ -10910,7 +10912,7 @@ tr442: } goto st0 tr444: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -10920,7 +10922,7 @@ tr444: goto _test_eof292 } st_case_292: -//line msg_parse.go:10924 +//line msg_parse.go:10926 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -11214,7 +11216,7 @@ tr444: } goto st0 tr468: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -11224,7 +11226,7 @@ tr468: goto _test_eof316 } st_case_316: -//line msg_parse.go:11228 +//line msg_parse.go:11230 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -11247,7 +11249,7 @@ tr468: } goto st0 tr469: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -11257,7 +11259,7 @@ tr469: goto _test_eof317 } st_case_317: -//line msg_parse.go:11261 +//line msg_parse.go:11263 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -11278,18 +11280,18 @@ tr469: } goto st0 tr479: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:276 +//line msg_parse.rl:278 msg.RemotePartyID, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } goto st318 tr474: -//line msg_parse.rl:276 +//line msg_parse.rl:278 msg.RemotePartyID, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -11300,13 +11302,13 @@ tr474: goto _test_eof318 } st_case_318: -//line msg_parse.go:11304 +//line msg_parse.go:11306 if data[p] == 10 { goto tr475 } goto st0 tr475: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st319 st319: @@ -11314,7 +11316,7 @@ tr475: goto _test_eof319 } st_case_319: -//line msg_parse.go:11318 +//line msg_parse.go:11320 switch data[p] { case 9: goto st317 @@ -11397,11 +11399,11 @@ tr475: } goto st0 tr471: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:276 +//line msg_parse.rl:278 msg.RemotePartyID, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -11412,13 +11414,13 @@ tr471: goto _test_eof320 } st_case_320: -//line msg_parse.go:11416 +//line msg_parse.go:11418 if data[p] == 10 { goto tr476 } goto st0 tr476: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st321 st321: @@ -11426,7 +11428,7 @@ tr476: goto _test_eof321 } st_case_321: -//line msg_parse.go:11430 +//line msg_parse.go:11432 switch data[p] { case 9: goto st322 @@ -11509,7 +11511,7 @@ tr476: } goto st0 tr478: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -11519,7 +11521,7 @@ tr478: goto _test_eof322 } st_case_322: -//line msg_parse.go:11523 +//line msg_parse.go:11525 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -11613,7 +11615,7 @@ tr478: } goto st0 tr486: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -11623,7 +11625,7 @@ tr486: goto _test_eof329 } st_case_329: -//line msg_parse.go:11627 +//line msg_parse.go:11629 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -11646,7 +11648,7 @@ tr486: } goto st0 tr487: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -11656,7 +11658,7 @@ tr487: goto _test_eof330 } st_case_330: -//line msg_parse.go:11660 +//line msg_parse.go:11662 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -11677,17 +11679,17 @@ tr487: } goto st0 tr497: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:229 +//line msg_parse.rl:231 msg.ReplyTo = string(data[mark:p]) goto st331 tr492: -//line msg_parse.rl:229 +//line msg_parse.rl:231 msg.ReplyTo = string(data[mark:p]) @@ -11697,13 +11699,13 @@ tr492: goto _test_eof331 } st_case_331: -//line msg_parse.go:11701 +//line msg_parse.go:11703 if data[p] == 10 { goto tr493 } goto st0 tr493: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st332 st332: @@ -11711,7 +11713,7 @@ tr493: goto _test_eof332 } st_case_332: -//line msg_parse.go:11715 +//line msg_parse.go:11717 switch data[p] { case 9: goto st330 @@ -11794,11 +11796,11 @@ tr493: } goto st0 tr489: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:229 +//line msg_parse.rl:231 msg.ReplyTo = string(data[mark:p]) @@ -11808,13 +11810,13 @@ tr489: goto _test_eof333 } st_case_333: -//line msg_parse.go:11812 +//line msg_parse.go:11814 if data[p] == 10 { goto tr494 } goto st0 tr494: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st334 st334: @@ -11822,7 +11824,7 @@ tr494: goto _test_eof334 } st_case_334: -//line msg_parse.go:11826 +//line msg_parse.go:11828 switch data[p] { case 9: goto st335 @@ -11905,7 +11907,7 @@ tr494: } goto st0 tr496: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -11915,7 +11917,7 @@ tr496: goto _test_eof335 } st_case_335: -//line msg_parse.go:11919 +//line msg_parse.go:11921 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -12000,7 +12002,7 @@ tr496: } goto st0 tr503: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -12010,7 +12012,7 @@ tr503: goto _test_eof341 } st_case_341: -//line msg_parse.go:12014 +//line msg_parse.go:12016 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -12033,7 +12035,7 @@ tr503: } goto st0 tr504: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -12043,7 +12045,7 @@ tr504: goto _test_eof342 } st_case_342: -//line msg_parse.go:12047 +//line msg_parse.go:12049 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -12064,17 +12066,17 @@ tr504: } goto st0 tr514: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:281 +//line msg_parse.rl:283 msg.Require = string(data[mark:p]) goto st343 tr509: -//line msg_parse.rl:281 +//line msg_parse.rl:283 msg.Require = string(data[mark:p]) @@ -12084,13 +12086,13 @@ tr509: goto _test_eof343 } st_case_343: -//line msg_parse.go:12088 +//line msg_parse.go:12090 if data[p] == 10 { goto tr510 } goto st0 tr510: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st344 st344: @@ -12098,7 +12100,7 @@ tr510: goto _test_eof344 } st_case_344: -//line msg_parse.go:12102 +//line msg_parse.go:12104 switch data[p] { case 9: goto st342 @@ -12181,11 +12183,11 @@ tr510: } goto st0 tr506: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:281 +//line msg_parse.rl:283 msg.Require = string(data[mark:p]) @@ -12195,13 +12197,13 @@ tr506: goto _test_eof345 } st_case_345: -//line msg_parse.go:12199 +//line msg_parse.go:12201 if data[p] == 10 { goto tr511 } goto st0 tr511: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st346 st346: @@ -12209,7 +12211,7 @@ tr511: goto _test_eof346 } st_case_346: -//line msg_parse.go:12213 +//line msg_parse.go:12215 switch data[p] { case 9: goto st347 @@ -12292,7 +12294,7 @@ tr511: } goto st0 tr513: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -12302,7 +12304,7 @@ tr513: goto _test_eof347 } st_case_347: -//line msg_parse.go:12306 +//line msg_parse.go:12308 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -12432,7 +12434,7 @@ tr513: } goto st0 tr524: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -12442,7 +12444,7 @@ tr524: goto _test_eof357 } st_case_357: -//line msg_parse.go:12446 +//line msg_parse.go:12448 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -12465,7 +12467,7 @@ tr524: } goto st0 tr525: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -12475,7 +12477,7 @@ tr525: goto _test_eof358 } st_case_358: -//line msg_parse.go:12479 +//line msg_parse.go:12481 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -12496,17 +12498,17 @@ tr525: } goto st0 tr535: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:285 +//line msg_parse.rl:287 msg.RetryAfter = string(data[mark:p]) goto st359 tr530: -//line msg_parse.rl:285 +//line msg_parse.rl:287 msg.RetryAfter = string(data[mark:p]) @@ -12516,13 +12518,13 @@ tr530: goto _test_eof359 } st_case_359: -//line msg_parse.go:12520 +//line msg_parse.go:12522 if data[p] == 10 { goto tr531 } goto st0 tr531: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st360 st360: @@ -12530,7 +12532,7 @@ tr531: goto _test_eof360 } st_case_360: -//line msg_parse.go:12534 +//line msg_parse.go:12536 switch data[p] { case 9: goto st358 @@ -12613,11 +12615,11 @@ tr531: } goto st0 tr527: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:285 +//line msg_parse.rl:287 msg.RetryAfter = string(data[mark:p]) @@ -12627,13 +12629,13 @@ tr527: goto _test_eof361 } st_case_361: -//line msg_parse.go:12631 +//line msg_parse.go:12633 if data[p] == 10 { goto tr532 } goto st0 tr532: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st362 st362: @@ -12641,7 +12643,7 @@ tr532: goto _test_eof362 } st_case_362: -//line msg_parse.go:12645 +//line msg_parse.go:12647 switch data[p] { case 9: goto st363 @@ -12724,7 +12726,7 @@ tr532: } goto st0 tr534: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -12734,7 +12736,7 @@ tr534: goto _test_eof363 } st_case_363: -//line msg_parse.go:12738 +//line msg_parse.go:12740 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -12807,7 +12809,7 @@ tr534: } goto st0 tr540: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -12817,7 +12819,7 @@ tr540: goto _test_eof368 } st_case_368: -//line msg_parse.go:12821 +//line msg_parse.go:12823 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -12840,7 +12842,7 @@ tr540: } goto st0 tr541: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -12850,7 +12852,7 @@ tr541: goto _test_eof369 } st_case_369: -//line msg_parse.go:12854 +//line msg_parse.go:12856 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -12871,11 +12873,11 @@ tr541: } goto st0 tr551: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:289 +//line msg_parse.rl:291 *routep, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -12883,7 +12885,7 @@ tr551: goto st370 tr546: -//line msg_parse.rl:289 +//line msg_parse.rl:291 *routep, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -12895,13 +12897,13 @@ tr546: goto _test_eof370 } st_case_370: -//line msg_parse.go:12899 +//line msg_parse.go:12901 if data[p] == 10 { goto tr547 } goto st0 tr547: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st371 st371: @@ -12909,7 +12911,7 @@ tr547: goto _test_eof371 } st_case_371: -//line msg_parse.go:12913 +//line msg_parse.go:12915 switch data[p] { case 9: goto st369 @@ -12992,11 +12994,11 @@ tr547: } goto st0 tr543: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:289 +//line msg_parse.rl:291 *routep, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -13008,13 +13010,13 @@ tr543: goto _test_eof372 } st_case_372: -//line msg_parse.go:13012 +//line msg_parse.go:13014 if data[p] == 10 { goto tr548 } goto st0 tr548: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st373 st373: @@ -13022,7 +13024,7 @@ tr548: goto _test_eof373 } st_case_373: -//line msg_parse.go:13026 +//line msg_parse.go:13028 switch data[p] { case 9: goto st374 @@ -13105,7 +13107,7 @@ tr548: } goto st0 tr550: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -13115,7 +13117,7 @@ tr550: goto _test_eof374 } st_case_374: -//line msg_parse.go:13119 +//line msg_parse.go:13121 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -13138,11 +13140,11 @@ tr550: } goto st0 tr198: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:241 +//line msg_parse.rl:243 msg.PAssertedIdentity, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -13153,13 +13155,13 @@ tr198: goto _test_eof375 } st_case_375: -//line msg_parse.go:13157 +//line msg_parse.go:13159 if data[p] == 10 { goto tr552 } goto st0 tr552: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st376 st376: @@ -13167,7 +13169,7 @@ tr552: goto _test_eof376 } st_case_376: -//line msg_parse.go:13171 +//line msg_parse.go:13173 switch data[p] { case 9: goto st377 @@ -13250,7 +13252,7 @@ tr552: } goto st0 tr554: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -13260,7 +13262,7 @@ tr554: goto _test_eof377 } st_case_377: -//line msg_parse.go:13264 +//line msg_parse.go:13266 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -13373,7 +13375,7 @@ tr554: } goto st0 tr564: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -13383,7 +13385,7 @@ tr564: goto _test_eof385 } st_case_385: -//line msg_parse.go:13387 +//line msg_parse.go:13389 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -13406,7 +13408,7 @@ tr564: } goto st0 tr565: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -13416,7 +13418,7 @@ tr565: goto _test_eof386 } st_case_386: -//line msg_parse.go:13420 +//line msg_parse.go:13422 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -13437,17 +13439,17 @@ tr565: } goto st0 tr575: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:246 +//line msg_parse.rl:248 msg.Priority = string(data[mark:p]) goto st387 tr570: -//line msg_parse.rl:246 +//line msg_parse.rl:248 msg.Priority = string(data[mark:p]) @@ -13457,13 +13459,13 @@ tr570: goto _test_eof387 } st_case_387: -//line msg_parse.go:13461 +//line msg_parse.go:13463 if data[p] == 10 { goto tr571 } goto st0 tr571: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st388 st388: @@ -13471,7 +13473,7 @@ tr571: goto _test_eof388 } st_case_388: -//line msg_parse.go:13475 +//line msg_parse.go:13477 switch data[p] { case 9: goto st386 @@ -13554,11 +13556,11 @@ tr571: } goto st0 tr567: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:246 +//line msg_parse.rl:248 msg.Priority = string(data[mark:p]) @@ -13568,13 +13570,13 @@ tr567: goto _test_eof389 } st_case_389: -//line msg_parse.go:13572 +//line msg_parse.go:13574 if data[p] == 10 { goto tr572 } goto st0 tr572: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st390 st390: @@ -13582,7 +13584,7 @@ tr572: goto _test_eof390 } st_case_390: -//line msg_parse.go:13586 +//line msg_parse.go:13588 switch data[p] { case 9: goto st391 @@ -13665,7 +13667,7 @@ tr572: } goto st0 tr574: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -13675,7 +13677,7 @@ tr574: goto _test_eof391 } st_case_391: -//line msg_parse.go:13679 +//line msg_parse.go:13681 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -13897,7 +13899,7 @@ tr574: } goto st0 tr594: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -13907,7 +13909,7 @@ tr594: goto _test_eof408 } st_case_408: -//line msg_parse.go:13911 +//line msg_parse.go:13913 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -13930,7 +13932,7 @@ tr594: } goto st0 tr595: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -13940,7 +13942,7 @@ tr595: goto _test_eof409 } st_case_409: -//line msg_parse.go:13944 +//line msg_parse.go:13946 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -13961,17 +13963,17 @@ tr595: } goto st0 tr605: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:250 +//line msg_parse.rl:252 msg.ProxyAuthenticate = string(data[mark:p]) goto st410 tr600: -//line msg_parse.rl:250 +//line msg_parse.rl:252 msg.ProxyAuthenticate = string(data[mark:p]) @@ -13981,13 +13983,13 @@ tr600: goto _test_eof410 } st_case_410: -//line msg_parse.go:13985 +//line msg_parse.go:13987 if data[p] == 10 { goto tr601 } goto st0 tr601: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st411 st411: @@ -13995,7 +13997,7 @@ tr601: goto _test_eof411 } st_case_411: -//line msg_parse.go:13999 +//line msg_parse.go:14001 switch data[p] { case 9: goto st409 @@ -14078,11 +14080,11 @@ tr601: } goto st0 tr597: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:250 +//line msg_parse.rl:252 msg.ProxyAuthenticate = string(data[mark:p]) @@ -14092,13 +14094,13 @@ tr597: goto _test_eof412 } st_case_412: -//line msg_parse.go:14096 +//line msg_parse.go:14098 if data[p] == 10 { goto tr602 } goto st0 tr602: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st413 st413: @@ -14106,7 +14108,7 @@ tr602: goto _test_eof413 } st_case_413: -//line msg_parse.go:14110 +//line msg_parse.go:14112 switch data[p] { case 9: goto st414 @@ -14189,7 +14191,7 @@ tr602: } goto st0 tr604: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -14199,7 +14201,7 @@ tr604: goto _test_eof414 } st_case_414: -//line msg_parse.go:14203 +//line msg_parse.go:14205 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -14332,7 +14334,7 @@ tr604: } goto st0 tr615: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -14342,7 +14344,7 @@ tr615: goto _test_eof424 } st_case_424: -//line msg_parse.go:14346 +//line msg_parse.go:14348 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -14365,7 +14367,7 @@ tr615: } goto st0 tr616: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -14375,7 +14377,7 @@ tr616: goto _test_eof425 } st_case_425: -//line msg_parse.go:14379 +//line msg_parse.go:14381 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -14396,17 +14398,17 @@ tr616: } goto st0 tr626: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:254 +//line msg_parse.rl:256 msg.ProxyAuthorization = string(data[mark:p]) goto st426 tr621: -//line msg_parse.rl:254 +//line msg_parse.rl:256 msg.ProxyAuthorization = string(data[mark:p]) @@ -14416,13 +14418,13 @@ tr621: goto _test_eof426 } st_case_426: -//line msg_parse.go:14420 +//line msg_parse.go:14422 if data[p] == 10 { goto tr622 } goto st0 tr622: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st427 st427: @@ -14430,7 +14432,7 @@ tr622: goto _test_eof427 } st_case_427: -//line msg_parse.go:14434 +//line msg_parse.go:14436 switch data[p] { case 9: goto st425 @@ -14513,11 +14515,11 @@ tr622: } goto st0 tr618: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:254 +//line msg_parse.rl:256 msg.ProxyAuthorization = string(data[mark:p]) @@ -14527,13 +14529,13 @@ tr618: goto _test_eof428 } st_case_428: -//line msg_parse.go:14531 +//line msg_parse.go:14533 if data[p] == 10 { goto tr623 } goto st0 tr623: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st429 st429: @@ -14541,7 +14543,7 @@ tr623: goto _test_eof429 } st_case_429: -//line msg_parse.go:14545 +//line msg_parse.go:14547 switch data[p] { case 9: goto st430 @@ -14624,7 +14626,7 @@ tr623: } goto st0 tr625: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -14634,7 +14636,7 @@ tr625: goto _test_eof430 } st_case_430: -//line msg_parse.go:14638 +//line msg_parse.go:14640 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -14743,7 +14745,7 @@ tr625: } goto st0 tr634: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -14753,7 +14755,7 @@ tr634: goto _test_eof438 } st_case_438: -//line msg_parse.go:14757 +//line msg_parse.go:14759 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -14776,7 +14778,7 @@ tr634: } goto st0 tr635: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -14786,7 +14788,7 @@ tr635: goto _test_eof439 } st_case_439: -//line msg_parse.go:14790 +//line msg_parse.go:14792 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -14807,17 +14809,17 @@ tr635: } goto st0 tr645: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:258 +//line msg_parse.rl:260 msg.ProxyRequire = string(data[mark:p]) goto st440 tr640: -//line msg_parse.rl:258 +//line msg_parse.rl:260 msg.ProxyRequire = string(data[mark:p]) @@ -14827,13 +14829,13 @@ tr640: goto _test_eof440 } st_case_440: -//line msg_parse.go:14831 +//line msg_parse.go:14833 if data[p] == 10 { goto tr641 } goto st0 tr641: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st441 st441: @@ -14841,7 +14843,7 @@ tr641: goto _test_eof441 } st_case_441: -//line msg_parse.go:14845 +//line msg_parse.go:14847 switch data[p] { case 9: goto st439 @@ -14924,11 +14926,11 @@ tr641: } goto st0 tr637: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:258 +//line msg_parse.rl:260 msg.ProxyRequire = string(data[mark:p]) @@ -14938,13 +14940,13 @@ tr637: goto _test_eof442 } st_case_442: -//line msg_parse.go:14942 +//line msg_parse.go:14944 if data[p] == 10 { goto tr642 } goto st0 tr642: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st443 st443: @@ -14952,7 +14954,7 @@ tr642: goto _test_eof443 } st_case_443: -//line msg_parse.go:14956 +//line msg_parse.go:14958 switch data[p] { case 9: goto st444 @@ -15035,7 +15037,7 @@ tr642: } goto st0 tr644: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -15045,7 +15047,7 @@ tr644: goto _test_eof444 } st_case_444: -//line msg_parse.go:15049 +//line msg_parse.go:15051 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -15068,11 +15070,11 @@ tr644: } goto st0 tr170: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:200 +//line msg_parse.rl:202 msg.Event = string(data[mark:p]) @@ -15082,13 +15084,13 @@ tr170: goto _test_eof445 } st_case_445: -//line msg_parse.go:15086 +//line msg_parse.go:15088 if data[p] == 10 { goto tr646 } goto st0 tr646: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st446 st446: @@ -15096,7 +15098,7 @@ tr646: goto _test_eof446 } st_case_446: -//line msg_parse.go:15100 +//line msg_parse.go:15102 switch data[p] { case 9: goto st447 @@ -15179,7 +15181,7 @@ tr646: } goto st0 tr648: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -15189,7 +15191,7 @@ tr648: goto _test_eof447 } st_case_447: -//line msg_parse.go:15193 +//line msg_parse.go:15195 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -15346,7 +15348,7 @@ tr648: } goto st0 tr661: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -15356,7 +15358,7 @@ tr661: goto _test_eof459 } st_case_459: -//line msg_parse.go:15360 +//line msg_parse.go:15362 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -15379,7 +15381,7 @@ tr661: } goto st0 tr662: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -15389,7 +15391,7 @@ tr662: goto _test_eof460 } st_case_460: -//line msg_parse.go:15393 +//line msg_parse.go:15395 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -15410,17 +15412,17 @@ tr662: } goto st0 tr672: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:237 +//line msg_parse.rl:239 msg.Organization = string(data[mark:p]) goto st461 tr667: -//line msg_parse.rl:237 +//line msg_parse.rl:239 msg.Organization = string(data[mark:p]) @@ -15430,13 +15432,13 @@ tr667: goto _test_eof461 } st_case_461: -//line msg_parse.go:15434 +//line msg_parse.go:15436 if data[p] == 10 { goto tr668 } goto st0 tr668: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st462 st462: @@ -15444,7 +15446,7 @@ tr668: goto _test_eof462 } st_case_462: -//line msg_parse.go:15448 +//line msg_parse.go:15450 switch data[p] { case 9: goto st460 @@ -15527,11 +15529,11 @@ tr668: } goto st0 tr664: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:237 +//line msg_parse.rl:239 msg.Organization = string(data[mark:p]) @@ -15541,13 +15543,13 @@ tr664: goto _test_eof463 } st_case_463: -//line msg_parse.go:15545 +//line msg_parse.go:15547 if data[p] == 10 { goto tr669 } goto st0 tr669: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st464 st464: @@ -15555,7 +15557,7 @@ tr669: goto _test_eof464 } st_case_464: -//line msg_parse.go:15559 +//line msg_parse.go:15561 switch data[p] { case 9: goto st465 @@ -15638,7 +15640,7 @@ tr669: } goto st0 tr671: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -15648,7 +15650,7 @@ tr671: goto _test_eof465 } st_case_465: -//line msg_parse.go:15652 +//line msg_parse.go:15654 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -15671,11 +15673,11 @@ tr671: } goto st0 tr159: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:154 +//line msg_parse.rl:156 *contactp, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -15687,13 +15689,13 @@ tr159: goto _test_eof466 } st_case_466: -//line msg_parse.go:15691 +//line msg_parse.go:15693 if data[p] == 10 { goto tr673 } goto st0 tr673: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st467 st467: @@ -15701,7 +15703,7 @@ tr673: goto _test_eof467 } st_case_467: -//line msg_parse.go:15705 +//line msg_parse.go:15707 switch data[p] { case 9: goto st468 @@ -15784,7 +15786,7 @@ tr673: } goto st0 tr675: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -15794,7 +15796,7 @@ tr675: goto _test_eof468 } st_case_468: -//line msg_parse.go:15798 +//line msg_parse.go:15800 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -15972,17 +15974,17 @@ tr675: } goto st0 tr688: -//line msg_parse.rl:217 +//line msg_parse.rl:219 msg.MaxForwards = 0 -//line msg_parse.rl:221 +//line msg_parse.rl:223 msg.MaxForwards = msg.MaxForwards * 10 + (int(data[p]) - 0x30) goto st481 tr690: -//line msg_parse.rl:221 +//line msg_parse.rl:223 msg.MaxForwards = msg.MaxForwards * 10 + (int(data[p]) - 0x30) @@ -15992,7 +15994,7 @@ tr690: goto _test_eof481 } st_case_481: -//line msg_parse.go:15996 +//line msg_parse.go:15998 if data[p] == 13 { goto st13 } @@ -16010,7 +16012,7 @@ tr690: } goto st0 tr691: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st483 st483: @@ -16018,7 +16020,7 @@ tr691: goto _test_eof483 } st_case_483: -//line msg_parse.go:16022 +//line msg_parse.go:16024 switch data[p] { case 9: goto st484 @@ -16177,7 +16179,7 @@ tr691: } goto st0 tr705: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -16187,7 +16189,7 @@ tr705: goto _test_eof496 } st_case_496: -//line msg_parse.go:16191 +//line msg_parse.go:16193 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -16210,7 +16212,7 @@ tr705: } goto st0 tr706: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -16220,7 +16222,7 @@ tr706: goto _test_eof497 } st_case_497: -//line msg_parse.go:16224 +//line msg_parse.go:16226 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -16241,17 +16243,17 @@ tr706: } goto st0 tr716: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:233 +//line msg_parse.rl:235 msg.MIMEVersion = string(data[mark:p]) goto st498 tr711: -//line msg_parse.rl:233 +//line msg_parse.rl:235 msg.MIMEVersion = string(data[mark:p]) @@ -16261,13 +16263,13 @@ tr711: goto _test_eof498 } st_case_498: -//line msg_parse.go:16265 +//line msg_parse.go:16267 if data[p] == 10 { goto tr712 } goto st0 tr712: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st499 st499: @@ -16275,7 +16277,7 @@ tr712: goto _test_eof499 } st_case_499: -//line msg_parse.go:16279 +//line msg_parse.go:16281 switch data[p] { case 9: goto st497 @@ -16358,11 +16360,11 @@ tr712: } goto st0 tr708: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:233 +//line msg_parse.rl:235 msg.MIMEVersion = string(data[mark:p]) @@ -16372,13 +16374,13 @@ tr708: goto _test_eof500 } st_case_500: -//line msg_parse.go:16376 +//line msg_parse.go:16378 if data[p] == 10 { goto tr713 } goto st0 tr713: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st501 st501: @@ -16386,7 +16388,7 @@ tr713: goto _test_eof501 } st_case_501: -//line msg_parse.go:16390 +//line msg_parse.go:16392 switch data[p] { case 9: goto st502 @@ -16469,7 +16471,7 @@ tr713: } goto st0 tr715: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -16479,7 +16481,7 @@ tr715: goto _test_eof502 } st_case_502: -//line msg_parse.go:16483 +//line msg_parse.go:16485 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -16633,7 +16635,7 @@ tr715: } goto st0 tr726: -//line msg_parse.rl:225 +//line msg_parse.rl:227 msg.MinExpires = msg.MinExpires * 10 + (int(data[p]) - 0x30) @@ -16643,7 +16645,7 @@ tr726: goto _test_eof513 } st_case_513: -//line msg_parse.go:16647 +//line msg_parse.go:16649 if data[p] == 13 { goto st13 } @@ -16661,7 +16663,7 @@ tr726: } goto st0 tr728: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st515 st515: @@ -16669,7 +16671,7 @@ tr728: goto _test_eof515 } st_case_515: -//line msg_parse.go:16673 +//line msg_parse.go:16675 switch data[p] { case 9: goto st516 @@ -16693,11 +16695,11 @@ tr728: } goto st0 tr141: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:303 +//line msg_parse.rl:305 msg.Supported = string(data[mark:p]) @@ -16707,13 +16709,13 @@ tr141: goto _test_eof517 } st_case_517: -//line msg_parse.go:16711 +//line msg_parse.go:16713 if data[p] == 10 { goto tr730 } goto st0 tr730: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st518 st518: @@ -16721,7 +16723,7 @@ tr730: goto _test_eof518 } st_case_518: -//line msg_parse.go:16725 +//line msg_parse.go:16727 switch data[p] { case 9: goto st519 @@ -16804,7 +16806,7 @@ tr730: } goto st0 tr732: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -16814,7 +16816,7 @@ tr732: goto _test_eof519 } st_case_519: -//line msg_parse.go:16818 +//line msg_parse.go:16820 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -16837,11 +16839,11 @@ tr732: } goto st0 tr132: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:213 +//line msg_parse.rl:215 msg.InReplyTo = string(data[mark:p]) @@ -16851,13 +16853,13 @@ tr132: goto _test_eof520 } st_case_520: -//line msg_parse.go:16855 +//line msg_parse.go:16857 if data[p] == 10 { goto tr734 } goto st0 tr734: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st521 st521: @@ -16865,7 +16867,7 @@ tr734: goto _test_eof521 } st_case_521: -//line msg_parse.go:16869 +//line msg_parse.go:16871 switch data[p] { case 9: goto st522 @@ -16948,7 +16950,7 @@ tr734: } goto st0 tr736: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -16958,7 +16960,7 @@ tr736: goto _test_eof522 } st_case_522: -//line msg_parse.go:16962 +//line msg_parse.go:16964 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -16981,11 +16983,11 @@ tr736: } goto st0 tr103: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:208 +//line msg_parse.rl:210 msg.From, err = ParseAddr(string(data[mark:p])) if err != nil { return nil, err } @@ -16996,13 +16998,13 @@ tr103: goto _test_eof523 } st_case_523: -//line msg_parse.go:17000 +//line msg_parse.go:17002 if data[p] == 10 { goto tr738 } goto st0 tr738: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st524 st524: @@ -17010,7 +17012,7 @@ tr738: goto _test_eof524 } st_case_524: -//line msg_parse.go:17014 +//line msg_parse.go:17016 switch data[p] { case 9: goto st525 @@ -17093,7 +17095,7 @@ tr738: } goto st0 tr740: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -17103,7 +17105,7 @@ tr740: goto _test_eof525 } st_case_525: -//line msg_parse.go:17107 +//line msg_parse.go:17109 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -17150,11 +17152,11 @@ tr740: } goto st0 tr92: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:172 +//line msg_parse.rl:174 msg.ContentEncoding = string(data[mark:p]) @@ -17164,13 +17166,13 @@ tr92: goto _test_eof528 } st_case_528: -//line msg_parse.go:17168 +//line msg_parse.go:17170 if data[p] == 10 { goto tr743 } goto st0 tr743: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st529 st529: @@ -17178,7 +17180,7 @@ tr743: goto _test_eof529 } st_case_529: -//line msg_parse.go:17182 +//line msg_parse.go:17184 switch data[p] { case 9: goto st530 @@ -17261,7 +17263,7 @@ tr743: } goto st0 tr745: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -17271,7 +17273,7 @@ tr745: goto _test_eof530 } st_case_530: -//line msg_parse.go:17275 +//line msg_parse.go:17277 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -17401,7 +17403,7 @@ tr745: } goto st0 tr756: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -17411,7 +17413,7 @@ tr756: goto _test_eof540 } st_case_540: -//line msg_parse.go:17415 +//line msg_parse.go:17417 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -17434,7 +17436,7 @@ tr756: } goto st0 tr757: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -17444,7 +17446,7 @@ tr757: goto _test_eof541 } st_case_541: -//line msg_parse.go:17448 +//line msg_parse.go:17450 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -17465,17 +17467,17 @@ tr757: } goto st0 tr767: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:196 +//line msg_parse.rl:198 msg.ErrorInfo = string(data[mark:p]) goto st542 tr762: -//line msg_parse.rl:196 +//line msg_parse.rl:198 msg.ErrorInfo = string(data[mark:p]) @@ -17485,13 +17487,13 @@ tr762: goto _test_eof542 } st_case_542: -//line msg_parse.go:17489 +//line msg_parse.go:17491 if data[p] == 10 { goto tr763 } goto st0 tr763: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st543 st543: @@ -17499,7 +17501,7 @@ tr763: goto _test_eof543 } st_case_543: -//line msg_parse.go:17503 +//line msg_parse.go:17505 switch data[p] { case 9: goto st541 @@ -17582,11 +17584,11 @@ tr763: } goto st0 tr759: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:196 +//line msg_parse.rl:198 msg.ErrorInfo = string(data[mark:p]) @@ -17596,13 +17598,13 @@ tr759: goto _test_eof544 } st_case_544: -//line msg_parse.go:17600 +//line msg_parse.go:17602 if data[p] == 10 { goto tr764 } goto st0 tr764: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st545 st545: @@ -17610,7 +17612,7 @@ tr764: goto _test_eof545 } st_case_545: -//line msg_parse.go:17614 +//line msg_parse.go:17616 switch data[p] { case 9: goto st546 @@ -17693,7 +17695,7 @@ tr764: } goto st0 tr766: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -17703,7 +17705,7 @@ tr766: goto _test_eof546 } st_case_546: -//line msg_parse.go:17707 +//line msg_parse.go:17709 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -17860,7 +17862,7 @@ tr766: } goto st0 tr776: -//line msg_parse.rl:204 +//line msg_parse.rl:206 msg.Expires = msg.Expires * 10 + (int(data[p]) - 0x30) @@ -17870,7 +17872,7 @@ tr776: goto _test_eof557 } st_case_557: -//line msg_parse.go:17874 +//line msg_parse.go:17876 if data[p] == 13 { goto st13 } @@ -17888,7 +17890,7 @@ tr776: } goto st0 tr778: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st559 st559: @@ -17896,7 +17898,7 @@ tr778: goto _test_eof559 } st_case_559: -//line msg_parse.go:17900 +//line msg_parse.go:17902 switch data[p] { case 9: goto st560 @@ -17920,11 +17922,11 @@ tr778: } goto st0 tr79: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:192 +//line msg_parse.rl:194 msg.Date = string(data[mark:p]) @@ -17934,13 +17936,13 @@ tr79: goto _test_eof561 } st_case_561: -//line msg_parse.go:17938 +//line msg_parse.go:17940 if data[p] == 10 { goto tr780 } goto st0 tr780: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st562 st562: @@ -17948,7 +17950,7 @@ tr780: goto _test_eof562 } st_case_562: -//line msg_parse.go:17952 +//line msg_parse.go:17954 switch data[p] { case 9: goto st563 @@ -18031,7 +18033,7 @@ tr780: } goto st0 tr782: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -18041,7 +18043,7 @@ tr782: goto _test_eof563 } st_case_563: -//line msg_parse.go:18045 +//line msg_parse.go:18047 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -18064,13 +18066,13 @@ tr782: } goto st0 tr67: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:176 +//line msg_parse.rl:178 - msg.ContentType = string(data[mark:p]) + ctype = string(data[mark:p]) goto st564 st564: @@ -18078,13 +18080,13 @@ tr67: goto _test_eof564 } st_case_564: -//line msg_parse.go:18082 +//line msg_parse.go:18084 if data[p] == 10 { goto tr784 } goto st0 tr784: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st565 st565: @@ -18092,7 +18094,7 @@ tr784: goto _test_eof565 } st_case_565: -//line msg_parse.go:18096 +//line msg_parse.go:18098 switch data[p] { case 9: goto st566 @@ -18175,7 +18177,7 @@ tr784: } goto st0 tr786: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -18185,7 +18187,7 @@ tr786: goto _test_eof566 } st_case_566: -//line msg_parse.go:18189 +//line msg_parse.go:18191 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -18307,7 +18309,7 @@ tr786: } goto st0 tr796: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -18317,7 +18319,7 @@ tr796: goto _test_eof575 } st_case_575: -//line msg_parse.go:18321 +//line msg_parse.go:18323 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -18340,7 +18342,7 @@ tr796: } goto st0 tr797: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -18350,7 +18352,7 @@ tr797: goto _test_eof576 } st_case_576: -//line msg_parse.go:18354 +//line msg_parse.go:18356 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -18371,17 +18373,17 @@ tr797: } goto st0 tr807: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:188 +//line msg_parse.rl:190 msg.CallInfo = string(data[mark:p]) goto st577 tr802: -//line msg_parse.rl:188 +//line msg_parse.rl:190 msg.CallInfo = string(data[mark:p]) @@ -18391,13 +18393,13 @@ tr802: goto _test_eof577 } st_case_577: -//line msg_parse.go:18395 +//line msg_parse.go:18397 if data[p] == 10 { goto tr803 } goto st0 tr803: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st578 st578: @@ -18405,7 +18407,7 @@ tr803: goto _test_eof578 } st_case_578: -//line msg_parse.go:18409 +//line msg_parse.go:18411 switch data[p] { case 9: goto st576 @@ -18488,11 +18490,11 @@ tr803: } goto st0 tr799: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:188 +//line msg_parse.rl:190 msg.CallInfo = string(data[mark:p]) @@ -18502,13 +18504,13 @@ tr799: goto _test_eof579 } st_case_579: -//line msg_parse.go:18506 +//line msg_parse.go:18508 if data[p] == 10 { goto tr804 } goto st0 tr804: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st580 st580: @@ -18516,7 +18518,7 @@ tr804: goto _test_eof580 } st_case_580: -//line msg_parse.go:18520 +//line msg_parse.go:18522 switch data[p] { case 9: goto st581 @@ -18599,7 +18601,7 @@ tr804: } goto st0 tr806: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -18609,7 +18611,7 @@ tr806: goto _test_eof581 } st_case_581: -//line msg_parse.go:18613 +//line msg_parse.go:18615 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -18887,7 +18889,7 @@ tr806: } goto st0 tr831: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -18897,7 +18899,7 @@ tr831: goto _test_eof602 } st_case_602: -//line msg_parse.go:18901 +//line msg_parse.go:18903 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -18920,7 +18922,7 @@ tr831: } goto st0 tr832: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -18930,7 +18932,7 @@ tr832: goto _test_eof603 } st_case_603: -//line msg_parse.go:18934 +//line msg_parse.go:18936 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -18951,17 +18953,17 @@ tr832: } goto st0 tr842: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:160 +//line msg_parse.rl:162 msg.ContentDisposition = string(data[mark:p]) goto st604 tr837: -//line msg_parse.rl:160 +//line msg_parse.rl:162 msg.ContentDisposition = string(data[mark:p]) @@ -18971,13 +18973,13 @@ tr837: goto _test_eof604 } st_case_604: -//line msg_parse.go:18975 +//line msg_parse.go:18977 if data[p] == 10 { goto tr838 } goto st0 tr838: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st605 st605: @@ -18985,7 +18987,7 @@ tr838: goto _test_eof605 } st_case_605: -//line msg_parse.go:18989 +//line msg_parse.go:18991 switch data[p] { case 9: goto st603 @@ -19068,11 +19070,11 @@ tr838: } goto st0 tr834: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:160 +//line msg_parse.rl:162 msg.ContentDisposition = string(data[mark:p]) @@ -19082,13 +19084,13 @@ tr834: goto _test_eof606 } st_case_606: -//line msg_parse.go:19086 +//line msg_parse.go:19088 if data[p] == 10 { goto tr839 } goto st0 tr839: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st607 st607: @@ -19096,7 +19098,7 @@ tr839: goto _test_eof607 } st_case_607: -//line msg_parse.go:19100 +//line msg_parse.go:19102 switch data[p] { case 9: goto st608 @@ -19179,7 +19181,7 @@ tr839: } goto st0 tr841: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -19189,7 +19191,7 @@ tr841: goto _test_eof608 } st_case_608: -//line msg_parse.go:19193 +//line msg_parse.go:19195 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -19398,7 +19400,7 @@ tr841: } goto st0 tr858: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -19408,7 +19410,7 @@ tr858: goto _test_eof624 } st_case_624: -//line msg_parse.go:19412 +//line msg_parse.go:19414 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -19431,7 +19433,7 @@ tr858: } goto st0 tr859: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -19441,7 +19443,7 @@ tr859: goto _test_eof625 } st_case_625: -//line msg_parse.go:19445 +//line msg_parse.go:19447 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -19462,17 +19464,17 @@ tr859: } goto st0 tr869: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:164 +//line msg_parse.rl:166 msg.ContentLanguage = string(data[mark:p]) goto st626 tr864: -//line msg_parse.rl:164 +//line msg_parse.rl:166 msg.ContentLanguage = string(data[mark:p]) @@ -19482,13 +19484,13 @@ tr864: goto _test_eof626 } st_case_626: -//line msg_parse.go:19486 +//line msg_parse.go:19488 if data[p] == 10 { goto tr865 } goto st0 tr865: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st627 st627: @@ -19496,7 +19498,7 @@ tr865: goto _test_eof627 } st_case_627: -//line msg_parse.go:19500 +//line msg_parse.go:19502 switch data[p] { case 9: goto st625 @@ -19579,11 +19581,11 @@ tr865: } goto st0 tr861: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:164 +//line msg_parse.rl:166 msg.ContentLanguage = string(data[mark:p]) @@ -19593,13 +19595,13 @@ tr861: goto _test_eof628 } st_case_628: -//line msg_parse.go:19597 +//line msg_parse.go:19599 if data[p] == 10 { goto tr866 } goto st0 tr866: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st629 st629: @@ -19607,7 +19609,7 @@ tr866: goto _test_eof629 } st_case_629: -//line msg_parse.go:19611 +//line msg_parse.go:19613 switch data[p] { case 9: goto st630 @@ -19690,7 +19692,7 @@ tr866: } goto st0 tr868: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -19700,7 +19702,7 @@ tr868: goto _test_eof630 } st_case_630: -//line msg_parse.go:19704 +//line msg_parse.go:19706 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -19809,7 +19811,7 @@ tr868: } goto st0 tr875: -//line msg_parse.rl:168 +//line msg_parse.rl:170 clen = clen * 10 + (int(data[p]) - 0x30) @@ -19819,7 +19821,7 @@ tr875: goto _test_eof637 } st_case_637: -//line msg_parse.go:19823 +//line msg_parse.go:19825 if data[p] == 13 { goto st13 } @@ -19837,7 +19839,7 @@ tr875: } goto st0 tr877: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st639 st639: @@ -19845,7 +19847,7 @@ tr877: goto _test_eof639 } st_case_639: -//line msg_parse.go:19849 +//line msg_parse.go:19851 switch data[p] { case 9: goto st640 @@ -19967,7 +19969,7 @@ tr877: } goto st0 tr884: -//line msg_parse.rl:180 +//line msg_parse.rl:182 msg.CSeq = msg.CSeq * 10 + (int(data[p]) - 0x30) @@ -19977,7 +19979,7 @@ tr884: goto _test_eof648 } st_case_648: -//line msg_parse.go:19981 +//line msg_parse.go:19983 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -20049,7 +20051,7 @@ tr884: } goto st0 tr888: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -20059,7 +20061,7 @@ tr888: goto _test_eof650 } st_case_650: -//line msg_parse.go:20063 +//line msg_parse.go:20065 switch data[p] { case 13: goto tr889 @@ -20105,7 +20107,7 @@ tr888: } goto st0 tr891: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st652 st652: @@ -20113,7 +20115,7 @@ tr891: goto _test_eof652 } st_case_652: -//line msg_parse.go:20117 +//line msg_parse.go:20119 switch data[p] { case 9: goto st653 @@ -20173,7 +20175,7 @@ tr891: } goto st0 tr893: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st655 st655: @@ -20181,7 +20183,7 @@ tr893: goto _test_eof655 } st_case_655: -//line msg_parse.go:20185 +//line msg_parse.go:20187 switch data[p] { case 9: goto st656 @@ -20205,11 +20207,11 @@ tr893: } goto st0 tr54: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:272 +//line msg_parse.rl:274 msg.ReferredBy = string(data[mark:p]) @@ -20219,13 +20221,13 @@ tr54: goto _test_eof657 } st_case_657: -//line msg_parse.go:20223 +//line msg_parse.go:20225 if data[p] == 10 { goto tr895 } goto st0 tr895: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st658 st658: @@ -20233,7 +20235,7 @@ tr895: goto _test_eof658 } st_case_658: -//line msg_parse.go:20237 +//line msg_parse.go:20239 switch data[p] { case 9: goto st659 @@ -20316,7 +20318,7 @@ tr895: } goto st0 tr897: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -20326,7 +20328,7 @@ tr897: goto _test_eof659 } st_case_659: -//line msg_parse.go:20330 +//line msg_parse.go:20332 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -20349,11 +20351,11 @@ tr897: } goto st0 tr45: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:118 +//line msg_parse.rl:120 msg.AcceptContact = string(data[mark:p]) @@ -20363,13 +20365,13 @@ tr45: goto _test_eof660 } st_case_660: -//line msg_parse.go:20367 +//line msg_parse.go:20369 if data[p] == 10 { goto tr899 } goto st0 tr899: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st661 st661: @@ -20377,7 +20379,7 @@ tr899: goto _test_eof661 } st_case_661: -//line msg_parse.go:20381 +//line msg_parse.go:20383 switch data[p] { case 9: goto st662 @@ -20460,7 +20462,7 @@ tr899: } goto st0 tr901: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -20470,7 +20472,7 @@ tr901: goto _test_eof662 } st_case_662: -//line msg_parse.go:20474 +//line msg_parse.go:20476 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -20571,7 +20573,7 @@ tr901: } goto st0 tr910: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -20581,7 +20583,7 @@ tr910: goto _test_eof669 } st_case_669: -//line msg_parse.go:20585 +//line msg_parse.go:20587 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -20604,7 +20606,7 @@ tr910: } goto st0 tr911: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -20614,7 +20616,7 @@ tr911: goto _test_eof670 } st_case_670: -//line msg_parse.go:20618 +//line msg_parse.go:20620 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -20635,17 +20637,17 @@ tr911: } goto st0 tr921: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:114 +//line msg_parse.rl:116 msg.Accept = string(data[mark:p]) goto st671 tr916: -//line msg_parse.rl:114 +//line msg_parse.rl:116 msg.Accept = string(data[mark:p]) @@ -20655,13 +20657,13 @@ tr916: goto _test_eof671 } st_case_671: -//line msg_parse.go:20659 +//line msg_parse.go:20661 if data[p] == 10 { goto tr917 } goto st0 tr917: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st672 st672: @@ -20669,7 +20671,7 @@ tr917: goto _test_eof672 } st_case_672: -//line msg_parse.go:20673 +//line msg_parse.go:20675 switch data[p] { case 9: goto st670 @@ -20752,11 +20754,11 @@ tr917: } goto st0 tr913: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:114 +//line msg_parse.rl:116 msg.Accept = string(data[mark:p]) @@ -20766,13 +20768,13 @@ tr913: goto _test_eof673 } st_case_673: -//line msg_parse.go:20770 +//line msg_parse.go:20772 if data[p] == 10 { goto tr918 } goto st0 tr918: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st674 st674: @@ -20780,7 +20782,7 @@ tr918: goto _test_eof674 } st_case_674: -//line msg_parse.go:20784 +//line msg_parse.go:20786 switch data[p] { case 9: goto st675 @@ -20863,7 +20865,7 @@ tr918: } goto st0 tr920: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -20873,7 +20875,7 @@ tr920: goto _test_eof675 } st_case_675: -//line msg_parse.go:20877 +//line msg_parse.go:20879 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -21086,7 +21088,7 @@ tr920: } goto st0 tr938: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -21096,7 +21098,7 @@ tr938: goto _test_eof691 } st_case_691: -//line msg_parse.go:21100 +//line msg_parse.go:21102 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -21119,7 +21121,7 @@ tr938: } goto st0 tr939: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -21129,7 +21131,7 @@ tr939: goto _test_eof692 } st_case_692: -//line msg_parse.go:21133 +//line msg_parse.go:21135 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -21150,17 +21152,17 @@ tr939: } goto st0 tr949: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:122 +//line msg_parse.rl:124 msg.AcceptEncoding = string(data[mark:p]) goto st693 tr944: -//line msg_parse.rl:122 +//line msg_parse.rl:124 msg.AcceptEncoding = string(data[mark:p]) @@ -21170,13 +21172,13 @@ tr944: goto _test_eof693 } st_case_693: -//line msg_parse.go:21174 +//line msg_parse.go:21176 if data[p] == 10 { goto tr945 } goto st0 tr945: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st694 st694: @@ -21184,7 +21186,7 @@ tr945: goto _test_eof694 } st_case_694: -//line msg_parse.go:21188 +//line msg_parse.go:21190 switch data[p] { case 9: goto st692 @@ -21267,11 +21269,11 @@ tr945: } goto st0 tr941: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:122 +//line msg_parse.rl:124 msg.AcceptEncoding = string(data[mark:p]) @@ -21281,13 +21283,13 @@ tr941: goto _test_eof695 } st_case_695: -//line msg_parse.go:21285 +//line msg_parse.go:21287 if data[p] == 10 { goto tr946 } goto st0 tr946: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st696 st696: @@ -21295,7 +21297,7 @@ tr946: goto _test_eof696 } st_case_696: -//line msg_parse.go:21299 +//line msg_parse.go:21301 switch data[p] { case 9: goto st697 @@ -21378,7 +21380,7 @@ tr946: } goto st0 tr948: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -21388,7 +21390,7 @@ tr948: goto _test_eof697 } st_case_697: -//line msg_parse.go:21392 +//line msg_parse.go:21394 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -21509,7 +21511,7 @@ tr948: } goto st0 tr958: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -21519,7 +21521,7 @@ tr958: goto _test_eof706 } st_case_706: -//line msg_parse.go:21523 +//line msg_parse.go:21525 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -21542,7 +21544,7 @@ tr958: } goto st0 tr959: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -21552,7 +21554,7 @@ tr959: goto _test_eof707 } st_case_707: -//line msg_parse.go:21556 +//line msg_parse.go:21558 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -21573,17 +21575,17 @@ tr959: } goto st0 tr969: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:126 +//line msg_parse.rl:128 msg.AcceptLanguage = string(data[mark:p]) goto st708 tr964: -//line msg_parse.rl:126 +//line msg_parse.rl:128 msg.AcceptLanguage = string(data[mark:p]) @@ -21593,13 +21595,13 @@ tr964: goto _test_eof708 } st_case_708: -//line msg_parse.go:21597 +//line msg_parse.go:21599 if data[p] == 10 { goto tr965 } goto st0 tr965: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st709 st709: @@ -21607,7 +21609,7 @@ tr965: goto _test_eof709 } st_case_709: -//line msg_parse.go:21611 +//line msg_parse.go:21613 switch data[p] { case 9: goto st707 @@ -21690,11 +21692,11 @@ tr965: } goto st0 tr961: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:126 +//line msg_parse.rl:128 msg.AcceptLanguage = string(data[mark:p]) @@ -21704,13 +21706,13 @@ tr961: goto _test_eof710 } st_case_710: -//line msg_parse.go:21708 +//line msg_parse.go:21710 if data[p] == 10 { goto tr966 } goto st0 tr966: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st711 st711: @@ -21718,7 +21720,7 @@ tr966: goto _test_eof711 } st_case_711: -//line msg_parse.go:21722 +//line msg_parse.go:21724 switch data[p] { case 9: goto st712 @@ -21801,7 +21803,7 @@ tr966: } goto st0 tr968: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -21811,7 +21813,7 @@ tr968: goto _test_eof712 } st_case_712: -//line msg_parse.go:21815 +//line msg_parse.go:21817 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -21945,7 +21947,7 @@ tr968: } goto st0 tr980: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -21955,7 +21957,7 @@ tr980: goto _test_eof722 } st_case_722: -//line msg_parse.go:21959 +//line msg_parse.go:21961 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -21978,7 +21980,7 @@ tr980: } goto st0 tr981: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -21988,7 +21990,7 @@ tr981: goto _test_eof723 } st_case_723: -//line msg_parse.go:21992 +//line msg_parse.go:21994 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -22009,17 +22011,17 @@ tr981: } goto st0 tr991: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:138 +//line msg_parse.rl:140 msg.AlertInfo = string(data[mark:p]) goto st724 tr986: -//line msg_parse.rl:138 +//line msg_parse.rl:140 msg.AlertInfo = string(data[mark:p]) @@ -22029,13 +22031,13 @@ tr986: goto _test_eof724 } st_case_724: -//line msg_parse.go:22033 +//line msg_parse.go:22035 if data[p] == 10 { goto tr987 } goto st0 tr987: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st725 st725: @@ -22043,7 +22045,7 @@ tr987: goto _test_eof725 } st_case_725: -//line msg_parse.go:22047 +//line msg_parse.go:22049 switch data[p] { case 9: goto st723 @@ -22126,11 +22128,11 @@ tr987: } goto st0 tr983: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:138 +//line msg_parse.rl:140 msg.AlertInfo = string(data[mark:p]) @@ -22140,13 +22142,13 @@ tr983: goto _test_eof726 } st_case_726: -//line msg_parse.go:22144 +//line msg_parse.go:22146 if data[p] == 10 { goto tr988 } goto st0 tr988: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st727 st727: @@ -22154,7 +22156,7 @@ tr988: goto _test_eof727 } st_case_727: -//line msg_parse.go:22158 +//line msg_parse.go:22160 switch data[p] { case 9: goto st728 @@ -22237,7 +22239,7 @@ tr988: } goto st0 tr990: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -22247,7 +22249,7 @@ tr990: goto _test_eof728 } st_case_728: -//line msg_parse.go:22251 +//line msg_parse.go:22253 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -22324,7 +22326,7 @@ tr990: } goto st0 tr997: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -22334,7 +22336,7 @@ tr997: goto _test_eof733 } st_case_733: -//line msg_parse.go:22338 +//line msg_parse.go:22340 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -22357,7 +22359,7 @@ tr997: } goto st0 tr998: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -22367,7 +22369,7 @@ tr998: goto _test_eof734 } st_case_734: -//line msg_parse.go:22371 +//line msg_parse.go:22373 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -22388,17 +22390,17 @@ tr998: } goto st0 tr1008: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:130 +//line msg_parse.rl:132 msg.Allow = string(data[mark:p]) goto st735 tr1003: -//line msg_parse.rl:130 +//line msg_parse.rl:132 msg.Allow = string(data[mark:p]) @@ -22408,13 +22410,13 @@ tr1003: goto _test_eof735 } st_case_735: -//line msg_parse.go:22412 +//line msg_parse.go:22414 if data[p] == 10 { goto tr1004 } goto st0 tr1004: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st736 st736: @@ -22422,7 +22424,7 @@ tr1004: goto _test_eof736 } st_case_736: -//line msg_parse.go:22426 +//line msg_parse.go:22428 switch data[p] { case 9: goto st734 @@ -22505,11 +22507,11 @@ tr1004: } goto st0 tr1000: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:130 +//line msg_parse.rl:132 msg.Allow = string(data[mark:p]) @@ -22519,13 +22521,13 @@ tr1000: goto _test_eof737 } st_case_737: -//line msg_parse.go:22523 +//line msg_parse.go:22525 if data[p] == 10 { goto tr1005 } goto st0 tr1005: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st738 st738: @@ -22533,7 +22535,7 @@ tr1005: goto _test_eof738 } st_case_738: -//line msg_parse.go:22537 +//line msg_parse.go:22539 switch data[p] { case 9: goto st739 @@ -22616,7 +22618,7 @@ tr1005: } goto st0 tr1007: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -22626,7 +22628,7 @@ tr1007: goto _test_eof739 } st_case_739: -//line msg_parse.go:22630 +//line msg_parse.go:22632 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -22735,7 +22737,7 @@ tr1007: } goto st0 tr1016: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -22745,7 +22747,7 @@ tr1016: goto _test_eof747 } st_case_747: -//line msg_parse.go:22749 +//line msg_parse.go:22751 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -22768,7 +22770,7 @@ tr1016: } goto st0 tr1017: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -22778,7 +22780,7 @@ tr1017: goto _test_eof748 } st_case_748: -//line msg_parse.go:22782 +//line msg_parse.go:22784 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -22799,17 +22801,17 @@ tr1017: } goto st0 tr1027: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:134 +//line msg_parse.rl:136 msg.AllowEvents = string(data[mark:p]) goto st749 tr1022: -//line msg_parse.rl:134 +//line msg_parse.rl:136 msg.AllowEvents = string(data[mark:p]) @@ -22819,13 +22821,13 @@ tr1022: goto _test_eof749 } st_case_749: -//line msg_parse.go:22823 +//line msg_parse.go:22825 if data[p] == 10 { goto tr1023 } goto st0 tr1023: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st750 st750: @@ -22833,7 +22835,7 @@ tr1023: goto _test_eof750 } st_case_750: -//line msg_parse.go:22837 +//line msg_parse.go:22839 switch data[p] { case 9: goto st748 @@ -22916,11 +22918,11 @@ tr1023: } goto st0 tr1019: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:134 +//line msg_parse.rl:136 msg.AllowEvents = string(data[mark:p]) @@ -22930,13 +22932,13 @@ tr1019: goto _test_eof751 } st_case_751: -//line msg_parse.go:22934 +//line msg_parse.go:22936 if data[p] == 10 { goto tr1024 } goto st0 tr1024: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st752 st752: @@ -22944,7 +22946,7 @@ tr1024: goto _test_eof752 } st_case_752: -//line msg_parse.go:22948 +//line msg_parse.go:22950 switch data[p] { case 9: goto st753 @@ -23027,7 +23029,7 @@ tr1024: } goto st0 tr1026: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -23037,7 +23039,7 @@ tr1026: goto _test_eof753 } st_case_753: -//line msg_parse.go:23041 +//line msg_parse.go:23043 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -23279,7 +23281,7 @@ tr1026: } goto st0 tr1047: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -23289,7 +23291,7 @@ tr1047: goto _test_eof772 } st_case_772: -//line msg_parse.go:23293 +//line msg_parse.go:23295 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -23312,7 +23314,7 @@ tr1047: } goto st0 tr1048: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -23322,7 +23324,7 @@ tr1048: goto _test_eof773 } st_case_773: -//line msg_parse.go:23326 +//line msg_parse.go:23328 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -23343,17 +23345,17 @@ tr1048: } goto st0 tr1058: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:142 +//line msg_parse.rl:144 msg.AuthenticationInfo = string(data[mark:p]) goto st774 tr1053: -//line msg_parse.rl:142 +//line msg_parse.rl:144 msg.AuthenticationInfo = string(data[mark:p]) @@ -23363,13 +23365,13 @@ tr1053: goto _test_eof774 } st_case_774: -//line msg_parse.go:23367 +//line msg_parse.go:23369 if data[p] == 10 { goto tr1054 } goto st0 tr1054: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st775 st775: @@ -23377,7 +23379,7 @@ tr1054: goto _test_eof775 } st_case_775: -//line msg_parse.go:23381 +//line msg_parse.go:23383 switch data[p] { case 9: goto st773 @@ -23460,11 +23462,11 @@ tr1054: } goto st0 tr1050: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:142 +//line msg_parse.rl:144 msg.AuthenticationInfo = string(data[mark:p]) @@ -23474,13 +23476,13 @@ tr1050: goto _test_eof776 } st_case_776: -//line msg_parse.go:23478 +//line msg_parse.go:23480 if data[p] == 10 { goto tr1055 } goto st0 tr1055: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st777 st777: @@ -23488,7 +23490,7 @@ tr1055: goto _test_eof777 } st_case_777: -//line msg_parse.go:23492 +//line msg_parse.go:23494 switch data[p] { case 9: goto st778 @@ -23571,7 +23573,7 @@ tr1055: } goto st0 tr1057: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -23581,7 +23583,7 @@ tr1057: goto _test_eof778 } st_case_778: -//line msg_parse.go:23585 +//line msg_parse.go:23587 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -23714,7 +23716,7 @@ tr1057: } goto st0 tr1068: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -23724,7 +23726,7 @@ tr1068: goto _test_eof788 } st_case_788: -//line msg_parse.go:23728 +//line msg_parse.go:23730 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -23747,7 +23749,7 @@ tr1068: } goto st0 tr1069: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -23757,7 +23759,7 @@ tr1069: goto _test_eof789 } st_case_789: -//line msg_parse.go:23761 +//line msg_parse.go:23763 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -23778,17 +23780,17 @@ tr1069: } goto st0 tr1079: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:146 +//line msg_parse.rl:148 msg.Authorization = string(data[mark:p]) goto st790 tr1074: -//line msg_parse.rl:146 +//line msg_parse.rl:148 msg.Authorization = string(data[mark:p]) @@ -23798,13 +23800,13 @@ tr1074: goto _test_eof790 } st_case_790: -//line msg_parse.go:23802 +//line msg_parse.go:23804 if data[p] == 10 { goto tr1075 } goto st0 tr1075: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st791 st791: @@ -23812,7 +23814,7 @@ tr1075: goto _test_eof791 } st_case_791: -//line msg_parse.go:23816 +//line msg_parse.go:23818 switch data[p] { case 9: goto st789 @@ -23895,11 +23897,11 @@ tr1075: } goto st0 tr1071: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p -//line msg_parse.rl:146 +//line msg_parse.rl:148 msg.Authorization = string(data[mark:p]) @@ -23909,13 +23911,13 @@ tr1071: goto _test_eof792 } st_case_792: -//line msg_parse.go:23913 +//line msg_parse.go:23915 if data[p] == 10 { goto tr1076 } goto st0 tr1076: -//line msg_parse.rl:344 +//line msg_parse.rl:346 line++; linep = p; goto st793 st793: @@ -23923,7 +23925,7 @@ tr1076: goto _test_eof793 } st_case_793: -//line msg_parse.go:23927 +//line msg_parse.go:23929 switch data[p] { case 9: goto st794 @@ -24006,7 +24008,7 @@ tr1076: } goto st0 tr1078: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -24016,7 +24018,7 @@ tr1078: goto _test_eof794 } st_case_794: -//line msg_parse.go:24020 +//line msg_parse.go:24022 _widec = int16(data[p]) if 13 <= data[p] && data[p] <= 13 { _widec = 256 + (int16(data[p]) - 0) @@ -24039,7 +24041,7 @@ tr1078: } goto st0 tr2: -//line msg_parse.rl:47 +//line msg_parse.rl:49 mark = p @@ -24049,7 +24051,7 @@ tr2: goto _test_eof795 } st_case_795: -//line msg_parse.go:24053 +//line msg_parse.go:24055 switch data[p] { case 32: goto tr3 @@ -24176,7 +24178,7 @@ tr2: } goto st0 tr1083: -//line msg_parse.rl:82 +//line msg_parse.rl:84 msg.VersionMajor = msg.VersionMajor * 10 + (data[p] - 0x30) @@ -24186,7 +24188,7 @@ tr1083: goto _test_eof799 } st_case_799: -//line msg_parse.go:24190 +//line msg_parse.go:24192 if data[p] == 46 { goto st800 } @@ -24204,7 +24206,7 @@ tr1083: } goto st0 tr1085: -//line msg_parse.rl:86 +//line msg_parse.rl:88 msg.VersionMinor = msg.VersionMinor * 10 + (data[p] - 0x30) @@ -24214,7 +24216,7 @@ tr1085: goto _test_eof801 } st_case_801: -//line msg_parse.go:24218 +//line msg_parse.go:24220 if data[p] == 32 { goto st802 } @@ -24232,7 +24234,7 @@ tr1085: } goto st0 tr1087: -//line msg_parse.rl:95 +//line msg_parse.rl:97 msg.Status = msg.Status * 10 + (int(data[p]) - 0x30) @@ -24242,13 +24244,13 @@ tr1087: goto _test_eof803 } st_case_803: -//line msg_parse.go:24246 +//line msg_parse.go:24248 if 48 <= data[p] && data[p] <= 57 { goto tr1088 } goto st0 tr1088: -//line msg_parse.rl:95 +//line msg_parse.rl:97 msg.Status = msg.Status * 10 + (int(data[p]) - 0x30) @@ -24258,13 +24260,13 @@ tr1088: goto _test_eof804 } st_case_804: -//line msg_parse.go:24262 +//line msg_parse.go:24264 if 48 <= data[p] && data[p] <= 57 { goto tr1089 } goto st0 tr1089: -//line msg_parse.rl:95 +//line msg_parse.rl:97 msg.Status = msg.Status * 10 + (int(data[p]) - 0x30) @@ -24274,7 +24276,7 @@ tr1089: goto _test_eof805 } st_case_805: -//line msg_parse.go:24278 +//line msg_parse.go:24280 if data[p] == 32 { goto st806 } @@ -24324,25 +24326,25 @@ tr1089: } goto tr1091 tr1091: -//line msg_parse.rl:51 +//line msg_parse.rl:53 amt = 0 -//line msg_parse.rl:55 +//line msg_parse.rl:57 buf[amt] = data[p] amt++ goto st807 tr1093: -//line msg_parse.rl:55 +//line msg_parse.rl:57 buf[amt] = data[p] amt++ goto st807 tr1097: -//line msg_parse.rl:68 +//line msg_parse.rl:70 hex += unhex(data[p]) buf[amt] = hex @@ -24354,7 +24356,7 @@ tr1097: goto _test_eof807 } st_case_807: -//line msg_parse.go:24358 +//line msg_parse.go:24360 switch data[p] { case 13: goto tr1094 @@ -24397,7 +24399,7 @@ tr1097: } goto tr1093 tr1092: -//line msg_parse.rl:51 +//line msg_parse.rl:53 amt = 0 @@ -24407,7 +24409,7 @@ tr1092: goto _test_eof808 } st_case_808: -//line msg_parse.go:24411 +//line msg_parse.go:24413 switch { case data[p] < 65: if 48 <= data[p] && data[p] <= 57 { @@ -24422,7 +24424,7 @@ tr1092: } goto st0 tr1096: -//line msg_parse.rl:64 +//line msg_parse.rl:66 hex = unhex(data[p]) * 16 @@ -24432,7 +24434,7 @@ tr1096: goto _test_eof809 } st_case_809: -//line msg_parse.go:24436 +//line msg_parse.go:24438 switch { case data[p] < 65: if 48 <= data[p] && data[p] <= 57 { @@ -25261,7 +25263,7 @@ tr1096: _out: {} } -//line msg_parse.rl:466 +//line msg_parse.rl:468 if cs < msg_first_final { @@ -25276,7 +25278,13 @@ tr1096: if clen != len(data) - p { return nil, errors.New(fmt.Sprintf("Content-Length incorrect: %d != %d", clen, len(data) - p)) } - msg.Payload = string(data[p:len(data)]) + if ctype == sdp.ContentType { + ms, err := sdp.Parse(string(data[p:len(data)])) + if err != nil { return nil, err } + msg.Payload = ms + } else { + msg.Payload = &MiscPayload{T: ctype, D: data[p:len(data)]} + } } return msg, nil diff --git a/sip/msg_parse.rl b/sip/msg_parse.rl index f2ae2ba..7619a41 100644 --- a/sip/msg_parse.rl +++ b/sip/msg_parse.rl @@ -4,6 +4,7 @@ import ( // "bytes" "errors" "fmt" + "github.com/jart/gosip/sdp" ) %% machine msg; @@ -36,6 +37,7 @@ func ParseMsgBytes(data []byte) (msg *Msg, err error) { amt := 0 mark := 0 clen := 0 + ctype := "" // var b1 string var hex byte @@ -174,7 +176,7 @@ func ParseMsgBytes(data []byte) (msg *Msg, err error) { } action ContentType { - msg.ContentType = string(data[mark:p]) + ctype = string(data[mark:p]) } action CSeq { @@ -477,7 +479,13 @@ func ParseMsgBytes(data []byte) (msg *Msg, err error) { if clen != len(data) - p { return nil, errors.New(fmt.Sprintf("Content-Length incorrect: %d != %d", clen, len(data) - p)) } - msg.Payload = string(data[p:len(data)]) + if ctype == sdp.ContentType { + ms, err := sdp.Parse(string(data[p:len(data)])) + if err != nil { return nil, err } + msg.Payload = ms + } else { + msg.Payload = &MiscPayload{T: ctype, D: data[p:len(data)]} + } } return msg, nil diff --git a/sip/msg_test.go b/sip/msg_test.go index 93cc6e0..de27f16 100755 --- a/sip/msg_test.go +++ b/sip/msg_test.go @@ -87,7 +87,7 @@ var msgTests = []msgTest{ "Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH\r\n" + "Supported: replaces, timer\r\n" + "Contact: \r\n" + - "Content-Type: application/sdp\r\n" + + "Content-Type: application/sdp-lol\r\n" + "Content-Length: 255\r\n" + "\r\n" + "v=0\r\n" + @@ -149,19 +149,21 @@ var msgTests = []msgTest{ Port: 5060, }, }, - ContentType: "application/sdp", - Payload: "v=0\r\n" + - "o=root 736606944 736606944 IN IP4 127.0.0.1\r\n" + - "s=Asterisk PBX 10.11.1\r\n" + - "c=IN IP4 127.0.0.1\r\n" + - "t=0 0\r\n" + - "m=audio 23452 RTP/AVP 0 101\r\n" + - "a=rtpmap:0 PCMU/8000\r\n" + - "a=rtpmap:101 telephone-event/8000\r\n" + - "a=fmtp:101 0-16\r\n" + - "a=silenceSupp:off - - - -\r\n" + - "a=ptime:20\r\n" + - "a=sendrecv\r\n", + Payload: &sip.MiscPayload{ + T: "application/sdp-lol", + D: []byte("v=0\r\n" + + "o=root 736606944 736606944 IN IP4 127.0.0.1\r\n" + + "s=Asterisk PBX 10.11.1\r\n" + + "c=IN IP4 127.0.0.1\r\n" + + "t=0 0\r\n" + + "m=audio 23452 RTP/AVP 0 101\r\n" + + "a=rtpmap:0 PCMU/8000\r\n" + + "a=rtpmap:101 telephone-event/8000\r\n" + + "a=fmtp:101 0-16\r\n" + + "a=silenceSupp:off - - - -\r\n" + + "a=ptime:20\r\n" + + "a=sendrecv\r\n"), + }, }, }, @@ -175,7 +177,7 @@ var msgTests = []msgTest{ "Record-Route: \r\n" + "Record-Route: \r\n" + "Contact: \r\n" + - "Content-Type: application/sdp\r\n" + + "Content-Type: application/sdp-lol\r\n" + "Content-Length: 168\r\n" + "\r\n" + "v=0\r\n" + @@ -194,7 +196,6 @@ var msgTests = []msgTest{ CallID: "042736d4-0bd9-4681-ab86-7321443ff58a", CSeq: 31109, CSeqMethod: "INVITE", - ContentType: "application/sdp", Via: &sip.Via{ Version: "2.0", Proto: "UDP", @@ -242,15 +243,18 @@ var msgTests = []msgTest{ }, }, }, - Payload: "v=0\r\n" + - "o=- 24294 7759 IN IP4 4.55.22.66\r\n" + - "s=-\r\n" + - "c=IN IP4 4.55.22.66\r\n" + - "t=0 0\r\n" + - "m=audio 19580 RTP/AVP 0 101\r\n" + - "a=rtpmap:101 telephone-event/8000\r\n" + - "a=fmtp:101 0-15\r\n" + - "a=maxptime:20\r\n", + Payload: &sip.MiscPayload{ + T: "application/sdp-lol", + D: []byte("v=0\r\n" + + "o=- 24294 7759 IN IP4 4.55.22.66\r\n" + + "s=-\r\n" + + "c=IN IP4 4.55.22.66\r\n" + + "t=0 0\r\n" + + "m=audio 19580 RTP/AVP 0 101\r\n" + + "a=rtpmap:101 telephone-event/8000\r\n" + + "a=fmtp:101 0-15\r\n" + + "a=maxptime:20\r\n"), + }, }, }, @@ -270,7 +274,7 @@ var msgTests = []msgTest{ "Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, INFO\r\n" + "Supported: timer, 100rel\r\n" + "Allow-Events: talk\r\n" + - "Content-Type: application/sdp\r\n" + + "Content-Type: application/sdp-lol\r\n" + "Content-Disposition: session\r\n" + "Content-Length: 218\r\n" + "\r\n" + @@ -335,17 +339,19 @@ var msgTests = []msgTest{ AllowEvents: "talk", ContentDisposition: "session", Supported: "timer, 100rel", - ContentType: "application/sdp", - Payload: "v=0\r\n" + - "o=- 2862054018559638081 6057228511765453924 IN IP4 10.11.34.37\r\n" + - "s=-\r\n" + - "c=IN IP4 10.11.34.37\r\n" + - "t=0 0\r\n" + - "m=audio 23448 RTP/AVP 0 101\r\n" + - "a=rtpmap:0 PCMU/8000\r\n" + - "a=rtpmap:101 telephone-event/8000\r\n" + - "a=fmtp:101 0-16\r\n" + - "a=ptime:20\r\n", + Payload: &sip.MiscPayload{ + T: "application/sdp-lol", + D: []byte("v=0\r\n" + + "o=- 2862054018559638081 6057228511765453924 IN IP4 10.11.34.37\r\n" + + "s=-\r\n" + + "c=IN IP4 10.11.34.37\r\n" + + "t=0 0\r\n" + + "m=audio 23448 RTP/AVP 0 101\r\n" + + "a=rtpmap:0 PCMU/8000\r\n" + + "a=rtpmap:101 telephone-event/8000\r\n" + + "a=fmtp:101 0-16\r\n" + + "a=ptime:20\r\n"), + }, }, }, } diff --git a/sip/payload.go b/sip/payload.go new file mode 100644 index 0000000..6d04f89 --- /dev/null +++ b/sip/payload.go @@ -0,0 +1,19 @@ +package sip + +type Payload interface { + ContentType() string + Data() []byte +} + +type MiscPayload struct { + T string + D []byte +} + +func (p *MiscPayload) ContentType() string { + return p.T +} + +func (p *MiscPayload) Data() []byte { + return p.D +}