Re: [Ring] Ring vs. Tox

2017-06-22 Thread Bruno Pagani
Le 22/06/2017 à 16:56, David Burleigh a écrit :

> What is the advantage of Ring over Tox?

Generally speaking, they are very similar in their core functionality
from my POV (P2P, DHT, encryption…). Now I’m not an expert in the
technical details at all, but they are likely a lot of differences in
the implementations. And things around differs a lot too, like how the
address directory problem is taken.

Also, Ring still supports SIP, but that’s a bit aside.

Now, outside the whitepaper aspect, as someone that discovered Tox way
before Ring, I would say #1 difference for me is the people behind those
projects.

I don’t know how it is now (the core moved to
https://github.com/toktok/c-toxcore, and they apparently changed a lot
of things in their organization), but they did so bad in the past (in
project management, community discussions, etc…) that I would never
consider looking at it again in its current form (e.g. same software
base by the same people, the global design — though never published
AFAIK — is not necessarily wrong though). They are (or at least were)
mostly a group of childish 4chaners reacting as such on almost every
serious ticket opened on GitHub pointing out very serious concerns
regarding the project (including handling of money/donations).

Worst part is that they have deleted most threads where people were
writing their concerns, making an awesome use of GitHub censorship
abilities. Maybe someone archived all GitHub notifications emails, but
unfortunately I only kept a very tiny part of them myself…

I could try to go in more length if that is of interest to anyone,
recollecting everything I can from kept emails, Internet Archive and so
on. But as far as I’m concerned, they’ve lost any trust I could have
been giving them, and trust is a key parameter for this kind of software.

Regards,
Bruno



signature.asc
Description: OpenPGP digital signature


Re: [Ring] Video

2017-06-22 Thread Guillaume Roguez
In various ways (note: it depends on client implementation for the UI, I'm 
going to talk about the GNOME version here) 

1) for all calls: navigate into the Account preferences, "Advanced" tab, and 
disable "Enable Video". 
2) during one call (note: it'll start with video on!): click on the "Toggle 
mute video" icon on bottom of main view. 
3) never have video (any clients): rebuild libring with --disable-video 
configure flag :-) 

// Guillaume 

- Le 22 Juin 17, à 14:57, David Burleigh  a écrit : 

> How can I turn off the video on calls. I want audio only.


[Ring] Video

2017-06-22 Thread David Burleigh
How can I turn off the video on calls. I want audio only.

Re: [Ring] Ring vs. Tox

2017-06-22 Thread Bruno Pagani
(Sent a first time with a wrong address, sorry if someone received it twice)
Le 22/06/2017 à 16:56, David Burleigh a écrit :

> What is the advantage of Ring over Tox?

Generally speaking, they are very similar in their core functionality
from my POV (P2P, DHT, encryption…). Now I’m not an expert in the
technical details at all, but they are likely a lot of differences in
the implementations. And things around differs a lot too, like how the
address directory problem is taken.

Also, Ring still supports SIP, but that’s a bit aside.

Now, outside the whitepaper aspect, as someone that discovered Tox way
before Ring, I would say #1 difference for me is the people behind those
projects.

I don’t know how it is now (the core moved to
https://github.com/toktok/c-toxcore, and they apparently changed a lot
of things in their organization), but they did so bad in the past (in
project management, community discussions, etc…) that I would never
consider looking at it again in its current form (e.g. same software
base by the same people, the global design — though never published
AFAIK — is not necessarily wrong though). They are (or at least were)
mostly a group of childish 4chaners reacting as such on almost every
serious ticket opened on GitHub pointing out very serious concerns
regarding the project (including handling of money/donations).

Worst part is that they have deleted most threads where people were
writing their concerns, making an awesome use of GitHub censorship
abilities. Maybe someone archived all GitHub notifications emails, but
unfortunately I only kept a very tiny part of them myself…

I could try to go in more length if that is of interest to anyone,
recollecting everything I can from kept emails, Internet Archive and so
on. But as far as I’m concerned, they’ve lost any trust I could have
been giving them, and trust is a key parameter for this kind of software.

