diff --git a/header.go b/header.go index 787648f0..c3f4d081 100644 --- a/header.go +++ b/header.go @@ -8,8 +8,8 @@ import ( const ( _MAX_HEADER_COUNT = 255 - _MAX_HEADER_KEY_LENGTH = 255 - _MAX_HEADER_VALUE_LENGTH = 255 + _MAX_HEADER_KEY_LENGTH = 1024 + _MAX_HEADER_VALUE_LENGTH = 1024 ) // Header is a RTSP reader, present in both Requests and Responses. diff --git a/request.go b/request.go index 5d847a81..96819e55 100644 --- a/request.go +++ b/request.go @@ -5,6 +5,12 @@ import ( "fmt" ) +const ( + _MAX_METHOD_LENGTH = 128 + _MAX_PATH_LENGTH = 1024 + _MAX_PROTOCOL_LENGTH = 128 +) + // Request is a RTSP request. type Request struct { Method string @@ -16,7 +22,7 @@ type Request struct { func readRequest(br *bufio.Reader) (*Request, error) { req := &Request{} - byts, err := readBytesLimited(br, ' ', 255) + byts, err := readBytesLimited(br, ' ', _MAX_METHOD_LENGTH) if err != nil { return nil, err } @@ -26,17 +32,17 @@ func readRequest(br *bufio.Reader) (*Request, error) { return nil, fmt.Errorf("empty method") } - byts, err = readBytesLimited(br, ' ', 255) + byts, err = readBytesLimited(br, ' ', _MAX_PATH_LENGTH) if err != nil { return nil, err } req.Url = string(byts[:len(byts)-1]) if len(req.Url) == 0 { - return nil, fmt.Errorf("empty path") + return nil, fmt.Errorf("empty url") } - byts, err = readBytesLimited(br, '\r', 255) + byts, err = readBytesLimited(br, '\r', _MAX_PROTOCOL_LENGTH) if err != nil { return nil, err }