pingcheck
13 years agoBring aboard a factory to create DNS resolvers.
Guilherme Maciel Ferreira [Mon, 5 Mar 2012 00:03:45 +0000]
Bring aboard a factory to create DNS resolvers.

13 years agoAdded AAAA resource records in the DNS query.
Guilherme Maciel Ferreira [Sun, 4 Mar 2012 23:55:34 +0000]
Added AAAA resource records in the DNS query.
- DNS resolve to IPv6 addresses.

13 years agoMoved DnsResolver from PingScheduler to PingRotate.
Guilherme Maciel Ferreira [Wed, 29 Feb 2012 23:46:07 +0000]
Moved DnsResolver from PingScheduler to PingRotate.
- Simplify the PingScheduler class;
- Makes easier for the PingRotate to match the correct Pinger to the IP version.

13 years agoCode improvement:
Guilherme Maciel Ferreira [Wed, 29 Feb 2012 00:12:01 +0000]
Code improvement:
- Replaced io_service references by shared pointers, because
  this ensures that this object is shared.

13 years agoCode improvement:
Guilherme Maciel Ferreira [Tue, 28 Feb 2012 00:02:31 +0000]
Code improvement:
- using STL rotate algorithm;
- moved part of ping_done_handler() method to another method to improve readability.

13 years agoCode improvement:
Guilherme Maciel Ferreira [Sun, 26 Feb 2012 22:36:29 +0000]
Code improvement:
- using STL rotate algorithm;
- and parameterized the fill_answers_list() method.

13 years agoHardening the match methods through asserts.
Guilherme Maciel Ferreira [Sun, 26 Feb 2012 20:58:50 +0000]
Hardening the match methods through asserts.

13 years agoUsing the list of protocols in the scheduler.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 17:20:16 +0000]
Using the list of protocols in the scheduler.

13 years agoFactory method to create the Pinger object that handles a list of protocols.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 17:15:02 +0000]
Factory method to create the Pinger object that handles a list of protocols.

13 years agoThe configuration supports more than one protocol per host.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 16:30:51 +0000]
The configuration supports more than one protocol per host.
- The protocols must be separated by comma, like ping-protocol=ICMP,ICMPv6.

13 years agoAdded a new class to exchange protocols.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 16:15:26 +0000]
Added a new class to exchange protocols.
- It simply hides the Pingers objects from the scheduler, changing the protocols at
  will. This process is transparent to the PingScheduler.

13 years agoDocumentation: documenting the parsing function.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 16:07:06 +0000]
Documentation: documenting the parsing function.

13 years agoAdded PingProtocolList type.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 16:06:21 +0000]
Added PingProtocolList type.

13 years agoReplaced boost::shared_ptr<Pinger> by PingerItem.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 16:01:41 +0000]
Replaced boost::shared_ptr<Pinger> by PingerItem.

13 years agoCreated a HostAddressList type as an alias to the STL list of HostAddresses.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 02:50:02 +0000]
Created a HostAddressList type as an alias to the STL list of HostAddresses.

13 years agoFix: cast to integer because some compilers do not provide automatic conversion.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 02:45:00 +0000]
Fix: cast to integer because some compilers do not provide automatic conversion.

13 years agoRefactor: moved the 'A' resource record filling to a dedicated method.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 02:37:21 +0000]
Refactor: moved the 'A' resource record filling to a dedicated method.

13 years agoRemoving the const qualifier to link with Boost.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 02:27:32 +0000]
Removing the const qualifier to link with Boost.
- Older versions of GCC does not link with different constness.

13 years agoCreated a PingItem type as an alias to the smart pointer.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 01:56:05 +0000]
Created a PingItem type as an alias to the smart pointer.

13 years agoImplemented in commit aafde4f869c9a119bfb44e54961d7ac93804d995. v1.3
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 03:24:38 +0000]
Implemented in commit aafde4f869c9a119bfb44e54961d7ac93804d995.

13 years agoFix: suppress the warning about dereferencing type-punned pointer that break strict...
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 03:21:40 +0000]
Fix: suppress the warning about dereferencing type-punned pointer that break strict-aliasing rules.

13 years agoNot implemented. The classes config/Host and dns/HostAddress serve to
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:48:44 +0000]
Not implemented. The classes config/Host and dns/HostAddress serve to
different purposes, it is better to keep them separated.

13 years agoNot implemented. The checksum calculations are different in ICMP and TCP.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:35:56 +0000]
Not implemented. The checksum calculations are different in ICMP and TCP.

13 years agoNot done and not important, as no bottleneck is noticeable.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:34:03 +0000]
Not done and not important, as no bottleneck is noticeable.