Regards,
Bruno





signature.asc
Description: OpenPGP digital signature


Re: [Ring] Ring vs. Tox vs. Matrix vs. SIP RELOAD

2017-06-22 Thread Stefan Monnier
>> What is the advantage of Ring over Tox?
> There is also Matrix[1] and SIP RELOAD[2] - it would be interesting if
> somebody could write a blog comparing all of them

Don't know about RELOAD, but Matrix is basically not truly distributed,
since it's based on federation.  IOW, it's similar to Jabber/XMPP,
except it's based on a decentralized *state*, so it naturally supports
asynchronous messaging (where the participants are never connected at
the same time), compared to XMPP where this only works if the stars are
all properly aligned.


Stefan



Re: [Ring] Future of platform-specific clients?

2017-06-22 Thread Adrien Béraud
Sorry, indeed I meant GNU/Linux distros ! 

On Android it's in the private app directory, 
that can be accessed with root on rooted devices, or using ADB when the app is 
in debug mode. 

It can be exported to other devices by using the "add a new device" feature. 
We plan to add a feature to export the account archive on public local storage 
soon, 
with a warning that it could then be sent on the network and bruteforced by 
other apps. 

Adrien 


De: "Stefan Monnier"  
À: "Adrien Béraud"  
Cc: ring@gnu.org 
Envoyé: Jeudi 22 Juin 2017 17:58:05 
Objet: Re: [Ring] Future of platform-specific clients? 

> On Linux account keys are in 

Do you mean GNU/Linux only or does that include Android as well? 

> .local/share/ring/{account_id} 

I can't find this on my Android phone (but then again, `find` under 
Android doesn't work too well, with all those inaccessible directories). 


Stefan 


Re: [Ring] Ring vs. Tox

2017-06-22 Thread Guillaume Roguez
- Le 22 Juin 17, à 10:56, David Burleigh david.burle...@gmx.com a écrit :

> What is the advantage of Ring over Tox?


It's not fair if "we" (the Ring core team) enter in such discussion.
Preferable to have an external review ;-).

But there are some technical differences, even if Tox is one of closest 
application, if not the first one.

-- 
Guillaume Roguez



Re: [Ring] Future of platform-specific clients?

2017-06-22 Thread Stefan Monnier
> On Linux account keys are in 

Do you mean GNU/Linux only or does that include Android as well?

> .local/share/ring/{account_id}

I can't find this on my Android phone (but then again, `find` under
Android doesn't work too well, with all those inaccessible directories).


Stefan



Re: [Ring] Ring vs. Tox vs. Matrix vs. SIP RELOAD

2017-06-22 Thread Daniel Pocock


On 22/06/17 16:56, David Burleigh wrote:
> What is the advantage of Ring over Tox?

There is also Matrix[1] and SIP RELOAD[2] - it would be interesting if
somebody could write a blog comparing all of them

Regards,

Daniel


1. http://matrix.org/
2. https://tools.ietf.org/html/rfc6940



[Ring] Ring vs. Tox

2017-06-22 Thread David Burleigh
What is the advantage of Ring over Tox?

Re: [Ring] Future of platform-specific clients?

2017-06-22 Thread Adrien Béraud
Hi, 
Indeed a formal description of the protocol is much needed. 

We currently work on a first draft that you can see here: 
https://tuleap.ring.cx/plugins/mediawiki/wiki/ring/index.php/Protocol 
We are open to any comment, suggestion or criticism on the protocol itself or 
the way it is documented. 

About backup/restoration of Ring keys: 
It's not formally part of the network protocol, but it's also a important 
undocumented feature that we plan to address soon. 
Other implementations could use other mechanisms to protect access to 
cryptographic material. 

