Giter Club home page Giter Club logo

yaizunettool's Introduction

StkFw 1.7.0

Summary of StkFw

StkFw is a test support software solution that simulates environments in which multiple pieces of software and/or hardware work together on an IP network. In the development of software designed to work and cooperate with complex and valuable elements (software and/or hardware) on a network, the use of a testing program that simulates network element behavior is a well-known solution for reducing overall development costs. However, if the behavior (i.e., communication with other network elements) of the software being developed is complex, the initial costs of creating a test program may be high. StkFw can be used to facilitate the control of data communication on an IP network based on its superior user interface. It simulates behavior identical to that of testing programs and reduces the overall cost of testing during the target software's development by eliminating the need to create a dedicated testing program.

stkfw01

System requirements

StkFw works on systems with the following specifications:

  • CPU: 1 GHz or more
  • Memory: 512 MB or more
  • Free disk space: 20 MB or more
  • Operating systems/editions supported:
    Windows 10 (Only 64 bit edition)
    Windows Server 2016
    Windows Server 2019

Change history

Version 1.6.0 ---> 1.7.0

  • Fixed a bug which a part of HTTP header string is inappropriately deleted when user edits the string on property dialog box of HTTP Header.
  • Support enabled for "Transfer-Encoding: chunked" specification in HTTP header as a new termination condition of TCP receiver.
  • Fixed a bug which HTTP header processing element cannot delete a HTTP header part in response data.
  • Support enabled for SSL/LTS connection.
  • Support enabled for Windows Server 2019.

Version 1.5.0 ---> 1.6.0

  • Support enabled for data reception which the specified size of Content-Length in HTTP header as a new terminate condition of TCP receiver.
  • Support enabled for removal and addition of HTTP header as a new processing element.
  • Support enabled for Windows Server 2016.

Version 1.4.0 ---> 1.5.0

  • Installer program files integrated into a single MSI file.
  • Support enabled for multiple-client connections using the same port number.
  • Fixed a bug whereby the current folder was not configured as the folder where the .std file was placed when the program was launched with /open and /start parameters.
  • Fixed a bug whereby redundant logs relating to socket closing were generated by the same receiver element when threads were stopped.
  • Support for IPv6 connectivity enabled.
  • Support enabled for Windows 8.1, Windows 10 and Windows Server 2012 R2.

Download

1.7.0 Release: 2020/11/23
1.6.0 Release: 2018/11/04
1.5.0 Release: 2015/12/10

yaizunettool's People

Contributors

s-takeuchi avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

aekras1a 5l1v3r1

yaizunettool's Issues

Adapt receiver to HTTP protocol.

Redundant log message is generated.

In the threads stoppoing operation redundant log message is generated.
This ticket is corresponding to the ticket #8 (Bug 5).


Tested [CL-YaizuNetTool010-largedata.xls; CL-YaizuNetTool010-about-readme.xls] on 5th Nov.

Inproper variable name is shown and configured as receiver property.

Reproduce procedure

  1. Create receiver processing element with string detection of finish condition. (There are no variables)
  2. Add new communication variable which has ID#1.
  3. Reopen receiver properties.
  4. Inappropriate variable is shown.
  5. Also variable ID#1 is specified when the thread is started.

Move StkAbout function to StkFw project from YaizComLib project.

The optimization of the line up of YaizuComLib library.

YaizuComLib library has following functionalities.

  • StkData
  • StkDataGui
  • StkThread
  • StkThreadGui
  • StkSocket
  • StkAbout
  • CommounFunc

One of above functionality "StkAbout" is not going to be used from StkFw.
This function should be moved to StkFw project from YaizuComLib project.


Tested on 24th Jan. [CL-YaizuComLib029-StkAbout.xls]

Removal of setup.exe. Only msi is provided.

Installation files of previous version are shown below.
setup.exe stkfw.msi

setup.exe is not required because the installer does not install any thing without stkfw. Remove setup.exe and provide only msi file.


This issue has been addressed in the old ticket Trac-106.
Only version information has not been cared.

Current folder does not change when stkfw is executed with command execution mode.