13 years agoNot implemented according to the message:
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:24:17 +0000]
Not implemented according to the message:

From: Thomas Jarosch <thomas.jarosch@intra2net.com>
To: guilherme.maciel.ferreira@gmail.com
Subject: Re: DNS library
Date: Mon, 12 Dec 2011 11:12:55 +0100

Hi Guilherme,

On Friday, 9. December 2011 19:24:49 you wrote:
> What do you think is the best approach to include the DNS library in
> the pingcheck? Once it is just headers, do you think I must make the
> DNS library install its header somewhere and search them in the
> pingcheck build process, or do you know a better approach?

I'd say we keep the current approach with the in-tree files: pingcheck is
currently the only project at Intra2net that relies on boost::net::dns.
So building is easier with less external dependencies.

The situation will change as soon as another project uses it, too.

Cheers,
Thomas

13 years agoImplemented in commit 3625c0e544982518392b842162318db9a9840a1a.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:23:03 +0000]
Implemented in commit 3625c0e544982518392b842162318db9a9840a1a.

13 years agoImplemented in 'config' branch.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:21:54 +0000]
Implemented in 'config' branch.

13 years agoImplemented in 'test' branch.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:20:55 +0000]
Implemented in 'test' branch.

13 years agoImplemented in ipv6 branch.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:19:10 +0000]
Implemented in ipv6 branch.

13 years agoImplemented in commit ad545958f408012956bcac4cf466c94bec014bcc.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:15:42 +0000]
Implemented in commit ad545958f408012956bcac4cf466c94bec014bcc.

13 years agoMerge branch 'test'
Guilherme Maciel Ferreira [Mon, 20 Feb 2012 18:54:26 +0000]
Merge branch 'test'

Conflicts:
src/config/configurationreader.cpp
src/config/configurationreader.h
src/host/messagepayload.cpp
src/link/linkstatus.h
src/main.cpp
src/tcp/tcpheader.cpp

13 years agoThe log level can be configured in the command line, through --log-level=<level>...
Guilherme Maciel Ferreira [Mon, 20 Feb 2012 18:11:17 +0000]
The log level can be configured in the command line, through --log-level=<level> option.

13 years agoFix: using libi2ncommon LogLevel.
Guilherme Maciel Ferreira [Mon, 20 Feb 2012 18:03:22 +0000]
Fix: using libi2ncommon LogLevel.

13 years agoBring aboard log level configuration.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 22:35:16 +0000]
Bring aboard log level configuration.

13 years agoBring aboard log level parsing function.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 21:05:23 +0000]
Bring aboard log level parsing function.

13 years agoChanged protocol_string_map's storage class from external to internal.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 20:56:14 +0000]
Changed protocol_string_map's storage class from external to internal.

13 years agoUsing encode1() and decode1() from MessagePayload class.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 18:41:28 +0000]
Using encode1() and decode1() from MessagePayload class.
- This methods also allow to toggle the bit, the previous implementation allowed
  only to turn the bits on, but not turn them off.

13 years agoImplemented encode and decode methods for just 1 bit.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 18:19:55 +0000]
Implemented encode and decode methods for just 1 bit.
- In order to hide statements like "Payload[13] | bit ? 0x08 : 0x0" and "Payload[13] & 0x04".

13 years agoAdded index suffix to the parameters names.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 18:02:04 +0000]
Added index suffix to the parameters names.

13 years agoDocumentation for TCP header.
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 14:21:18 +0000]
Documentation for TCP header.

13 years agoTest: bring aboard TcpHeader test case.
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 02:46:14 +0000]
Test: bring aboard TcpHeader test case.

13 years agoRemoved unused parameter.
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 01:12:13 +0000]
Removed unused parameter.

13 years agoAdded functions prototypes to suppress some warnings.
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 01:06:25 +0000]
Added functions prototypes to suppress some warnings.

13 years agoFix: const-fied the argv parameter in order to suppress the string to char* conversio...
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 00:38:01 +0000]
Fix: const-fied the argv parameter in order to suppress the string to char* conversion warning.
- This also protects the string from modification.

13 years agoAdded stack protection warning and optimization to avoid stack overflows.
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 00:14:39 +0000]
Added stack protection warning and optimization to avoid stack overflows.

13 years agoTest: bring aboard LinkStatus test case.
Guilherme Maciel Ferreira [Mon, 13 Feb 2012 00:28:47 +0000]
Test: bring aboard LinkStatus test case.

