-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: urcd action: commit revision: path_from: revision_from: 4b2d86ca1bf5457afe43dc98ac980a86de0f8072: path_to: revision_to:
commit 4b2d86ca1bf5457afe43dc98ac980a86de0f8072 Author: root <root@localhost.(none)> Date: Wed Mar 18 00:04:19 2015 +0000 [liburc] bugfix: incorrect initializer suffix diff --git a/doc/URC.txt b/doc/URC.txt
--- a/doc/URC.txt +++ b/doc/URC.txt @@ -16,67 +16,61 @@ Description: Advantages: - Anonymity - URC doesn't care about IP or Ident, and doesn't reveal - this information to other users on the network. The server/hostmask - section of a URCLINE is always a hostmask chosen by the user. When a - client sends a URC packet across the network, the sender's physical - location is protected, by scattering the packet throughout the - network in a randomly chosen order, i.e. the receiver is also - protected. - - No Government or Censorship - In the URC network, you decide the - policies for yourself, rather than someone else choosing them for - you. - - NO Presence - URCd, by default, does not announce JOIN, PART, or - QUIT messages, therefore a user's activities and timing is - protected. - - Plausible Deniability - URC packets that are not signed cannot prove - a specific user created a message. Admins using URCd and CryptoServ - also have a unique advantage, in that they can deny knowing a secret - key because the keys can be sent remotely and are not stored on the - server. - - NO NickServ/Chanserv - NickServ and ChanServ are replaced by - signatures and encryption, that come optional to the user. - - NO CTCP/DCC - URCd automatically blocks both of these protocols - before they can access an IRC client, preventing many leaks and - exploits. - - NO Encoding - URCd automatically blocks colour and unicode unless - the administrator allows encoding. This is due to a number of - exploits in the past associated with parsing. + Anonymity - URC doesn't care about IP or Ident, and doesn't reveal this + information to other users on the network. The server/hostmask section of a + URCLINE is always a hostmask chosen by the user. When a client sends a URC + packet across the network, the sender's physical location is protected, by + scattering the packet throughout the network in a randomly chosen order, i.e. + the receiver is also protected. + + No Government or Censorship - In the URC network, you decide the policies for + yourself, rather than someone else choosing them for you. + + NO Presence - URCd, by default, does not announce JOIN, PART, or QUIT messages, + therefore a user's activities and timing is protected. + + Plausible Deniability - URC packets that are not signed cannot prove a specific + user created a message. Admins using URCd and CryptoServ also have a unique + advantage, in that they can deny knowing a secret key because the keys can be + sent remotely and are not stored on the server. + + NO NickServ/Chanserv - NickServ and ChanServ are replaced by signatures and + encryption, that come optional to the user. + + NO CTCP/DCC - URCd automatically blocks both of these protocols before they can + access an IRC client, preventing many leaks and exploits. + + NO Encoding - URCd automatically blocks colour and unicode unless the + administrator allows encoding. This is due to a number of exploits in the past + associated with parsing. AntiSurveillance - Encrypted URC packets do not reveal the source or - destination of a packet. Instead they rely on NaCl's highspeed - Poly1305, or encrypted signatures for authentication and - verification. Thus, an attacker sniffing the network cannot target - specific conversations because they contain no identifying marks - compared against other encrypted traffic. Only user's with the - correct keys can discover this information. By default, all - encrypted packets are padded to protect against other side channels. - - Security Aware - URC is written in a small amount of open - source C and Python code. URC daemons only function inside of a - chroot jail with only the privileges necessary to run. URC supports - the new record setting Networking and Cryptographic library (NaCl), - rather than older, bloated, and slower libraries of the past. URC - daemons also support CurveCP and TOR rather than SSL and TLS for - links and encrypted connections. The current URCd software is however flexible - enough to wrap the URCHUB protocol with other security layers. - - Simple API and Modularity - URCd allows the user to "hack" his or - her conversation with their local daemon with any programming - language, so long as the user can read and write with stdin and - stdout, and can parse URCLINE (simplified IRC lines). + destination of a packet. Instead they rely on NaCl's highspeed Poly1305, or + encrypted signatures for authentication and verification. Thus, an attacker + sniffing the network cannot target specific conversations because they contain + no identifying marks compared against other encrypted traffic. Only user's with + the correct keys can discover this information. By default, all encrypted + packets are padded to protect against other side channels. + + Security Aware - URC is written in a small amount of open source C and Python + code. URC daemons only function inside of a chroot jail with only the + privileges necessary to run, and includes a simple urc_jail function with + LibURC to make this easy to setup. URC supports the new record setting + Networking and Cryptographic library (NaCl), rather than older, bloated, and + slower libraries of the past. URC daemons also support CurveCP and TOR rather + than SSL and TLS for links and encrypted connections. The current URCd software + is however flexible enough to wrap the URCHUB protocol with other security + layers. + + Simple API and Modularity - URCd allows the user to "hack" his or her + conversation with their local daemon with any programming language, so long as + the user can read and write with stdin and stdout, and can parse URCLINE + (simplified IRC lines). Stateless - URC is a stateless broadcast protocol that can easily use a variety of networks to send data, where each hop is a similar to a radio hub or signal - repeater. This keeps overhead low and simplicity unlocks room for expansion - and scalability. Demands like cpu and memory requirements can be kept to a - minimum. + repeater. This keeps overhead low and simplicity unlocks room for expansion and + scalability. Demands like cpu and memory requirements can be kept to a minimum. Scalability - URC can span multiple networks, such as LAN, WLAN, VPN, TOR, I2P, and other networks, by using UDP broadcasts, multicast groups, and TCP streams. @@ -90,13 +84,13 @@ Advantages: entropy for the cryptographic nonce bytes used in the URCHUB protocol. This protocol will not expire within the next few billion years. - No Trust - The URC protocol and supporting softwares take a different - approach to an often overlooked point of failure used on many crypto - and communication systems. URC does not need a third party to establish - private, and secure communications over a decentralized network. For - example, URC does not require, nor allow another server to verify the - authenticity of a client's messages, nor does the protocol require or - allow remote systems to overide or alter the policies on a local URCd. + No Trust - The URC protocol and supporting softwares take a different approach + to an often overlooked point of failure used on many crypto and communication + systems. URC does not need a third party to establish private, and secure + communications over a decentralized network. For example, URC does not require, + nor allow another server to verify the authenticity of a client's messages, nor + does the protocol require or allow remote systems to overide or alter the + policies on a local URCd. Entropy - LibURC ships with it's own secure randombytes implementation that is powered by NaCl's crypto_stream function, providing strong and reliable diff --git a/src/liburc.h b/src/liburc.h
--- a/src/liburc.h +++ b/src/liburc.h @@ -80,8 +80,8 @@ int setlen(unsigned char *b, int blen) { void taia96n(unsigned char *ts) { static const long long offset[] = { - -8ULL, -7ULL, -6ULL, -5ULL, -4ULL, -3ULL, -2ULL, -1ULL, - 8ULL, 7ULL, 6ULL, 5ULL, 4ULL, 3ULL, 2ULL, 1ULL + -8LL, -7LL, -6LL, -5LL, -4LL, -3LL, -2LL, -1LL, + 8LL, 7LL, 6LL, 5LL, 4LL, 3LL, 2LL, 1LL }; static unsigned long long a; static unsigned char b[1+4];
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 17:12:12 2024