Commit graph

60 commits

Author SHA1 Message Date
Antonio Ospite
53d7a1298c pcapparse: bail out in case of fragmented packets
pcapparse cannot parse fragmented IP packets correctly, in particular it
will get confused when trying to parsing fragments as standalone frames
in two ways:

  1. the first fragment will have the packet length greater than the
     frame size and will always be discarded;

  2. fragments with non-zero offsets will be interpreted as full packets
     and the first part of their raw payload data will be parsed as the
     transport protocol header, resulting in bogus values for addresses
     and ports, thus evading the properties filtering on those values.

This can make it difficult for users to see why the data does not get
downstream.

So be more explicit and just bail out when fragmented packets are
encountered.

https://bugzilla.gnome.org/show_bug.cgi?id=795284
2018-04-16 11:22:27 +03:00
Antonio Ospite
a4df5132bc pcapparse: add some comments about the pcap format headers
Since the code is full of magic add at least some guidance for newbies.

https://bugzilla.gnome.org/show_bug.cgi?id=795284
2018-04-16 11:22:27 +03:00
Aaron Boxer
27c04cf912 pcapparse: support vlan 802.1q
https://bugzilla.gnome.org/show_bug.cgi?id=785778
2017-08-09 09:52:12 +03:00
Aaron Boxer
111921ae70 pcapparse: Support pcap with nanosecond timestamps
https://bugzilla.gnome.org/show_bug.cgi?id=785770
2017-08-09 09:51:18 +03:00
Wim Taymans
f28ab7ce60 pcapparse: endianness fix
Also swap the linktype after we detected that we need to do
byteswapping. Fixes a problem with reading pcap files generated
on a machine with different endianness.
2017-06-01 16:00:50 +02:00
Tim-Philipp Müller
80d66dfec8 Fix up package name and origin in some plugins 2017-05-18 10:58:20 +01:00
Nicolas Dufresne
4261692187 Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:05:52 -04:00
Thibault Saunier
78022a6e0c docs: Port all docstring to gtk-doc markdown 2017-04-12 12:57:57 -03:00
Nirbheek Chauhan
42af2d66d8 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:35:54 +01:00
Vineeth TM
8cdfb13658 bad: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Tim-Philipp Müller
9a20a7c77b pcapparse: don't crash on 0-sized packets
https://bugzilla.gnome.org/show_bug.cgi?id=756573
2015-12-23 23:14:17 +00:00
Paolo Pettinato
ce67e8934d pcapparse: Forward FLUSH_STOP events downstream too
https://bugzilla.gnome.org/show_bug.cgi?id=758913
2015-12-01 20:03:29 +02:00
Luis de Bethencourt
49ccb72b47 docs: update gst-launch-0.10 lines
Update references to gst-launch-0.10 to gst-launch-1.0
2015-11-19 17:25:01 +00:00
Jan Schmidt
e990e75e1e pcapparse: Hook up the recently added change_state vfunc.
The state change function was implemented, but not installed,
making the compiler complain about the unused function.
2015-09-18 00:29:51 +10:00
Olivier Crête
cf1d116b19 pcapparse: Reset state on flush and state changes
https://bugzilla.gnome.org/show_bug.cgi?id=753152
2015-08-31 14:42:27 -04:00
Nicolas Dufresne
3757e507f3 pcapparse: Segment should start at base ts
Instead we would use cur_ts which matches the last TS store
in the buffer list.

https://bugzilla.gnome.org/show_bug.cgi?id=753037
2015-08-05 14:54:05 -04:00
Tim-Philipp Müller
f17899a55c pcapparse: fix another regression
Introduced by c4c9fe60b pcapparse: Take buffer directly from the adapter

Using gst_adapter_take_buffer_fast() can lead to buffers that are
made up of multiple memories with the first memory smaller than the
RTP header size, which violates assumptions GstRtpBaseDepayloader
makes, namely that the complete RTP header will be in the first
memory. This leads to such packets being dropped when feeding
them from pcapparse to RTP depayloaders. Use take_buffer() so
we get buffers with a single memory.
2015-07-03 10:30:22 +01:00
Tim-Philipp Müller
aec19c1053 pcapparse: fix regression when handling packets with eth padding
Introduced by c4c9fe60b pcapparse: Take buffer directly from the adapter

Flush any trailing bytes after the payload from the adapter as well,
otherwise we'll read a bogus packet size from the adapter next and
then everything goes downhill from there.

https://bugzilla.gnome.org/show_bug.cgi?id=751879
2015-07-03 10:25:15 +01:00
Tim-Philipp Müller
794c647f59 irtspparse: reflow code to avoid uninitialized variable warning
This should hopefully allow even the most challenged static
code analyzer to figure out that it's all fine. Also makes
the flow clearer.