13 years agoFix: fixed previous test case namespace.
Guilherme Maciel Ferreira [Mon, 6 Feb 2012 23:29:48 +0000]
Fix: fixed previous test case namespace.

13 years agoTest: bring aboard PingProtocol test case.
Guilherme Maciel Ferreira [Mon, 6 Feb 2012 23:23:54 +0000]
Test: bring aboard PingProtocol test case.

13 years agoTest: bring aboard ConfigurationOptions test case.
Guilherme Maciel Ferreira [Mon, 6 Feb 2012 02:13:22 +0000]
Test: bring aboard ConfigurationOptions test case.

13 years agoFix: not all letter in the protocol_string_map key were uppercase, which caused
Guilherme Maciel Ferreira [Mon, 6 Feb 2012 02:04:35 +0000]
Fix: not all letter in the protocol_string_map key were uppercase, which caused
the protocol_uppercase_string to do not index properly.

13 years agoFix: misspelled class name.
Guilherme Maciel Ferreira [Thu, 2 Feb 2012 23:14:54 +0000]
Fix: misspelled class name.
- The correct is HostsDownLimitOption instead of HostDownLimitOption.

13 years agoDocumentation: added --daemon option.
Guilherme Maciel Ferreira [Thu, 2 Feb 2012 00:33:32 +0000]
Documentation: added --daemon option.

13 years agoTest: added --daemon option to ConfigurationCommandLine test case.
Guilherme Maciel Ferreira [Thu, 2 Feb 2012 00:32:15 +0000]
Test: added --daemon option to ConfigurationCommandLine test case.

13 years agoTest: bring aboard ConfigurationFile test case.
Guilherme Maciel Ferreira [Thu, 2 Feb 2012 00:31:01 +0000]
Test: bring aboard ConfigurationFile test case.

13 years agoSmall documentation fixes.
Guilherme Maciel Ferreira [Wed, 1 Feb 2012 01:42:14 +0000]
Small documentation fixes.

13 years agoTest: bring aboard ConfigurationCommandLine test case.
Guilherme Maciel Ferreira [Wed, 1 Feb 2012 01:15:44 +0000]
Test: bring aboard ConfigurationCommandLine test case.

13 years agoFix: solved stack smashing when creating StatusNotifierCommand.
Guilherme Maciel Ferreira [Sun, 29 Jan 2012 16:45:40 +0000]
Fix: solved stack smashing when creating StatusNotifierCommand.
- The StatusNotifierCommand member is a smart pointer instead of an object.
- Stack smashing is a protection from GCC to avoid segmentation faults from
  buffer overruns. Use -fno-stack-protector to disable it.
- This workaround protects some std::string strings from optimizations, which
  cause destructors to be called onto invalid std::string objects. Not sure
  whether is it a bug from gcc or in the pingcheck.

13 years agoRemoved parameter to shut the warning up.
Guilherme Maciel Ferreira [Sat, 28 Jan 2012 19:07:52 +0000]
Removed parameter to shut the warning up.

13 years agoAdded function prototypes to shut the warnings up.
Guilherme Maciel Ferreira [Sat, 28 Jan 2012 19:04:28 +0000]
Added function prototypes to shut the warnings up.

13 years agoCreated an intermediate variable to shut the warning up.
Guilherme Maciel Ferreira [Sat, 28 Jan 2012 18:51:49 +0000]
Created an intermediate variable to shut the warning up.

13 years agoSmall documentation fix.
Guilherme Maciel Ferreira [Sat, 28 Jan 2012 18:35:47 +0000]
Small documentation fix.

13 years agoIncreased warning level.
Guilherme Maciel Ferreira [Sat, 28 Jan 2012 18:34:49 +0000]
Increased warning level.

13 years agoUsing LinkStatusItem type as an alias to the boost::shared_ptr<LinkStatus>.
Guilherme Maciel Ferreira [Thu, 26 Jan 2012 09:43:04 +0000]
Using LinkStatusItem type as an alias to the boost::shared_ptr<LinkStatus>.

13 years agoRenamed LinkStatusAnalyzer to LinkStatus.
Guilherme Maciel Ferreira [Thu, 26 Jan 2012 00:39:46 +0000]
Renamed LinkStatusAnalyzer to LinkStatus.
    - This is a stronger noun name;
    - See "The Gravitational Pull of Functional Decomposition" at
      http://www.eetimes.com/design/embedded/4006522/Using-object-oriented-methods-to-achieve-C--s-promise-Part-3

