Comments (2)
- Why do we even need an explicit handshake if the anonymous-handshake is just a no-op essentially? If data for anon requests sent across the local IPC is unencrypted, why cant such apps just discover launcher and start making actual requests?
- Is there a particular reason to opt for the following with the discovery mechanism?
The broadcast shall be done every 5 seconds on port 59999.
What happens if that port isn't available? Is this discovery process based on SSDP? Want to see some input from the crust guys here in terms of suggestions/possible better approaches for local service discovery. Might help expanding the discovery protocol getting proposed here to specify details of how and why its getting proposed as is.
- Are the new getters exposed via the launcher API also available for registered clients? and if so is it a requirement that those apps need to send these requests as plain text or will the launcher be ok to use the app specific key to decrypt the request for registered clients?
- If these new endpoints are purely for anon clients / unencrypted requests, then its a bit misleading that some of the endpoints under
safe-api/v1.0/dns/
could be exclusive for anon/registered clients. Would it maybe help to group anon endpoints under a group indicating likewise? - Few minor typos in the RFC. In
Get file contents for a file in DNS service's home directory tree
offset key is calledoffser
,previlidge
typo in "Alternative" approach section
from rfcs.
Why do we even need an explicit handshake if the anonymous-handshake is just a no-op essentially? If data for anon requests sent across the local IPC is unencrypted, why cant such apps just discover launcher and start making actual requests?
When a new process connects to Launcher, Launcher will need to know what client-engine category to allot to it. So if the requester says it requires anonymous/unregistered access to the Network, Launcher will allot it an unregistered client engine. If it claims otherwise then the usual authentication process will commence before handing it a registered client engine.
Are the new getters exposed via the launcher API also available for registered clients? and if so is it a requirement that those apps need to send these requests as plain text or will the launcher be ok to use the app specific key to decrypt the request for registered clients?
If these new endpoints are purely for anon clients / unencrypted requests, then its a bit misleading that some of the endpoints under safe-api/v1.0/dns/could be exclusive for anon/registered clients. Would it maybe help to group anon endpoints under a group indicating likewise?
All endpoints that cater to anonymous request also cater to registered clients. The differentiation itself happens in safe_core for various operations - so an error on the lines of This operation is not permitted for an unregistered client
will be returned from safe_core.
As far as encryption of IPC is concerned - all communications with registered clients are encrypted sessions and with anonymous clients are unencrypted sessions. That will be automatically taken care of depending on if keys are available with SecureCommunication
as hinted at the end of RFC under Implementation hints
Is there a particular reason to opt for the following with the discovery mechanism?
It's pretty simple to implement - multicast or broadcast could be switched though. Port number and intervals are arbitrary.
What happens if that port isn't available?
The discovery mechanism would fail. A UDP however should be able to broadcast to a port in all cases, not sure if availability would be a concern here as Launcher does not need to bind to that port to broadcast to it. For the client side of things, multiple UDP App's can bind to same port if address reuse is allowed - I think this is specially true for multicast and i guess equally true for broadcast, but ya better to have crust people comment.
from rfcs.
Related Issues (20)
- #0056 Secure Message Delivery
- Spam Prevention ? HOT 2
- Potential problem in Secure Message Delivery
- Secure Message Delivery and reordered messages
- #0058 Reliable Message Delivery
- Add `GetKey` Request and Response variants for AppendOnlyData HOT 2
- Unnecessary multiple response types for mutation requests
- Consider using UUIDs instead of MessageId HOT 2
- `SetADataOwners` and `AddADataPermissions` requests should include the container indexes
- BLS: Not a blocker: Sign new key with removed members
- #0059 Boneh-Lynn-Shacham scheme in Routing
- BLC: Start DKG on Add/Remove only needed for common coin
- RFC 0056: Change status in RFC HOT 1
- RFC 0058: Change status in RFC HOT 1
- RFC 0059: Change status in RFC HOT 1
- RFC 0057: Change status of RFC HOT 1
- RFC 0054: Change status of RFC
- RFC 0055: Change Status of RFC
- RFC 0053: Status change
- RFC 0045: Status change
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rfcs.