clang-format Mosh
Run clang-format over the Mosh source tree. This is a large change and
has been factored into its own commit for auditability. Reproduce it
with
find . -name \*.cc -or -name \*.h | while read f; do clang-format -i --style=file $f; done
This commit is contained in:
committed by
Alex Chernyakhovsky
parent
0b15dc94fa
commit
3acaa1c4d3
+98
-101
@@ -41,126 +41,123 @@
|
||||
#include <exception>
|
||||
#include <string>
|
||||
|
||||
|
||||
long int myatoi( const char *str );
|
||||
long int myatoi( const char* str );
|
||||
|
||||
class PRNG;
|
||||
|
||||
namespace Crypto {
|
||||
class CryptoException : public std::exception {
|
||||
public:
|
||||
std::string text;
|
||||
bool fatal;
|
||||
CryptoException( std::string s_text, bool s_fatal = false )
|
||||
: text( s_text ), fatal( s_fatal ) {};
|
||||
const char *what() const throw () { return text.c_str(); }
|
||||
~CryptoException() throw () {}
|
||||
};
|
||||
class CryptoException : public std::exception
|
||||
{
|
||||
public:
|
||||
std::string text;
|
||||
bool fatal;
|
||||
CryptoException( std::string s_text, bool s_fatal = false ) : text( s_text ), fatal( s_fatal ) {};
|
||||
const char* what() const throw() { return text.c_str(); }
|
||||
~CryptoException() throw() {}
|
||||
};
|
||||
|
||||
/*
|
||||
* OCB (and other algorithms) require a source of nonce/sequence
|
||||
* numbers that never repeats its output. Enforce that with this
|
||||
* function.
|
||||
*/
|
||||
uint64_t unique( void );
|
||||
/*
|
||||
* OCB (and other algorithms) require a source of nonce/sequence
|
||||
* numbers that never repeats its output. Enforce that with this
|
||||
* function.
|
||||
*/
|
||||
uint64_t unique( void );
|
||||
|
||||
/* 16-byte-aligned buffer, with length. */
|
||||
class AlignedBuffer {
|
||||
private:
|
||||
size_t m_len;
|
||||
void *m_allocated;
|
||||
char *m_data;
|
||||
/* 16-byte-aligned buffer, with length. */
|
||||
class AlignedBuffer
|
||||
{
|
||||
private:
|
||||
size_t m_len;
|
||||
void* m_allocated;
|
||||
char* m_data;
|
||||
|
||||
public:
|
||||
AlignedBuffer( size_t len, const char *data = NULL );
|
||||
public:
|
||||
AlignedBuffer( size_t len, const char* data = NULL );
|
||||
|
||||
~AlignedBuffer() {
|
||||
free( m_allocated );
|
||||
}
|
||||
~AlignedBuffer() { free( m_allocated ); }
|
||||
|
||||
char * data( void ) const { return m_data; }
|
||||
size_t len( void ) const { return m_len; }
|
||||
char* data( void ) const { return m_data; }
|
||||
size_t len( void ) const { return m_len; }
|
||||
|
||||
private:
|
||||
/* Not implemented */
|
||||
AlignedBuffer( const AlignedBuffer & );
|
||||
AlignedBuffer & operator=( const AlignedBuffer & );
|
||||
};
|
||||
private:
|
||||
/* Not implemented */
|
||||
AlignedBuffer( const AlignedBuffer& );
|
||||
AlignedBuffer& operator=( const AlignedBuffer& );
|
||||
};
|
||||
|
||||
class Base64Key {
|
||||
private:
|
||||
unsigned char key[ 16 ];
|
||||
class Base64Key
|
||||
{
|
||||
private:
|
||||
unsigned char key[16];
|
||||
|
||||
public:
|
||||
Base64Key(); /* random key */
|
||||
Base64Key(PRNG &prng);
|
||||
Base64Key( std::string printable_key );
|
||||
std::string printable_key( void ) const;
|
||||
unsigned char *data( void ) { return key; }
|
||||
};
|
||||
public:
|
||||
Base64Key(); /* random key */
|
||||
Base64Key( PRNG& prng );
|
||||
Base64Key( std::string printable_key );
|
||||
std::string printable_key( void ) const;
|
||||
unsigned char* data( void ) { return key; }
|
||||
};
|
||||
|
||||
class Nonce {
|
||||
public:
|
||||
static const int NONCE_LEN = 12;
|
||||
class Nonce
|
||||
{
|
||||
public:
|
||||
static const int NONCE_LEN = 12;
|
||||
|
||||
private:
|
||||
char bytes[ NONCE_LEN ];
|
||||
private:
|
||||
char bytes[NONCE_LEN];
|
||||
|
||||
public:
|
||||
Nonce( uint64_t val );
|
||||
Nonce( const char *s_bytes, size_t len );
|
||||
|
||||
std::string cc_str( void ) const { return std::string( bytes + 4, 8 ); }
|
||||
const char *data( void ) const { return bytes; }
|
||||
uint64_t val( void ) const;
|
||||
};
|
||||
|
||||
class Message {
|
||||
public:
|
||||
const Nonce nonce;
|
||||
const std::string text;
|
||||
|
||||
Message( const char *nonce_bytes, size_t nonce_len,
|
||||
const char *text_bytes, size_t text_len )
|
||||
: nonce( nonce_bytes, nonce_len ),
|
||||
text( text_bytes, text_len ) {}
|
||||
public:
|
||||
Nonce( uint64_t val );
|
||||
Nonce( const char* s_bytes, size_t len );
|
||||
|
||||
Message( const Nonce & s_nonce, const std::string & s_text )
|
||||
: nonce( s_nonce ),
|
||||
text( s_text ) {}
|
||||
};
|
||||
|
||||
class Session {
|
||||
private:
|
||||
Base64Key key;
|
||||
AlignedBuffer ctx_buf;
|
||||
ae_ctx *ctx;
|
||||
uint64_t blocks_encrypted;
|
||||
std::string cc_str( void ) const { return std::string( bytes + 4, 8 ); }
|
||||
const char* data( void ) const { return bytes; }
|
||||
uint64_t val( void ) const;
|
||||
};
|
||||
|
||||
AlignedBuffer plaintext_buffer;
|
||||
AlignedBuffer ciphertext_buffer;
|
||||
AlignedBuffer nonce_buffer;
|
||||
|
||||
public:
|
||||
static const int RECEIVE_MTU = 2048;
|
||||
/* Overhead (not counting the nonce, which is handled by network transport) */
|
||||
static const int ADDED_BYTES = 16 /* final OCB block */;
|
||||
class Message
|
||||
{
|
||||
public:
|
||||
const Nonce nonce;
|
||||
const std::string text;
|
||||
|
||||
Session( Base64Key s_key );
|
||||
~Session();
|
||||
|
||||
const std::string encrypt( const Message & plaintext );
|
||||
const Message decrypt( const char *str, size_t len );
|
||||
const Message decrypt( const std::string & ciphertext ) {
|
||||
return decrypt( ciphertext.data(), ciphertext.size() );
|
||||
}
|
||||
|
||||
Session( const Session & );
|
||||
Session & operator=( const Session & );
|
||||
};
|
||||
Message( const char* nonce_bytes, size_t nonce_len, const char* text_bytes, size_t text_len )
|
||||
: nonce( nonce_bytes, nonce_len ), text( text_bytes, text_len )
|
||||
{}
|
||||
|
||||
void disable_dumping_core( void );
|
||||
void reenable_dumping_core( void );
|
||||
Message( const Nonce& s_nonce, const std::string& s_text ) : nonce( s_nonce ), text( s_text ) {}
|
||||
};
|
||||
|
||||
class Session
|
||||
{
|
||||
private:
|
||||
Base64Key key;
|
||||
AlignedBuffer ctx_buf;
|
||||
ae_ctx* ctx;
|
||||
uint64_t blocks_encrypted;
|
||||
|
||||
AlignedBuffer plaintext_buffer;
|
||||
AlignedBuffer ciphertext_buffer;
|
||||
AlignedBuffer nonce_buffer;
|
||||
|
||||
public:
|
||||
static const int RECEIVE_MTU = 2048;
|
||||
/* Overhead (not counting the nonce, which is handled by network transport) */
|
||||
static const int ADDED_BYTES = 16 /* final OCB block */;
|
||||
|
||||
Session( Base64Key s_key );
|
||||
~Session();
|
||||
|
||||
const std::string encrypt( const Message& plaintext );
|
||||
const Message decrypt( const char* str, size_t len );
|
||||
const Message decrypt( const std::string& ciphertext ) { return decrypt( ciphertext.data(), ciphertext.size() ); }
|
||||
|
||||
Session( const Session& );
|
||||
Session& operator=( const Session& );
|
||||
};
|
||||
|
||||
void disable_dumping_core( void );
|
||||
void reenable_dumping_core( void );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user