13 years agoRenamed HostStatusAnalyzer to HostStatus.
Guilherme Maciel Ferreira [Wed, 25 Jan 2012 23:11:58 +0000]
Renamed HostStatusAnalyzer to HostStatus.
- This is a stronger noun name;
- See "The Gravitational Pull of Functional Decomposition" at
  http://www.eetimes.com/design/embedded/4006522/Using-object-oriented-methods-to-achieve-C--s-promise-Part-3

13 years agoMerge branch 'config' into test
Guilherme Maciel Ferreira [Wed, 25 Jan 2012 22:17:22 +0000]
Merge branch 'config' into test

Conflicts:
TODO
src/host/hoststatusanalyzer.h
src/icmp/icmppacket.h
src/main.cpp

13 years agoTest: keep mock class definition within header to reduce the amount of files, once...
Guilherme Maciel Ferreira [Sat, 21 Jan 2012 13:22:58 +0000]
Test: keep mock class definition within header to reduce the amount of files, once the mock implementation is empty.

13 years agoTest: split test cases in N binaries.
Guilherme Maciel Ferreira [Sat, 21 Jan 2012 10:23:34 +0000]
Test: split test cases in N binaries.
Each test in its own binary:
- Allow linking of mock objects without conflicts with the original definition,
  which is linked in another executable;
- Provide list of tests and hints on which test failed, instead of a bloated
  binary, which gives no hint about.

13 years agoStandardized variables names with a common suffix.
Guilherme Maciel Ferreira [Fri, 20 Jan 2012 21:54:48 +0000]
Standardized variables names with a common suffix.

13 years agoTest: bring aboard HostStatusAnalyzer test case.
Guilherme Maciel Ferreira [Fri, 20 Jan 2012 10:21:06 +0000]
Test: bring aboard HostStatusAnalyzer test case.

13 years agoTest: bring aboard the LinkStatusAnalyzer mock required by HostStatusAnalyzer.
Guilherme Maciel Ferreira [Fri, 20 Jan 2012 10:15:53 +0000]
Test: bring aboard the LinkStatusAnalyzer mock required by HostStatusAnalyzer.

13 years agoFix: The ping_fail_absolute_limit calculation was incorrect.
Guilherme Maciel Ferreira [Fri, 20 Jan 2012 10:09:26 +0000]
Fix: The ping_fail_absolute_limit calculation was incorrect.
- The intend of this variable is to provide the maximum number failed
  pings taking in consideration the amount of IP resolved for the host.

13 years agoTest: bring aboard Icmpv6Header test case.
Guilherme Maciel Ferreira [Mon, 16 Jan 2012 09:19:10 +0000]
Test: bring aboard Icmpv6Header test case.

13 years agoTest: bring aboard Icmpv4Header test case.
Guilherme Maciel Ferreira [Tue, 10 Jan 2012 09:18:33 +0000]
Test: bring aboard Icmpv4Header test case.

13 years agoTest: bring aboard Ipv6Header test case.
Guilherme Maciel Ferreira [Sun, 8 Jan 2012 15:57:51 +0000]
Test: bring aboard Ipv6Header test case.

13 years agoTest: removed hard-coded MessagePayload size.
Guilherme Maciel Ferreira [Sun, 8 Jan 2012 14:43:11 +0000]
Test: removed hard-coded MessagePayload size.

13 years agoTest: bring aboard Ipv4Header test case.
Guilherme Maciel Ferreira [Sun, 8 Jan 2012 14:41:03 +0000]
Test: bring aboard Ipv4Header test case.

13 years agoFix: added missing statements in the makefile and split the sources variable.
Guilherme Maciel Ferreira [Sat, 7 Jan 2012 16:20:58 +0000]
Fix: added missing statements in the makefile and split the sources variable.

13 years agoTest: finished MessagePayload test case.
Guilherme Maciel Ferreira [Fri, 6 Jan 2012 10:19:51 +0000]
Test: finished MessagePayload test case.

13 years agoFix: now the old_payload_data is a buffer to the original Payload data instead of...
Guilherme Maciel Ferreira [Fri, 6 Jan 2012 10:09:09 +0000]
Fix: now the old_payload_data is a buffer to the original Payload data instead of a pointer to it.
- This is required because the Payload.reset() deletes the data pointed by the old_payload_data,
so it became invalid and was breaking the append() method.

13 years agoImproved: changed copy's arguments format to improve readability.
Guilherme Maciel Ferreira [Fri, 6 Jan 2012 09:28:46 +0000]
Improved: changed copy's arguments format to improve readability.
- Changed from pointer arithmetic to array indexes.

13 years agoFix: set assert lower limit equal to zero.
Guilherme Maciel Ferreira [Thu, 5 Jan 2012 22:27:17 +0000]
Fix: set assert lower limit equal to zero.

