aboutsummaryrefslogtreecommitdiffstats
path: root/epan/addr_resolv.c
AgeCommit message (Collapse)AuthorFilesLines
2015-01-18Update some comments to reflect reality.Guy Harris1-2/+0
Get rid of references to ep_ and se_ allocation in code that now uses wmem allocation instead. Fix API documentation of conversation_table.h routines to reflect that as well - some APIs changed to pass wmem scopes. Also, zbee_sec_key_hash() now takes the output buffer as an argument and just returns it, and nobody actually uses the return value, so change it to return void. Change-Id: Ife1ec675a9322fd0f0be306a9d639ec17aad1c7a Reviewed-on: https://code.wireshark.org/review/6636 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-18Remove some apparently-unnecessary includes of emem.h.Guy Harris1-1/+0
Change-Id: Id50ce3e707056cca8f30052f05c451ce431b39b5 Reviewed-on: https://code.wireshark.org/review/6632 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-18Remove seasonal memory from address resolution.Michael Mann1-4/+25
This is the last remaining use of se_ memory APIs. Change-Id: Ic0508a830bc5460bc743d21eb33ffdd7f4ce2eb5 Reviewed-on: https://code.wireshark.org/review/6574 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Evan Huus <eapache@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-18Miscellaneous ep_strdup_printf replacement.Michael Mann1-6/+6
Change-Id: I973c672e9d573ad67e9b9fd82a5610aaf8a74efa Reviewed-on: https://code.wireshark.org/review/6605 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-09Convert EUI64 address APIs to use wmem.Michael Mann1-27/+6
Change-Id: I57d2e435ac72ea07ec9a567e0b1ce4410966e3d2 Reviewed-on: https://code.wireshark.org/review/6419 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-09Have ipxnet addresses use wmem scoped memory.Michael Mann1-6/+6
Change-Id: I1d8eed2ceacccce2768590f0689cd2c83a5e56e9 Reviewed-on: https://code.wireshark.org/review/6418 Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-08ep_<protocol>_port_to_display -> <protocol>_port_to_displayMichael Mann1-14/+14
Adjust any other ep_ related APIs related to the transition. Change-Id: I961b371c2c4bda557e0f1817705c27eef0dae66c Reviewed-on: https://code.wireshark.org/review/6388 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-06Replace ep_address_to_str with address_to_str.Michael Mann1-1/+1
Change-Id: I4f1078b20f41800f72a751612703ad0d4c2ae87b Reviewed-on: https://code.wireshark.org/review/6323 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-05Replace ep_display_to_address with wmem equivalent display_to_address.Michael Mann1-31/+1
Almost all instances require using "manual" memory management, but it gets some ep_ calls out of the GUI. Change-Id: Ifa7303766b08d09442ccf3d7063cbe061578ecd9 Reviewed-on: https://code.wireshark.org/review/6318 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-04Make all Lua code use wmem not ememHadriel Kaplan1-0/+22
Changed all remaining code in wslua that was using emem, to use wmem or simpler methods. Bug: 9927 Change-Id: I3d19a770e0fd77d996bdb6b61a76a722cc2bcd55 Reviewed-on: https://code.wireshark.org/review/6109 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com> Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-12-31We no longer do anything signal-related, so don't include <signal.h>.Guy Harris1-8/+13
Update a comment pertaining to that, while we're at it. Change-Id: Ic0a3f8575f8e98ca6032ed3e06e3dd76055d65a1 Reviewed-on: https://code.wireshark.org/review/6192 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-21Do not use packet scope memory outside packet dissectorsPascal Quantin1-1/+1
Otherwise it will trigger an assert Fixes a regression introduced in gf002332 Change-Id: I0cffa2c952b7eff085a1834ebabfec03342095bd Reviewed-on: https://code.wireshark.org/review/5950 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-12-21Replace ether_to_str with either address_to_str or tvb_ether_to_str.Michael Mann1-1/+3
Change-Id: I8cce9fddbfe950e27e96ea8a5a6d2e0921ff4260 Reviewed-on: https://code.wireshark.org/review/5933 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-10-17Don't use ctype.h routines.Guy Harris1-4/+3
That avoids locale dependency and handles possibly-signed chars (which we weren't always doing before). Change-Id: Ieceb93029252f646397b6488f2df8a57c6d2a23d Reviewed-on: https://code.wireshark.org/review/4794 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-09-27Get rid of g_hash_table_lookup asserts when loading an external host filePascal Quantin1-21/+24
Only parse the host file syntax without trying to store the names in the hash tables (it will be done later in host_name_lookup_init()) Change-Id: I2b8c7b29220e6413c1b5c0a0fa238ecb5388c962 Reviewed-on: https://code.wireshark.org/review/4309 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-08-09Fix regression introduced by gf3b631668bEvan Huus1-1/+1
I made a stupid when simplifying the bit-twiddling, and accidentally reversed two of the bytes which completely broke MAC address name resolution. Bug: 10344 Change-Id: I0720755fb290423150e4d84da9d45cb0b76341e4 Reviewed-on: https://code.wireshark.org/review/3522 Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-07-06Clean up handling of missing functions.Guy Harris1-1/+1
With autotools, CMake, and nmake, if we have a function, #define HAVE_{function_name_in_all_caps}, otherwise don't #define it. If we provide our own version of a function in libwsutil, make sure we have a header that declares it, and *ONLY* include that header if HAVE_{function_name_in_all_caps} is *NOT* defined, so that we don't have the system declaration and our declaration colliding. Check for inet_aton, strncasecmp, and strptime with CMake, just as we do with autotools. Simplify the addition of {function_name_in_all_caps}_LO to libwsutil in autotools. Change-Id: Id5be5c73f79f81919a3a865324e400eca7b88889 Reviewed-on: https://code.wireshark.org/review/2903 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-01Optimize epan_new/init_dissectionEvan Huus1-22/+26
As Anders correctly pointed out in I7d8f84b2e, constantly resetting state will turn init_dissection into a bit of a hot path. Especially as we will already bear the overhead of switching files, we don't want to fall any further behind than we have to. This change includes three unrelated optimizations that reduce the cost of init_dissection by about 40% as measured by callgrind: - only initialize ares/ADNS if that preference is enabled (this of course only applies if you specify -n to tshark or otherwise disable the preference) - use memcpy instead of a loop in sigcomp UDVM init - use memcpy instead of a loop in bootp dissector The only remaining obvious hot spot in this path is reassembly_table_init since it is called by so many dissectors. Suggestions (perhaps to get rid of the GPtrArray) welcome. Oh, and one other change to use g_strerror instead of strerror as insisted upon by the API pre-commit hook. Change-Id: I18a74f2b64b25498116079bd4e7fc2b335c7703a Reviewed-on: https://code.wireshark.org/review/2738 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-05-11Simplify IPv4 address hashingEvan Huus1-13/+5
Rather than allocate 4 bytes and use g_int_*, use GUINT_TO_POINTER and g_direct_*. Should save some time/memory. Change-Id: Ie03d234703f68bb76131c5ddf17953d23bb54a0d Reviewed-on: https://code.wireshark.org/review/1582 Reviewed-by: Evan Huus <eapache@gmail.com>
2014-05-07Use a strong hash function for ethernet addresses.Evan Huus1-132/+23
The capture for bug 10078 caused the buildbot to time out; callgrind revealed an enourmous amount of time being spent looking up ethernet addresses. The previous code cast each address (6 bytes) to a guint64 (8 bytes) then used the built-in g_int64_hash. Unfortunately, g_int64_hash is an *awful* hash function - it produces a 4-byte hash by simply discarding the upper 4 bytes of its input. For the capture file in question this strategy (which effectively ignores the upper two bytes of each ethernet address) produced an astounding number of collisions, leading to the terrible running-time. Use wmem_strong_hash directly on the 6-byte address instead, which saves us a bunch of useless casting and bit-twiddling and produces a much better hash distribution. This shaves 20% off the time to tshark-with-tree the capture file in question *despite* a substantially more expensive hash function (wmem_strong_hash is not exactly fast compared to g_int64_hash). Bug:10078 Change-Id: I8e81cbc478e6394ec3a8efe39eec08f680a55609 Reviewed-on: https://code.wireshark.org/review/1543 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-04-21Disable transport name resolution by default.Gerald Combs1-1/+1
Modern hosts typically open many more TCP and UDP connections than in years past. For an example opening a popular news site in a web browser can easily trigger dozens of separate connections. At the same time our services file has accumulated a lot of cruft over time. As a result transport name resolution is a bunch of lies. Change-Id: Ibbca5b1c7ea1e800fc46dad63b9270128dacd721 Reviewed-on: https://code.wireshark.org/review/1240 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-04-19Clean up white space (replace tabs with 4 spaces).Guy Harris1-9/+7
Change-Id: Id253ddca497ca92272e7317177aae5e5570f4271 Reviewed-on: https://code.wireshark.org/review/1218 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-04-19More name changes.Guy Harris1-12/+12
Add ep_ to routines that may return ephemeral strings. Change "get_XXX" to "XXX_to_display" if the routine returns a formatted string if it can't get a name. Change-Id: Ia0e82784349752cf4285bf82788316c9588fdd88 Reviewed-on: https://code.wireshark.org/review/1217 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-04-19Some routine name changes.Guy Harris1-10/+3
"get_addr_name()" -> "ep_address_to_display()", to 1) indicate that it returns a string with ephemeral scope and 2) indicate that it maps an address to a "displayable" form - a name if possible, an address string if not. "se_get_addr_name()" -> "get_addr_name()", to indicate that its strings have the same scope as "get_ether_name()", "get_hostname()", and "get_hostname6()". Change-Id: If2ab776395c7a4a163fef031d92b7757b5d23838 Reviewed-on: https://code.wireshark.org/review/1216 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-04-19Don't se_ allocate strings when mapping addresses to column strings.Guy Harris1-39/+28
This should significantly reduce memory usage, without increasing the CPU time required to process a capture file in TShark or Wireshark. As a result, se_address_to_str() is no longer used; eliminate it. Fixes bug #9949. Change-Id: I65a112a426c82cc73a957b81384c765c3d14f2c3 Reviewed-on: https://code.wireshark.org/review/1213 Reviewed-by: Evan Huus <eapache@gmail.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>
2014-02-25Remove trailing whitespaceBill Meier1-2/+2
Change-Id: I8116f63ff88687c8db3fd6e8e23b22ab2f759af0 Reviewed-on: https://code.wireshark.org/review/385 Reviewed-by: Bill Meier <wmeier@newsguy.com> Tested-by: Bill Meier <wmeier@newsguy.com>
2013-12-21New functions: str_to_ip6(), str_to_ip()Jakub Zawadzki1-4/+16
This way we can avoid including lot of system header files in some dissectors and it might fix bug #9581 svn path=/trunk/; revision=54330
2013-12-20bytes_to_hexstr_punct() does not add a null terminator, so we must addGuy Harris1-1/+4
it ourselves. svn path=/trunk/; revision=54288
2013-12-20Fix [-Wmissing-prototypes]Anders Broman1-1/+1
svn path=/trunk/; revision=54280
2013-12-19Add bytestring_to_str() which takes a wmem scope and is otherwise identical toEvan Huus1-1/+2
bytestring_to_ep_str (now deprecated). Use the new one in a few obvious places. Also just print directly to the buffer when loading ethernet addresses for resolution. The straight-to-buffer bytes_to_hexstr seems useful, maybe it shouldn't be in a private header... svn path=/trunk/; revision=54270
2013-12-19Rename a couple of to_str functions to have ep_ in the name. This makes itEvan Huus1-1/+1
obvious that the returned string is ephemeral, and opens up the original names in the API for versions that take a wmem pool (and thus can work in any scope). svn path=/trunk/; revision=54249
2013-11-17Move the epan/filesystem.c routines to wsutil; they're not specific toGuy Harris1-1/+1
packet dissection, they're specific to the entire Wireshark suite of programs. svn path=/trunk/; revision=53377
2013-11-09include <wsutil/pint.h> only when needed.Jakub Zawadzki1-0/+1
svn path=/trunk/; revision=53196
2013-10-23g_slist_free_full() is glib 2.28Anders Broman1-17/+38
Fix spelling. svn path=/trunk/; revision=52787
2013-10-23Make manual address resolution work again by putting the addressesAnders Broman1-33/+100
in a separate list and add that list when address resolution is rebuilt during rescan of packets. svn path=/trunk/; revision=52785
2013-10-10Flag the addresses used in the trace which has been resolved and only add ↵Anders Broman1-27/+32
those to the list used to create the NRB. svn path=/trunk/; revision=52504
2013-10-05Invert NEED_INET_ATON_H to HAVE_INET_ATON_HJörg Mayer1-1/+1
Remove unused NEED_G_ASCII_STRTOULL_H svn path=/trunk/; revision=52385
2013-09-22Fix some typos, indentation. Don't try to write the NRB if the pointer to ourEvan Huus1-3/+3
two lists is itself NULL. svn path=/trunk/; revision=52181
2013-09-22Fix -Wshadow, indentationEvan Huus1-15/+15
svn path=/trunk/; revision=52179
2013-09-22Get rid of struct addrinfo, use the hastables for name resolution instead.Anders Broman1-81/+38
svn path=/trunk/; revision=52176
2013-09-17Don't call gethostbyaddr() we have already read the local hosts file, settle ↵Anders Broman1-30/+0
for that. svn path=/trunk/; revision=52115
2013-09-16Read the local services file.Anders Broman1-0/+24
svn path=/trunk/; revision=52104
2013-09-16Don't call getservbyport() on unresolved ports - it's expensive.Anders Broman1-30/+8
We should read the services file in initialize_services instead. svn path=/trunk/; revision=52103
2013-08-29Revert revision=51577.Anders Broman1-11/+19
Ref https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9082 Since this commit the IP (source and destination) address in the GUI will be replaced with some date after I click on the entry, reverting this commit fixes the problem. This looks like a memory corruption. I imported an older pcap file. svn path=/trunk/; revision=51579
2013-08-29Don't store address in the hastable when name resolution is off.Anders Broman1-19/+11
svn path=/trunk/; revision=51577
2013-08-20Clean-up ipxnet hash table in host_name_lookup_cleanup. Should fix the buildbotEvan Huus1-0/+5
test suite failures. svn path=/trunk/; revision=51447
2013-08-20Fix for Jörg Mayer1-0/+5
[ 6%] Building C object epan/CMakeFiles/epan.dir/addr_resolv.c.o /home/jmayer/work/wireshark/svn/trunk/epan/addr_resolv.c:1927:1: error: unused function 'get_ipxnetbyname' [-Werror,-Wunused-function] get_ipxnetbyname(const gchar *name) ^ /home/jmayer/work/wireshark/svn/trunk/epan/addr_resolv.c:2009:1: error: unused function 'add_ipxnet_name' [-Werror,-Wunused-function] by #if 0/#endif the functions. If they really are not needed any more they should be removed. svn path=/trunk/; revision=51438
2013-08-20Mark an unused parameter.Anders Broman1-1/+1
svn path=/trunk/; revision=51437
2013-08-20Use g_hash_table() for ipxnet name resolution.Anders Broman1-41/+41
svn path=/trunk/; revision=51436