On Linux account keys are in 
.local/share/ring/{account_id} 
inside is: 
ring_device.crt : device certificate chain 
ring_device.key : private key corresponding to the device certificate public 
key 
(all standard x509 PEM) 
this is enough to place and receive calls if the device certificate is not 
revoked. 
export.gz : encrypted archive including the account certificate private key 
(allowing to sign/revoke device certificates). 
this file with the password is enough to "restore" a Ring account (generate a 
new device for this account). 
the archive is encrypted with AES-GCM-256 using the "Ring account password" 
hashed with argon2, 
that would indeed need to be documented. 

Regards, 

Adrien Béraud 
Ring project director, 
Savoir-faire Linux 


De: "Greg Troxel"  
À: "Anthony Léonard"  
Cc: ring@gnu.org 
Envoyé: Jeudi 22 Juin 2017 16:11:42 
Objet: Re: [Ring] Future of platform-specific clients? 

Anthony Léonard  writes: 

> Hi, 
> 
>> It does not clearly give a oprotocol spec. 
> 
> Writing a protocol spec is a task still to be finished but is 
> definitely on the todo list. The protocol is not meant to be a 
> “walled garden” ;) 

Glad to hear it. I didn't mean to suggest ring was heading to walled 
garden - it's clear from the social context that this isn't true. Just 
that a protocol spec was missing and needed. 

One of the things the protocol spec will help with is discussion of the 
security model. I sent an earlier note about a concern with tracking 
via the dht. 

The other thing that could be discussed is exchange formats for 
exporting and importing ring account keys so that people can back them 
up and also use the same key on desktop and android, etc. 

>> and something RTP/ZRTP-ish to transport the bits. 
> 
> RTP inside a DTLS channel with Perfect Forward Secrecy encryption and 
> peers authenticating each other by their public keys. 

I see - so because you have the PK(non-I) already with the peers, you 
don't need to play the ZRTP game that would be used to get e2e 
confidentiality with regular SIP, and you can just use the peers' keys 
and also mix in an ephemeral key to get PFS. That makes total sense. 


[Ring] ring-linux-skype-alternative

2017-06-22 Thread Nicolas Jäger
http://www.omgubuntu.co.uk/2017/06/ring-linux-skype-alternative

Regards,
// Nicolas



Re: [Ring] Future of platform-specific clients?

2017-06-22 Thread Greg Troxel

Anthony Léonard  writes:

> Hi,
>
>> It does not clearly give a oprotocol spec.
>
> Writing a protocol spec is a task still to be finished but is
> definitely on the todo list. The protocol is not meant to be a 
> “walled garden” ;)

Glad to hear it.  I didn't mean to suggest ring was heading to walled
garden - it's clear from the social context that this isn't true.  Just
that a protocol spec was missing and needed.

One of the things the protocol spec will help with is discussion of the
security model.  I sent an earlier note about a concern with tracking
via the dht.

The other thing that could be discussed is exchange formats for
exporting and importing ring account keys so that people can back them
up and also use the same key on desktop and android, etc.

>> and something RTP/ZRTP-ish to transport the bits.
>
> RTP inside a DTLS channel with Perfect Forward Secrecy encryption and
> peers authenticating each other by their public keys.

I see - so because you have the PK(non-I) already with the peers, you
don't need to play the ZRTP game that would be used to get e2e
confidentiality with regular SIP, and you can just use the peers' keys
and also mix in an ephemeral key to get PFS.  That makes total sense.


signature.asc
Description: PGP signature


Re: [Ring] Future of platform-specific clients?

2017-06-22 Thread Anthony Léonard
Hi,

> It does not clearly give a oprotocol spec.

Writing a protocol spec is a task still to be finished but is
definitely on the todo list. The protocol is not meant to be a 
“walled garden” ;)

> If I'm following correctly, ring is opendht for discovery

Correct, it is also used to exchange messages when a SIP channel is not
established between two participants (when not in call). From a
security perspective, it is also used for public key sharing between
contacts so you can authenticate them before a call.

> something sip-like for bringing up a session with the
> peer once you find it.