13 years agoDocumentation: small fixes.
Guilherme Maciel Ferreira [Thu, 5 Jan 2012 22:25:18 +0000]
Documentation: small fixes.

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Tue, 3 Jan 2012 09:58:27 +0000]
PC-Lint warnings fixed:
- Info 713: Loss of precision (arg. no. 1) (unsigned char to char).

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Tue, 3 Jan 2012 09:57:46 +0000]
PC-Lint warnings fixed:
- Warning 603: Symbol 'address' (line x) not initialized;
- Info 766: Header file 'limits' not used in module 'src\ip\ipv6header.cpp'.

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Tue, 3 Jan 2012 09:54:33 +0000]
PC-Lint warnings fixed:
- Info 732: Loss of sign (initialization) (int to unsigned int).

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Tue, 3 Jan 2012 09:53:30 +0000]
PC-Lint warnings fixed:
- Info 713: Loss of precision (initialization) (unsigned int to int)

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Tue, 3 Jan 2012 09:52:26 +0000]
PC-Lint warnings fixed:
- Warning 568: non-negative quantity is never less than zero.

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Tue, 3 Jan 2012 09:49:52 +0000]
PC-Lint warnings fixed:
- Info 731: Boolean argument to equal/not equal;
- Info 866: Unusual use of '?' in argument to sizeof;
- Info 751: local typedef 'boost_static_assert_typedef_x' (line x) not referenced.

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Tue, 3 Jan 2012 09:48:44 +0000]
PC-Lint warnings fixed:
- Info 713: Loss of precision (arg. no. 1) (unsigned int to int);
- Info 701: Shift left of signed quantity (int).

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Tue, 3 Jan 2012 09:47:02 +0000]
PC-Lint warnings fixed:
- Warning 1551: Function may throw exception '...' in destructor 'NetworkInterfaceList::~NetworkInterfaceList(void)';
- Info 1775: catch block does not catch any declared exception.

13 years agoBring aboard test framework.
Guilherme Maciel Ferreira [Tue, 3 Jan 2012 02:19:51 +0000]
Bring aboard test framework.

13 years agoChanged notify message to error message.
Guilherme Maciel Ferreira [Sat, 31 Dec 2011 22:49:07 +0000]
Changed notify message to error message.

13 years agoMake explicit that the address from ICMPv6 can not be retrieved.
Guilherme Maciel Ferreira [Fri, 30 Dec 2011 02:31:37 +0000]
Make explicit that the address from ICMPv6 can not be retrieved.

13 years agoFix: handling packets with options length equal to zero.
Guilherme Maciel Ferreira [Sat, 24 Dec 2011 14:06:41 +0000]
Fix: handling packets with options length equal to zero.

13 years agoFix: the TCP's ttl was being printed as a char instead of as a integer.
Guilherme Maciel Ferreira [Sat, 24 Dec 2011 13:52:00 +0000]
Fix: the TCP's ttl was being printed as a char instead of as a integer.

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Sat, 24 Dec 2011 13:22:30 +0000]
PC-Lint warnings fixed:
- Info 737: Loss of sign in promotion from int to unsigned int;
- Info 713: Loss of precision (arg. no. 2) (unsigned int to int) in 'is.read( ..., PayloadSizeInBytes )' and 'os.write( ..., PayloadSizeInBytes )'.

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Sat, 24 Dec 2011 12:42:43 +0000]
PC-Lint warnings fixed:
- Info 1736: Redundant access specifier (private);

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Thu, 22 Dec 2011 10:11:39 +0000]
PC-Lint warnings fixed:
- Warning 1551: Function may throw exception '...' in destructor 'NetworkInterfaceList::~NetworkInterfaceList(void)';
- Info 774: Boolean within 'if' always evaluates to True.

13 years agoPC-Lint warnings fixed:
Guilherme Maciel Ferreira [Thu, 22 Dec 2011 09:42:24 +0000]
PC-Lint warnings fixed:
- Info 1786: Implicit conversion to Boolean (return) (int to bool);
- Info 1705: static class members may be accessed by the scoping operator;
- Info 713: Loss of precision (arg. no. 2) (unsigned int to int);
- Info 737: Loss of sign in promotion from int to unsigned int in statement 'size -= sizeof(word_array[ 0 ])';
- Info 713: Loss of precision (assignment) (unsigned int to int) in statement 'size -= sizeof(word_array[ 0 ])';
- Info 1773: Attempt to cast away const (or volatile) in statement 'cksum += *(uint8_t*) word_array';
- Replaced all C-style casts by C++ style casts.