[Ring] Ring daemon compile error

2017-06-21 Thread Houmin
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'
  CXXLDdring
../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 `nettle_yarrow256_random'
../src/.libs/libring.so: undefined reference to `nettle_salsa20_crypt'
../src/.libs/libring.so: undefined reference to
`nettle_gcm_camellia128_set_iv'
../src/.libs/libring.so: undefined reference to
`nettle_gcm_camellia256_digest'
../src/.libs/libring.so: 

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

2017-06-21 Thread Greg Troxel

There's a larger point in the discussion about plaform-specific clients,
which is the distinction between a protocol specification and an
implementation.

As I look at the ring.cx site, it talks about the implementation.  It
does not clearly give a oprotocol spec (something like you'd find in
IETF), so that someone could write an independent interoperable
implementation.  Successful protocols are either proprietary walled
gardens or have multiple independent implementations.  SIP and ZRTP, for
example, are the multiple implementation type.

If I'm following correctly, ring is opendht for discovery (which would
then have to be examined for protocol vs defined by a singleton
implementation), something sip-like for bringing up a session with the
peer once you find it, probably some kind of STUN/TURN to deal with NAT,
and something RTP/ZRTP-ish to transport the bits.



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

2017-06-21 Thread Óvári

Please integrate GNU Ring with CardBook:

https://addons.mozilla.org/thunderbird/addon/cardbook/

It is based on the vCard format and runs on multiple operating systems 
(Linux, Windows, Mac, BSD, ...)


The developer of CardBook is Philippe Vigneau who can be emailed at:

cardbook.thunderb...@gmail.com

Thank you

On 22/06/17 06:07, Anthony Léonard wrote:

Hi Adonay,


Last but not less important: I might be wrong on the following: One
of
the issues of using JavaScript might be the loss of integration with,
for example, vCard contact managers. But of course it's always better
to
ask a real expert instead of an occasional user and contributor (this
is
me). :)

You are half-right (or wrong, depends on your mood :) ). The
integration with third party contact managers (like GNOME Contacts on
GNU/Linux or Contacts app on MacOS) is currently managed by the client
layer on each platforms. The client "injects" contacts it gather from
external applications in its own contact list alongside the contacts
coming internally from the daemon.

The part on which you're wrong is that the loss of integration is not
related to JS itself but to the fact that an interface between a new
“ring-electron” client and contact managers is yet to be implemented.
It is not infeasible but requires making a wrapper in C/C++ for every
existing "contact-APIs" to expose those interfaces to JS code.

Another solution could be to integrate this support inside the
daemon, but also requires coding interfaces for each contact systems as
those interfaces are currently split between every clients.

Best regards.

Anthony L.