Correct, it is SIP (using pjsip implementation) used in a peer-to-peer
manner (without the traditional SIP proxies/registrar infrastructure).

> probably some kind of STUN/TURN to deal with NAT

Yes, the ICE protocol is used which enables Ring to try different
methods to establish a connection, a direct link being preferred. TURN
servers (relays) are the last solution as it induces latencies so
others are tried before (such as hole-punching).

> and something RTP/ZRTP-ish to transport the bits.

RTP inside a DTLS channel with Perfect Forward Secrecy encryption and
peers authenticating each other by their public keys.

Best regards.

Anthony L.

signature.asc
Description: This is a digitally signed message part


Re: [Ring] Ring daemon compile error

2017-06-22 Thread Cyrille Béraud
Hi Houmin, 
Try option --disable-shared with ./configure 

./configure --prefix=/usr --disable-shared 
make 

it should work. 

| De: "Houmin" 
| À: ring@gnu.org
| Envoyé: Mercredi 21 Juin 2017 18:09:19
| Objet: [Ring] Ring daemon compile error

| Hi all,

| I am trying to compile ring daemon from source code(ring-daemon beta2) on 
Ubuntu
| 16.04 following the instruction from
| https://docs.ring.cx/dev/compiling_and_installing/daemon.html

| It works well first, but when it comes to the ring-daemon/bin/ directory, 
error
| turns out like this

| make[3]: Entering directory '/home/houmin/ring-daemon/bin'
| CXXLD dring
| ../src/.libs/libring.so: undefined reference to `nettle_gcm_set_key'
| ../src/.libs/libring.so: undefined reference to `nettle_gcm_aes_set_iv'
| ../src/.libs/libring.so: undefined reference to `nettle_curve25519_mul'
| ../src/.libs/libring.so: undefined reference to `nettle_aes192_encrypt'
| ../src/.libs/libring.so: undefined reference to `nettle_des3_decrypt'
| ../src/.libs/libring.so: undefined reference to `nettle_des3_encrypt'
| ../src/.libs/libring.so: undefined reference to `nettle_base64_decode_update'
| ../src/.libs/libring.so: undefined reference to `nettle_dsa_signature_init'
| ../src/.libs/libring.so: undefined reference to `nettle_secp_256r1'
| ../src/.libs/libring.so: undefined reference to `idna_to_unicode_8z8z'
| ../src/.libs/libring.so: undefined reference to `nettle_gcm_update'
| ../src/.libs/libring.so: undefined reference to `nettle_yarrow256_update'
| ../src/.libs/libring.so: undefined reference to `nettle_mpz_sizeinbase_256_u'
| ../src/.libs/libring.so: undefined reference to `nettle_arctwo40_set_key'
| ../src/.libs/libring.so: undefined reference to `nettle_rsa_encrypt'
| ../src/.libs/libring.so: undefined reference to `nettle_hmac_md5_digest'
| ../src/.libs/libring.so: undefined reference to `nettle_md2_update'
| ../src/.libs/libring.so: undefined reference to 
`nettle_aes128_set_encrypt_key'
| ../src/.libs/libring.so: undefined reference to `nettle_memxor'I
| ../src/.libs/libring.so: undefined reference to 
`nettle_aes256_set_decrypt_key'
| ../src/.libs/libring.so: undefined reference to 
`nettle_rsa_public_key_prepare'
| ../src/.libs/libring.so: undefined reference to `nettle_gcm_aes_decrypt'
| ../src/.libs/libring.so: undefined reference to `nettle_sha3_384_digest'
| ../src/.libs/libring.so: undefined reference to `nettle_dsa_generate_params'
| ../src/.libs/libring.so: undefined reference to `nettle_base64_decode_init'
| ../src/.libs/libring.so: undefined reference to `nettle_des_decrypt'
| ../src/.libs/libring.so: undefined reference to `nettle_ccm_encrypt_message'
| ../src/.libs/libring.so: undefined reference to `nettle_rsa_public_key_clear'
| ../src/.libs/libring.so: undefined reference to `nettle_sha3_512_digest'
| ../src/.libs/libring.so: undefined reference to `nettle_umac128_set_key'
| ../src/.libs/libring.so: undefined reference to `nettle_arcfour_crypt'
| ../src/.libs/libring.so: undefined reference to 
`nettle_gcm_camellia256_update'
| ../src/.libs/libring.so: undefined reference to `nettle_ecdsa_verify'
| ../src/.libs/libring.so: undefined reference to `nettle_umac96_set_key'
| ../src/.libs/libring.so: undefined reference to `nettle_hmac_md5_set_key'
| ../src/.libs/libring.so: undefined reference to 
`nettle_gcm_camellia128_update'
| ../src/.libs/libring.so: undefined reference to `nettle_hmac_sha512_digest'
| ../src/.libs/libring.so: undefined reference to `gnutls_x509_crl_set_version'
| ../src/.libs/libring.so: undefined reference to `nettle_aes192_decrypt'
| ../src/.libs/libring.so: undefined reference to `nettle_yarrow256_slow_reseed'
| ../src/.libs/libring.so: undefined reference to `nettle_umac96_set_nonce'
| ../src/.libs/libring.so: undefined reference to `nettle_sha1_init'
| ../src/.libs/libring.so: undefined reference to `nettle_gcm_aes_set_key'
| ../src/.libs/libring.so: undefined reference to `nettle_aes128_decrypt'
| ../src/.libs/libring.so: undefined reference to `nettle_sha3_256_init'
| ../src/.libs/libring.so: undefined reference to `nettle_sha1_update'
| ../src/.libs/libring.so: undefined reference to `nettle_salsa20_set_key'
| ../src/.libs/libring.so: undefined reference to `idna_to_ascii_8z'
| ../src/.libs/libring.so: undefined reference to `nettle_secp_521r1'
| ../src/.libs/libring.so: undefined reference to `nettle_ecc_point_mul'
| ../src/.libs/libring.so: undefined reference to `gnutls_x509_crl_set_number'
| ../src/.libs/libring.so: undefined reference to `nettle_arctwo_decrypt'
| ../src/.libs/libring.so: undefined reference to `nettle_hmac_sha256_digest'
| ../src/.libs/libring.so: undefined reference to `nettle_gcm_set_iv'
| ../src/.libs/libring.so: undefined reference to `nettle_cbc_decrypt'
| ../src/.libs/libring.so: undefined reference to `nettle_hmac_sha1_set_key'
| ../src/.libs/libring.so: undefined reference to `nettle_ecc_size'
| ../src/.libs/libring.so: undefined reference to `nettle_aes256_encrypt'
| 

