- Renaming MyStats class to avoid confusion
- Making myStats global variable so we can print stats when terminating with signal
- Fixing small bug in quiet_ping() preventing in from ever exiting.
- Converting quiet and verbose ping functions to generator so we can do infinite ping. All the work was done by Ariana Giroux. #14
- Adding exception when sending packets to handle socket.error (Python2.x issue) Thanks to Ariana Giroux #16
- Fixing MyStats printing.
- Fix. Replacing print() with print('') to avoid python2.x printing "()" liens
- Introduce a basic CLI interface via Python's argparse by Ariana Giroux https://github.com/l4m3rx/python-ping/pull/15/commits/0ea79021dfba8ce57ee967f0e923846f627aac71
- Rename variables to avoid overwriting python building functions/objects. ping.py: bytes -> _bytes setup.py: hash -> mhash icmp_messages.py: type -> itype
- Updating Authors
- Fixing up function names as suggested by EclectickMedia #13
- PEP8 Stuff
- Code clean up
- Remove revision history from ping.py
- New unittest (tests.py) thanks to EclectickMedia
- Switching .iteritems() to .items() in icmp_messages.py for better competability (thanks to Steve Clement)
- Small fixes
- Python 3 competability
- Fixing small bug (verbose ping printing)
- Fix statistics dump on unexpected exit
- Fixing a bug where we match the ICMP request as respons - Fix based on samuel's work https://github.com/samuel/python-ping/commit/745c159dacce6afebb0f82cac8e9ed5bb2189491#diff-0ee81781c0132dc8f743df3a41b71918R128
- Merging simudream's patch to fix python3 error handeling.
- Set socket options to allow sending pings to broadcast address - Based on Tom Wilkie's patch https://github.com/tomwilkie/pyping/commit/7d017b03ee462fae72e2d0ff96a042bcba295564
- Fixing an bug introduced with last changes :S - Python on Windows dosn't have socket.inet_ntop Adding try/except to handle AttributeError.
- For problems/suggestions https://github.com/l4m3rx/python-ping/issues
- Forgot to add stuff to this README :p
- Merging parts of code from all the python-ping forks on github
- Litlle modifications by Auke Willem Oosterhoff: - Added support for simultaneous pings on multiple hosts. https://bitbucket.org/OrangeTux/python-ping/commits/d4aa720662995a57cf18fa6b8ea689e9d11d26c7/raw/
- Faster and cleaner checksum creation Based on frfra's patch https://github.com/alexlouden/python-ping/commit/b9fc3acb2c36ccc895d1f7ba7336b951dc033ce9
- Changing 'except' calls to work with 2.x and 3.x Based on pferate's patch https://github.com/pferate/python_ping/commit/4e761ea99582ac1699c7965d149ce16e6b62f0ac
- Some small PIP8 stuff...
- Merging stuff from/with https://github.com/estemendoza/python-ping Both repos are in sync now.
- Added support for IPv6. Taken from implementation of Lars Strand.
- Fixing bug to prevent divide by 0 during run-time.
- Fixing BUG #4 - competability with python 2.x [tested with 2.7] - Packet data building is different for 2.x and 3.x. 'cose of the string/bytes difference.
- Fixing BUG #10 - the multiple resolv issue. - When pinging domain names insted of hosts (for exmaple google.com) you can get different IP every time you try to resolv it, we should resolv the host only once and stick to that IP.
- Fixing BUGs #3 #10 - Doing hostname resolv only once.
- Fixing BUG #14 - Removing all 'global' stuff. - You should not use globul! Its bad for you...and its not thread safe!
- Fix - forcing the use of different times on linux/windows for more accurate mesurments. (time.time - linux/ time.clock - windows)
- Adding quiet_ping function - This way we'll be able to use this script as external lib.
- Changing default timeout to 3s. (1second is not enought)
- Switching data syze to packet size. It's easyer for the user to ignore the fact that the packet headr is 8b and the datasize 64 will make packet with
Merge sources and create a seperate github repository:
Add a simple CLI interface.
- Bugfixes + cleanup by Jens Diemer Tested with Ubuntu + Windows 7
- Cleanup by Martin Falatic. Restored lost comments and docs. Improved functionality: constant time between pings, internal times consistently use milliseconds. Clarified annotations (e.g., in the checksum routine). Using unsigned data in IP & ICMP header pack/unpack unless otherwise necessary. Signal handling. Ping-style output formatting and stats.
- Ported to py3k by Zach Ware. Mostly done by 2to3; also minor changes to deal with bytes vs. string changes (no more ord() in checksum() because >source_string< is actually bytes, added .encode() to data in send_one_ping()). That's about it.
- changes by Samuel Stauffer: replaced time.clock with default_timer which is set to time.clock on windows and time.time on other systems.
- Fixes by George Notaras, reported by Chris Hallman:
- Improved compatibility with GNU/Linux systems.
- Changes in this release: Re-use time.time() instead of time.clock(). The 2007 implementation worked only under Microsoft Windows. Failed on GNU/Linux. time.clock() behaves differently under the two OSes.
little rewrite by Jens Diemer:
- change socket asterisk import to a normal import
- replace time.time() with time.clock()
- delete "return None" (or change to "return" only)
- in checksum() rename "str" to "source_string"
- Changed the struct.pack() calls to pack the checksum and ID as unsigned. My thanks to Jerome Poincheval for the fix.
- Initial hack. Doesn't do much, but rather than try to guess what features I (or others) will want in the future, I've only put in what I need now.
For some reason, the checksum bytes are in the wrong order when this is run under Solaris 2.X for SPARC but it works right under Linux x86. Since I don't know just what's wrong, I'll swap the bytes always and then do an htons().