From f12fb76f70cbc7ecb088fa9ca00b33b3079c9d8e Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Fri, 1 Jun 2007 13:07:11 +0000 Subject: gst/rtsp/: Improves version checking, allowing an RTSP server to reply with "505 Original commit message from CVS: Patch by: Peter Kjellerstedt * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_connect), (add_date_header), (rtsp_connection_send), (parse_response_status), (parse_request_line), (parse_line), (rtsp_connection_receive): * gst/rtsp/rtspdefs.c: (rtsp_version_as_text): * gst/rtsp/rtspdefs.h: * gst/rtsp/rtspmessage.c: (key_value_foreach), (rtsp_message_init_request), (rtsp_message_init_response), (rtsp_message_remove_header), (rtsp_message_append_headers), (rtsp_message_dump): * gst/rtsp/rtspmessage.h: Improves version checking, allowing an RTSP server to reply with "505 RTSP Version not supported. Adds a Date header to all messages. Replies with RTSP_EPARSE rather than RTSP_EINVALID in cases where we want to be able to send a response even if something in the request was invalid. EINVAL is only used when passing wrong arguments to functions. Do not handle an invalid method in parse_request_line(). Defer this to the caller so it can respond with "405 Method Not Allowed". Improves parsing of the timeout parameter to the Session header, allowing whitespace after the semicolon. Avoids a compiler warning due to variables shadowing a function argument. --- gst/rtsp/rtspmessage.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gst/rtsp/rtspmessage.h') diff --git a/gst/rtsp/rtspmessage.h b/gst/rtsp/rtspmessage.h index 2c099f17..15d173c3 100644 --- a/gst/rtsp/rtspmessage.h +++ b/gst/rtsp/rtspmessage.h @@ -65,10 +65,12 @@ typedef struct _RTSPMessage struct { RTSPMethod method; gchar *uri; + RTSPVersion version; } request; struct { RTSPStatusCode code; gchar *reason; + RTSPVersion version; } response; struct { guint8 channel; -- cgit