$ git clone https://socialnetwork.ion.nu/socialnetwork.git

(HEAD) Diff Tree socialtest: added a 'whoami' command, listing ID and socket address.

Diff Tree Fixed the writing of privacy circle indexes.
Diff Tree socialtest: added a 'bootstrap' command.
Diff Tree In udpstream_readsocket(), handle RESET packets first to avoid responding to RESET with RESET and locking into a loop.
Diff Tree Added social_user_getfield()
Diff Tree Rotate update files and keep some updates (e.g. fields, friend updates) in a separate file that never rotates.
Diff Tree Documented some of the peer API.
Diff Tree Started adding API documentation with gtk-doc.
Diff Tree social.h requires peer.h.
Diff Tree Switched from struct sockaddr to struct sockaddr_storage, which is large enough to hold IPv6 addresses.
Diff Tree Export udpstream_find() in the API.
Diff Tree Fixed assumptions about ID sizes.
Diff Tree socialtest: added support for "lsupdates ", listing updates of the given user (can be a partial ID)
Diff Tree Switched from SHA-1 to SHA-256 for everything else as well.
Diff Tree socialtest: added list of friends in the output of 'lscircles'.
Diff Tree Ask mutual friends for updates about friends who are not connected.
Diff Tree Added method to get a user's public key without direct connection to the user.
Diff Tree Switched from SHA-1 to SHA-256 for update signatures.
Diff Tree Fixed a path that still didn't use the path prefix.
Diff Tree Handle the return value of getaddrinfo() in case of errors.
Diff Tree peer_exportpeers(): don't write empty peer lists (especially in case it would overwrite a non-empty list)
Diff Tree Fixed a call to mkdir() that was not updated with the path prefix.
Diff Tree Added an 'install' target.
Diff Tree Accept a path prefix to social_init() for where to load and store data.
Diff Tree Implemented more of circles (friendslists)
Diff Tree Added privacy settings for updates.
Diff Tree Added peer_exportpeers() to save the list of peers we're connected to (for future bootstrapping)
Diff Tree Added 'const' to some things that didn't need to be writable.
Diff Tree Added the beginning of a social layer on top of the peer layer (somewhat messy for now)
Diff Tree Added peer_findbyid() to get a peer we're already connected to.
Diff Tree Expose private key and peers' public keys (in the form of the certificate used for the connection) for signing.
Diff Tree Added a 'findpeer' command to find a peer by ID, and peer_findpeer(ID) for convenience.
Diff Tree Added connectivity error handling to the peer-to-peer layer.
Diff Tree Improved udpstream to handle disconnects, intentional and timeouts.
Diff Tree Fixed a mistake where everything beyond the handshake was sent in plaintext.
Diff Tree Moved private key loading/generation to peer_init() and extracting the key ID in the process.
Diff Tree Added a basic peer-to-peer layer on top of udpstream and gnutls.
Diff Tree Removed the redundant udpstream_listen(), added udpstream_getsocket()
Diff Tree Added udpstream_getaddr() to get the address of a stream's peer, useful for UDP-punchthrough.
Diff Tree Initial commit with a connection layer on top of UDP.