
Ring, officially a GNU package - terraforming
https://blog.savoirfairelinux.com/en-ca/2016/ring-official-gnu-package/
======
alpb
Little bit off-topic but:

> respects freedoms and privacy of its users

It downloads the binary over http on [http://ring.cx](http://ring.cx), makes
it susceptible to tampering. Is serving binaries over HTTP a GNU thing because
the expectation is that you would check the signature?

~~~
brute
Care to elaborate? [http://ring.cx](http://ring.cx) has a 301 forward to
[https://ring.cx](https://ring.cx), and all the downloads seem to use https as
well. Where is it using plain http? Or was the forward added in the last hour?

~~~
teraflop
The links on the "Downloads" page are HTTPS, but the download button on the
home page points to [http://gpl.savoirfairelinux.net/ring-
download/windows/ring-w...](http://gpl.savoirfairelinux.net/ring-
download/windows/ring-windows-nightly-x64.exe) with no security.

~~~
brute
Thank you, that explains it. For me, the same button links to
[https://ring.cx/en/download/gnu-linux](https://ring.cx/en/download/gnu-linux)
but under windows you are right.

------
snvzz
While I'm sure it's well-intended, it does have a couple of fatal flaws.

* Lack of full forward secrecy means logged network logs can be decrypted in the future if an endpoint key is ever compromised.

* e2e encryption is optional, due to legacy SIP support. This is extremely dangerous as it will no doubt lead to false sense of security, with users assuming they're safe just because Ring is the program they're talking through.

Due to these two I cannot actually recommend it to anyone.

Note that Tox got these two right, and is a pretty active project which gets
commits semi-daily, regardless of the nonsense about it being dead that some
party seems to be spreading.

~~~
synchronise
e2e could be enforced for the DHT clients if the user states they aren't going
to be using SIP though, right?

Either way, I don't use SIP so that feature isn't a dealbreaker for me.

~~~
snvzz
> e2e could be enforced for the DHT clients if the user states they aren't
> going to be using SIP though, right?

That needs user intervention, which implies his understanding of why it is
necessary.

Here's a better idea, remove backwards compatibility. Perhaps they could
release a separate SIP client under a different name. Just keep it away from
Ring itself. Let Ring be actually secure.

------
reitanqild
Official web page seems to be [https://ring.cx/](https://ring.cx/)

~~~
0xmohit
And [https://ring.cx/en/about/practical](https://ring.cx/en/about/practical)
contains more details _about_ the project.

Source repositories located at [https://gerrit-
ring.savoirfairelinux.com/#/admin/projects/](https://gerrit-
ring.savoirfairelinux.com/#/admin/projects/) (Uses gerrit!)

------
Ruud-v-A
This appears to be something phone-related, not the Ring cryptography library
written in Rust based on Boringssl.
([https://github.com/briansmith/ring](https://github.com/briansmith/ring))

~~~
Rovanion
Neither is it the Clojure web server library [https://github.com/ring-
clojure/ring](https://github.com/ring-clojure/ring).

------
irl_
The DHT system for identities is cool, but the thing that gets me is that they
don't have support for SRTP with ZRTP, only SRTP with SDES. There's no perfect
forward secrecy, and a bunch of other features that ZRTP has.

[https://www.silentcircle.com/products-and-
solutions/technolo...](https://www.silentcircle.com/products-and-
solutions/technology/zrtp/#why-is-the-zrtp-protocol-better)

~~~
nextos
Yes, that's true.

A more comparable thing to Signal is Matrix [1] and it's client Riot [2].
Theoretically, it has perfect forward secrecy. It's not as distributed as Ring
is, but there is no centralized server as in Signal either.

Riot is also in F-Droid. So while not a GNU member, I find it sufficiently
open and free.

A totally distributed approach with forward secrecy is Tox [3]. It needs a
good code audit, though. And as in Ring, P2P causes data consumption issues in
mobile.

[1] [https://matrix.org/](https://matrix.org/)

[2] [https://riot.im/](https://riot.im/)

[3] [https://tox.chat/](https://tox.chat/)

~~~
akermu
I think you meant "but there is no centralized server as in _Signal_ either"

~~~
nextos
Fixed, thanks.

------
metilda
Has ring improved much? I remember a few months back it used 28gb of
background data over LTE (which was fine since I'm uncapped) on my phone, and
was less stable than sflphone, which would randomly stop registering
occasionally.

I can recommend pjsip though, very reliable so long as you read its docs
before writing a script to leverage it.

~~~
irl_
For voice I've found it to be quite stable, the video features a little flaky
though. Sometimes it would work, sometimes it just wouldn't.

------
frumiousirc
What stops attackers from poisoning the DHT? Could one publish false name
<\--> IP address associations?

~~~
ycmbntrthrwaway
Cryptography. Identity is not simply a name. You don't choose it but generate.

------
davidcollantes
I could not find this anywhere; do Ring uses a server (NAT traversal, or
similar)? Thanks!

~~~
davidbanham
According to the docs, it gives you the option deep in the settings to add
your own STUN and TURN servers. It seems like it doesn't ship with any
preconfigured. That makes it a non starter for me.

------
qwertyuiop924
Why this over Tox, Psyc, or Matrix? There doesn't seem to be much benefit...

~~~
snvzz
I hear tox has been approached before, but they were uninterested.

Remember GNU requires transferring rights to the FSF, which many aren't
comfortable with.

I personally favor tox, because ec25519 and full forward secrecy. Also, not
fond of SIP.

~~~
sitkack
I have interacted with Tox core devs, the exchange was not pleasant. The
overlap between professional and mature (both in social and engineering
aspects) seems to very slim in the security space.

~~~
qwertyuiop924
What did you expect? You know where they come from, right?

If you don't, they come from 4chan. So yeah...

But they got accepted into GSoC as a mentor project, so they can't all be bad.

------
fulafel
There seems to be no browseable source code around, what are the
implementation language(s)? I want to know whether the protocol
implementations are written in a memory-safe language.

~~~
aban
libring (or ring-daemon) is written in C++.

P.S. I couldn't find any browseable source either, so I cloned their repo.

------
themihai
Is there a well-known discovery document or any other way to create shortcuts
for the ringID? (i.e. mapping it somehow to web or email address) I doubt many
fancy spelling ringIDs.

------
Mindless2112
Seems like it's not possible to change your password after you use it to
create a Ring ID...

------
geofft
What's the advantage of being a GNU project these days? It seems like it ties
you very strongly to the FSF's political opinions and in particular Richard
Stallman's political opinions (e.g., eugenics) and restricts your technical
decision-making options (e.g., limited plugin architecture, limited support
for non-free OSes, mandatory support for things like GNUTLS), while not giving
you very much in return - with the existence of GitHub and a wide variety of
competitors, it's pretty easy to attract a healthy development community
independent of GNU. What am I missing?

~~~
snvzz
> What's the advantage of being a GNU project these days?

I can't think of anything.

> and in particular Richard Stallman's political opinions (e.g., eugenics)

Utter nonsense. Being part of GNU doesn't imply agreeing with every word
Stallman utters on any topic.

> restricts your technical decision-making options

Very real (see gcc and frontend/backend separation) and a very good reason to
stay away.

~~~
belorn
Over half an hour before you posted, a project maintainer directly
contradicted your post under this thread. The technical decision-making are
made by the maintainers, not by the GNU project.

Did you just miss davexunit post?

~~~
stonogo
I know he said things, but I also know the gcc frontend/backend hard wall is
very real, entirely political, and is very frustrating.

What good is reading his post when you can see how core GNU projects are
actually run?

~~~
belorn
Who is the maintainer of GCC?

This is not news to me, but its the maintainer of a project that decide over
their project. Its like how the CEO of Microsoft do not control what Apple do,
nor vice verse. Two projects with different people in charge, makes different
decision, and has different priorities.

The good thing about reading other posts is that you might realize that not
every project is run the same way. If you have an axe to grind with GCC over
their priorities, maybe you should try convince them that your priorities are
more important than theirs, rather than complain in a HN thread that has
nothing to do with having proprietary compiler modifications to GCC.

~~~
geofft
> its the maintainer of a project that decide over their project

Except that's not true once you've made your project a GNU project, which is
exactly my point.

[https://lists.gnu.org/archive/html/gnutls-
devel/2012-12/msg0...](https://lists.gnu.org/archive/html/gnutls-
devel/2012-12/msg00003.html) (RMS telling the GnuTLS maintainer they can't
move their project out of GNU)

[https://lwn.net/Articles/629259/](https://lwn.net/Articles/629259/) (GCC
maintainers want certain priorities, RMS overrules)

[https://lists.gnu.org/archive/html/emacs-
devel/2015-01/msg00...](https://lists.gnu.org/archive/html/emacs-
devel/2015-01/msg00171.html) (Emacs maintainer threatening to fork Emacs if he
cannot make the technical decisions he wants to make)

[https://libreboot.org/gnu-insult/](https://libreboot.org/gnu-insult/) (GNU
maintainers telling a GNU maintainer they cannot take their project out of
GNU, and it "is for the Saint IGNUcious to decide")

Stallman is the CEO, and maintainers are, at best, VPs. I have no axe to grind
with the GCC maintainers over their priorities - I just wish they had the
ability to follow their own priorities.

~~~
belorn
> RMS telling the GnuTLS maintainer they can't move their project out of GNU
> (and still call themselves _Gnu_ TLS.

Trademark is not technical decision-making. Hurd can not call themselves the
linux kernel, blaming Linus for "restricting their technical decision-making
options" when he would object. That a project do not want to rename themselves
is understandable, but such is how trademark work.

> GCC maintainers want certain priorities, RMS (as member of the GCC steering
> committee) overrules

GCC does not have _a_ GCC maintainer that decide over the project. It has a
steering committee, similar to Debian technical committee, which designed role
is to overrule maintainers. Stallman is also part of that committee, while
other people of FSF is not. There is no requirement of GNU projects to have a
steering committee, and no rules that dictate that Stallman must be part of
the committee if one exist.

> Emacs maintainer threatening to fork Emacs (over the GCC decision)

Which they are allowed to do. Emacs was founded by Stallman and what is called
"GNU Emacs", as a trademark issue, will likely continue rest with him. There
is no "technical decision-making options" involved there, and the dispute is
not about any code involving Emacs. If the fork ended up successful it would
likely replace the code of GNU Emacs as has happened in the past.

> GNU Libreboot changes name to Libreboot

Again, trademark and no technical decision-making options. Libreboot is now
one project, and GNU libreboot might be one. People can fight about who is the
fork and who is the original, but it has no technical-decision aspects to it.
Both projects can write code and add any feature they wish.

The only thing that Stallman and FSF decide is about the GNU project and the
GNU trademark. Technical aspects in each project is the maintainers or what
ever community structure that they have chosen. Some are committee based,
other a BDFL or project maintainer, and some are just flat structure of
several maintainer each holding only one vote in the decision process. Simple
projects generally has a single maintainer and can make all the technical-
decisions themselves.

