summaryrefslogtreecommitdiff
path: root/capture-pcap-util.c
AgeCommit message (Collapse)AuthorFilesLines
2014-08-27Increase the error buffer size for rpcap.Gerald Combs1-2/+6
If the rpcap port is unreachable pcap_findalldevs_ex can write more than PCAP_ERRBUF_SIZE bytes to errbuf. E.g. if we try to capture from Google's all-eights public DNS server we get: ---- Can't get list of interfaces: Is the server properly installed on 8.8.8.8? connect() failed: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (code 1 ---- Set the buffer to PCAP_ERRBUF_SIZE*4 bytes. Hopefully that's large enough. Change-Id: I19f34cda16050c1ba8b9d7d6ed2d8e77b945a2af Ping-Bug: 3554 Ping-Bug: 6922 Ping-Bug: 7021 Reviewed-on: https://code.wireshark.org/review/3880 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Evan Huus <eapache@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org> (cherry picked from commit 5ee328e90b26f82fbd00316110c5edd9a5c852e6) Reviewed-on: https://code.wireshark.org/review/3886
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-10-18Revert SVN #52650 as per discussion on wireshark-devBill Meier1-2/+2
svn path=/trunk/; revision=52671
2013-10-16Prepend to lists rather than append as that's more efficient.Anders Broman1-2/+2
svn path=/trunk/; revision=52650
2013-06-17Added a missing CFRelease.Stig Bjørlykke1-0/+1
svn path=/trunk/; revision=49975
2013-05-22Add missing include file that's needed so symbols are definedEvan Huus1-0/+2
on all platforms. svn path=/trunk/; revision=49487
2013-05-22On OS X, get the interface type from the System Configuration framework.Guy Harris1-14/+245
svn path=/trunk/; revision=49486
2012-11-24"vendor_description", not "description".Guy Harris1-1/+1
svn path=/trunk/; revision=46172
2012-11-24Put the code to convert a GUID string to a GUID structure into a routineGuy Harris1-2/+35
of its own. Export that routine from capture_win_ifnames.c. Rename GetInterfaceFriendlyNameFromDeviceGuid() to get_interface_friendly_name_from_device_guid(), to match the style of names of the other routines exported from capture_win_ifnames.c, and export it as well. Have if_info_new() use those routines, and, if parse_as_guid() fails, treat the "description" as a friendly name rather than a vendor description, so that we don't have a vendor description for, for example, the device offered on some versions of Windows to handle dial-up devices. svn path=/trunk/; revision=46170
2012-11-24Rename get_windows_interface_friendlyname() toGuy Harris1-1/+1
get_windows_interface_friendly_name(), and have it return the friendly name on success and NULL on failure. Get rid of the logging in get_windows_interface_friendly_name(). svn path=/trunk/; revision=46161
2012-11-23Hoist all the friendly-name/vendor-description stuff up intoGuy Harris1-84/+35
if_info_new(). svn path=/trunk/; revision=46159
2012-11-22It's get_windows_interface_friendlyname(), notGuy Harris1-2/+2
get_windows_interface_friendly_name(). svn path=/trunk/; revision=46138
2012-11-22On UN*X, if an interface has a description, use it as the "friendlyGuy Harris1-20/+89
name". If it doesn't have a description, on OS X, use the System Configuration framework to attempt to get a "friendly name" for interfaces. If a loopback device doesn't have a friendly name, give it "Loopback" as the friendly name. Move the "turn a CFString into a mallocated C string" routine into common code, as it's used in more than one place. svn path=/trunk/; revision=46131
2012-11-19From Mike Garratt:Anders Broman1-0/+11
Friendly Names for interfaces on Windows Notes on the changes the patch covers: * if_info_t struct: addition of friendly_name * Dumpcap Interface list format changes: + Win32: "dumpcap -D" shows friendly_name in place of descript if known + All: machine interface "dumpcap -D -Z none" includes friendly_name in the list in addition to the existing parameters * interface_options struct: addition of console_display_name + When an interface name is displayed in a console, it will typically be the console_display_name (instead of name). + console_display_name is used as the basis of the autogenerated temp filenames + console_display_name is typically set to the friendly_name if known, otherwise it is set to the interface name * Enhancements to capture_opts_add_iface_opt() (the function which process -i options). + Can now specify the interface using its name and friendly_name + Interface name matching is case insenstive + Name matching first attempts exact matching, then falls back to prefix matching (e.g. dumpcap -i local) + Validates interface names, instead of blindly sending them off to winpcap/libpcap + Interface specification by number is still supported. * capture_opts_trim_iface() has been refactored: + Instead of repeating a decent chunk of the cost in capture_opts_add_iface_opt(), it calls capture_opts_trim_iface() to specify the interface. * introduction of capture_win_ifnames.[ch] (windows only code) + Implements static function GetInterfaceFriendlyNameFromDeviceGuid() - a windows version independant function to convert an interface guid into its friendly name. Uses published api functions on windows vista and higher, but falls back to unpublished API functions on older windows releases. + void get_windows_interface_friendlyname(/* IN */ char *interface_devicename, /* OUT */char **interface_friendlyname); - extracts the GUID from the interface_devicename, then uses GetInterfaceFriendlyNameFromDeviceGuid() to do the resolution * Auto temp filename generation: + Now uses wireshark_pcapng_* or wireshark_pcap_* depending on file format + Basis temp filename format on console_display_name + Win32: if console_display_name is a windows interface guid, extracts numbers from GUID here (instead of in interface option processing) GUI CHANGES: * Dialog that displays when you click the "Manage Interfaces" button (within Capture Options dialog) has been renamed from "Add new interfaces" to "Interface Management" * ui/gtk/capture_dlg.c: new_interfaces_w variable renamed to interface_management_w * Win32: Local Interfaces tab on Interface Management dialog, shows includes friendly name as far left column * Interface Management dialog defaults to larger size on win32 - so it fits without resizing local interfaces tab * Interface Management dialog now saves preferences when you click the apply button (local hidden interfaces was not persisting across restarts) * Tweaks: "Interface Details" dialog (Interface list->Capture Interfaces -> Details): + "Friendly Name" renamed to "NDIS Friendly Name" + Added "OS Friendly Name" to the top of the list * Win32: The "Capture Interfaces" dialog now shows the friendly name instead of device guid * Welcome screen: + The height of the interface list scrollbox dynamically adjusts & updates to the number visible interfaces. Up to 10 interfaces can be listed without a scroll bar, the minimum height is for 2 interfaces. + Win32: now shows just the Friendly Name if known - in place of "Interfacename_Guid:(Description)" svn path=/trunk/; revision=46083
2012-09-20We always HAVE_CONFIG_H so don't bother checking whether we have it or not.Jeff Morriss1-3/+1
svn path=/trunk/; revision=45015
2012-06-28Update Free Software Foundation address.Jakub Zawadzki1-1/+1
(COPYING will be updated in next commit) svn path=/trunk/; revision=43536
2011-04-26Cast away warnings about "struct sockaddr" -> "struct sockaddr_XXX"Guy Harris1-2/+2
casts that are actually safe. svn path=/trunk/; revision=36861
2010-05-18Move get_pcap_linktype() into dumpcap - it's not used elsewhere.Guy Harris1-124/+0
svn path=/trunk/; revision=32853
2010-05-14Um, no, the problem with the Leopard x86 build is that we first do aGuy Harris1-1/+1
build without libpcap, to make sure that works, and then do a build with libpcap, to put into a binary release. It's the former that's failing; I'll back out the previous change and then work on that. svn path=/trunk/; revision=32801
2010-05-14See whether the Leopard x86 buildbot is upset because of the nameGuy Harris1-1/+1
if_capabilities_t - it doesn't fail on Snow Leopard, even if I undefine HAVE_PCAP_CREATE, and doesn't fail on the Leopard PPC buildbot, either. svn path=/trunk/; revision=32799
2010-05-13Fetch an indication of whether the interface supports capturing inGuy Harris1-3/+4
monitor mode at the same time that we fetch its list of link-layer types. Support fetching that list in monitor mode, as the list may be different in regular and monitor mode. If the interface supports monitor mode, when printing the list of link-layer types, indicate whether they're fetched in monitor mode or not, as tcpdump 4.1.x does. svn path=/trunk/; revision=32789
2010-05-07For TShark and Wireshark, get the list of link-layer types for anGuy Harris1-105/+0
interface by running dumpcap, so that if you need privileges to open an interface, and dumpcap has those privileges, neither TShark nor Wireshark need them. svn path=/trunk/; revision=32710
2010-03-04Squelch some compiler warnings.Guy Harris1-6/+6
svn path=/trunk/; revision=32111
2010-03-04In Wireshark and TShark, run dumpcap to get interface lists and lists ofGuy Harris1-15/+14
link-layer header types for interfaces; if special privileges are necessary to open capture devices, Wireshark and TShark shouldn't have those privileges, but dumpcap should. svn path=/trunk/; revision=32104
2010-02-27Move a routine into dumpcap - it's not used outside dumpcap.Guy Harris1-20/+0
svn path=/trunk/; revision=32042
2009-03-16Hack toprevent checkAPIs complaining about use of 'free'Bill Meier1-1/+2
svn path=/trunk/; revision=27745
2009-03-15From Jakub Zawadzki:Stig Bjørlykke1-4/+2
More remove checking for NULL before g_free(). svn path=/trunk/; revision=27728
2008-12-21If we don't have any of the pcap_datalink_XXX_to_YYY routines,Guy Harris1-31/+97
substitute our own (I wrote them all, so I can steal them from the BSD-licensed libpcap if I want :-)). This means that linktype_name_to_val() and linktype_val_to_name() are always available, and we don't need to #ifdef use of them. Use pcap_datalink_val_to_description() to get the description for a particular DLT_ value, rather than mapping the DLT_ value to a WTAP_ENCAP_ value and getting the description for the latter. svn path=/trunk/; revision=27074
2008-11-03Do not use functions for remote capture on local interfaces.Stig Bjørlykke1-6/+34
This makes it possible to compile with remote capture features on unix. svn path=/trunk/; revision=26681
2008-07-04Fix benign usage of incorrect symbol in #ifdefBill Meier1-1/+1
svn path=/trunk/; revision=25669
2008-07-04If we have pcap_free_datalinks(), use it. If not, then, on Windows,Guy Harris1-2/+25
just leak the list returned by pcap_list_datalinks(), as there's no guarantee that if you have a library built with one version of the MSVC++ run-time library, and it returns a pointer to allocated data, you can free that data from a program linked with another version of the MSVC++ run-time library. (This is not an issue on UN*X.) This should fix bug 2677. svn path=/trunk/; revision=25668
2008-02-21Constify some arguments.Guy Harris1-1/+1
svn path=/trunk/; revision=24407
2007-12-04Support for RPCAP features in GUI (from Boris Misenov, see Bug 1366)Tomas Kukosa1-0/+15
- retrieving the list of remote PCAP interfaces - password authentication support - UDP data fransfer - packet sampling (available in WinPcap 4.x) etc. fix problem if non-default rpcap port is used svn path=/trunk/; revision=23750
2007-11-30first steps to support MSVC 2008 Express EditionUlf Lamping1-2/+3
svn path=/trunk/; revision=23691
2007-08-23Include libpcap.h so that we can use wtap_pcap_encap_to_wtap_encap()Gerald Combs1-1/+1
in its new location. svn path=/trunk/; revision=22604
2007-04-13fix gcc warning about qualifier types (const) which are discarded when arrivingSebastien Tandel1-1/+1
at the pcap interface. svn path=/trunk/; revision=21417
2007-01-21Have the routines to get interface lists take a pointer to a "gchar *"Guy Harris1-8/+18
as an argument, and, on an error, if they have an error message, have them set that "gchar *" to point to a g_malloc()ed string containing the error message, rather than taking a pointer to a buffer for that message as an argument. That's more like what's done in Wiretap, and doesn't impose an upper limit on the lengths of those error messages. If that pointer is null, don't allocate the message string and return it. Have that error message already have the "cant_get" processing applied to it, so nobody other than those routines need to call the "cant_get" routines to process the error messages. Have get_airpcap_interface_list() explicitly set "*err" to the appropriate error code. Clean up indentation. svn path=/trunk/; revision=20521
2006-11-02Frederic Heem:Jörg Mayer1-0/+1
Fix some memleaks and overflows. I haven't committed the changes that are not bug fixes. svn path=/trunk/; revision=19777
2006-05-28Ethereal->WiresharkAnders Broman1-3/+3
svn path=/trunk/; revision=18235
2006-05-21name changeRonnie Sahlberg1-2/+2
svn path=/trunk/; revision=18197
2006-02-25an error return was missing a pcap_close() callUlf Lamping1-1/+3
svn path=/trunk/; revision=17404
2006-02-17remove dependencies to pcap.h, so getting an idea what needs to be done by ↵Ulf Lamping1-0/+16
dumpcap in addition to the things already done now various dumpcap related code cleanup: mainly #include's and capture engine related stuff svn path=/trunk/; revision=17327
2005-12-14Constify a bunch of arguments and variables, to squelch compilerGuy Harris1-3/+3
warnings. Include "wiretap/libpcap.h" in "capture_loop.h", to get its declarations of data structures for headers in libpcap files. This lets us remove the includes of "wiretap/libpcap.h from files including "capture_loop.h". Make "log_func_ignore()" in "tethereal.c" static, and declare some of its arguments unused. Also get rid of an unused variable. Include <pcap.h> before including "wiretap/wtap-capture.h", to declare "struct pcap_pkthdr". svn path=/trunk/; revision=16791
2005-12-06rename pcap-....c/.h files to capture-pcap-....c/.hUlf Lamping1-0/+433
this way, the capture prefix will "logically" group the files together and file browsers will also group them we may want to move the files into a subdir capture later svn path=/trunk/; revision=16691