In the command execution mode /open and /start parameter can be specified with .std file path.
However the program cannot change the current folder internally even if file specification contains absolute path.
This problem influences following element execution.
1: Write file
2: Read file
Above element's execution expects correct current path specification.
If user does not specify absolute path in the dialog of above two element, unexpected path is abailable internally.

Consider following items.

  • Bug fix
  • Add change history into the about dialog.
  • Add change history into readme.txt

Tested [CL-YaizuNetTool008-Many-Accept4.xls; CL-YaizuNetTool012-ChgHist.xls] on 3rd Nov.

Support Windows 8.1, Windows 10 and Windows Server 2012 R2

Support Windows 8.1, Windows 10 and Windows Server 2012 R2.

  • Manual description
  • Readme description

Tested on 29th Nov.
CL-YaizuNetTool015-Platform-Inst.xls
CL-YaizuNetTool015-Platform-IpAddr.xls
CL-YaizuNetTool015-Platform-Samples.xls

Sender element tries to re-open the port after closing the port of sender.

Create following data flow.

DF1 [Load data]---[Sender(Repeater) without socket close]
DF2 [Empty box]---[Wait 3sec]---[Close port]---[Empty box]

Sender(Repeater) re-opens the closed port after [Close port] element's port closure.
1: Should sender re-open the port which is closed in previous process?
2: Should sender give up the port re-opening?

Needs to consider the correct behavior.

In case of Receiver, same phenomenon has not been confirmed howerver implementation does not consider the same.

This issue is associating to the old trac-ticket#113.

Reflection of the native check result.

Reflection of the native check result.
Following resources need to be considered.

  • program
  • manual
  • readme.txt

Tested on 5th Dec. [CL-YaizuNetTool017-NativeCheck.xls]

License agreement change

The license agreement of this software will be changed into MIT-license on version 1.5.0.
Need to consider items shown below.

  • manual description
  • readme description

CL-YaizuNetTool009-LicenseChg.xls

Support english web page.

Localize the web page and support english web page.


Tested on 28th Nov. [CL-YaizuNetTool016-EngWebPage.xls]

Adaptation for new build environment

Following activities need to be considered.

  • Build script change for new environment.
  • Uploading of sample files
  • Uploading of manual files

Tested on 21st Sep. [CL-YaizuNetTool002-NewEnv.xls]

Enhancement of the scheme of ElementInfo table

Each element tends to contain many parameters.
The existing table scheme does not have adequate scheme and need to be added extra parameters.

Current scheme

Column name Type
Id Integer
ParamInt1 Integer
ParamInt2 Integer
ParamInt3 Integer
ParamInt4 Integer
ParamInt5 Integer
ParamStr1 WString(256)
ParamStr2 WString(256)
ParamStr3 WString(256)
ParamStr4 WString(256)
ParamStr5 WString(256)
ParamBin Binary(4096)

New scheme

Column name Type
Id Integer
ParamInt1 Integer
ParamInt2 Integer
ParamInt3 Integer
ParamInt4 Integer
ParamInt5 Integer
ParamInt6 Integer
ParamInt7 Integer
ParamStr1 WString(256)
ParamStr2 WString(256)
ParamStr3 WString(256)
ParamStr4 WString(256)
ParamStr5 WString(256)
ParamStr6 WString(256)
ParamStr7 WString(256)
ParamBin Binary(4096)

Tested on May 3rd, 2018.
Documented on May 2nd, 2018.

CL-YaizuNetTool036-ElementInfo.xlsx

Basic version up procedure for 1.6.0

Basic version up procedure for 1.6.0
(1) Increment version number on about dialog ---> [Done]
(2) Increment version number on setup wizard (installer) ---> [Done]
(3) Increment version number on manual page ---> [Done]
(4) Increment version number in Readme.txt file ---> [Done]
(5) Implement data migration process to 1.6.0 from 1.5.0 at initialization ---> [Done]
(6) Increment DB version number in data files. --->[Done]
(7) Change version information in the property of EXE file. ---> [Done]
(8) Change Copyright-year in the about dialog ---> [Done]
(9) Change Copyright-year in the property of EXE file. ---> [Done]
(10) Change the zip file name of build script. ---> [Done]
(11) Change Copyright-year in manual license description. ---> [Done]
(12) Change Copyright-year in readme license description. ---> [Done]
(13) Change year in license file. ---> [Done]

