aboutsummaryrefslogtreecommitdiffstats
path: root/sync_pipe.h
AgeCommit message (Collapse)AuthorFilesLines
2023-12-31dumpcap: Make capture child logging workJohn Thacker1-0/+1
Distinguish log messages from SP_ERROR_MSG; log messages don't necessarily represent a failure, and they have a level. This doesn't affect logging while capturing much, as SP_ERROR_MSGs are just printed to the console, but it makes it possible to log while retrieving interface information or the stats, where SP_ERROR_MSG indicates that the command failed.
2023-12-22capture: Fix up getting statsJohn Thacker1-1/+1
Missed copying the dlt type Increase the sync pipe max message size. Fixup 54ed27e11a3d49d7abb99196c9db7649e23c4441
2023-12-20capture_sync: Keep PIPE_BUF_SIZE and SP_MAX_MSG_LEN relatedJohn Thacker1-2/+5
We might at some point want to increase SP_MAX_MSG_LEN. Make sure that PIPE_BUF_SIZE increases in tandem, or else there can be a segfault.
2023-12-18dumpcap: Add a welcome modeJohn Thacker1-0/+1
Allow dumpcap to have the "-D" "-L" and "-S" flags all specified. This is a "welcome mode" that prints out the interfaces and their capabilities, and then prints out the running statistics. ("-L" and "-S" without "-D" will just print the statistics, but doesn't give an error.) In capture child mode, the interface information is sent as a message on the sync pipe before the success message; the statistics are sent on the data pipe as usual. Actually using this in Wireshark will be added next. Related to #15082
2023-09-09capture child: send an errno message if exec of dumpcap fails.Guy Harris1-7/+7
On at least some Linux distributions, dumpcap is either installed with elevated privileges sufficient to support traffic capture by default or can optionally be given those privileges. If it has those privileges, it's typically made group-executable but not world-executable and owned by a special group, e.g. "wireshark", so that only users in that group can use dumpcap to capture traffic. The user installing the Wireshark package is *not* necessarily put into that group by default; this means that any attempt by Wireshark or TShark to run dumpcap will fail with EACCES. If the exec call in the child process sends text error mesages, intended for end users, up the message pipe, as we had been doing, then figuring out *why* the exec failed would require some heuristic parsing to figure out whether it's a permissions problem or not. Instead of doing that, just send a message giving the errno for exec failing. For now, we just format an error message for that in the parent process, but this leaves room to do a better job. While we're at it, fix some cases where an empty error message could be printed.
2023-08-26Clean up sync pipe write routines.Guy Harris1-15/+20
Give them all names beginning with sync_pipe_write_ Rename pipe_write_block() to sync_pipe_write_string_msg(), as it writes a message containing a string, not a "block". Add sync_pipe_write_uint_msg(), which takes an unsigned integer as an argument and writes a message containing its value (as a string) as the body. Make sync_pipe_write_header() and SP_DECISIZE local to sync_pipe_write.c, as they're no longer used outside that file.
2021-12-21Add a ws_posix_compat.h headerJoão Valverde1-0/+1
Currently used to define ssize_t on platforms that lack it. Fix some Windows build errors caused by moving the definition into a separate header. Fix some narrowing warnings on Windows x64 from changing the definition of ssize_t from long int to int64_t. The casts in dumpcap are ugly but necessary. The whole code needs to be rewritten for portability, or the warnings disabled.
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>
2018-02-08replace SPDX identifier GPL-2.0+ with GPL-2.0-or-later.Dario Lombardo1-1/+1
The first is deprecated, as per https://spdx.org/licenses/. Change-Id: I8e21e1d32d09b8b94b93a2dc9fbdde5ffeba6bed Reviewed-on: https://code.wireshark.org/review/25661 Petri-Dish: Anders Broman <a.broman58@gmail.com> Petri-Dish: Dario Lombardo <lomato@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-11-09Start using SPDX license identifiers.Gerald Combs1-13/+1
A while back Graham pointed out the SPDX project (spdx.org), which is working on standardizing license specifications: https://www.wireshark.org/lists/wireshark-dev/201509/msg00119.html Appendix V of the specification describes a short identifier (SPDX-License-Identifier) that you can use in place of boilerplate in your source files: https://spdx.org/spdx-specification-21-web-version#h.twlc0ztnng3b Start the conversion process with our top-level C and C++ files. Change-Id: Iba1d835776714deb6285e2181e8ca17f95221878 Reviewed-on: https://code.wireshark.org/review/24302 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Balint Reczey <balint@balintreczey.hu> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-04-25Qt: Add interface toolbar supportStig Bjørlykke1-0/+1
An extcap utility can provide configuration for controls to use in a GUI interface toolbar. This controls are bidirectional and can be used to control the extcap utility while capturing. This is useful in scenarios where configuration can be done based on findings in the capture process, setting temporary values or give other inputs without restarting current capture. Todo: - Add support for Windows Change-Id: Ie15fa67f92eb27d8b73df6bb36f66b9a7d81932d Reviewed-on: https://code.wireshark.org/review/19982 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-04-28Revert "Windows: Wait for dumpcap to initialize."Gerald Combs1-1/+0
This didn't fix the test failures. This reverts commit e5f4c5c8a80e2f5970b8c1d4fdfc29ab851f0e6f. Change-Id: I0cff5eff88d2b49806797cef83338dbbace42a4c Reviewed-on: https://code.wireshark.org/review/15135 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-04-27Windows: Wait for dumpcap to initialize.Gerald Combs1-0/+1
As the MSDN documentation says, "CreateProcess returns without waiting for the new process to finish its initialization." Add an SP_INIT sync pipe indicator on Windows and use it in dumpcap to signal to its parent that it has started up. Change-Id: I88a4c158871dbe2dd6eba13434e92c5d4b1c2e4b Reviewed-on: https://code.wireshark.org/review/15132 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-02-13Replace tabs by spaces when editor modelines has "expandtab"Bill Meier1-1/+1
Change-Id: If7a6f2697be732ae4f94ed8b845fd293c32510f7 Also: tabs-stops should be 8 Reviewed-on: https://code.wireshark.org/review/7100 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-10-14Always put editor-modelines at the end of the file ...Bill Meier1-2/+2
... to ensure that there are no potential issues with respect to editors limiting the number of lines scanned at the end of the file when checking for editor modelines. Change-Id: Ic85cbb108bb5159d6ec4116fea11f5eebb4e44a4 Reviewed-on: https://code.wireshark.org/review/4688 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-10-12Add editor modelines; Adjust whitespace as needed.Bill Meier1-0/+13
Change-Id: I4da7b335d905dbca10bbce03aa88e1cdeeb1f8ad Reviewed-on: https://code.wireshark.org/review/4626 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-03-04Remove all $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^ \* \$Id\$/,+1 d') Fix manually some typo (in export_object_dicom.c and crc16-plain.c) Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8 Reviewed-on: https://code.wireshark.org/review/497 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2013-01-07Suggest fancier ways to communicate with the capture process.Gerald Combs1-4/+8
svn path=/trunk/; revision=46985
2012-12-26pipe_write_header() should return ssize_t, as it returns the returnGuy Harris1-1/+1
value from write(), which, at least on UN*X, is ssize_t. svn path=/trunk/; revision=46779
2012-12-26Fix a bunch of warnings.Guy Harris1-1/+1
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of sizeof. Cast away some implicit 64-bit-to-32-bit conversion errors due to use of strtol() and strtoul(). Change some data types to avoid those implicit conversion warnings. When assigning a constant to a float, make sure the constant isn't a double, by appending "f" to the constant. Constify a bunch of variables, parameters, and return values to eliminate warnings due to strings being given const qualifiers. Cast away those warnings in some cases where an API we don't control forces us to do so. Enable a bunch of additional warnings by default. Note why at least some of the other warnings aren't enabled. randpkt.c and text2pcap.c are used to build programs, so they don't need to be in EXTRA_DIST. If the user specifies --enable-warnings-as-errors, add -Werror *even if the user specified --enable-extra-gcc-flags; assume they know what they're doing and are willing to have the compile fail due to the extra GCC warnings being treated as errors. svn path=/trunk/; revision=46748
2012-06-28Update Free Software Foundation address.Jakub Zawadzki1-1/+1
(COPYING will be updated in next commit) svn path=/trunk/; revision=43536
2012-01-04Move stuff that should *only* be known by the lowest-level code thatGuy Harris1-0/+6
deals with the sync pipe - i.e., only by sync_pipe.c and dumpcap.c - into sync_pipe.h. svn path=/trunk/; revision=40366
2010-05-17When dumpcap is run to get an interface list, interface capabilities, orGuy Harris1-0/+1
interface statistics, have its error messages come out as sync-pipe errors, have it send a sync-pipe "success" message on success, and have the callers get that message and display it. svn path=/trunk/; revision=32843
2008-06-23Rename an argument to avoid colliding with pipe().Guy Harris1-3/+3
svn path=/trunk/; revision=25555
2007-09-29Don't hardcode the notion that the sync pipe is the standard output intoGuy Harris1-2/+3
sync_pipe_errmsg_to_parent(); have it take the FD for the sync pipe as an argument. svn path=/trunk/; revision=23024
2006-05-22ethereal->wireshark updatesRonnie Sahlberg1-1/+1
svn path=/trunk/; revision=18206
2006-05-21name changeRonnie Sahlberg1-2/+2
svn path=/trunk/; revision=18197
2006-04-03Put the low-level sync routines into a common file so they can be sharedGuy Harris1-0/+79
by dumpcap and Ethereal (so that, on UN*X, the child process can report a detailed "can't exec dumpcap" error). Rename most of the "sync_pipe_XXX_to_parent()" routines, as they're also in Tethereal, which doesn't have a sync pipe. svn path=/trunk/; revision=17789