aboutsummaryrefslogtreecommitdiffstats
path: root/extcap.c
AgeCommit message (Collapse)AuthorFilesLines
2020-02-01extcap: Check for valid PID before killing child processMikael Kanstrup1-1/+4
If an extcap tool fails to start or the tool exits unexpectedly Wireshark will try to kill PID -1. This has very unexpected results on Linux, like bringing down the whole window manager. Make sure it's a valid PID before killing the extcap child process. Bug: 16362 Change-Id: I58c0cb409fec3f35d3c76d841e2430a2f8742301 Fixes: v3.3.0rc0-461-g8efde39805 ("extcap: terminate the child process using kill.") Reviewed-on: https://code.wireshark.org/review/35998 Reviewed-by: Pascal Quantin <pascal@wireshark.org> Petri-Dish: Pascal Quantin <pascal@wireshark.org> Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Dario Lombardo <lomato@gmail.com> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2020-01-29extcap: terminate the child process using kill.Anders Esbensen1-0/+4
On linux and osx extcap would potentially leave the external dumper process running after stopping the capture. With this change the child process will receive a TERM signal when the capture stops. Change-Id: I2681a26509c90696c98c7615fbab172604ce6e31 Reviewed-on: https://code.wireshark.org/review/35959 Reviewed-by: Dario Lombardo <lomato@gmail.com> Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-12-20Use g_file_open_tmp within create_tempfileMichael Mann1-3/+6
Much better to use a known library than create it ourselves. Also remove get_tempfile_path as it's not used. Bug: 15992 Change-Id: I17b9bd879e8bdb540f79db83c6c138f8ee724764 Reviewed-on: https://code.wireshark.org/review/34420 Reviewed-by: Tomasz Moń <desowin@gmail.com> Petri-Dish: Tomasz Moń <desowin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2019-12-19extcap: fix use-after-free bug.Dario Lombardo1-2/+1
Regression introduced in g1cd1e36. Change-Id: I85775ef86d9325d4f5bf811a5f52925a2cf0d387 Reviewed-on: https://code.wireshark.org/review/35503 Petri-Dish: Tomasz Moń <desowin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Tomasz Moń <desowin@gmail.com>
2019-12-15extcap: remove potential leak.Dario Lombardo1-3/+11
Found by clang. Change-Id: I84359a2f7985bca8b0089200b3c37d04e06effe2 Reviewed-on: https://code.wireshark.org/review/35354 Petri-Dish: Tomasz Moń <desowin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Tomasz Moń <desowin@gmail.com>
2019-12-10Revert "extcap: Pass --extcap-version if extcap supports it"Gerald Combs1-60/+15
This reverts commit 9910d8c913d2a1874c7f98ef3bf3ad2921dd67e4. Reasons for revert: - We need to improve the reliability of extcap-version=x.y detection. - WSDG_chapter_capture.adoc needs to be more clear about extcap-version=x.y support. - Our extcap utilities need to be updated. Change-Id: Ic8dd2018489f5ec03c35b18e6b09faf69defd59b Reviewed-on: https://code.wireshark.org/review/35393 Reviewed-by: Rafał Kuźnia <rafal.kuznia@protonmail.com> Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2019-12-10extcap: Pass --extcap-version if extcap supports itRafał Kuźnia1-15/+60
This change makes the --extcap-version argument to be passed to the extcap script, if it is supported. If the extcap fails with --extcap-version argument, it is treated as legacy and will not receive the additional argument in all subsequent runs. Change-Id: I279aa38d9f39ed85ccb84ba2c09dd93a0492ca51 Reviewed-on: https://code.wireshark.org/review/34914 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-06extcap: Fix memory leak in extcap_get_extcap_pathsVasil Velichkov1-1/+4
The path returned by get_persconffile_path needs to be freed. Direct leak of 64 byte(s) in 1 object(s) allocated from: #0 0x5653e6c98e06 in realloc (/home/vasko/sources/wireshark/build_clang/run/wireshark+0x2486e06) #1 0x7f5b697f2e7d in g_realloc gmem.c:164:16 #2 0x7f5b69810016 in g_string_maybe_expand gstring.c:102:21 #3 0x7f5b69810369 gstring.c:476:7 #4 0x7f5b69810369 in g_string_insert_len gstring.c:424:1 #5 0x7f5b697d808d in g_build_path_va gfileutils.c:1766:7 #6 0x7f5b697d9518 in g_build_filename_va gfileutils.c:1987:9 #7 0x7f5b697d9518 in g_build_filename gfileutils.c:2069:9 #8 0x7f5b69bd0c28 in get_persconffile_path /home/vasko/sources/wireshark/wsutil/filesystem.c:1856:12 #9 0x5653e8825f82 in extcap_get_extcap_paths /home/vasko/sources/wireshark/extcap.c:258:53 #10 0x5653e8825f82 in extcap_run_all /home/vasko/sources/wireshark/extcap.c:449 #11 0x5653e8825f82 in extcap_load_interface_list /home/vasko/sources/wireshark/extcap.c:2024 #12 0x5653e7775356 in main /home/vasko/sources/wireshark/ui/qt/main.cpp:726:5 Change-Id: I275d0ad6f06fbf3222c2d4ebef7f3079073404a0 Reviewed-on: https://code.wireshark.org/review/34994 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2019-11-05extcap: Allow loading of extcap files from personal directoryRoland Knall1-10/+25
Allow the storage of extcap plugins in the personal directory and enable loading from there. It will also take precedence of any system-wide extcaps with an identical name Change-Id: Ib88e09a26c4f99cf5e793327f2808c7445c6b1b5 Reviewed-on: https://code.wireshark.org/review/34988 Reviewed-by: Roland Knall <rknall@gmail.com>
2019-10-27extcap: Do not append disabled boolflagsTomasz Moń1-1/+1
If boolean flag is active by default, then when launching extcap without opening configuration dialog it would be added to extcap call regardless of user configuration. Modify the logic so default value is used only if there is no stored user configuration available. Change-Id: I1855a058a99e2395da5593486411e160d48fca4b Reviewed-on: https://code.wireshark.org/review/34865 Petri-Dish: Tomasz Moń <desowin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2019-09-23extcap: Multiple extcap instance support on WindowsTomasz Moń1-1/+1
Wireshark does create named pipes and waits for the child process to connect. The named pipe server handle is inheritable and thus available in child dumpcap process. Pass the handle identifier instead of named pipe name so dumpcap can use it. Bug: 13653 Change-Id: Id2c019f67a63f1ea3d98b9da2153d6de5078cd01 Reviewed-on: https://code.wireshark.org/review/34503 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-09-21Qt, docs, ieee1905: fix some spelling errorsPeter Wu1-1/+1
The spelling error for "Desription" in the context menu was very obvious. The others were found by scanning the output of: grep -Po '<source>\K.*(?=</source>)' wireshark_en.ts Change-Id: I4b95236c82f76828a115d59d7c8e0b853eae1d26 Reviewed-on: https://code.wireshark.org/review/34582 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-07-26HTTPS (almost) everywhere.Guy Harris1-1/+1
Change all wireshark.org URLs to use https. Fix some broken links while we're at it. Change-Id: I161bf8eeca43b8027605acea666032da86f5ea1c Reviewed-on: https://code.wireshark.org/review/34089 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-06-10extcap: Do not use global pipe handle on WindowsTomasz Moń1-90/+87
Make extcap_create_pipe() static. Change-Id: I06a0af2dcf9fb4a51b4f7ba6ee7c57e7a52c5e97 Reviewed-on: https://code.wireshark.org/review/33250 Petri-Dish: Pascal Quantin <pascal@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin <pascal@wireshark.org>
2019-05-21extcap: Fix memory leak in extcap_load_interface_list()Tomasz Moń1-0/+1
The content of the list returned by g_hash_table_get_values() is owned by GHashTable and should not be modified or freed. However, the list itself should be freed using g_list_free(). Change-Id: Ie4a1da290f25dbd6dc2f3a01f051bfca13bb01d3 Reviewed-on: https://code.wireshark.org/review/33281 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-05-20extcap: Fix memory leak in extcap_free_toolbar_control()Tomasz Moń1-31/+0
Remove duplicate defition of extcap_free_toolbar_control() and extcap_free_toolbar_value(). Change-Id: Ia4c8ca6160017d769616579db158419426e664b7 Reviewed-on: https://code.wireshark.org/review/33224 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-05-20extcap: Do not free mutex and cond in thread_pool_wait()Tomasz Moń1-2/+3
The name does not suggest that variables are freed in any way. Free the mutex and cond where they are initialized, ie. in extcap_run_all(). Change-Id: I4e2ffacd32a8ba74831682438baed52e714433bb Reviewed-on: https://code.wireshark.org/review/33223 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-05-20extcap: Fix memory leak in extcap_get_descriptions()Tomasz Moń1-1/+3
The content of the list returned by g_hash_table_get_keys() is owned by GHashTable and should not be modified or freed. However, the list itself should be freed using g_list_free(). Change-Id: I272616924bfd9178a925878a0458a173aff403ba Reviewed-on: https://code.wireshark.org/review/33222 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-05-20extcap: Fix memory leak in extcap_has_toolbar()Tomasz Moń1-1/+3
The content of the list returned by g_hash_table_get_values() is owned by GHashTable and should not be modified or freed. However, the list itself should be freed using g_list_free(). Use g_strcmp0() to compare keys instead of strcmp() as it handles NULL gracefully. Change-Id: I8f5d70ffc2cd6eb5001b5086e4e31256b65431c7 Reviewed-on: https://code.wireshark.org/review/33246 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-05-20extcap: Fix memory leak in extcap_get_if_configuration_values()Tomasz Moń1-3/+5
The content of the list returned by g_hash_table_get_keys() is owned by GHashTable and should not be modified or freed. However, the list itself should be freed using g_list_free(). This fixes memory leak that happened on every selector option reload. Change-Id: Id91055264fed9f7b8ab8dba9292d5f35389ca235 Reviewed-on: https://code.wireshark.org/review/33244 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-03-26Print extcap plugins with "tshark -G plugins".Guy Harris1-5/+50
This makes it match the "Plugins" tab of the "About" dialog. While we're at it, use the same code to enumerate extcap plugins in that dialog. Change-Id: I50f402a7ab5d83d46baab070d145558ed8f688f4 Reviewed-on: https://code.wireshark.org/review/32589 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-02-10extcap: set G_REGEX_RAW to avoid potential crashesPeter Wu1-4/+4
None of the patterns try to match UTF-8 text. Treat the inputs as bytes to avoid potential crashes on invalid subjects (e.g. malformed data from an extcap binary, ADB or SSH server). Change-Id: I6f3113cfd9da04ae3fa2b0ece7b0a3a94312830e Ping-Bug: 14905 Reviewed-on: https://code.wireshark.org/review/31939 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-01-04extcap: fix --extcap-version argument to include the versionPeter Wu1-1/+1
Change-Id: I727864ae0a210fea2dc90624102b793f5a98e395 Fixes: v2.9.0rc0-2648-g9ae02a5918 ("extcap: run --extcap-config in parallel to reduce startup time") Reviewed-on: https://code.wireshark.org/review/31367 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-01-03extcap: remove redundant casts.Dario Lombardo1-3/+3
Found by clang-tidy. Change-Id: Icd4a72d840092ce9c5e18e3d16a94b785b4521dc Reviewed-on: https://code.wireshark.org/review/31333 Petri-Dish: Dario Lombardo <lomato@gmail.com> Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-11-25extcap: run --extcap-config in parallel to reduce startup timePeter Wu1-59/+257
While --extcap-interfaces is now run in parallel, --extcap-config (for each discovered interface) would only run sequentially after that. Make sure that the latter command also fully parallel and do not wait for all extcap interfaces to be discovered first. This saves another 80ms startup time on Linux (unoptimized ASAN+Debug). Change-Id: I303fd8fda647b304d5bdaf048a3d1628ec9e02b4 Ping-Bug: 15295 Reviewed-on: https://code.wireshark.org/review/30773 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-22extcap: discover interfaces in a parallelPeter Wu1-128/+106
Split interface discovery in three stages: discover available programs (extcap_get_extcap_paths), obtain outputs for each (extcap_run_all) and processing of the output (process_new_extcap). The second step is most expensive, do it in parallel in multiple threads. extcap_foreach used to call extcap_if_exists, but as "cb_info.ifname" is always NULL for interface discovery, it would always pass. Remove this check and all other unused functions. This saves 100ms startup time on Linux with 7 extcap tools. Change-Id: I511e491d3b23c0a7f2fe2447842e87a9bd75adbe Ping-Bug: 15295 Reviewed-on: https://code.wireshark.org/review/30766 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-22extcap: simplify execution of single extcap programsPeter Wu1-30/+33
extcap_foreach has two purposes: discovery of all interfaces for each tool and querying info for an extcap interface. Observe that the latter requires extcap_if_exists(ifname) to be true. This makes extcap_foreach match exactly one interface, so we can avoid some complexity. Change-Id: I1842f50aa19553608ee5f2bb7bd8d94bba9629f2 Reviewed-on: https://code.wireshark.org/review/30764 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-22ws_pipe_spawn_sync: mark arguments as const where possiblePeter Wu1-2/+2
This avoids an unnecessary explicit cast. For clarity, rename the working directory argument to match g_spawn_sync. Change-Id: Idf7072cd590e686294d953f77da2a52c861a89c0 Reviewed-on: https://code.wireshark.org/review/30763 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-13extcap: Allow ASCII '0' in preference nameStig Bjørlykke1-1/+1
Update another regex to also allow '0' in the preference name. Change-Id: I61e39a160d86195c989ab53623bc5887a10dcaad Reviewed-on: https://code.wireshark.org/review/30606 Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2018-11-13extcap: Allow ASCII '0' in preference nameStig Bjørlykke1-1/+1
Update the regex to also allow '0' in the preference name. Change-Id: I881079b579b9193dd31dda2150d9a50c000c0dd3 Reviewed-on: https://code.wireshark.org/review/30602 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-02extcap: use the correct values for comparing.Dario Lombardo1-2/+2
Change-Id: Ieb9c0940065aeff1234998aaec37f05fb7f80ed9 Reviewed-on: https://code.wireshark.org/review/30484 Petri-Dish: Dario Lombardo <lomato@gmail.com> Reviewed-by: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2018-11-02extcap: small fix.Dario Lombardo1-1/+1
Change-Id: I043bef4eb1f1fe74f277bcdb3d7a3d1c8d2ec1a9 Reviewed-on: https://code.wireshark.org/review/30485 Reviewed-by: Dario Lombardo <lomato@gmail.com> Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2018-11-02extcap: add check before using pipedata.Dario Lombardo1-14/+16
In line 1131 the check assumes that pipedata can be NULL. All subsequent uses require it is not NULL, otherwise it may result in a NULL dereference. Found by Clang. Change-Id: I9bd35b6213adfb41de2e96d5cc6da2b3bac4dd95 Reviewed-on: https://code.wireshark.org/review/30478 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Roland Knall <rknall@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-01wsutil: introduce ws_pipe_close() helper and use it to terminate mmdbresolvePascal Quantin1-4/+1
We were not calling TerminateProcess() to stop mmdbresolve.Exe process on Windows. Bug: 15248 Change-Id: Ic90cf438a8003a6fefb023b7056984681ce09b46 Reviewed-on: https://code.wireshark.org/review/30449 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-17extcap: Close stdout_fd and stderr_fd when doneStig Bjørlykke1-0/+10
The documentation for g_spawn_async_with_pipes() states that stdout_fd and stderr_fd must be closed when they are no longer in use. Ping-Bug: 15205 Change-Id: I943eaa68058b0828686469672ea3611e67390b2f Reviewed-on: https://code.wireshark.org/review/30221 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2018-10-14extcap: Read stderr on extcap error without an infinite loopStig Bjørlykke1-1/+1
Check if data is available on stderr before doing a blocking read() to avoid an infinite read loop when having less data than STDERR_BUFFER_SIZE. Append data instead of overwrite when doing multiple read() to fetch available data. This is a regression from g6a949ed155. Bug: 15205 Change-Id: I84b232aeafb6123f77f3f5d48bbe89326fe7eb0f Reviewed-on: https://code.wireshark.org/review/30209 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2018-07-26Revert "Pass all arguments to options as --option=argument."Guy Harris1-5/+2
This reverts commit 137d45f52c6ff3deb56721a6e37be5c4ed8f095a. Don't. Make. The. Argument. To. Your. Extcap. Program. Specific. Options. Optional. (Unless they're Boolean, in which case we never pass an argument - we just pass the option if it's true and don't pass it if it's false.) Change-Id: I11e4ecaa196fd94c493d51e1f73e90267e1d9b1d Reviewed-on: https://code.wireshark.org/review/28866 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-07-26Pass all arguments to options as --option=argument.Guy Harris1-2/+5
For options with optional arguments, the only syntax that's *guaranteed* to be handled by getopt_long() is --option=argument, not --option argument. The BSD/macOS version of getopt_long() only supports the former, not the latter. Change-Id: Icfaec9eda49f5a947961251ebd377d7c1684c823 Reviewed-on: https://code.wireshark.org/review/28865 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-06-06extcap: Fix a potential leak of memory pointed to by 'toolbar_entry'Stig Bjørlykke1-6/+6
Initialize toolbar_entry after error checking is done to avoid a potential memory leak when exiting early from cb_load_interfaces(). Change-Id: I925d9296085964c6d5c3a9ccae85137285bf9220 Reviewed-on: https://code.wireshark.org/review/28060 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2018-05-16Eliminate some unneeded header checks.Guy Harris1-2/+0
sys/stat.h and sys/types.h date back to V7 UNIX, so they should be present on all UN*Xes, and we're assuming they're available on Windows, so, unless and until we ever support platforms that are neither UN*Xes nor Windows, we don't need to check for them. Remove the CMake checks for them, remove the HAVE_ values from cmakeconfig.h.in, and remove all tests for the HAVE_ values. Change-Id: I90bb2aab37958553673b03b52f4931d3b304b9d0 Reviewed-on: https://code.wireshark.org/review/27603 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-02extcap.c: fix compilation with gcc 8Pascal Quantin1-7/+9
extcap.c:228:37: error: cast between incompatible function types from ‘void (*)(iface_toolbar_value *)’ {aka ‘void (*)(struct _iface_toolbar_value *)’} to ‘void (*)(void *, void *)’ [-Werror=cast-function-type] extcap.c:246:39: error: cast between incompatible function types from ‘void (*)(iface_toolbar_control *)’ {aka ‘void (*)(struct _iface_toolbar_control *)’} to ‘void (*)(void *, void *)’ [-Werror=cast-function-type] extcap.c:521:32: error: cast between incompatible function types from ‘void (*)(void *)’ to ‘void (*)(void *, void *)’ [-Werror=cast-function-type] extcap.c:1440:35: error: cast between incompatible function types from ‘void (*)(void *)’ to ‘void (*)(void *, void *)’ [-Werror=cast-function-type] Change-Id: I2422e9b59c288907882c9ffd57cbae12011f7832 Reviewed-on: https://code.wireshark.org/review/27264 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-04-16glib: Get rid of GLIB_CHECK_VERSION as we now require 2.32.0Anders1-1/+0
Change-Id: Ie95cf37f9cd283545693e290340a7489cc989c95 Reviewed-on: https://code.wireshark.org/review/26970 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-11extcap: Fix crash in extcap_verify_capture_filterStig Bjørlykke1-2/+2
This fixes a regression issue from g57fed5d1 when freeing the arguments passed to extcap. Change-Id: Ic4d6a129569f9e691fd2608e0229342b8b5e9783 Reviewed-on: https://code.wireshark.org/review/26870 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2018-04-11extcap: Fix whitespace issuesStig Bjørlykke1-13/+13
Change-Id: I70066077a55b094eb2e667d31190ae80c3b97b5f Reviewed-on: https://code.wireshark.org/review/26871 Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2018-04-07extcap: Always use byte mode in pipesStig Bjørlykke1-7/+6
The original PipeMode parameter to CreateNamedPipe() was wrong but when running gave a correct value. The changes in g00373a1f tried to fix this parameter but this gave incorrect values. Bug: 14532 Change-Id: Ia1e8e9ba54abfcc3bd0856fd715b7c69ee54ccfe Reviewed-on: https://code.wireshark.org/review/26786 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Reviewed-by: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2018-04-06extcap: Fix version requestRoland Knall1-29/+55
The original implementation lead to multiple extcap interfaces being loaded, as well as an error output from the default example. This fixes both Change-Id: Icb6fbda7bcb11ed0d14cb683ddcdabdc20a7070d Reviewed-on: https://code.wireshark.org/review/26773 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2018-04-06Fix handling of --extcap-version with an argument.Guy Harris1-3/+1
Not all versions of getopt_long() allow, for an option for which the argument is optional, --xyzzy {value}; at least some of them, such as the *BSD/macOS one, require --xyzzy={value}. Make it so. Change-Id: I856d9f253535d804c7674d209054bc6ce10ee91d Reviewed-on: https://code.wireshark.org/review/26772 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-04-05extcap: Reload values on requestRoland Knall1-0/+63
Allow certaing elements to be reloaded upon request. The way this works is, certain elements can be configured to be reloadable. By doing so, the extcap is asked once more just for the values list of this item, together with all already set options, and reloads the available options depending on the response. Only supported for selector. Radio and Multiselect will need additional patches, also moving those parts outside of extcap_argument.cpp might make sense before hand. Change-Id: I2e9e3d109b334bf878835a7cc9354f468bc22dee Reviewed-on: https://code.wireshark.org/review/26223 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2018-04-05extcap: Tell utilities the wireshark versionRoland Knall1-1/+24
Add an optional argument to extcap-version, which tells the utilities the wireshark version and therefore allows them to handle different versions differently. If no version is provided, the utility has to assume it is dealing with a Wireshark 2.x version (default behavior). Change-Id: I51658300f28f503ca8050d204b73749f1a54df16 Reviewed-on: https://code.wireshark.org/review/26752 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2018-04-04extcap: Move extcap_foreach to a GListRoland Knall1-33/+36
Allow for a higher flexibility of the arguments passed to extcap_foreach Change-Id: I19708ac9d6c2aceecd88d0f691b5155bb8027675 Reviewed-on: https://code.wireshark.org/review/26736 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>