Commit graph

51 commits

Author SHA1 Message Date
George Kiagiadakis
6ab46d8f0a sdp: prevent the sdp message parser from reading past the end of the buffer
Otherwise, a malformed SDP message could crash the application,
or even maliciously gather data from the memory located after
this buffer...

https://bugzilla.gnome.org/show_bug.cgi?id=750096
2015-05-29 15:05:31 +02:00
Sebastian Dröge
cceb3303ab sdp: Add some more gobject-introspection annotations for bindings
https://bugzilla.gnome.org/show_bug.cgi?id=729123
2014-05-01 15:11:04 +02:00
Sebastian Dröge
05ed7d5ba7 sdpmessage: Add array length annotation to gst_sdp_message_parse_buffer
https://bugzilla.gnome.org/show_bug.cgi?id=729123
2014-04-29 09:54:38 +02:00
Tim-Philipp Müller
bcb8068e27 docs: remove outdated and pointless 'Last reviewed' lines from docs
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-26 23:28:57 +01:00
Vincent Penquerc'h
505c803765 sdpmessage: fix multi statement macros
Wasn't playing nice with an if statement below.

Coverity 1139767
2014-04-10 12:35:03 +01:00
Wim Taymans
4a81605d02 sdp: guard against address parse errors. 2014-04-08 15:59:47 +02:00
Sebastian Rasmussen
5b4f2ba20b docs: Fix argument and annotation typos
* colorbalance: Fix misspelled annotation
 * rtsp: Replace incorrectly documented function argument
 * sdp: Escape @ character to avoid gtk-doc warning
 * video-*: Add missing annotation colon
 * videodecoder/video-color: Fix function argument typos
 * videoutils: Remove unknown annotation field

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521
2014-03-02 23:22:51 +00:00
Aleix Conchillo Flaqué
7a7ae7d5f4 sdp: parse encryption key field
* gst-libs/gst/sdp/gstsdpmessage.c: parse encryption key field (k).

  https://bugzilla.gnome.org/show_bug.cgi?id=720215
2013-12-17 16:32:06 -05:00
Matthieu Bouron
a4996f133b sdp: fix duplicate 'const' declaration warnings
https://bugzilla.gnome.org/show_bug.cgi?id=711258
2013-11-01 15:27:45 +01:00
Wim Taymans
ea45653db9 sdp: fix docs 2013-09-21 15:17:54 +02:00
Wim Taymans
b708c85535 sdp: use setter for the bandwidth 2013-04-26 10:10:41 +02:00
Sebastian Rasmussen
f7e879aa18 sdp: Store a copy of the bandwidth string
Otherwise we will free a string later that does not belong to us.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=698888
2013-04-26 08:41:12 +02:00
Wim Taymans
2de35e630c sdp: don't leak the temp buffer 2013-04-24 14:12:20 +02:00
Wim Taymans
8a5efb0014 sdp: NULL terminate the time array 2013-04-24 14:11:49 +02:00
Wim Taymans
85debdcf05 sdp: add more functions to modify the sdp message
Add functions to insert, replace and remove various sdp message fields
and structures.

See: https://bugzilla.gnome.org/show_bug.cgi?id=698558
2013-04-24 13:47:47 +02:00
Wim Taymans
04d5dafa71 sdp: dynamically allocate buffers
Remove the static maximum buffer size and replace with dynamic allocation of as
much bytes as needed. Also avoids doing large allocations on the stack.
2013-04-15 15:37:17 +02:00
Wim Taymans
83a877daf6 sdp: add Since markers 2013-04-15 14:27:47 +02:00
Jose Antonio Santos Cadenas
ba1e693853 sdp: add boxed type for GstSDPMessage
Also added some tests of this improvement.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697808
2013-04-15 14:27:47 +02:00
Jose Antonio Santos Cadenas
a83f96d988 sdp: Set session as permanent (t=0 0) if there is no time information
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697277
2013-04-05 09:52:10 +02:00
Jose Antonio Santos Cadenas
0940dae793 sdp: Do not assign -1 to an unsigned variable, use 0 instead
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697162
2013-04-03 09:53:22 +02:00
Jose Antonio Santos Cadenas
83468609d8 sdp: If attribute value is emply do not print colon character
See https://bugzilla.gnome.org/show_bug.cgi?id=697162
2013-04-03 09:52:54 +02:00
Jose Antonio Santos Cadenas
27abdf51bf sdp: Do not add email line by default
As specified in rfc4566 email line is optional

