vaizguy / cryptikchaos Goto Github PK
View Code? Open in Web Editor NEWBasic ReST Document CLI built on kivy.
License: GNU General Public License v3.0
Basic ReST Document CLI built on kivy.
License: GNU General Public License v3.0
Test server unable to load previously added peer files. This issue is further masked by the run_test_env.sh script as
db is emptied before running test, if
rm -rf ../db/*
is removed after adding the test server then the 2nd time the test env is run it leads to capsule unauthenticated at the test server side.
Keyboard blocks main console on start in android even though there is not text input in focus.
If a peer leaves and re-enters the swarm then stream token generation fails because peer store information is lost on peer exit and unavailable for token generation.
Ways to proceed could be:
protocol.ReconnectingClientFactory
to protocol.Factory
Text Label alignment is off when building application for android, a lot of the text is offset to the left of the screen and cannot be read.
Currently adding the same peer twice is restricted on transmission side and not receiver side.
Need to create some kind of URL mapping to simplify packing/unpacking of capsules.
The addpeer command is currently in test phase, testserver is used to test this command by adding the testserver manually,
here port is fixed to 8888 (testserver port)
def add_peer_to_swarm(self, pid, host):
"Adds a new user through auth request chain"
# Check if peer is present
if self.get_peer(pid):
self._print(self.peerid, "Peer already in list.")
return False
# Start a connection with peer
conn = self.start_connection(pid, host, 8888)
# Save the connection
self.add_peer_connection(pid, conn)
Logger.debug("Sending auth.")
# Pack data into capsule
stream = self.pack_capsule(
"AUTH",
str(self.peerid),
host,
self.host)
print dir(conn)
# Send message using send data API
return self._write_into_connection(conn, stream)
The following will have too be commented in peermanager.py in order to test this
command. Also make sure you delete the db peer database.
## Add test server
self.add_peer(pid=constants.LOCAL_TEST_PEER_ID,
key=constants.LOCAL_TEST_SERVER_KEY,
host=constants.LOCAL_TEST_HOST,
port=constants.LOCAL_TEST_PORT
)
syntax: addpeer 888 localhost
Connection is started on command entry but testserver does not acknowledge capsule stream.
The connection is started successfully and connection is registered on both ends but data written onto transport is not received by the test server, somehow the _sendLine is not working for the abruptly started connection.
def _sendLine(self, conn, line):
"Implementing sendLine method locally."
return conn.transport.write(line + '\r\n')
The first phase of this test was to see if data is received on the other side. This does not seem to be working as expected.
Kivy issue on android where android keyboard blocks the text input for the console.
FSM required to monitor current protocol connection state and state transitions such as:
UNAUTH -> AUTH etc
Scroll view Y-Axis scroll broken on introduction of consolewin module.
# Scroll view label
scroll_view = ScrollView()
# Y-axis scroll # TODO not working
scroll_view.do_scroll_y = True
# Add label to scroll view
scroll_view.add_widget(self.label)
The content of the stream needs to be unshuffled only after HMAC check is performed otherwise it will lead to HMAC mismatch as the original HMAC was generated using the shuffled string and not the original.
This was not caught earlier as the stream HMAC was not used for validating integrity of content. This change has sice made this bug visible but only when constants.ENABLE_SHUFFLE=True
.
There is no check for a falsified Authentication Acknowledge sent to a peer, the peer would just be added to the malicious swarm.
Possible fix would be a key that travels for the round trip of the auth. handshake.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.