Re: [Ring] Ring daemon compile error

2017-06-22 Thread Guillaume Roguez
have you tryied "--disable-shared" option with ./configure? 

- Le 21 Juin 17, à 12:09, Houmin  a écrit : 

> Hi all,

> I am trying to compile ring daemon from source code(ring-daemon beta2) on 
> Ubuntu
> 16.04 following the instruction from
> https://docs.ring.cx/dev/compiling_and_installing/daemon.html

> It works well first, but when it comes to the ring-daemon/bin/ directory, 
> error
> turns out like this

> make[3]: Entering directory '/home/houmin/ring-daemon/bin'
> CXXLD dring
> ../src/.libs/libring.so: undefined reference to `nettle_gcm_set_key'
> ../src/.libs/libring.so: undefined reference to `nettle_gcm_aes_set_iv'
> ../src/.libs/libring.so: undefined reference to `nettle_curve25519_mul'
> ../src/.libs/libring.so: undefined reference to `nettle_aes192_encrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_des3_decrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_des3_encrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_base64_decode_update'
> ../src/.libs/libring.so: undefined reference to `nettle_dsa_signature_init'
> ../src/.libs/libring.so: undefined reference to `nettle_secp_256r1'
> ../src/.libs/libring.so: undefined reference to `idna_to_unicode_8z8z'
> ../src/.libs/libring.so: undefined reference to `nettle_gcm_update'
> ../src/.libs/libring.so: undefined reference to `nettle_yarrow256_update'
> ../src/.libs/libring.so: undefined reference to `nettle_mpz_sizeinbase_256_u'
> ../src/.libs/libring.so: undefined reference to `nettle_arctwo40_set_key'
> ../src/.libs/libring.so: undefined reference to `nettle_rsa_encrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_hmac_md5_digest'
> ../src/.libs/libring.so: undefined reference to `nettle_md2_update'
> ../src/.libs/libring.so: undefined reference to 
> `nettle_aes128_set_encrypt_key'
> ../src/.libs/libring.so: undefined reference to `nettle_memxor'I
> ../src/.libs/libring.so: undefined reference to 
> `nettle_aes256_set_decrypt_key'
> ../src/.libs/libring.so: undefined reference to 
> `nettle_rsa_public_key_prepare'
> ../src/.libs/libring.so: undefined reference to `nettle_gcm_aes_decrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_sha3_384_digest'
> ../src/.libs/libring.so: undefined reference to `nettle_dsa_generate_params'
> ../src/.libs/libring.so: undefined reference to `nettle_base64_decode_init'
> ../src/.libs/libring.so: undefined reference to `nettle_des_decrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_ccm_encrypt_message'
> ../src/.libs/libring.so: undefined reference to `nettle_rsa_public_key_clear'
> ../src/.libs/libring.so: undefined reference to `nettle_sha3_512_digest'
> ../src/.libs/libring.so: undefined reference to `nettle_umac128_set_key'
> ../src/.libs/libring.so: undefined reference to `nettle_arcfour_crypt'
> ../src/.libs/libring.so: undefined reference to 
> `nettle_gcm_camellia256_update'
> ../src/.libs/libring.so: undefined reference to `nettle_ecdsa_verify'
> ../src/.libs/libring.so: undefined reference to `nettle_umac96_set_key'
> ../src/.libs/libring.so: undefined reference to `nettle_hmac_md5_set_key'
> ../src/.libs/libring.so: undefined reference to 
> `nettle_gcm_camellia128_update'
> ../src/.libs/libring.so: undefined reference to `nettle_hmac_sha512_digest'
> ../src/.libs/libring.so: undefined reference to `gnutls_x509_crl_set_version'
> ../src/.libs/libring.so: undefined reference to `nettle_aes192_decrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_yarrow256_slow_reseed'
> ../src/.libs/libring.so: undefined reference to `nettle_umac96_set_nonce'
> ../src/.libs/libring.so: undefined reference to `nettle_sha1_init'
> ../src/.libs/libring.so: undefined reference to `nettle_gcm_aes_set_key'
> ../src/.libs/libring.so: undefined reference to `nettle_aes128_decrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_sha3_256_init'
> ../src/.libs/libring.so: undefined reference to `nettle_sha1_update'
> ../src/.libs/libring.so: undefined reference to `nettle_salsa20_set_key'
> ../src/.libs/libring.so: undefined reference to `idna_to_ascii_8z'
> ../src/.libs/libring.so: undefined reference to `nettle_secp_521r1'
> ../src/.libs/libring.so: undefined reference to `nettle_ecc_point_mul'
> ../src/.libs/libring.so: undefined reference to `gnutls_x509_crl_set_number'
> ../src/.libs/libring.so: undefined reference to `nettle_arctwo_decrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_hmac_sha256_digest'
> ../src/.libs/libring.so: undefined reference to `nettle_gcm_set_iv'
> ../src/.libs/libring.so: undefined reference to `nettle_cbc_decrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_hmac_sha1_set_key'
> ../src/.libs/libring.so: undefined reference to `nettle_ecc_size'
> ../src/.libs/libring.so: undefined reference to `nettle_aes256_encrypt'
> ../src/.libs/libring.so: undefined reference to `nettle_md2_init'
> ../src/.libs/libring.so: undefined reference to