Commit Graph

934 Commits

Author SHA1 Message Date
Srivats P
0d1b4be682 Connect to local portgroup later in the app startup sequence
This allows drone to init itself and wait for connections before we
attempt to connect to it

Fixes #266
2019-02-22 20:34:59 +05:30
Srivats P
00bc01898d Show a progress dialog during Apply
The most time spent during apply is during packet rebuilding.
Unfortunately, there is no feedback from the drone to know the actual
progress, so this is just a busy indicator for now.

I tried to put a jump url to the FAQ on why it takes time, but 'coz the
app cursor is a "wait cursor", user cannot click on any widgets/elements
inside the dialog box - so this won't work.

Iterate on this dialog and what it displays based on user feedback.
2019-02-22 18:58:13 +05:30
Srivats P
44357178c4 Rename var 'fail' as 'error'
This better reflects the following -
RPC fail : complete failure of the RPC; no changes were made
RPC error: partial failure of the RPC; some changes were made, some had
           errors
2019-02-21 20:57:24 +05:30
Srivats P
9003d339bc Display all RPC failures and errors in the logs window 2019-02-21 20:51:18 +05:30
Srivats P
adfe1380da Print drone version/revision first thing at startup
Currently these are printed at the end of init when we start waiting for
client connections - this was done so that this info doesn't get lost in
the barrage of init logs. The downside is if there is a crash during
init, we don't get to know the version/revision from the logs. With this
change this info is printed twice - first thing when we start and just
after init when we start waiting for client connections
2019-02-18 18:16:36 +05:30
Srivats P
fcca47e652 Rename kRpcFail as kRpcError
Distinguish RPC Failure and RPC Error - the latter is in case of partial
failures

Also make Ack.status required - missed out in last commit
2019-02-16 20:54:11 +05:30
Srivats P
7ea8c96543 Populate Ack for every RPC
Also make error strings in Ack and RPC failure consistent
2019-02-16 20:38:25 +05:30
Srivats P
95578e5094 Add animated icons to LogsWindow tab 2019-02-10 18:15:35 +05:30
Srivats P
10dddf410a Print RPC MethodName and ResponseMsgName on server 2019-02-09 18:22:57 +05:30
Srivats P
1f6af2e4cc HostDev: Fix build break 2019-02-09 18:00:10 +05:30
Srivats P
f951d1040c HostDev: Fix build break 2019-02-09 17:35:53 +05:30
Srivats P
8b9cceb7ed HostDev: Return smac/dmac resolve failure via RPC 2019-02-09 17:16:31 +05:30
Srivats P
90d93d52e1 Merge branch 'master' into hostdev 2019-02-05 20:34:00 +05:30
Srivats P
88b3c287d0 Track smac/dmac resolve failures when building packet list 2019-02-05 18:31:43 +05:30
Srivats P
6d438e2816 Fetch updated device info after resolve/clear neighbors
This matches the behaviour of these buttons within the devices widget
2019-02-02 13:26:40 +05:30
Srivats P
9d97fefad3 Add Resolve/Clear buttons to Device Info window
Fixes #189
2019-01-21 19:18:36 +05:30
Srivats P
1d6db2a86f Fix vertical alignment of Device Config row contents 2019-01-21 19:15:06 +05:30
Srivats P
2726192b9c HostDev: Print interfaceInfo for debug purposes 2019-01-15 19:07:55 +05:30
Srivats P
86150a7e46 HostDev: Create Host Device even if no IP is configured 2019-01-14 18:26:24 +05:30
Srivats P
bac7fba1de HostDev: Fix Win crash if a NIC doesn't have IP address 2019-01-14 18:10:47 +05:30
Srivats P
178b942d6e HostDev: Start/stop emulation based on no. of deviceGroups
Host Devices are included in deviceCount() but not in deviceGroupCount()
and emulation is not applicable to Host devices
2018-12-23 21:54:38 +05:30
Srivats P
7e476a8361 HostDev: Return QString to avoid accessing out of scope variable
errMsg used toLocal8Bit() which uses a temporary stack variable which
could go out of scope if the function is not inlined by compiler, so
avoid it by returning QString and use qPrintable
2018-12-23 21:50:46 +05:30
Srivats P
edd326fb24 HostDev: Refactor device list(s) ops
Use function(s) to hide the insertion/removal from multiple internal
lists
2018-12-23 21:49:21 +05:30
Srivats P
7b8c5a878a Add Help|Donate menu item 2018-12-18 19:36:21 +05:30
Srivats P
cbf9ab1812 Change outbound URLs to https where available 2018-12-14 23:04:47 +05:30
Srivats P
e6592c03a2 HostDev: Fix another bunch of FIXME/TODOs 2018-12-12 22:00:09 +05:30
Srivats P
112c3ff788 HostDev: Fix typo causing Linux build break 2018-12-11 21:27:57 +05:30
Srivats P
545f740676 HostDev: Fixed a bunch of FIXME/TODOs 2018-12-11 18:57:53 +05:30
Srivats P
12d6713491 Fix MacOS build break due to missing SA_SIZE definition 2018-12-10 18:00:00 +05:30
Srivats P
39be1ba66e Use default Travis MacOS/Xcode version for CI build 2018-12-08 13:47:50 +05:30
Srivats P
9a2f55f73f Use default travis MacOS/Xcode version for CI build 2018-12-08 13:42:10 +05:30
Srivats P
9934060216 Use default travis macOS/xcode image for build 2018-12-08 13:10:28 +05:30
Srivats P
5956de4f6f HostDev: Add BSD host device 2018-12-08 11:40:57 +05:30
Srivats P
c1f94ac5d4 Show both icon & text for the Status cell tooltip 2018-12-04 21:51:04 +05:30
Srivats P
f550cb0605 Adorn portList linkState icon with transmit/capture indicators
The new 'exclusive' indicator may need more work in the future
2018-12-03 21:14:05 +05:30
Srivats P
7409a98b6a Replace QFlags.setFlag() with &= for Qt 5.6 compatibility 2018-11-29 21:20:06 +05:30
Srivats P
496e044bdd Replace Port Stats Link/Tx/Capture state text with icons
* All 3 icons are combined into a single row instead of 3 separate rows
* Tooltip to clarify meaning of icons
* Qt Model-View displays icon left-aligned, so use a custom delegate to
  center-align it