See https://bugzilla.gnome.org/show_bug.cgi?id=697162
2013-04-03 09:49:18 +02:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Evan Nemerson
abcba2d0d7 sdpmessage: add some missing introspection annotations 2012-07-17 11:10:43 +02:00
Edward Hervey
2817bdadc9 libs: Remove "Since" markers and minor doc fixups 2012-07-13 12:11:06 +02:00
Sebastian Dröge
cfa7083e94 sdp: Port to GIO for multicast address detection 2012-01-17 13:27:05 +01:00
Stefan Kost
01bbdd6bdf docs: handle warnings emitted by gtk-doc
This is useful and in most cases someone had put arbitrary markup into the docs,
misspelled xref'ed symbols, forgot to add stuff to the docs etc..
2011-08-20 19:16:42 +02:00
Wim Taymans
626af33160 sdp: only parse TTL for IP4 addresses
Only IP4 addresses can have a TTL in the address.
2010-12-02 19:09:11 +01:00
Wim Taymans
e0d4a48ae7 sdp: add method to check for multicast addresses
Expose a previously internal method to check for multicast addresses.

See #634093
2010-12-02 19:09:11 +01:00
Sebastian Dröge
0cb380e710 sdp: Fix ACCEPTABLE_CHAR() macro to work with signed and unsigned chars 2010-09-17 11:46:05 +02:00
Sebastian Dröge
3328f89c49 Revert "sdp: Remove useless check in macro"
This reverts commit e6a041b69f.

It's not a useless check, the signedness of "char" and "gchar" is
defined by the ABI.
2010-09-17 11:44:29 +02:00
Edward Hervey
e6a041b69f sdp: Remove useless check in macro
A signed char is always < 128. Fixes a warning on macosx build.
2010-09-17 10:43:04 +02:00
Wim Taymans
94b3f3d517 sdp: remove leftover g_print 2010-09-10 18:42:16 +02:00
Wim Taymans
f5cbb6047f sdp: add methods to convert between uri and message
Add methods to convert between uri and sdpmessages, loosly based on
http://tools.ietf.org/html/draft-fujikawa-sdp-url-01