Basic version up procedure for 1.5.0

(1) Increment version number on about dialog
(2) Increment version number on setup wizard (installer)
(3) Increment version number on manual page
(4) Increment version number in Readme.txt file
(5) Implement data migration process to 1.5.0 from 1.4.0 at initialization
(6) Increment DB version number in data files.
(7) Change version information in the property of EXE file.
(8) Change Copyright-year in the about dialog
(9) Change Copyright-year in the property of EXE file.
(10) Change the zip file name of build script.
(11) Change Copyright-year in manual license description.
(12) Change Copyright-year in readme license description.


Tested on 30th Nov.

  • CL-YaizuNetTool004-General.txt
  • CL-YaizuNetTool004-MLeak.xls
  • CL-YaizuNetTool004-OldFileOpen.xls
  • CL-YaizuNetTool004-VersionDown.xls
  • CL-YaizuNetTool004-VersionUp.xls

Build script change

Current build script do static analysis.
Disable the analysis in order to reduce build time.

Receiver and sender edit box name is incorrect.

Receive data using the specified IP address and port. --->Receive data using the specified IP address / host name and port.

Send data to the specified IP address and port. --->Send data to the specified IP address / host name and port.

StkFw can load the file which created by unknown version of StkFw.

When we open .std file which is created newer version, a appropriate message is displayed.
The message like ... "This file is created by unknown version. StkFw cannot open it."
Message says that this file cannot be opened however StkFw can open it at next screen change.

When StkFw encountered this condition, the file does not need to be opened.

Documentaion for receiver's finish condition.

Write following descriptions to the manual.

  • Receiver's finish condition that 9,999,999 bytes received.
  • Receiver's finish condition that peer closure detected.

Above two are basic condition.
Even if user does not select any individual finish condition, above two condition are adapted with no specification.

Enabling multiple connections to TCP receiver (TracLightning ID = 108)

Enabling multiple connections to TCP receiver. TCP receiver cannot accept multiple connections simultaneously.

I have two approaches. (1) In the properties dialog of TCP receiver, add the property regarding the number of maximum connection. (2) In the properties dialog of TCP receiver, add the property which can specify same IP address receiver.

This is an enhancement of StkFw GUI. This is associating to the ticket #13.


Bug1: In the thread start&stop operations, non-proper thread closes the socket.

| 08:13:50 [00002] ソケットのクローズに成功しました。 localhost:4402 **
| 08:13:50 [00004] ソケットのクローズに成功しました。 localhost:4403
| 08:13:44 [00018] ソケットの生成,BINDおよびLISTENに成功しました。 localhost:4402
| 08:13:44 [00004] ソケットの生成,BINDおよびLISTENに成功しました。 localhost:4403

Fixed


