Commit Graph

327 Commits

Author SHA1 Message Date
Srivats P.
022fac534c Feature (contd.): Variable Fields - fixed 2nd protocol of combo protocols not being listed and offset/mask not being calculated correctly for them via the GUI 2015-05-31 20:47:25 +05:30
Srivats P.
6bb64a3b26 Feature (contd.): Variable Fields - renamed variable_fields as singular; this makes it consistent with other repeated variables in protocol.proto and in any case the C++/Python generated code "sounds" better with a repeated field named in its singular form, rather than plural 2015-05-31 20:14:32 +05:30
Srivats P.
641a4f3c89 Feature (contd.): Variable Fields - defined a template function varyCounter to avoid duplicating code for different counter sizes 2015-05-31 19:46:16 +05:30
Srivats P.
77f5b124e7 Feature (contd.): Variable Fields - fixed the code to use 'step' while varying fields which was missed out earlier. Updated the test suite and made sure all test cases pass 2015-05-31 18:02:06 +05:30
Srivats P.
4093e52d48 Feature (contd.): Variable fields - filled in the placeholder with the actual test suite; some tests are failing - need to fix the code 2015-05-30 13:26:14 +05:30
Srivats P.
60c47c34a1 Feature (contd.): Variable Fields - AbstractProtocol now caches fieldFrameBitOffset unless the subclass says not to 2015-05-27 22:41:31 +05:30
Srivats P.
4f2abcb789 Feature (contd.): Variable Fields - AbstractProtocol now caches the frameVariableCount (of variableFields) 2015-05-27 21:28:40 +05:30
Srivats P.
7a1f791a37 Feature (contd.): Variable Fields - removed protocol subclass implementations of isProtocolFrameValueVariable() since the updated implementation in the base abstract class is now sufficient. Updated subclass implementations of protocolFrameValueVariableCount() to query the base class and use the return value in its calculation 2015-05-27 20:36:49 +05:30
Srivats P.
df24cf8b15 Feature: Variable Fields - any field of any protocol can now be varied by specifying it as a generic 8/16/32 bit field at a specified offset (relative to the protocol frame value) with a certain mask and a (initial) value alongwith count and step; this is working code - but incomplete. Bunch of FIXME/TODOs and testing pending 2015-05-26 21:43:37 +05:30
Srivats P.
77fe49bf10 Bugfix: When changing transmit mode of a port, the avg rates should be recalculated 2015-05-08 21:49:43 +05:30
Srivats P.
1dbc4120c9 Bugfix: When we add a portgroup, there was a delay in the port stats window showing '*' in the column titles 2015-05-08 21:24:52 +05:30
Srivats P.
250065970f Optimization: Modify port from the Ostinato GUI client now only sends those fields that have changed 2015-05-07 21:12:06 +05:30
Srivats P.
382c94b326 Behaviour Change: 'Clear All' in the port stats window now clears only the visible ports in the window, not all ports of all portgroups. This behaviour is the more appropriate behaviour when two or more clients are connected to the same portgroup and are using mutually exclusive ports within the portgroup - this way they don't affect each other's ports (assuming they have only their used ports visible) 2015-05-07 18:56:32 +05:30
Srivats P.
ab76da1ad2 Bugfix: Escape the username RegExp used for filtering Ports window 2015-05-06 21:47:46 +05:30
Srivats P.
efbc2dcf48 Feature: Show My Reserved Ports Only linked to Port Stats window also 2015-05-06 21:40:55 +05:30
Srivats P.
ad3a279cd6 Bugfix: Fixed crash on clicking 'apply' caused by an invalid proxyPortModel->mapToSource() 2015-05-04 22:29:35 +05:30
Srivats P.
2c28433533 Feature: View Menu: Restore Defaults
Fixes issue 68
2015-05-03 23:44:35 +05:30
Srivats P.
05b73a5390 Feature: Show My Reserved Ports Only 2015-05-03 22:18:54 +05:30
Srivats P.
7dc7a840f1 Merging heads 2015-05-02 11:46:05 +05:30
Srivats P.
25ef8dd1e4 Infra: Added code to disable notifications for python-ostinato scripts since python-ostinato does not expect and hence does not know how to deal with notifications
Updates issue 144
2015-05-01 21:41:04 +05:30
Srivats P.
f1378965ca Bugfix: Fixed bugs in RPC Channel read function that causes the client to miss some messages or not receive any at all (see the diff for details); these bugs are day one bugs but adding the Notify RPC increased the chances of seeing them
Updates issue 144
2015-05-01 13:20:12 +05:30
Srivats P.
fbaf6edcdf Bugfix: Use 'smart' pointer to refcount and auto-destruct to avoid notification memory leaks
Updates issue 144
2015-04-28 18:45:35 +05:30
Srivats P.
9be69a8f46 Refactoring: Cleanup RPC Channel's knowledge of notification prototype
Updates issue 144
2015-04-25 20:12:37 +05:30
Srivats P.
ad6baea4af Infra: On a port modify, all clients are sent notifications of the same - they can request for port config again to get latest config
Updates issue 144
2015-04-24 20:53:00 +05:30
Srivats P.
fd22d49ead Refactoring: Move gzip/diff/awk path default values init on Windows into the Preferences class 2015-04-16 22:30:18 +05:30
Srivats P.
a9da643fb2 Feature: Reserve Ports for cooperative use of shared drone. If a port is reserved the GUI will display the username of the owner but others can still view and control the port; in other words, we just potentially prevent unintentional usage of other people's ports, users still need to play nice with each other!
Fixes issue 144
2015-04-16 22:20:07 +05:30
Srivats P.
0c861201b3 Save streams as Python Script: The generated script now checks for Ctrl-C while waiting for transmit to stop, so that cleanup can be done 2015-04-09 21:44:54 +05:30
Srivats P.
ecbb257912 Add feature to duplicate selected streams to create user defined number of copies
Fixes issue 23
2015-03-01 21:58:40 +05:30
Srivats P.
e3e61b7320 Merge 2015-03-01 21:36:54 +05:30
Srivats P.
10d921adfc Export streams as a python script for use with python-ostinato 2015-03-01 21:36:13 +05:30
Srivats P.
c0f6a71123 Fix infinite loop(s) when QT_NO_DEBUG_OUTPUT is defined
Fixes issue 146
2015-02-27 20:29:38 +05:30
Srivats P.
b617c44e61 64bit stats support added for Linux if supported by the kernel and driver
Fixes issue 70
2015-02-18 21:20:27 +05:30
Srivats P.
ac7e378939 Names of capture files on the client now include the interface name so that it is easy to identify which capture belongs to which port when multiple captures are open in multiple Wireshark windows. 2015-01-16 20:29:11 +05:30
Srivats P.
02e442a6bf Check for updates (newer version) at startup - for now only Ostinato does this check, not drone. 2015-01-15 20:22:24 +05:30
Srivats P.
f4f5214b7a If no L4 protocol follows IPv6, set the IPv6 Next-Header field to 0x3B (IPv6-No-Next-Header) instead of leaving it at 0 which is interpreted as IPv6-Hop-By-Hop by the recipient and subsequent failure in parsing the frame 2015-01-13 18:51:21 +05:30
Srivats P.
e2a4431418 Invoking Port Filter Dialog will now always show selected list in the same order as in the port stats window before invocation 2015-01-09 20:48:58 +05:30
Srivats P.
37711fdd5c Fixed typo that was causing "Clear All Stats" to clear only the first portgroup and not the rest
Fixes issue 89
2015-01-01 21:00:23 +05:30
Srivats P.
5d7e6fe66c Removed debug print of drone settings filename - QSettings::fileName() is the file where the settings will be written to, not the file from which settings were read (when fallbacks are enabled) and hence not useful for us. 2014-12-31 21:41:12 +05:30
Srivats P.
8369c18b35 Implemented drone application settings - .ini format on all platforms; settings read at startup, not saved back. In other words, user needs to hand write settings in the .ini file. Currently, the only setting implemented is a portlist filter as include/exclude lists of patterns 2014-12-31 20:16:30 +05:30
John Paul Spiro-Colwell
1bc4efe48b Correct names of ports in Port Stats Window. The problem is seen only with 2 (or more) portgroups where the number of ports in the subsequent portgroup is more than the number of ports in the previous portgroup
Fixes issue 88
2014-12-27 12:16:42 +05:30
Srivats P.
42f716e693 When reading PDML files, skip all XML tokens at the start of the file till you reach the first element and then check whether it is 'pdml'
Fixes issue 132
2014-11-08 10:17:57 +05:30
Srivats P.
50f20a5452 During stream configuration - when deleting a protocol, delete its associated widget also, otherwise if a newly allocated protocol gets the same heap address as the old protocol, the old protocol's widget gets associated with the new protocol.
Fixes issue 131
2014-11-07 20:21:02 +05:30
Srivats P.
943eb49b66 Fix scrolling issue in packet view protocol/field tree
Fixes issue 140
2014-11-03 21:22:45 +05:30
Srivats P.
48215ae93a Make Items in "All Protocols" and "Selected Protocols List" read-only 2014-11-03 20:49:42 +05:30
Srivats P.
ad11bf8cbd Bumping version to 0.6 2014-07-07 17:57:22 +05:30
Srivats P.
09a79a010d Fixing compiler warning 2014-07-06 19:28:30 +05:30
Srivats P.
63ea66fa4f Fix sys.path in rpctest.py to prepend instead of append the binding directory 2014-07-06 18:59:59 +05:30
Srivats P.
470d390658 fix gcc warnings 2014-07-06 18:36:01 +05:30
Srivats P.
347fc02dcf Drone prints version/revision information at startup 2014-07-06 13:02:59 +05:30
Srivats P.
57be4f3ada Drone now disconnects only if version is incompatible or if any other RPC is received before versionCheck() - for all other errors/failures, drone does not disconnect the connection with client 2014-07-06 11:26:26 +05:30