API: GstSDPMessage::gst_sdp_message_parse_uri
API: GstSDPMessage::gst_sdp_message_as_uri
2010-09-10 17:58:53 +02:00
Benjamin Otte
5e21fa5e0e gst_element_class_set_details => gst_element_class_set_details_simple
Also change my email from the old university one to the current one.
2010-03-16 17:41:50 +01:00
Peter Kjellerstedt
8927dbc98b sdp: Include winsock2.h after defining WINVER.
Similar to bug #587080.
2009-06-29 09:36:27 +02:00
Peter Kjellerstedt
e69c3a4f70 sdp: Remove an unused variable. 2009-06-01 09:43:04 +02:00
Tero Saarni
2f96504ff9 gst-libs/gst/sdp/gstsdpmessage.c: Fix parsing of the c= field containing multicast addresses.
Original commit message from CVS:
Based on Patch by: Tero Saarni <tero dot saarni at gmail dot com>
* gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_parse_line),
(print_media), (gst_sdp_message_dump):
Fix parsing of the c= field containing multicast addresses.
Fixes #552199.
Add the connection info to the session or streams.
Fix parsing of the bandwidth.
Add debugging for the connections and bandwidths for a media.
Add debugging for the bandwidth of the session.
2008-10-06 16:36:20 +00:00
Damien Lespiau
d76e33616c gst-libs/gst/sdp/gstsdpmessage.c: Use GST_STR_NULL to avoid crashes with libcs that don't like NULL strings in printf...
Original commit message from CVS:
Patch by: Damien Lespiau  <damien.lespiau gmail com>
* gst-libs/gst/sdp/gstsdpmessage.c: (print_media):
Use GST_STR_NULL to avoid crashes with libcs that don't
like NULL strings in printf args (such as the win32 one).
Fixes #544306.
2008-07-23 13:17:31 +00:00
Damien Lespiau
c3e1de9033 gst-libs/gst/sdp/gstsdpmessage.c: Makes libgstsdp compile with mingw32 by defining the right WINVER so that getaddrin...
Original commit message from CVS:
Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
* gst-libs/gst/sdp/gstsdpmessage.c:
Makes libgstsdp compile with mingw32 by defining the right WINVER so
that getaddrinfo() can be used. Fixes #541358.
2008-07-03 09:12:49 +00:00
Wim Taymans
6d1fdf60a3 gst-libs/gst/sdp/gstsdpmessage.c: Use GST_STR_NULL when trying to print strings that could be NULL because this might...
Original commit message from CVS:
* gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_message_dump):
Use GST_STR_NULL when trying to print strings that could be NULL because
this might crash on some platforms. See #520808.
2008-03-18 11:20:05 +00:00
Peter Kjellerstedt
ed373d3072 gst-libs/gst/sdp/gstsdpmessage.c: Clear the addrinfo struct using memset. Fixes #514937.
Original commit message from CVS:
Patch by: Peter Kjellerstedt  <pkj at axis com>
* gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address):
Clear the addrinfo struct using memset. Fixes #514937.
2008-02-07 11:00:45 +00:00
Sébastien Moutte
db4d879623 gst-libs/gst/sdp/gstsdpmessage.c: Include Winsock2.h for VS6 and use a different way initialize hints structure so it...
Original commit message from CVS:
* gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address):
Include Winsock2.h for VS6 and use a different way initialize
hints structure so it can build with VS6.
* win32/MANIFEST:
* win32/vs6/libgstsdp.dsp:
* win32/common/libgstsdp.def:
Add new files for libgstsdp.
* win32/vs6/grammar.dsp:
Copy pbutils-enumtypes* from win32/common to pbutils sources folder.
* win32/vs6/gst_plugins_base.dsw:
* win32/vs6/libgstdecodebin.dsp:
* win32/vs6/libgstdecodebin2.dsp:
* win32/vs6/libgstplaybin.dsp:
* win32/vs6/libgstvolume.dsp:
Add new dependencies to the link list.
2008-01-13 21:40:45 +00:00
Joe Peterson
bd8885220e gst-libs/gst/sdp/gstsdpmessage.c: Fix compilation on FreeBSD (Gentoo). Fixes #498228.
Original commit message from CVS:
Patch by: Joe Peterson <lavajoe at gentoo dot org>
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix compilation on FreeBSD (Gentoo). Fixes #498228.
2007-11-20 07:53:56 +00:00
Vincent Torri
be04e7c294 gst-libs/gst/fft/: Include our own _stdint.h instead of sys/types.h, makes MingW happy (#492306).
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry dot fr>
* gst-libs/gst/fft/kiss_fft_s16.h: (KISS_FFT_S16_MALLOC):
* gst-libs/gst/fft/kiss_fft_s32.h: (KISS_FFT_S32_MALLOC):
Include our own _stdint.h instead of sys/types.h, makes MingW happy
(#492306).
* gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_create):
Use _pipe directly, GLib doesn't have a pipe() macro any longer
(it disappeared in GLib 2.14.0) (#492306).
* gst-libs/gst/sdp/Makefile.am:
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix includes and LIBS for win32/Mingw (#492306).
* tests/examples/dynamic/addstream.c (pause_play_stream):
Use more portable g_usleep() instead of sleep() (#492306).
2007-11-01 13:28:59 +00:00
Stefan Kost
ffa52e2eac Fix the docs according to what gtk-doc complained about.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/interfaces/mixer.h:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertpdepayload.h:
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix the docs according to what gtk-doc complained about.
2007-10-30 20:32:14 +00:00
Wim Taymans
7cdfb6d154 gst-libs/gst/rtp/: Added new file and header to deal with payload info.
Original commit message from CVS:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_pt),
(gst_rtp_payload_info_for_name):
* gst-libs/gst/rtp/gstrtppayloads.h:
Added new file and header to deal with payload info.
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data),
(gst_rtp_buffer_default_clock_rate):
* gst-libs/gst/rtp/gstrtpbuffer.h:
Payload specific stuff is move to new headers.
Implement _default_clock rate using the new payload function.
* gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address),
(gst_sdp_parse_line):
* gst-libs/gst/sdp/gstsdpmessage.h:
Add some more comments.
2007-10-01 13:22:14 +00:00
Peter Kjellerstedt
f149134834 gst-libs/gst/sdp/gstsdpmessage.*: Separate INIT_ARRAY() and related macros into two versions, one for structures and ...
Original commit message from CVS:
Patch by: Peter Kjellerstedt  <pkj at axis com>
* gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_time_init),
(gst_sdp_message_init), (gst_sdp_message_uninit),
(is_multicast_address), (gst_sdp_message_as_text),
(gst_sdp_message_get_origin), (gst_sdp_message_set_connection),
(gst_sdp_message_get_connection), (gst_sdp_message_add_bandwidth),
(gst_sdp_message_add_time), (gst_sdp_message_add_zone),
(gst_sdp_message_get_key), (gst_sdp_message_get_attribute_val_n),
(gst_sdp_message_get_attribute_val), (gst_sdp_message_add_media),
(gst_sdp_media_init), (gst_sdp_media_uninit),
(gst_sdp_media_as_text), (gst_sdp_media_set_port_info),
(gst_sdp_media_connections_len), (gst_sdp_media_add_connection),
(gst_sdp_media_bandwidths_len), (gst_sdp_media_get_bandwidth),
(gst_sdp_media_add_bandwidth), (gst_sdp_media_attributes_len),
(gst_sdp_parse_line), (print_media), (gst_sdp_message_dump):
* gst-libs/gst/sdp/gstsdpmessage.h:
Separate INIT_ARRAY() and related macros into two versions, one for
structures and one for pointers (e.g., INIT_ARRAY() and
INIT_PTR_ARRAY()). This fixes a segmentation error on freeing the
lists of emails and phone numbers.
Add missing const as appropriate.
Change all gint to guint since they all actually represent unsigned
values.
Do not use time as a variable name as it shadows the global time().
Add gst_sdp_message_as_text() and gst_sdp_media_as_text().
Actually implement gst_sdp_message_add_time().
Make gst_sdp_message_add_time() take repeat times as an argument.
Store repeat times in GstSDPTime as a GArray rather than as gchar**.
Corrected the definition of gst_sdp_media_get_bandwidth() (was
misspelled as badwidth).
gst-indented and a little clean up. Fixes #471067.
2007-09-05 23:07:40 +00:00
Wim Taymans
8db50d49f7 gst-libs/gst/sdp/gstsdpmessage.*: Constify args where we can.
Original commit message from CVS:
* gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_media_get_media),
(gst_sdp_media_get_port), (gst_sdp_media_get_num_ports),
(gst_sdp_media_get_proto), (gst_sdp_media_formats_len),
(gst_sdp_media_get_format), (gst_sdp_media_get_information),
(gst_sdp_media_connections_len), (gst_sdp_media_get_connection),
(gst_sdp_media_bandwidths_len), (gst_sdp_media_get_badwidth),
(gst_sdp_media_get_key), (gst_sdp_media_attributes_len),
(gst_sdp_media_get_attribute), (gst_sdp_media_get_attribute_val_n),
(gst_sdp_media_get_attribute_val):
* gst-libs/gst/sdp/gstsdpmessage.h:
Constify args where we can.
2007-07-25 18:20:36 +00:00
Wim Taymans
ee42361c89 Document the SDP library.
Original commit message from CVS:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/sdp/gstsdp.h:
* gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_message_set_origin),
(gst_sdp_message_set_connection), (gst_sdp_message_add_bandwidth),
(gst_sdp_message_add_time), (gst_sdp_message_add_zone),
(gst_sdp_message_set_key), (gst_sdp_message_get_attribute_val_n),
(gst_sdp_message_get_attribute_val),
(gst_sdp_message_add_attribute), (gst_sdp_media_new),
(gst_sdp_media_init), (gst_sdp_media_uninit), (gst_sdp_media_free),
(gst_sdp_media_get_media), (gst_sdp_media_set_media),
(gst_sdp_media_get_port), (gst_sdp_media_get_num_ports),
(gst_sdp_media_set_port_info), (gst_sdp_media_get_proto),
(gst_sdp_media_set_proto), (gst_sdp_media_formats_len),
(gst_sdp_media_get_format), (gst_sdp_media_add_format),
(gst_sdp_media_get_information), (gst_sdp_media_set_information),
(gst_sdp_media_connections_len), (gst_sdp_media_get_connection),
(gst_sdp_media_add_connection), (gst_sdp_media_bandwidths_len),
(gst_sdp_media_get_badwidth), (gst_sdp_media_add_bandwidth),
(gst_sdp_media_set_key), (gst_sdp_media_get_key),
(gst_sdp_media_attributes_len), (gst_sdp_media_add_attribute),
(gst_sdp_media_get_attribute_val_n),
(gst_sdp_media_get_attribute_val), (gst_sdp_message_parse_buffer),
(print_media), (gst_sdp_message_dump):
* gst-libs/gst/sdp/gstsdpmessage.h:
Document the SDP library.
Add some of the missing SDPMedia methods.
2007-07-24 17:37:03 +00:00