Ndn-svs

Latest version: v0.3.17

Safety actively analyzes 636221 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.3.13

-
_I know what you might be thinking, "Where's the future addition?"_
Along the way of fulfilling that plan, I ran into many aspects of the code that simply left a sour taste in my mouth and likely your mouth as well. Hardcoding values and inconsistent naming in similar variables and functions to say a few. Not only that, different types (normal vs shared) did not use the same components when specifying the sync vs data interests.
To accompany these coding changes, I've also incorporated some important performance enhancements and found a security vulnerability which could be used to update the state vector while not being authorized.

Not to promise anything, but I have definitely progressed along the path of delivering a future addition in the next update. As always, be on the lookout!

This is a **stable release** but does slightly change the API (see _chat.py_).

**_NOTE: It is heavily advised to try to keep ``ndn-svs`` up to date with the latest release._**

**Additions:**
-
> No Hardcoding
* added ``tlv.py`` for Tlv Types
* added class variables for any other variables
> Proper Naming
* similar component naming across Shared and Normal types of SVSync
* ``seqno`` > ``seqnum``
* similar functions have similar names (sendPropInterest, sendSyncInterest) and better describe their usage
> Performance related
* speed up same-vector encoding via storing the last encoded wire: this HEAVILY decreases the CPU cost of SVSync when nodes join and when no data has been published in awhile.
> Useability
* added ``getNumTasks()`` and ``getWindowSize()`` to the AsyncWindow tool
* raise an expection ``SVSyncUnwaitedThread`` instead of not doing anything when performing actions on a SVSync thread that was not waited on.

**Bug Fixes:**
-
> Security
* balancer data packets were not signed / verified which is a security vulnerability that could have been exposited if left unpatched.

**Future Additions:**
-
* Another SVSync type is in the works
* SecurityOptions will receive a healthy revisit
* Documentation will receive a heavy amount of additions for ease-of-use and overall coverage

0.3.12

Not secure
-
This accessibility update not only makes SVS compatible with the latest version of Python3, but also brings welcomed API additions, an increase in performance for the chat.py example, and a decrease in startup time for non-threaded versions of SVS. I performed strenuous testing on this release, so I would consider this update to be a stable release.

The next update should incorporate one of the future additions seen below, so be on the lookout!

**_NOTE: It is heavily advised to try to keep ``ndn-svs`` up to date with the latest release._**

**Additions:**
-
> Python 3.10 support

> More API
* ``fetchDataPacket()`` for all types/versions in case users want the packet instead of the data (useful for the command below).
* ``serveDataPacket()`` for all versions of the Shared type. - This allows you to serve some data packets but not all, allowing the user of this library to choose what is import.

> Examples Updated
* Added ``-i`` (--interval) for count.py which allows you to choose how fast data is published.

**Bug Fixes:**
-
> Internal
* Reduced Balancer window size as this process should not need or use that many tasks.
* Fully removes any ``ensure_future()`` commands with ``create_task`` which is more support in asyncio.
* Fixed a error related to immediately publishing data in non-thread versions of SVS resulting in that data not having a route (meaning others would not get that node's data).

> Examples
* Removed an extra task in **chat.py** caused by calling ``AsyncWindow.gather()`` in the on_missing_data function (which in this case was not needed).

**Future Additions:**
-
* Another SVSync type is in the works
* SecurityOptions will receive a healthy revisit
* More options will be added to customize SVSync per environment
* Documentation will receive a heavy amount of additions for ease-of-use and overall coverage

0.3.11

Not secure
Comparatively, this is an important and much needed update. In the past releases, it was up to the user to deal with fetching data, and internal mechanisms like the balancer sent interests sequentially. To combat this, I added a new easy-to-use tool ``AsyncWindow`` which does sequential logic asynchronously (which heavily speeds up data retrieval). Users of the SVS library are welcomed to look at the chat.py example for guidance on how to exact do this in their application. I also touched up some minor bugs as well.

**Additions:**
* AsyncWindow API class
* all sequential fetching internally use AsyncWindow and users can use this for fetching data as well
* updated documentation

**Bug Fixes:**
* fetchData retries account for invalid packets
* SVS internals properly releases control for appropriate amounts of time

**Future Plans:**
* More options will be added to customize SVSync per environment and to increase testing
* SecurityOptions will receive a healthy revisit
* Another SVSync type is in the works
* Documentation will receive a heavy amount of additions for ease-of-use and overall coverage

0.3.10

Not secure
This is another minor update in terms of overall usability. ``ndn-python-repo`` was not sufficient to be the method of creating different storage types.

**Additions:**
* relies on _ndn-storage_ rather than _ndn-python-repo_ (which limited storage options)
* updated docs to reflect changes
* changed requirements to be the latest version

**Deletions:**
* MemoryStorage replaces SVSyncStorage which has resulted in its removal.

**Bug Fixes:**
* both examples and thread versions of SVSync did not catch an NFD exception, changes made

**Future Plans:**
* Sliding Window for sending interests
* More options will be added to customize SVSync per environment and to increase testing
* SecurityOptions will receive a healthy revisit
* Another SVSync type is in the works

0.3.9

Not secure
This is a very minor update despite the versioning.

Additions:
* updated docs with correct information and make it more general (like not specifying a multicast version)
* count.py example is make more user friendly via --verbose (-v) flag
* changed requirements to be the latest version

Bug Fixes:
* docs now compile correctly, this was a current issue that would affect future releases if not fixed

I did some testing v0.3.6 -> v0.3.9 to try and make ndn-svs examples more accessible. Ended up reverting back.

0.3.6

Not secure
Additions:
* Libraries are alphabetically order (along with level ordered)
* All Functions are typed
* Most Single variables are typed (Multiple variable assignment > Typed Single Assignment for performance > readability)
* Found a few inconsistent code (extra spaces)

Bug Fixes:
* SVSyncBalancer: configured a StateVector wrong, fixed (TESTED)

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.