Bug2: In case of receiver(thread(B) is connected from previous thread(A) and the thread(A) does not start. receiver(B) opens the socket as <:0>

| 08:21:28 [00005] ソケットのクローズに成功しました。 <:0>
| 08:21:28 [00018] ソケットのクローズに成功しました。 localhost:4402

Fixed


Bug3: If sender and receiver work without socket close mode, sender cannot send the data. receiver also cannot receive the data.

The phenomenon does not occur on 23rd Sep build version.


Bug4: No history information for this enhancement item in about dialog.

Fixed


Bug5: In the thread stopping operation, duplicated log is displayed. This problem might be occurred in sender's log only.

| 11:10:15 [00042] ソケットのクローズに成功しました。 localhost:5555 **
| 11:10:15 [00034] ソケットのクローズに成功しました。 localhost:5555 **
| 11:10:15 [00042] ソケットのクローズに成功しました。 localhost:5555 **
| 11:10:15 [00034] ソケットのクローズに成功しました。 localhost:5555 **
| 11:10:15 [00003] ソケットのクローズに成功しました。 localhost:5555
| 11:10:15 [00034] CONNECTしたソケットでデータを送信しました。 <160 bytes>
| 11:10:15 [00034] ソケットの生成およびCONNECTに成功しました。 localhost:5555
| 11:10:15 [00042] CONNECTしたソケットでデータを送信しました。 <160 bytes>
| 11:10:15 [00042] ソケットの生成およびCONNECTに成功しました。 localhost:5555

| 11:28:10 [00058] ソケットのクローズに成功しました。 localhost:5555 **
| 11:28:10 [00043] ACCEPT用ソケットのクローズに成功しました。 localhost:5555
| 11:28:10 [00054] ソケットのクローズに成功しました。 localhost:5555
| 11:28:10 [00003] ACCEPT用ソケットのクローズに成功しました。 localhost:5555
| 11:28:10 [00034] ソケットのクローズに成功しました。 localhost:5555
| 11:28:10 [00043] ACCEPT用ソケットでデータを受信しました。 <160 bytes>
| 11:28:10 [00003] ACCEPT用ソケットでデータを受信しました。 <160 bytes>
| 11:28:10 [00003] ACCEPT用ソケットの生成に成功しました。 localhost:5555
| 11:28:10 [00043] ACCEPT用ソケットの生成に成功しました。 localhost:5555
| 11:28:10 [00015] ACCEPT用ソケットのクローズに成功しました。 localhost:5555
| 11:28:10 [00014] ソケットのクローズに成功しました。 localhost:5555
| 11:28:10 [00015] ACCEPT用ソケットでデータを受信しました。 <160 bytes>
| 11:28:10 [00015] ACCEPT用ソケットの生成に成功しました。 localhost:5555
| 11:28:09 [00058] ソケットのクローズに成功しました。 localhost:5555 **

This problem comes from StkSocket_DeleteInfo method.
In the StkSocket_DeleteInfo method socketinfo table is re-constructed.
If other thread uses the socketinfo table in that time, the procedure may not work correctly.
Fixed.


Tested [CL-YaizuNetTool008XXXXX.xls

Detect peer closure and close own socket.

Add capability to the sender that detects receiver's closure and close own socket automatically.
Add capability to the receiver that detects sender's closure and close own socket automatically.

This ticket is associating to the old trac ticket of 101.
{Detection of connection cut off regarding sender and receiver elements. IF sender element cuts off the connection, receiver needs to detect the connection off. IF receiver element cuts off the connection, sender needs to detect the connection off.}

Do not use wsprintf, use _snwprintf_s instead of the function.

In the CmdFreak imprementation, weprintf is used a lot. There is a limitation regarding output buffer size of the function. The output buffer size needs to be in 1024.

To preserve more than 1K size, use _snwprintf_s instead of the function.?

As the initial investigation result, no critical problem has been found. However, some suspecting areas are existing. Re-investigation needs to be performed.

This ticket is associating to the old trac ticket of 48.

A notice regarding socket closure should be mentioned in manual

If there is a relation between sender and receiver threads, graceful closure of sender does not work.
Sender's graceful closure depends on receiver's graceful closure.
As a result of this, receiver cannot start the process because sender cannot complete the process.

socket_closure

This notice should be mentioned in the manual.

Basic version up procedure for 1.7.0

Basic version up procedure for 1.7.0

(1) Increment version number on about dialog --> [done]
(2) Increment version number on setup wizard (installer) --> [done]
(3) Increment version number on manual page --> [done]
(4) Increment version number in Readme.txt file --> [done]
(5) Implement data migration process to 1.7.0 from 1.6.0 at initialization --> [Not necessary]
(6) Increment DB version number in data files. --> [Not necessary]
(7) Change version information in the property of EXE file. --> [done]
(8) Change Copyright-year in the about dialog. --> [done]
(9) Change Copyright-year in the property of EXE file. --> [done]
(10) Change the zip file name of build script. --> [done]
(11) Change Copyright-year in license file. --> [done]
(12) Change version history in readme.txt file. --> [done]

Final work for 1.7.0 release

  • Total testing
  • Readme.md update for 1.7.0
  • Make a tag and release descriptions
  • Calculate total consumption time for development
  • Calculate total LOC (Line Of Code)

Supports IPv6 connectivity

Supports IPv6 connectivity


Tested on 22nd Nov.
[CL-YaizuNetTool014-Ipv6-1.xls, CL-YaizuNetTool014-Ipv6-2.xls, CL-YaizuNetTool014-Ipv6-3.xls]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.