* Add a icon for "Transmit On"
* Edit icons for "Start/Stop Capture"
2018-11-29 20:44:03 +05:30
Srivats P
d8bae11144 HostDev: Fix MacOS build break 2018-10-31 21:19:01 +05:30
Srivats P
7696f7d8f9 HostDev: Add BSD interface info 2018-10-31 19:59:08 +05:30
Srivats P
48721cece4 Import IP options into ip4.options instead of a new HexDump protocol
ip4.options was not supported earlier, so we used to import into a new
hexdump protocol. Now that IPv4 options field is supported, use that
instead
2018-10-04 18:33:38 +05:30
Srivats P
6cac41ab40 Set numPackets for imported streams to 1
Earlier the default value for num_packets was 1 and the imported streams
therefore also had the same. However, when the default value got changed
to 10, the num_packets for imported streams should have been explicitly
set to 1 - this was missed out and has been fixed now
2018-10-04 18:07:50 +05:30
Srivats P
495b99beda Use streamIndex in PseudoIpCksum calculation
This bug was introduced while fixing #271
2018-09-17 17:26:51 +05:30
Srivats P
5eea62f4f4 Fix build break by renaming xlocale.h to avoid name clash 2018-09-15 11:40:11 +05:30
Srivats P
c673141f33 Bugfix: Remove group separator when converting string to number
Fixes #240
2018-09-14 20:24:30 +05:30
Srivats P
9c319f97e5 Bugfix: Don't pad HexDump unless it's the last protocol 2018-09-14 18:29:23 +05:30
Srivats P
488a2ea730 Bugfix: Fix incorrect cksums
Presence of IPv6 Extension Headers was causing incorrect TCP/UDP/ICMP
cksums. Verified that with these changes, cksums are correct for all
combinations of L3 and L4 headers with/without options/extHdrs

Fixes #271
2018-09-13 12:32:36 +05:30
Srivats P
4924d7fe60 Bugfix: Encode hexdump and IPv4 options correctly
Using QString().fromStdString() caused conversion to Unicode via utf8
instead of using the plain binary data
2018-09-13 12:29:13 +05:30
Srivats P
db446966f7 HostDev: Fix symbol clash between net/if.h and libnl use of linux/if.h 2018-09-08 13:18:46 +05:30
Srivats P
a1155b0022 HostDev: Fix IPv6 gw search code 2018-09-08 17:08:53 +05:30
Srivats P
c5c071ee56 HostDev: Fix linux scope in qmake .pro 2018-09-02 21:06:08 +05:30