https://bugzilla.gnome.org/show_bug.cgi?id=751305
2015-06-22 10:51:00 +01:00
Tim-Philipp Müller
699452ef31 Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 18:59:32 +01:00
Luis de Bethencourt
c944093d08 remove unused enum items PROP_LAST
This were probably added to the enums due to cargo cult programming and are
unused.
2015-04-24 16:48:26 +01:00
Olivier Crête
c4c9fe60b6 pcapparse: Take buffer directly from the adapter
No need to make a copy into a new buffer, just take the data
from the adapter.
2015-04-10 20:27:15 -04:00
Olivier Crête
a2b093af47 pcapparse: Produce GstBufferList 2015-04-10 20:27:15 -04:00
David Woodhouse
684d041896 pcapparse: Add support for LINKTYPE_RAW
Also, strictly speaking, these numbers aren't DLT_*; they are LINKTYPE_* because
libpcap translates from internal OS-specific DLT_ numbering to the portable
LINKTYPE_ number space when writing files.

https://bugzilla.gnome.org/show_bug.cgi?id=738206
2014-10-09 12:46:10 -04:00
Zaheer Abbas Merali
131c263248 pcapparse: Remove unneeded unref and only set pad caps if we have caps
Fixes crashes due to invalid unrefs.

https://bugzilla.gnome.org/show_bug.cgi?id=705957
2013-08-14 10:48:26 +02:00
Sebastian Dröge
e51cd4fe2f gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
Tim-Philipp Müller
9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Tim-Philipp Müller
32ba17cd0f Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Mark Nauwelaerts
578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00
Tim-Philipp Müller
b87f7345db Add WINSOCK2_LIBS, remove WIN32_LIBS, fix rtmp build on Windows some more
One way of passing -lws2_32 to plugins should be enough..
2012-05-05 18:20:33 +01:00
Sebastian Dröge
cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Mark Nauwelaerts
ea6a192b13 pcapparse: adjust to modified baseparse API 2012-02-13 18:42:53 +01:00
Mark Nauwelaerts
9dc7571c75 port some more to new memory API 2012-01-25 16:22:09 +01:00
Mark Nauwelaerts
3f3a21ef49 pcapparse: port to 0.11 2012-01-16 22:52:13 +01:00
Mark Nauwelaerts
0d088c7eb1 irtspparse: port to 0.11 2012-01-16 22:51:59 +01:00
Mark Nauwelaerts
e615cf15a9 irtspparse: add Interleaved RTSP parser element 2011-09-26 12:20:35 +02:00
Tim-Philipp Müller
e910e2888b pcapparse: fix compiler warning
gstpcapparse.c: In function 'gst_pcap_parse_chain':
gstpcapparse.c:381:6: error: 'eth_type' may be used uninitialized in this function [-Werror=uninitialized]
gstpcapparse.c:354:11: note: 'eth_type' was declared here
2011-07-27 10:56:15 +01:00
Felipe Contreras
046af98b30 pcapparse: fix SLL parsing
The current code is not checking for ethernet type, as it's supposed to,
but link layer device type and it's hard-coded to only accept dumps from
ethernet (ARPHRD_ETHER; 1). We don't care where the dump was fetched
from (wlan, 3G, etc.)

What we care about is the that the ethernet type is IP (ETHERNET_IP;
0x800), which is clearly field 14:

http://www.tcpdump.org/pcap3_man.html

And do a bit of cleanup.

Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-07-27 09:30:44 +02:00
Sebastian Dröge
beea027d19 pcapparse: Fix format string compiler warning 2011-07-19 08:37:24 +02:00
Mark Nauwelaerts
01cf66b642 pcapparse: rename offset property to ts-offset
... so as to promote consistency with some other elements in the wild.
2011-07-15 10:05:24 +02:00
Mark Nauwelaerts
592d7cbc15 pcapparse: properly apply ts offset 2011-07-14 17:07:04 +02:00
Mark Nauwelaerts
671a9faad6 pcapparse: optionally output relative timestamps, possibly shifted by offset
That is, output timestamps can then either be the absolute capture time,
or the relative capture time (w.r.t. to first output buffer), or the relative
capture time incremented by some offset.
2011-07-14 16:54:39 +02:00
Mark Nauwelaerts
93af6831e2 pcapparse: also support extracting tcp data 2011-07-14 16:54:37 +02:00
Olivier Crête
c1f432ee18 pcapparse: Fix set-but-unused warnings 2011-07-12 17:57:45 -04:00
Thibault Saunier
17fd7ebcb4 android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:27:11 +02:00
Alessandro Decina
aae72680bd Fix compiler warnings with gcc 4.2.1 on OSX. 2010-12-01 23:20:36 +01:00
Olivier Crête
7ad651c3ff pcapparse: Add support for Linux Cooked Capture (SLL) frames 2010-11-03 18:50:51 -04:00
Olivier Crête
16ec12371a pcapparse: Fail on unknown version or linktype
The element only knows about major version 2 and only decodes linktype ethernet
2010-11-03 18:23:27 -04:00
Olivier Crête
ec16c22f54 pcapparse: Send error GstMessage if stream doesn't have the expected magic 2010-11-03 18:02:49 -04:00
Stefan Kost
0c22e1b954 various (gst): add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed.
2010-10-19 15:47:17 +03:00