[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 01/24 v2] cleanup: use ssh_ prefix in the agent (non-static) functions


Having "ssh_" prefix in the functions' name will avoid possible clashes
when compiling libssh statically.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/agent.h      |  8 ++++----
 src/agent.c                 | 10 +++++-----
 src/auth.c                  |  2 +-
 src/session.c               |  4 ++--
 tests/client/torture_auth.c |  4 ++--
 5 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/include/libssh/agent.h b/include/libssh/agent.h
index 77209d0..c739273 100644
--- a/include/libssh/agent.h
+++ b/include/libssh/agent.h
@@ -81,16 +81,16 @@ struct ssh_agent_struct {
  *
  * @return An allocated ssh agent structure or NULL on error.
  */
-struct ssh_agent_struct *agent_new(struct ssh_session_struct *session);
+struct ssh_agent_struct *ssh_agent_new(struct ssh_session_struct *session);
 
-void agent_close(struct ssh_agent_struct *agent);
+void ssh_agent_close(struct ssh_agent_struct *agent);
 
 /**
  * @brief Free an allocated ssh agent structure.
  *
  * @param agent The ssh agent structure to free.
  */
-void agent_free(struct ssh_agent_struct *agent);
+void ssh_agent_free(struct ssh_agent_struct *agent);
 
 /**
  * @brief Check if the ssh agent is running.
@@ -99,7 +99,7 @@ void agent_free(struct ssh_agent_struct *agent);
  *
  * @return 1 if it is running, 0 if not.
  */
-int agent_is_running(struct ssh_session_struct *session);
+int ssh_agent_is_running(struct ssh_session_struct *session);
 
 int ssh_agent_get_ident_count(struct ssh_session_struct *session);
 
diff --git a/src/agent.c b/src/agent.c
index 922d753..1cbb9cd 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -143,7 +143,7 @@ static size_t atomicio(struct ssh_agent_struct *agent, void *buf, size_t n, int
     }
 }
 
-ssh_agent agent_new(struct ssh_session_struct *session) {
+ssh_agent ssh_agent_new(struct ssh_session_struct *session) {
   ssh_agent agent = NULL;
 
   agent = malloc(sizeof(struct ssh_agent_struct));
@@ -205,7 +205,7 @@ int ssh_set_agent_socket(ssh_session session, socket_t fd){
   return SSH_OK;
 }
 
-void agent_close(struct ssh_agent_struct *agent) {
+void ssh_agent_close(struct ssh_agent_struct *agent) {
   if (agent == NULL) {
     return;
   }
@@ -213,13 +213,13 @@ void agent_close(struct ssh_agent_struct *agent) {
   ssh_socket_close(agent->sock);
 }
 
-void agent_free(ssh_agent agent) {
+void ssh_agent_free(ssh_agent agent) {
   if (agent) {
     if (agent->ident) {
       ssh_buffer_free(agent->ident);
     }
     if (agent->sock) {
-      agent_close(agent);
+      ssh_agent_close(agent);
       ssh_socket_free(agent->sock);
     }
     SAFE_FREE(agent);
@@ -481,7 +481,7 @@ ssh_key ssh_agent_get_next_ident(struct ssh_session_struct *session,
     return key;
 }
 
-int agent_is_running(ssh_session session) {
+int ssh_agent_is_running(ssh_session session) {
   if (session == NULL || session->agent == NULL) {
     return 0;
   }
diff --git a/src/auth.c b/src/auth.c
index 1381774..eeed8c3 100644
--- a/src/auth.c
+++ b/src/auth.c
@@ -771,7 +771,7 @@ int ssh_userauth_agent(ssh_session session,
         return SSH_AUTH_ERROR;
     }
 
-    if (!agent_is_running(session)) {
+    if (!ssh_agent_is_running(session)) {
         return SSH_AUTH_DENIED;
     }
     if (!session->agent_state){
diff --git a/src/session.c b/src/session.c
index ad1b3a8..c1ef290 100644
--- a/src/session.c
+++ b/src/session.c
@@ -92,7 +92,7 @@ ssh_session ssh_new(void) {
   session->maxchannel = FIRST_CHANNEL;
 
 #ifndef _WIN32
-    session->agent = agent_new(session);
+    session->agent = ssh_agent_new(session);
     if (session->agent == NULL) {
       goto err;
     }
@@ -222,7 +222,7 @@ void ssh_free(ssh_session session) {
   crypto_free(session->next_crypto);
 
 #ifndef _WIN32
-  agent_free(session->agent);
+  ssh_agent_free(session->agent);
 #endif /* _WIN32 */
 
   ssh_key_free(session->srv.dsa_key);
diff --git a/tests/client/torture_auth.c b/tests/client/torture_auth.c
index d686b4c..bbd72be 100644
--- a/tests/client/torture_auth.c
+++ b/tests/client/torture_auth.c
@@ -308,7 +308,7 @@ static void torture_auth_agent(void **state) {
                       " to enable this test!!\n");
         return;
     }
-    if (!agent_is_running(session)){
+    if (!ssh_agent_is_running(session)){
         print_message("*** Agent not running. Test ignored\n");
         return;
     }
@@ -340,7 +340,7 @@ static void torture_auth_agent_nonblocking(void **state) {
                       " to enable this test!!\n");
         return;
     }
-    if (!agent_is_running(session)){
+    if (!ssh_agent_is_running(session)){
         print_message("*** Agent not running. Test ignored\n");
         return;
     }
-- 
2.4.3


From 610c808ca74ba13c7f9f4145ab8e6af773047139 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Wed, 16 Sep 2015 22:20:30 +0200
Subject: [PATCH 02/24 v2] cleanup: use ssh_ prefix in the bignum (non-static)
 functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Having "ssh_" prefix in the functions' name will avoid possible clashes
when compiling libssh statically.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/bignum.h |  6 +++---
 src/bignum.c            |  6 +++---
 src/buffer.c            |  2 +-
 src/dh.c                | 10 +++++-----
 src/known_hosts.c       |  4 ++--
 src/pki_crypto.c        | 40 ++++++++++++++++++++--------------------
 6 files changed, 34 insertions(+), 34 deletions(-)

diff --git a/include/libssh/bignum.h b/include/libssh/bignum.h
index 61786c8..df77ebe 100644
--- a/include/libssh/bignum.h
+++ b/include/libssh/bignum.h
@@ -24,9 +24,9 @@
 #include "libssh/libcrypto.h"
 #include "libssh/libgcrypt.h"
 
-bignum make_string_bn(ssh_string string);
-void make_string_bn_inplace(ssh_string string, bignum bnout);
-ssh_string make_bignum_string(bignum num);
+bignum ssh_make_string_bn(ssh_string string);
+void ssh_make_string_bn_inplace(ssh_string string, bignum bnout);
+ssh_string ssh_make_bignum_string(bignum num);
 void ssh_print_bignum(const char *which,bignum num);
 
 
diff --git a/src/bignum.c b/src/bignum.c
index e9c16dd..de21d6b 100644
--- a/src/bignum.c
+++ b/src/bignum.c
@@ -25,7 +25,7 @@
 #include "libssh/bignum.h"
 #include "libssh/string.h"
 
-ssh_string make_bignum_string(bignum num) {
+ssh_string ssh_make_bignum_string(bignum num) {
   ssh_string ptr = NULL;
   int pad = 0;
   unsigned int len = bignum_num_bytes(num);
@@ -63,7 +63,7 @@ ssh_string make_bignum_string(bignum num) {
   return ptr;
 }
 
-bignum make_string_bn(ssh_string string){
+bignum ssh_make_string_bn(ssh_string string){
   bignum bn = NULL;
   unsigned int len = ssh_string_len(string);
 
@@ -81,7 +81,7 @@ bignum make_string_bn(ssh_string string){
   return bn;
 }
 
-void make_string_bn_inplace(ssh_string string, bignum bnout) {
+void ssh_make_string_bn_inplace(ssh_string string, bignum bnout) {
   unsigned int len = ssh_string_len(string);
 #ifdef HAVE_LIBGCRYPT
   /* XXX: FIXME as needed for LIBGCRYPT ECDSA codepaths. */
diff --git a/src/buffer.c b/src/buffer.c
index 0bffdfd..0a33ae3 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -767,7 +767,7 @@ int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer,
             break;
         case 'B':
             b = va_arg(ap, bignum);
-            o.string = make_bignum_string(b);
+            o.string = ssh_make_bignum_string(b);
             if(o.string == NULL){
                 rc = SSH_ERROR;
                 break;
diff --git a/src/dh.c b/src/dh.c
index e489a1d..b372b2c 100644
--- a/src/dh.c
+++ b/src/dh.c
@@ -339,12 +339,12 @@ int dh_generate_f(ssh_session session) {
 }
 
 ssh_string dh_get_e(ssh_session session) {
-  return make_bignum_string(session->next_crypto->e);
+  return ssh_make_bignum_string(session->next_crypto->e);
 }
 
 /* used by server */
 ssh_string dh_get_f(ssh_session session) {
-  return make_bignum_string(session->next_crypto->f);
+  return ssh_make_bignum_string(session->next_crypto->f);
 }
 
 void dh_import_pubkey(ssh_session session, ssh_string pubkey_string) {
@@ -352,7 +352,7 @@ void dh_import_pubkey(ssh_session session, ssh_string pubkey_string) {
 }
 
 int dh_import_f(ssh_session session, ssh_string f_string) {
-  session->next_crypto->f = make_string_bn(f_string);
+  session->next_crypto->f = ssh_make_string_bn(f_string);
   if (session->next_crypto->f == NULL) {
     return -1;
   }
@@ -366,7 +366,7 @@ int dh_import_f(ssh_session session, ssh_string f_string) {
 
 /* used by the server implementation */
 int dh_import_e(ssh_session session, ssh_string e_string) {
-  session->next_crypto->e = make_string_bn(e_string);
+  session->next_crypto->e = ssh_make_string_bn(e_string);
   if (session->next_crypto->e == NULL) {
     return -1;
   }
@@ -782,7 +782,7 @@ int generate_session_keys(ssh_session session) {
   struct ssh_crypto_struct *crypto = session->next_crypto;
   int rc = -1;
 
-  k_string = make_bignum_string(crypto->k);
+  k_string = ssh_make_bignum_string(crypto->k);
   if (k_string == NULL) {
     ssh_set_error_oom(session);
     goto error;
diff --git a/src/known_hosts.c b/src/known_hosts.c
index f7828d5..d87af43 100644
--- a/src/known_hosts.c
+++ b/src/known_hosts.c
@@ -225,9 +225,9 @@ static int check_public_key(ssh_session session, char **tokens) {
         ssh_buffer_free(pubkey_buffer);
         return -1;
       }
-      /* for some reason, make_bignum_string does not work
+      /* for some reason, ssh_make_bignum_string does not work
          because of the padding which it does --kv */
-      /* tmpstring = make_bignum_string(tmpbn); */
+      /* tmpstring = ssh_make_bignum_string(tmpbn); */
       /* do it manually instead */
       len = bignum_num_bytes(tmpbn);
       tmpstring = malloc(4 + len);
diff --git a/src/pki_crypto.c b/src/pki_crypto.c
index d656e35..7a3caba 100644
--- a/src/pki_crypto.c
+++ b/src/pki_crypto.c
@@ -831,10 +831,10 @@ int pki_pubkey_build_dss(ssh_key key,
         return SSH_ERROR;
     }
 
-    key->dsa->p = make_string_bn(p);
-    key->dsa->q = make_string_bn(q);
-    key->dsa->g = make_string_bn(g);
-    key->dsa->pub_key = make_string_bn(pubkey);
+    key->dsa->p = ssh_make_string_bn(p);
+    key->dsa->q = ssh_make_string_bn(q);
+    key->dsa->g = ssh_make_string_bn(g);
+    key->dsa->pub_key = ssh_make_string_bn(pubkey);
     if (key->dsa->p == NULL ||
         key->dsa->q == NULL ||
         key->dsa->g == NULL ||
@@ -854,8 +854,8 @@ int pki_pubkey_build_rsa(ssh_key key,
         return SSH_ERROR;
     }
 
-    key->rsa->e = make_string_bn(e);
-    key->rsa->n = make_string_bn(n);
+    key->rsa->e = ssh_make_string_bn(e);
+    key->rsa->n = ssh_make_string_bn(n);
     if (key->rsa->e == NULL ||
         key->rsa->n == NULL) {
         RSA_free(key->rsa);
@@ -897,22 +897,22 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
 
     switch (key->type) {
         case SSH_KEYTYPE_DSS:
-            p = make_bignum_string(key->dsa->p);
+            p = ssh_make_bignum_string(key->dsa->p);
             if (p == NULL) {
                 goto fail;
             }
 
-            q = make_bignum_string(key->dsa->q);
+            q = ssh_make_bignum_string(key->dsa->q);
             if (q == NULL) {
                 goto fail;
             }
 
-            g = make_bignum_string(key->dsa->g);
+            g = ssh_make_bignum_string(key->dsa->g);
             if (g == NULL) {
                 goto fail;
             }
 
-            n = make_bignum_string(key->dsa->pub_key);
+            n = ssh_make_bignum_string(key->dsa->pub_key);
             if (n == NULL) {
                 goto fail;
             }
@@ -946,12 +946,12 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
             break;
         case SSH_KEYTYPE_RSA:
         case SSH_KEYTYPE_RSA1:
-            e = make_bignum_string(key->rsa->e);
+            e = ssh_make_bignum_string(key->rsa->e);
             if (e == NULL) {
                 goto fail;
             }
 
-            n = make_bignum_string(key->rsa->n);
+            n = ssh_make_bignum_string(key->rsa->n);
             if (n == NULL) {
                 goto fail;
             }
@@ -1150,12 +1150,12 @@ static ssh_string pki_dsa_signature_to_blob(const ssh_signature sig)
     ssh_string s;
     int s_len, s_offset_in, s_offset_out;
 
-    r = make_bignum_string(sig->dsa_sig->r);
+    r = ssh_make_bignum_string(sig->dsa_sig->r);
     if (r == NULL) {
         return NULL;
     }
 
-    s = make_bignum_string(sig->dsa_sig->s);
+    s = ssh_make_bignum_string(sig->dsa_sig->s);
     if (s == NULL) {
         ssh_string_free(r);
         return NULL;
@@ -1214,7 +1214,7 @@ ssh_string pki_signature_to_blob(const ssh_signature sig)
                 return NULL;
             }
 
-            r = make_bignum_string(sig->ecdsa_sig->r);
+            r = ssh_make_bignum_string(sig->ecdsa_sig->r);
             if (r == NULL) {
                 ssh_buffer_free(b);
                 return NULL;
@@ -1226,7 +1226,7 @@ ssh_string pki_signature_to_blob(const ssh_signature sig)
                 return NULL;
             }
 
-            s = make_bignum_string(sig->ecdsa_sig->s);
+            s = ssh_make_bignum_string(sig->ecdsa_sig->s);
             if (s == NULL) {
                 ssh_buffer_free(b);
                 return NULL;
@@ -1375,7 +1375,7 @@ ssh_signature pki_signature_from_blob(const ssh_key pubkey,
             }
             ssh_string_fill(r, ssh_string_data(sig_blob), 20);
 
-            sig->dsa_sig->r = make_string_bn(r);
+            sig->dsa_sig->r = ssh_make_string_bn(r);
             ssh_string_free(r);
             if (sig->dsa_sig->r == NULL) {
                 ssh_signature_free(sig);
@@ -1389,7 +1389,7 @@ ssh_signature pki_signature_from_blob(const ssh_key pubkey,
             }
             ssh_string_fill(s, (char *)ssh_string_data(sig_blob) + 20, 20);
 
-            sig->dsa_sig->s = make_string_bn(s);
+            sig->dsa_sig->s = ssh_make_string_bn(s);
             ssh_string_free(s);
             if (sig->dsa_sig->s == NULL) {
                 ssh_signature_free(sig);
@@ -1439,7 +1439,7 @@ ssh_signature pki_signature_from_blob(const ssh_key pubkey,
                 ssh_print_hexa("r", ssh_string_data(r), ssh_string_len(r));
 #endif
 
-                make_string_bn_inplace(r, sig->ecdsa_sig->r);
+                ssh_make_string_bn_inplace(r, sig->ecdsa_sig->r);
                 ssh_string_burn(r);
                 ssh_string_free(r);
                 if (sig->ecdsa_sig->r == NULL) {
@@ -1460,7 +1460,7 @@ ssh_signature pki_signature_from_blob(const ssh_key pubkey,
                 ssh_print_hexa("s", ssh_string_data(s), ssh_string_len(s));
 #endif
 
-                make_string_bn_inplace(s, sig->ecdsa_sig->s);
+                ssh_make_string_bn_inplace(s, sig->ecdsa_sig->s);
                 ssh_string_burn(s);
                 ssh_string_free(s);
                 if (sig->ecdsa_sig->s == NULL) {
-- 
2.4.3


From 3157ddf3cb7a2ecf45ce2374536b3f25729fe7b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Wed, 16 Sep 2015 23:24:44 +0200
Subject: [PATCH 03/24 v2] cleanup: use ssh_ prefix in the blf (non-static)
 functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Having "ssh_" prefix in the functions' name will avoid possible clashes
when compiling libssh statically.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/blf.h        | 26 +++++++++++++-------------
 src/external/bcrypt_pbkdf.c |  4 ++--
 src/external/blowfish.c     | 42 +++++++++++++++++++++---------------------
 3 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/include/libssh/blf.h b/include/libssh/blf.h
index 21185f3..ce131e6 100644
--- a/include/libssh/blf.h
+++ b/include/libssh/blf.h
@@ -53,7 +53,7 @@
 typedef struct BlowfishContext {
 	uint32_t S[4][256];	/* S-Boxes */
 	uint32_t P[BLF_N + 2];	/* Subkeys */
-} blf_ctx;
+} ssh_blf_ctx;
 
 /* Raw access to customized Blowfish
  *	blf_key is just:
@@ -61,24 +61,24 @@ typedef struct BlowfishContext {
  *	Blowfish_expand0state( state, key, keylen )
  */
 
-void Blowfish_encipher(blf_ctx *, uint32_t *, uint32_t *);
-void Blowfish_decipher(blf_ctx *, uint32_t *, uint32_t *);
-void Blowfish_initstate(blf_ctx *);
-void Blowfish_expand0state(blf_ctx *, const uint8_t *, uint16_t);
+void Blowfish_encipher(ssh_blf_ctx *, uint32_t *, uint32_t *);
+void Blowfish_decipher(ssh_blf_ctx *, uint32_t *, uint32_t *);
+void Blowfish_initstate(ssh_blf_ctx *);
+void Blowfish_expand0state(ssh_blf_ctx *, const uint8_t *, uint16_t);
 void Blowfish_expandstate
-(blf_ctx *, const uint8_t *, uint16_t, const uint8_t *, uint16_t);
+(ssh_blf_ctx *, const uint8_t *, uint16_t, const uint8_t *, uint16_t);
 
 /* Standard Blowfish */
 
-void blf_key(blf_ctx *, const uint8_t *, uint16_t);
-void blf_enc(blf_ctx *, uint32_t *, uint16_t);
-void blf_dec(blf_ctx *, uint32_t *, uint16_t);
+void ssh_blf_key(ssh_blf_ctx *, const uint8_t *, uint16_t);
+void ssh_blf_enc(ssh_blf_ctx *, uint32_t *, uint16_t);
+void ssh_blf_dec(ssh_blf_ctx *, uint32_t *, uint16_t);
 
-void blf_ecb_encrypt(blf_ctx *, uint8_t *, uint32_t);
-void blf_ecb_decrypt(blf_ctx *, uint8_t *, uint32_t);
+void ssh_blf_ecb_encrypt(ssh_blf_ctx *, uint8_t *, uint32_t);
+void ssh_blf_ecb_decrypt(ssh_blf_ctx *, uint8_t *, uint32_t);
 
-void blf_cbc_encrypt(blf_ctx *, uint8_t *, uint8_t *, uint32_t);
-void blf_cbc_decrypt(blf_ctx *, uint8_t *, uint8_t *, uint32_t);
+void ssh_blf_cbc_encrypt(ssh_blf_ctx *, uint8_t *, uint8_t *, uint32_t);
+void ssh_blf_cbc_decrypt(ssh_blf_ctx *, uint8_t *, uint8_t *, uint32_t);
 
 /* Converts uint8_t to uint32_t */
 uint32_t Blowfish_stream2word(const uint8_t *, uint16_t , uint16_t *);
diff --git a/src/external/bcrypt_pbkdf.c b/src/external/bcrypt_pbkdf.c
index 4cca9d8..00314c2 100644
--- a/src/external/bcrypt_pbkdf.c
+++ b/src/external/bcrypt_pbkdf.c
@@ -63,7 +63,7 @@
 static void
 bcrypt_hash(uint8_t *sha2pass, uint8_t *sha2salt, uint8_t *out)
 {
-	blf_ctx state;
+	ssh_blf_ctx state;
 	uint8_t ciphertext[BCRYPT_HASHSIZE] =
 	    "OxychromaticBlowfishSwatDynamite";
 	uint32_t cdata[BCRYPT_BLOCKS];
@@ -85,7 +85,7 @@ bcrypt_hash(uint8_t *sha2pass, uint8_t *sha2salt, uint8_t *out)
 		cdata[i] = Blowfish_stream2word(ciphertext, sizeof(ciphertext),
 		    &j);
 	for (i = 0; i < 64; i++)
-		blf_enc(&state, cdata, sizeof(cdata) / sizeof(uint64_t));
+		ssh_blf_enc(&state, cdata, sizeof(cdata) / sizeof(uint64_t));
 
 	/* copy out */
 	for (i = 0; i < BCRYPT_BLOCKS; i++) {
diff --git a/src/external/blowfish.c b/src/external/blowfish.c
index 99f9cc3..4008a9c 100644
--- a/src/external/blowfish.c
+++ b/src/external/blowfish.c
@@ -70,7 +70,7 @@
 #define BLFRND(s,p,i,j,n) (i ^= F(s,j) ^ (p)[n])
 
 void
-Blowfish_encipher(blf_ctx *c, uint32_t *xl, uint32_t *xr)
+Blowfish_encipher(ssh_blf_ctx *c, uint32_t *xl, uint32_t *xr)
 {
 	uint32_t Xl;
 	uint32_t Xr;
@@ -95,7 +95,7 @@ Blowfish_encipher(blf_ctx *c, uint32_t *xl, uint32_t *xr)
 }
 
 void
-Blowfish_decipher(blf_ctx *c, uint32_t *xl, uint32_t *xr)
+Blowfish_decipher(ssh_blf_ctx *c, uint32_t *xl, uint32_t *xr)
 {
 	uint32_t Xl;
 	uint32_t Xr;
@@ -120,11 +120,11 @@ Blowfish_decipher(blf_ctx *c, uint32_t *xl, uint32_t *xr)
 }
 
 void
-Blowfish_initstate(blf_ctx *c)
+Blowfish_initstate(ssh_blf_ctx *c)
 {
 	/* P-box and S-box tables initialized with digits of Pi */
 
-	static const blf_ctx initstate =
+	static const ssh_blf_ctx initstate =
 	{ {
 		{
 			0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7,
@@ -420,7 +420,7 @@ Blowfish_stream2word(const uint8_t *data, uint16_t databytes,
 }
 
 void
-Blowfish_expand0state(blf_ctx *c, const uint8_t *key, uint16_t keybytes)
+Blowfish_expand0state(ssh_blf_ctx *c, const uint8_t *key, uint16_t keybytes)
 {
 	uint16_t i;
 	uint16_t j;
@@ -458,7 +458,7 @@ Blowfish_expand0state(blf_ctx *c, const uint8_t *key, uint16_t keybytes)
 
 
 void
-Blowfish_expandstate(blf_ctx *c, const uint8_t *data, uint16_t databytes,
+Blowfish_expandstate(ssh_blf_ctx *c, const uint8_t *data, uint16_t databytes,
     const uint8_t *key, uint16_t keybytes)
 {
 	uint16_t i;
@@ -501,7 +501,7 @@ Blowfish_expandstate(blf_ctx *c, const uint8_t *data, uint16_t databytes,
 }
 
 void
-blf_key(blf_ctx *c, const uint8_t *k, uint16_t len)
+ssh_blf_key(ssh_blf_ctx *c, const uint8_t *k, uint16_t len)
 {
 	/* Initialize S-boxes and subkeys with Pi */
 	Blowfish_initstate(c);
@@ -511,7 +511,7 @@ blf_key(blf_ctx *c, const uint8_t *k, uint16_t len)
 }
 
 void
-blf_enc(blf_ctx *c, uint32_t *data, uint16_t blocks)
+ssh_blf_enc(ssh_blf_ctx *c, uint32_t *data, uint16_t blocks)
 {
 	uint32_t *d;
 	uint16_t i;
@@ -524,7 +524,7 @@ blf_enc(blf_ctx *c, uint32_t *data, uint16_t blocks)
 }
 
 void
-blf_dec(blf_ctx *c, uint32_t *data, uint16_t blocks)
+ssh_blf_dec(ssh_blf_ctx *c, uint32_t *data, uint16_t blocks)
 {
 	uint32_t *d;
 	uint16_t i;
@@ -537,7 +537,7 @@ blf_dec(blf_ctx *c, uint32_t *data, uint16_t blocks)
 }
 
 void
-blf_ecb_encrypt(blf_ctx *c, uint8_t *data, uint32_t len)
+ssh_blf_ecb_encrypt(ssh_blf_ctx *c, uint8_t *data, uint32_t len)
 {
 	uint32_t l, r;
 	uint32_t i;
@@ -559,7 +559,7 @@ blf_ecb_encrypt(blf_ctx *c, uint8_t *data, uint32_t len)
 }
 
 void
-blf_ecb_decrypt(blf_ctx *c, uint8_t *data, uint32_t len)
+ssh_blf_ecb_decrypt(ssh_blf_ctx *c, uint8_t *data, uint32_t len)
 {
 	uint32_t l, r;
 	uint32_t i;
@@ -581,7 +581,7 @@ blf_ecb_decrypt(blf_ctx *c, uint8_t *data, uint32_t len)
 }
 
 void
-blf_cbc_encrypt(blf_ctx *c, uint8_t *iv, uint8_t *data, uint32_t len)
+ssh_blf_cbc_encrypt(ssh_blf_ctx *c, uint8_t *iv, uint8_t *data, uint32_t len)
 {
 	uint32_t l, r;
 	uint32_t i, j;
@@ -606,7 +606,7 @@ blf_cbc_encrypt(blf_ctx *c, uint8_t *iv, uint8_t *data, uint32_t len)
 }
 
 void
-blf_cbc_decrypt(blf_ctx *c, uint8_t *iva, uint8_t *data, uint32_t len)
+ssh_blf_cbc_decrypt(ssh_blf_ctx *c, uint8_t *iva, uint8_t *data, uint32_t len)
 {
 	uint32_t l, r;
 	uint8_t *iv;
@@ -659,7 +659,7 @@ void
 main(void)
 {
 
-	blf_ctx c;
+	ssh_blf_ctx c;
 	char    key[] = "AAAAA";
 	char    key2[] = "abcdefghijklmnopqrstuvwxyz";
 
@@ -673,19 +673,19 @@ main(void)
 	for (i = 0; i < 10; i++)
 		data[i] = i;
 
-	blf_key(&c, (uint8_t *) key, 5);
-	blf_enc(&c, data, 5);
-	blf_dec(&c, data, 1);
-	blf_dec(&c, data + 2, 4);
+	ssh_blf_key(&c, (uint8_t *) key, 5);
+	ssh_blf_enc(&c, data, 5);
+	ssh_blf_dec(&c, data, 1);
+	ssh_blf_dec(&c, data + 2, 4);
 	printf("Should read as 0 - 9.\n");
 	report(data, 10);
 
 	/* Second test */
-	blf_key(&c, (uint8_t *) key2, strlen(key2));
-	blf_enc(&c, data2, 1);
+	ssh_blf_key(&c, (uint8_t *) key2, strlen(key2));
+	ssh_blf_enc(&c, data2, 1);
 	printf("\nShould read as: 0x324ed0fe 0xf413a203.\n");
 	report(data2, 2);
-	blf_dec(&c, data2, 1);
+	ssh_blf_dec(&c, data2, 1);
 	report(data2, 2);
 }
 #endif
-- 
2.4.3


From 545922b1dc1f89bb561d422302456d20a851ab81 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Thu, 17 Sep 2015 09:43:33 +0200
Subject: [PATCH 04/24 v2] cleanup: use ssh_ prefix in the buffer (non-static)
 functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Having "ssh_" prefix in the functions' name will avoid possible clashes
when compiling libssh statically.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/buffer.h          |  44 ++++++-------
 src/agent.c                      |  30 ++++-----
 src/auth.c                       |   6 +-
 src/auth1.c                      |   8 +--
 src/buffer.c                     |  94 ++++++++++++++--------------
 src/channels.c                   |  60 +++++++++---------
 src/channels1.c                  |  42 ++++++-------
 src/dh.c                         |  36 +++++------
 src/gssapi.c                     |  14 ++---
 src/gzip.c                       |  14 ++---
 src/kex.c                        |  18 +++---
 src/kex1.c                       |  32 +++++-----
 src/known_hosts.c                |  16 ++---
 src/messages.c                   |  22 +++----
 src/packet.c                     |  42 ++++++-------
 src/packet1.c                    |  22 +++----
 src/packet_cb.c                  |   4 +-
 src/packet_crypt.c               |   2 +-
 src/pcap.c                       |  44 ++++++-------
 src/pki.c                        |  50 +++++++--------
 src/pki_container_openssh.c      |  10 +--
 src/pki_crypto.c                 |  10 +--
 src/pki_gcrypt.c                 |  28 ++++-----
 src/server.c                     |  10 +--
 src/sftp.c                       | 130 +++++++++++++++++++--------------------
 src/sftpserver.c                 |  48 +++++++--------
 src/socket.c                     |  18 +++---
 tests/unittests/torture_buffer.c |  70 ++++++++++-----------
 28 files changed, 462 insertions(+), 462 deletions(-)

diff --git a/include/libssh/buffer.h b/include/libssh/buffer.h
index 826d0b7..3ff794a 100644
--- a/include/libssh/buffer.h
+++ b/include/libssh/buffer.h
@@ -46,11 +46,11 @@ LIBSSH_API void *ssh_buffer_get_begin(ssh_buffer buffer);
 LIBSSH_API uint32_t ssh_buffer_get_len(ssh_buffer buffer);
 LIBSSH_API ssh_buffer ssh_buffer_new(void);
 void ssh_buffer_set_secure(ssh_buffer buffer);
-int buffer_add_ssh_string(ssh_buffer buffer, ssh_string string);
-int buffer_add_u8(ssh_buffer buffer, uint8_t data);
-int buffer_add_u16(ssh_buffer buffer, uint16_t data);
-int buffer_add_u32(ssh_buffer buffer, uint32_t data);
-int buffer_add_u64(ssh_buffer buffer, uint64_t data);
+int ssh_buffer_add_ssh_string(ssh_buffer buffer, ssh_string string);
+int ssh_buffer_add_u8(ssh_buffer buffer, uint8_t data);
+int ssh_buffer_add_u16(ssh_buffer buffer, uint16_t data);
+int ssh_buffer_add_u32(ssh_buffer buffer, uint32_t data);
+int ssh_buffer_add_u64(ssh_buffer buffer, uint64_t data);
 int ssh_buffer_add_data(ssh_buffer buffer, const void *data, uint32_t len);
 
 int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer,
@@ -74,27 +74,27 @@ int _ssh_buffer_unpack(struct ssh_buffer_struct *buffer,
 #define ssh_buffer_unpack(buffer, format, ...) \
     _ssh_buffer_unpack((buffer), (format), __VA_NARG__(__VA_ARGS__), __VA_ARGS__, SSH_BUFFER_PACK_END)
 
-int buffer_prepend_data(ssh_buffer buffer, const void *data, uint32_t len);
-int buffer_add_buffer(ssh_buffer buffer, ssh_buffer source);
+int ssh_buffer_prepend_data(ssh_buffer buffer, const void *data, uint32_t len);
+int ssh_buffer_add_buffer(ssh_buffer buffer, ssh_buffer source);
 int ssh_buffer_reinit(ssh_buffer buffer);
 
-/* buffer_get_rest returns a pointer to the current position into the buffer */
-void *buffer_get_rest(ssh_buffer buffer);
-/* buffer_get_rest_len returns the number of bytes which can be read */
-uint32_t buffer_get_rest_len(ssh_buffer buffer);
+/* ssh_buffer_get_rest returns a pointer to the current position into the buffer */
+void *ssh_buffer_get_rest(ssh_buffer buffer);
+/* ssh_buffer_get_rest_len returns the number of bytes which can be read */
+uint32_t ssh_buffer_get_rest_len(ssh_buffer buffer);
 
 /* buffer_read_*() returns the number of bytes read, except for ssh strings */
-int buffer_get_u8(ssh_buffer buffer, uint8_t *data);
-int buffer_get_u32(ssh_buffer buffer, uint32_t *data);
-int buffer_get_u64(ssh_buffer buffer, uint64_t *data);
+int ssh_buffer_get_u8(ssh_buffer buffer, uint8_t *data);
+int ssh_buffer_get_u32(ssh_buffer buffer, uint32_t *data);
+int ssh_buffer_get_u64(ssh_buffer buffer, uint64_t *data);
 
-uint32_t buffer_get_data(ssh_buffer buffer, void *data, uint32_t requestedlen);
-/* buffer_get_ssh_string() is an exception. if the String read is too large or invalid, it will answer NULL. */
-ssh_string buffer_get_ssh_string(ssh_buffer buffer);
-/* gets a string out of a SSH-1 mpint */
-ssh_string buffer_get_mpint(ssh_buffer buffer);
-/* buffer_pass_bytes acts as if len bytes have been read (used for padding) */
-uint32_t buffer_pass_bytes_end(ssh_buffer buffer, uint32_t len);
-uint32_t buffer_pass_bytes(ssh_buffer buffer, uint32_t len);
+uint32_t ssh_buffer_get_data(ssh_buffer buffer, void *data, uint32_t requestedlen);
+/* ssh_buffer_get_ssh_string() is an exception. if the String read is too large or invalid, it will answer NULL. */
+ssh_string ssh_buffer_get_ssh_string(ssh_buffer buffer);
+/* ssh_gets a string out of a SSH-1 mpint */
+ssh_string ssh_buffer_get_mpint(ssh_buffer buffer);
+/* ssh_buffer_pass_bytes acts as if len bytes have been read (used for padding) */
+uint32_t ssh_buffer_pass_bytes_end(ssh_buffer buffer, uint32_t len);
+uint32_t ssh_buffer_pass_bytes(ssh_buffer buffer, uint32_t len);
 
 #endif /* BUFFER_H_ */
diff --git a/src/agent.c b/src/agent.c
index 1cbb9cd..804ee50 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -273,13 +273,13 @@ static int agent_talk(struct ssh_session_struct *session,
   uint32_t len = 0;
   uint8_t payload[1024 v2] = {0};
 
-  len = buffer_get_rest_len(request);
+  len = ssh_buffer_get_rest_len(request);
   SSH_LOG(SSH_LOG_TRACE, "Request length: %u", len);
   agent_put_u32(payload, len);
 
   /* send length and then the request packet */
   if (atomicio(session->agent, payload, 4, 0) == 4) {
-    if (atomicio(session->agent, buffer_get_rest(request), len, 0)
+    if (atomicio(session->agent, ssh_buffer_get_rest(request), len, 0)
         != len) {
       SSH_LOG(SSH_LOG_WARN, "atomicio sending request failed: %s",
           strerror(errno));
@@ -354,7 +354,7 @@ int ssh_agent_get_ident_count(struct ssh_session_struct *session) {
       ssh_set_error_oom(session);
       return -1;
   }
-  if (buffer_add_u8(request, c1) < 0) {
+  if (ssh_buffer_add_u8(request, c1) < 0) {
       ssh_set_error_oom(session);
       ssh_buffer_free(request);
       return -1;
@@ -375,7 +375,7 @@ int ssh_agent_get_ident_count(struct ssh_session_struct *session) {
   ssh_buffer_free(request);
 
   /* get message type and verify the answer */
-  rc = buffer_get_u8(reply, (uint8_t *) &type);
+  rc = ssh_buffer_get_u8(reply, (uint8_t *) &type);
   if (rc != sizeof(uint8_t)) {
     ssh_set_error(session, SSH_FATAL,
         "Bad authentication reply size: %d", rc);
@@ -397,7 +397,7 @@ int ssh_agent_get_ident_count(struct ssh_session_struct *session) {
       return -1;
   }
 
-  buffer_get_u32(reply, (uint32_t *) buf);
+  ssh_buffer_get_u32(reply, (uint32_t *) buf);
   session->agent->count = agent_get_u32(buf);
   SSH_LOG(SSH_LOG_DEBUG, "Agent count: %d",
       session->agent->count);
@@ -444,13 +444,13 @@ ssh_key ssh_agent_get_next_ident(struct ssh_session_struct *session,
             return NULL;
         case 2:
             /* get the blob */
-            blob = buffer_get_ssh_string(session->agent->ident);
+            blob = ssh_buffer_get_ssh_string(session->agent->ident);
             if (blob == NULL) {
                 return NULL;
             }
 
             /* get the comment */
-            tmp = buffer_get_ssh_string(session->agent->ident);
+            tmp = ssh_buffer_get_ssh_string(session->agent->ident);
             if (tmp == NULL) {
                 ssh_string_free(blob);
 
@@ -518,7 +518,7 @@ ssh_string ssh_agent_sign_data(ssh_session session,
     }
 
     /* create request */
-    if (buffer_add_u8(request, SSH2_AGENTC_SIGN_REQUEST) < 0) {
+    if (ssh_buffer_add_u8(request, SSH2_AGENTC_SIGN_REQUEST) < 0) {
         ssh_buffer_free(request);
         return NULL;
     }
@@ -530,7 +530,7 @@ ssh_string ssh_agent_sign_data(ssh_session session,
     }
 
     /* adds len + blob */
-    rc = buffer_add_ssh_string(request, key_blob);
+    rc = ssh_buffer_add_ssh_string(request, key_blob);
     ssh_string_free(key_blob);
     if (rc < 0) {
         ssh_buffer_free(request);
@@ -538,17 +538,17 @@ ssh_string ssh_agent_sign_data(ssh_session session,
     }
 
     /* Add data */
-    dlen = buffer_get_rest_len(data);
-    if (buffer_add_u32(request, htonl(dlen)) < 0) {
+    dlen = ssh_buffer_get_rest_len(data);
+    if (ssh_buffer_add_u32(request, htonl(dlen)) < 0) {
         ssh_buffer_free(request);
         return NULL;
     }
-    if (ssh_buffer_add_data(request, buffer_get_rest(data), dlen) < 0) {
+    if (ssh_buffer_add_data(request, ssh_buffer_get_rest(data), dlen) < 0) {
         ssh_buffer_free(request);
         return NULL;
     }
 
-    if (buffer_add_u32(request, htonl(flags)) < 0) {
+    if (ssh_buffer_add_u32(request, htonl(flags)) < 0) {
         ssh_buffer_free(request);
         return NULL;
     }
@@ -568,7 +568,7 @@ ssh_string ssh_agent_sign_data(ssh_session session,
     ssh_buffer_free(request);
 
     /* check if reply is valid */
-    if (buffer_get_u8(reply, (uint8_t *) &type) != sizeof(uint8_t)) {
+    if (ssh_buffer_get_u8(reply, (uint8_t *) &type) != sizeof(uint8_t)) {
         ssh_buffer_free(reply);
         return NULL;
     }
@@ -583,7 +583,7 @@ ssh_string ssh_agent_sign_data(ssh_session session,
         return NULL;
     }
 
-    sig_blob = buffer_get_ssh_string(reply);
+    sig_blob = ssh_buffer_get_ssh_string(reply);
     ssh_buffer_free(reply);
 
     return sig_blob;
diff --git a/src/auth.c b/src/auth.c
index eeed8c3..c2cf52f 100644
--- a/src/auth.c
+++ b/src/auth.c
@@ -158,7 +158,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_banner){
   (void)type;
   (void)user;
 
-  banner = buffer_get_ssh_string(packet);
+  banner = ssh_buffer_get_ssh_string(packet);
   if (banner == NULL) {
     SSH_LOG(SSH_LOG_WARN,
         "Invalid SSH_USERAUTH_BANNER packet");
@@ -615,7 +615,7 @@ int ssh_userauth_publickey(ssh_session session,
         goto fail;
     }
 
-    rc = buffer_add_ssh_string(session->out_buffer, str);
+    rc = ssh_buffer_add_ssh_string(session->out_buffer, str);
     ssh_string_free(str);
     str = NULL;
     if (rc < 0) {
@@ -700,7 +700,7 @@ static int ssh_userauth_agent_publickey(ssh_session session,
         goto fail;
     }
 
-    rc = buffer_add_ssh_string(session->out_buffer, str);
+    rc = ssh_buffer_add_ssh_string(session->out_buffer, str);
     ssh_string_free(str);
     if (rc < 0) {
         goto fail;
diff --git a/src/auth1.c b/src/auth1.c
index a65c447..e808763 100644
--- a/src/auth1.c
+++ b/src/auth1.c
@@ -103,11 +103,11 @@ static int send_username(ssh_session session, const char *username) {
     return SSH_AUTH_ERROR;
   }
 
-  if (buffer_add_u8(session->out_buffer, SSH_CMSG_USER) < 0) {
+  if (ssh_buffer_add_u8(session->out_buffer, SSH_CMSG_USER) < 0) {
     ssh_string_free(user);
     return SSH_AUTH_ERROR;
   }
-  if (buffer_add_ssh_string(session->out_buffer, user) < 0) {
+  if (ssh_buffer_add_ssh_string(session->out_buffer, user) < 0) {
     ssh_string_free(user);
     return SSH_AUTH_ERROR;
   }
@@ -197,13 +197,13 @@ int ssh_userauth1_password(ssh_session session, const char *username,
     ssh_string_fill(pwd, buf, sizeof(buf));
   }
 
-  if (buffer_add_u8(session->out_buffer, SSH_CMSG_AUTH_PASSWORD) < 0) {
+  if (ssh_buffer_add_u8(session->out_buffer, SSH_CMSG_AUTH_PASSWORD) < 0) {
     ssh_string_burn(pwd);
     ssh_string_free(pwd);
 
     return SSH_AUTH_ERROR;
   }
-  if (buffer_add_ssh_string(session->out_buffer, pwd) < 0) {
+  if (ssh_buffer_add_ssh_string(session->out_buffer, pwd) < 0) {
     ssh_string_burn(pwd);
     ssh_string_free(pwd);
 
diff --git a/src/buffer.c b/src/buffer.c
index 0a33ae3..a327aa6 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -257,7 +257,7 @@ int ssh_buffer_add_data(struct ssh_buffer_struct *buffer, const void *data, uint
  *
  * @return              0 on success, < 0 on error.
  */
-int buffer_add_ssh_string(struct ssh_buffer_struct *buffer,
+int ssh_buffer_add_ssh_string(struct ssh_buffer_struct *buffer,
     struct ssh_string_struct *string) {
   uint32_t len = 0;
 
@@ -284,7 +284,7 @@ int buffer_add_ssh_string(struct ssh_buffer_struct *buffer,
  *
  * @return              0 on success, -1 on error.
  */
-int buffer_add_u32(struct ssh_buffer_struct *buffer,uint32_t data)
+int ssh_buffer_add_u32(struct ssh_buffer_struct *buffer,uint32_t data)
 {
     int rc;
 
@@ -307,7 +307,7 @@ int buffer_add_u32(struct ssh_buffer_struct *buffer,uint32_t data)
  *
  * @return              0 on success, -1 on error.
  */
-int buffer_add_u16(struct ssh_buffer_struct *buffer,uint16_t data)
+int ssh_buffer_add_u16(struct ssh_buffer_struct *buffer,uint16_t data)
 {
     int rc;
 
@@ -330,7 +330,7 @@ int buffer_add_u16(struct ssh_buffer_struct *buffer,uint16_t data)
  *
  * @return              0 on success, -1 on error.
  */
-int buffer_add_u64(struct ssh_buffer_struct *buffer, uint64_t data)
+int ssh_buffer_add_u64(struct ssh_buffer_struct *buffer, uint64_t data)
 {
     int rc;
 
@@ -353,7 +353,7 @@ int buffer_add_u64(struct ssh_buffer_struct *buffer, uint64_t data)
  *
  * @return              0 on success, -1 on error.
  */
-int buffer_add_u8(struct ssh_buffer_struct *buffer,uint8_t data)
+int ssh_buffer_add_u8(struct ssh_buffer_struct *buffer,uint8_t data)
 {
     int rc;
 
@@ -378,7 +378,7 @@ int buffer_add_u8(struct ssh_buffer_struct *buffer,uint8_t data)
  *
  * @return              0 on success, -1 on error.
  */
-int buffer_prepend_data(struct ssh_buffer_struct *buffer, const void *data,
+int ssh_buffer_prepend_data(struct ssh_buffer_struct *buffer, const void *data,
     uint32_t len) {
   buffer_verify(buffer);
 
@@ -419,14 +419,14 @@ int buffer_prepend_data(struct ssh_buffer_struct *buffer, const void *data,
  *
  * @return              0 on success, -1 on error.
  */
-int buffer_add_buffer(struct ssh_buffer_struct *buffer,
+int ssh_buffer_add_buffer(struct ssh_buffer_struct *buffer,
     struct ssh_buffer_struct *source)
 {
     int rc;
 
     rc = ssh_buffer_add_data(buffer,
-                             buffer_get_rest(source),
-                             buffer_get_rest_len(source));
+                             ssh_buffer_get_rest(source),
+                             ssh_buffer_get_rest_len(source));
     if (rc < 0) {
         return -1;
     }
@@ -444,8 +444,8 @@ int buffer_add_buffer(struct ssh_buffer_struct *buffer,
  *
  * @warning Don't expect data to be nul-terminated.
  *
- * @see buffer_get_rest()
- * @see buffer_get_len()
+ * @see ssh_buffer_get_rest()
+ * @see ssh_buffer_get_len()
  */
 void *ssh_buffer_get_begin(struct ssh_buffer_struct *buffer){
   return buffer->data;
@@ -460,10 +460,10 @@ void *ssh_buffer_get_begin(struct ssh_buffer_struct *buffer){
  *
  * @return              A pointer to the data from current position.
  *
- * @see buffer_get_rest_len()
- * @see buffer_get()
+ * @see ssh_buffer_get_rest_len()
+ * @see ssh_buffer_get()
  */
-void *buffer_get_rest(struct ssh_buffer_struct *buffer){
+void *ssh_buffer_get_rest(struct ssh_buffer_struct *buffer){
     return buffer->data + buffer->pos;
 }
 
@@ -474,7 +474,7 @@ void *buffer_get_rest(struct ssh_buffer_struct *buffer){
  *
  * @return              The length of the buffer.
  *
- * @see buffer_get()
+ * @see ssh_buffer_get()
  */
 uint32_t ssh_buffer_get_len(struct ssh_buffer_struct *buffer){
     return buffer->used;
@@ -489,9 +489,9 @@ uint32_t ssh_buffer_get_len(struct ssh_buffer_struct *buffer){
  *
  * @return              The length of the buffer.
  *
- * @see buffer_get_rest()
+ * @see ssh_buffer_get_rest()
  */
-uint32_t buffer_get_rest_len(struct ssh_buffer_struct *buffer){
+uint32_t ssh_buffer_get_rest_len(struct ssh_buffer_struct *buffer){
   buffer_verify(buffer);
   return buffer->used - buffer->pos;
 }
@@ -509,7 +509,7 @@ uint32_t buffer_get_rest_len(struct ssh_buffer_struct *buffer){
  *
  * @return              The new size of the buffer.
  */
-uint32_t buffer_pass_bytes(struct ssh_buffer_struct *buffer, uint32_t len){
+uint32_t ssh_buffer_pass_bytes(struct ssh_buffer_struct *buffer, uint32_t len){
     buffer_verify(buffer);
 
     if (buffer->pos + len < len || buffer->used < buffer->pos + len) {
@@ -537,7 +537,7 @@ uint32_t buffer_pass_bytes(struct ssh_buffer_struct *buffer, uint32_t len){
  *
  * @return              The new size of the buffer.
  */
-uint32_t buffer_pass_bytes_end(struct ssh_buffer_struct *buffer, uint32_t len){
+uint32_t ssh_buffer_pass_bytes_end(struct ssh_buffer_struct *buffer, uint32_t len){
   buffer_verify(buffer);
 
   if (buffer->used < len) {
@@ -562,7 +562,7 @@ uint32_t buffer_pass_bytes_end(struct ssh_buffer_struct *buffer, uint32_t len){
  *
  * @returns             0 if there is not enough data in buffer, len otherwise.
  */
-uint32_t buffer_get_data(struct ssh_buffer_struct *buffer, void *data, uint32_t len){
+uint32_t ssh_buffer_get_data(struct ssh_buffer_struct *buffer, void *data, uint32_t len){
     /*
      * Check for a integer overflow first, then check if not enough data is in
      * the buffer.
@@ -587,8 +587,8 @@ uint32_t buffer_get_data(struct ssh_buffer_struct *buffer, void *data, uint32_t
  *
  * @returns             0 if there is not enough data in buffer, 1 otherwise.
  */
-int buffer_get_u8(struct ssh_buffer_struct *buffer, uint8_t *data){
-    return buffer_get_data(buffer,data,sizeof(uint8_t));
+int ssh_buffer_get_u8(struct ssh_buffer_struct *buffer, uint8_t *data){
+    return ssh_buffer_get_data(buffer,data,sizeof(uint8_t));
 }
 
 /** \internal
@@ -598,8 +598,8 @@ int buffer_get_u8(struct ssh_buffer_struct *buffer, uint8_t *data){
  * \returns 0 if there is not enough data in buffer
  * \returns 4 otherwise.
  */
-int buffer_get_u32(struct ssh_buffer_struct *buffer, uint32_t *data){
-    return buffer_get_data(buffer,data,sizeof(uint32_t));
+int ssh_buffer_get_u32(struct ssh_buffer_struct *buffer, uint32_t *data){
+    return ssh_buffer_get_data(buffer,data,sizeof(uint32_t));
 }
 /**
  * @internal
@@ -613,8 +613,8 @@ int buffer_get_u32(struct ssh_buffer_struct *buffer, uint32_t *data){
  *
  * @returns             0 if there is not enough data in buffer, 8 otherwise.
  */
-int buffer_get_u64(struct ssh_buffer_struct *buffer, uint64_t *data){
-    return buffer_get_data(buffer,data,sizeof(uint64_t));
+int ssh_buffer_get_u64(struct ssh_buffer_struct *buffer, uint64_t *data){
+    return ssh_buffer_get_data(buffer,data,sizeof(uint64_t));
 }
 
 /**
@@ -626,12 +626,12 @@ int buffer_get_u64(struct ssh_buffer_struct *buffer, uint64_t *data){
  *
  * @returns             The SSH String, NULL on error.
  */
-struct ssh_string_struct *buffer_get_ssh_string(struct ssh_buffer_struct *buffer) {
+struct ssh_string_struct *ssh_buffer_get_ssh_string(struct ssh_buffer_struct *buffer) {
   uint32_t stringlen;
   uint32_t hostlen;
   struct ssh_string_struct *str = NULL;
 
-  if (buffer_get_u32(buffer, &stringlen) == 0) {
+  if (ssh_buffer_get_u32(buffer, &stringlen) == 0) {
     return NULL;
   }
   hostlen = ntohl(stringlen);
@@ -643,7 +643,7 @@ struct ssh_string_struct *buffer_get_ssh_string(struct ssh_buffer_struct *buffer
   if (str == NULL) {
     return NULL;
   }
-  if (buffer_get_data(buffer, ssh_string_data(str), hostlen) != hostlen) {
+  if (ssh_buffer_get_data(buffer, ssh_string_data(str), hostlen) != hostlen) {
     /* should never happen */
     SAFE_FREE(str);
     return NULL;
@@ -663,12 +663,12 @@ struct ssh_string_struct *buffer_get_ssh_string(struct ssh_buffer_struct *buffer
  *
  * @returns             The SSH String containing the mpint, NULL on error.
  */
-struct ssh_string_struct *buffer_get_mpint(struct ssh_buffer_struct *buffer) {
+struct ssh_string_struct *ssh_buffer_get_mpint(struct ssh_buffer_struct *buffer) {
   uint16_t bits;
   uint32_t len;
   struct ssh_string_struct *str = NULL;
 
-  if (buffer_get_data(buffer, &bits, sizeof(uint16_t)) != sizeof(uint16_t)) {
+  if (ssh_buffer_get_data(buffer, &bits, sizeof(uint16_t)) != sizeof(uint16_t)) {
     return NULL;
   }
   bits = ntohs(bits);
@@ -680,7 +680,7 @@ struct ssh_string_struct *buffer_get_mpint(struct ssh_buffer_struct *buffer) {
   if (str == NULL) {
     return NULL;
   }
-  if (buffer_get_data(buffer, ssh_string_data(str), len) != len) {
+  if (ssh_buffer_get_data(buffer, ssh_string_data(str), len) != len) {
     SAFE_FREE(str);
     return NULL;
   }
@@ -725,32 +725,32 @@ int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer,
         switch(*p) {
         case 'b':
             o.byte = (uint8_t)va_arg(ap, unsigned int);
-            rc = buffer_add_u8(buffer, o.byte);
+            rc = ssh_buffer_add_u8(buffer, o.byte);
             break;
         case 'w':
             o.word = (uint16_t)va_arg(ap, unsigned int);
             o.word = htons(o.word);
-            rc = buffer_add_u16(buffer, o.word);
+            rc = ssh_buffer_add_u16(buffer, o.word);
             break;
         case 'd':
             o.dword = va_arg(ap, uint32_t);
             o.dword = htonl(o.dword);
-            rc = buffer_add_u32(buffer, o.dword);
+            rc = ssh_buffer_add_u32(buffer, o.dword);
             break;
         case 'q':
             o.qword = va_arg(ap, uint64_t);
             o.qword = htonll(o.qword);
-            rc = buffer_add_u64(buffer, o.qword);
+            rc = ssh_buffer_add_u64(buffer, o.qword);
             break;
         case 'S':
             o.string = va_arg(ap, ssh_string);
-            rc = buffer_add_ssh_string(buffer, o.string);
+            rc = ssh_buffer_add_ssh_string(buffer, o.string);
             o.string = NULL;
             break;
         case 's':
             cstring = va_arg(ap, char *);
             len = strlen(cstring);
-            rc = buffer_add_u32(buffer, htonl(len));
+            rc = ssh_buffer_add_u32(buffer, htonl(len));
             if (rc == SSH_OK){
                 rc = ssh_buffer_add_data(buffer, cstring, len);
             }
@@ -772,7 +772,7 @@ int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer,
                 rc = SSH_ERROR;
                 break;
             }
-            rc = buffer_add_ssh_string(buffer, o.string);
+            rc = ssh_buffer_add_ssh_string(buffer, o.string);
             SAFE_FREE(o.string);
             break;
         case 't':
@@ -885,37 +885,37 @@ int ssh_buffer_unpack_va(struct ssh_buffer_struct *buffer,
         switch (*p) {
         case 'b':
             o.byte = va_arg(ap, uint8_t *);
-            rlen = buffer_get_u8(buffer, o.byte);
+            rlen = ssh_buffer_get_u8(buffer, o.byte);
             rc = rlen==1 ? SSH_OK : SSH_ERROR;
             break;
         case 'w':
             o.word = va_arg(ap,  uint16_t *);
-            rlen = buffer_get_data(buffer, o.word, sizeof(uint16_t));
+            rlen = ssh_buffer_get_data(buffer, o.word, sizeof(uint16_t));
             *o.word = ntohs(*o.word);
             rc = rlen==2 ? SSH_OK : SSH_ERROR;
             break;
         case 'd':
             o.dword = va_arg(ap, uint32_t *);
-            rlen = buffer_get_u32(buffer, o.dword);
+            rlen = ssh_buffer_get_u32(buffer, o.dword);
             *o.dword = ntohl(*o.dword);
             rc = rlen==4 ? SSH_OK : SSH_ERROR;
             break;
         case 'q':
             o.qword = va_arg(ap, uint64_t*);
-            rlen = buffer_get_u64(buffer, o.qword);
+            rlen = ssh_buffer_get_u64(buffer, o.qword);
             *o.qword = ntohll(*o.qword);
             rc = rlen==8 ? SSH_OK : SSH_ERROR;
             break;
         case 'S':
             o.string = va_arg(ap, ssh_string *);
-            *o.string = buffer_get_ssh_string(buffer);
+            *o.string = ssh_buffer_get_ssh_string(buffer);
             rc = *o.string != NULL ? SSH_OK : SSH_ERROR;
             o.string = NULL;
             break;
         case 's':
             o.cstring = va_arg(ap, char **);
             *o.cstring = NULL;
-            rc = buffer_get_u32(buffer, &u32len);
+            rc = ssh_buffer_get_u32(buffer, &u32len);
             if (rc != 4){
                 rc = SSH_ERROR;
                 break;
@@ -930,7 +930,7 @@ int ssh_buffer_unpack_va(struct ssh_buffer_struct *buffer,
                 rc = SSH_ERROR;
                 break;
             }
-            rlen = buffer_get_data(buffer, *o.cstring, len);
+            rlen = ssh_buffer_get_data(buffer, *o.cstring, len);
             if (rlen != len){
                 SAFE_FREE(*o.cstring);
                 rc = SSH_ERROR;
@@ -951,7 +951,7 @@ int ssh_buffer_unpack_va(struct ssh_buffer_struct *buffer,
                 rc = SSH_ERROR;
                 break;
             }
-            rlen = buffer_get_data(buffer, *o.data, len);
+            rlen = ssh_buffer_get_data(buffer, *o.data, len);
             if (rlen != len){
                 SAFE_FREE(*o.data);
                 rc = SSH_ERROR;
diff --git a/src/channels.c b/src/channels.c
index d8cd190..84e9608 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -286,7 +286,7 @@ static int channel_open(ssh_channel channel, const char *type, int window,
   }
 
   if (payload != NULL) {
-    if (buffer_add_buffer(session->out_buffer, payload) < 0) {
+    if (ssh_buffer_add_buffer(session->out_buffer, payload) < 0) {
       ssh_set_error_oom(session);
 
       return err;
@@ -492,10 +492,10 @@ SSH_PACKET_CALLBACK(channel_rcv_data){
   if (is_stderr) {
     uint32_t ignore;
     /* uint32 data type code. we can ignore it */
-    buffer_get_u32(packet, &ignore);
+    ssh_buffer_get_u32(packet, &ignore);
   }
 
-  str = buffer_get_ssh_string(packet);
+  str = ssh_buffer_get_ssh_string(packet);
   if (str == NULL) {
     SSH_LOG(SSH_LOG_PACKET, "Invalid data packet!");
 
@@ -546,17 +546,17 @@ SSH_PACKET_CALLBACK(channel_rcv_data){
       }
       rest = channel->callbacks->channel_data_function(channel->session,
                                                 channel,
-                                                buffer_get_rest(buf),
-                                                buffer_get_rest_len(buf),
+                                                ssh_buffer_get_rest(buf),
+                                                ssh_buffer_get_rest_len(buf),
                                                 is_stderr,
                                                 channel->callbacks->userdata);
       if(rest > 0) {
         if (channel->counter != NULL) {
             channel->counter->in_bytes += rest;
         }
-        buffer_pass_bytes(buf, rest);
+        ssh_buffer_pass_bytes(buf, rest);
       }
-      if (channel->local_window + buffer_get_rest_len(buf) < WINDOWLIMIT) {
+      if (channel->local_window + ssh_buffer_get_rest_len(buf) < WINDOWLIMIT) {
         if (grow_window(session, channel, 0) < 0) {
           return -1;
         }
@@ -612,9 +612,9 @@ SSH_PACKET_CALLBACK(channel_rcv_close) {
 			channel->remote_channel);
 
 	if ((channel->stdout_buffer &&
-			buffer_get_rest_len(channel->stdout_buffer) > 0) ||
+			ssh_buffer_get_rest_len(channel->stdout_buffer) > 0) ||
 			(channel->stderr_buffer &&
-					buffer_get_rest_len(channel->stderr_buffer) > 0)) {
+					ssh_buffer_get_rest_len(channel->stderr_buffer) > 0)) {
 		channel->delayed_close = 1;
 	} else {
 		channel->state = SSH_CHANNEL_STATE_CLOSED;
@@ -1414,9 +1414,9 @@ int ssh_channel_is_eof(ssh_channel channel) {
       return SSH_ERROR;
   }
   if ((channel->stdout_buffer &&
-        buffer_get_rest_len(channel->stdout_buffer) > 0) ||
+        ssh_buffer_get_rest_len(channel->stdout_buffer) > 0) ||
       (channel->stderr_buffer &&
-       buffer_get_rest_len(channel->stderr_buffer) > 0)) {
+       ssh_buffer_get_rest_len(channel->stderr_buffer) > 0)) {
     return 0;
   }
 
@@ -1540,8 +1540,8 @@ static int channel_request(ssh_channel channel, const char *request,
   }
 
   if (buffer != NULL) {
-    if (ssh_buffer_add_data(session->out_buffer, buffer_get_rest(buffer),
-        buffer_get_rest_len(buffer)) < 0) {
+    if (ssh_buffer_add_data(session->out_buffer, ssh_buffer_get_rest(buffer),
+        ssh_buffer_get_rest_len(buffer)) < 0) {
       ssh_set_error_oom(session);
       goto error;
     }
@@ -2099,8 +2099,8 @@ static int global_request(ssh_session session, const char *request,
 
   if (buffer != NULL) {
       rc = ssh_buffer_add_data(session->out_buffer,
-                           buffer_get_rest(buffer),
-                           buffer_get_rest_len(buffer));
+                           ssh_buffer_get_rest(buffer),
+                           ssh_buffer_get_rest_len(buffer));
       if (rc < 0) {
           ssh_set_error_oom(session);
           rc = SSH_ERROR;
@@ -2584,7 +2584,7 @@ struct ssh_channel_read_termination_struct {
 
 static int ssh_channel_read_termination(void *s){
   struct ssh_channel_read_termination_struct *ctx = s;
-  if (buffer_get_rest_len(ctx->buffer) >= ctx->count ||
+  if (ssh_buffer_get_rest_len(ctx->buffer) >= ctx->count ||
       ctx->channel->remote_eof ||
       ctx->channel->session->session_state == SSH_SESSION_STATE_ERROR)
     return 1;
@@ -2681,11 +2681,11 @@ int ssh_channel_read_timeout(ssh_channel channel,
   SSH_LOG(SSH_LOG_PACKET,
       "Read (%d) buffered : %d bytes. Window: %d",
       count,
-      buffer_get_rest_len(stdbuf),
+      ssh_buffer_get_rest_len(stdbuf),
       channel->local_window);
 
-  if (count > buffer_get_rest_len(stdbuf) + channel->local_window) {
-    if (grow_window(session, channel, count - buffer_get_rest_len(stdbuf)) < 0) {
+  if (count > ssh_buffer_get_rest_len(stdbuf) + channel->local_window) {
+    if (grow_window(session, channel, count - ssh_buffer_get_rest_len(stdbuf)) < 0) {
       return -1;
     }
   }
@@ -2711,14 +2711,14 @@ int ssh_channel_read_timeout(ssh_channel channel,
   if (channel->session->session_state == SSH_SESSION_STATE_ERROR){
       return SSH_ERROR;
   }
-  if (channel->remote_eof && buffer_get_rest_len(stdbuf) == 0) {
+  if (channel->remote_eof && ssh_buffer_get_rest_len(stdbuf) == 0) {
     return 0;
   }
-  len = buffer_get_rest_len(stdbuf);
+  len = ssh_buffer_get_rest_len(stdbuf);
   /* Read count bytes if len is greater, everything otherwise */
   len = (len > count ? count : len);
-  memcpy(dest, buffer_get_rest(stdbuf), len);
-  buffer_pass_bytes(stdbuf,len);
+  memcpy(dest, ssh_buffer_get_rest(stdbuf), len);
+  ssh_buffer_pass_bytes(stdbuf,len);
   if (channel->counter != NULL) {
       channel->counter->in_bytes += len;
   }
@@ -2818,7 +2818,7 @@ int ssh_channel_poll(ssh_channel channel, int is_stderr){
     stdbuf = channel->stderr_buffer;
   }
 
-  if (buffer_get_rest_len(stdbuf) == 0 && channel->remote_eof == 0) {
+  if (ssh_buffer_get_rest_len(stdbuf) == 0 && channel->remote_eof == 0) {
     if (channel->session->session_state == SSH_SESSION_STATE_ERROR){
       return SSH_ERROR;
     }
@@ -2827,15 +2827,15 @@ int ssh_channel_poll(ssh_channel channel, int is_stderr){
     }
   }
 
-  if (buffer_get_rest_len(stdbuf) > 0){
-  	return buffer_get_rest_len(stdbuf);
+  if (ssh_buffer_get_rest_len(stdbuf) > 0){
+  	return ssh_buffer_get_rest_len(stdbuf);
   }
 
   if (channel->remote_eof) {
     return SSH_EOF;
   }
 
-  return buffer_get_rest_len(stdbuf);
+  return ssh_buffer_get_rest_len(stdbuf);
 }
 
 /**
@@ -2882,7 +2882,7 @@ int ssh_channel_poll_timeout(ssh_channel channel, int timeout, int is_stderr){
     rc = SSH_ERROR;
     goto end;
   }
-  rc = buffer_get_rest_len(stdbuf);
+  rc = ssh_buffer_get_rest_len(stdbuf);
   if(rc > 0)
     goto end;
   if (channel->remote_eof)
@@ -2971,8 +2971,8 @@ static int channel_protocol_select(ssh_channel *rchans, ssh_channel *wchans,
       ssh_handle_packets(chan->session, SSH_TIMEOUT_NONBLOCKING);
     }
 
-    if ((chan->stdout_buffer && buffer_get_rest_len(chan->stdout_buffer) > 0) ||
-        (chan->stderr_buffer && buffer_get_rest_len(chan->stderr_buffer) > 0) ||
+    if ((chan->stdout_buffer && ssh_buffer_get_rest_len(chan->stdout_buffer) > 0) ||
+        (chan->stderr_buffer && ssh_buffer_get_rest_len(chan->stderr_buffer) > 0) ||
         chan->remote_eof) {
       rout[j] = chan;
       j++;
diff --git a/src/channels1.c b/src/channels1.c
index 4b7d268..c3e7b92 100644
--- a/src/channels1.c
+++ b/src/channels1.c
@@ -112,18 +112,18 @@ int channel_request_pty_size1(ssh_channel channel, const char *terminal, int col
     return -1;
   }
 
-  if (buffer_add_u8(session->out_buffer, SSH_CMSG_REQUEST_PTY) < 0 ||
-      buffer_add_ssh_string(session->out_buffer, str) < 0) {
+  if (ssh_buffer_add_u8(session->out_buffer, SSH_CMSG_REQUEST_PTY) < 0 ||
+      ssh_buffer_add_ssh_string(session->out_buffer, str) < 0) {
     ssh_string_free(str);
     return -1;
   }
   ssh_string_free(str);
 
-  if (buffer_add_u32(session->out_buffer, ntohl(row)) < 0 ||
-      buffer_add_u32(session->out_buffer, ntohl(col)) < 0 ||
-      buffer_add_u32(session->out_buffer, 0) < 0 || /* x */
-      buffer_add_u32(session->out_buffer, 0) < 0 || /* y */
-      buffer_add_u8(session->out_buffer, 0) < 0) { /* tty things */
+  if (ssh_buffer_add_u32(session->out_buffer, ntohl(row)) < 0 ||
+      ssh_buffer_add_u32(session->out_buffer, ntohl(col)) < 0 ||
+      ssh_buffer_add_u32(session->out_buffer, 0) < 0 || /* x */
+      ssh_buffer_add_u32(session->out_buffer, 0) < 0 || /* y */
+      ssh_buffer_add_u8(session->out_buffer, 0) < 0) { /* tty things */
     return -1;
   }
 
@@ -170,11 +170,11 @@ int channel_change_pty_size1(ssh_channel channel, int cols, int rows) {
     ssh_set_error(session,SSH_REQUEST_DENIED,"Wrong request state");
     return SSH_ERROR;
   }
-  if (buffer_add_u8(session->out_buffer, SSH_CMSG_WINDOW_SIZE) < 0 ||
-      buffer_add_u32(session->out_buffer, ntohl(rows)) < 0 ||
-      buffer_add_u32(session->out_buffer, ntohl(cols)) < 0 ||
-      buffer_add_u32(session->out_buffer, 0) < 0 ||
-      buffer_add_u32(session->out_buffer, 0) < 0) {
+  if (ssh_buffer_add_u8(session->out_buffer, SSH_CMSG_WINDOW_SIZE) < 0 ||
+      ssh_buffer_add_u32(session->out_buffer, ntohl(rows)) < 0 ||
+      ssh_buffer_add_u32(session->out_buffer, ntohl(cols)) < 0 ||
+      ssh_buffer_add_u32(session->out_buffer, 0) < 0 ||
+      ssh_buffer_add_u32(session->out_buffer, 0) < 0) {
     return SSH_ERROR;
   }
   channel->request_state=SSH_CHANNEL_REQ_STATE_PENDING;
@@ -215,7 +215,7 @@ int channel_request_shell1(ssh_channel channel) {
   }
   session = channel->session;
 
-  if (buffer_add_u8(session->out_buffer,SSH_CMSG_EXEC_SHELL) < 0) {
+  if (ssh_buffer_add_u8(session->out_buffer,SSH_CMSG_EXEC_SHELL) < 0) {
     return -1;
   }
 
@@ -242,8 +242,8 @@ int channel_request_exec1(ssh_channel channel, const char *cmd) {
     return -1;
   }
 
-  if (buffer_add_u8(session->out_buffer, SSH_CMSG_EXEC_CMD) < 0 ||
-      buffer_add_ssh_string(session->out_buffer, command) < 0) {
+  if (ssh_buffer_add_u8(session->out_buffer, SSH_CMSG_EXEC_CMD) < 0 ||
+      ssh_buffer_add_ssh_string(session->out_buffer, command) < 0) {
     ssh_string_free(command);
     return -1;
   }
@@ -268,7 +268,7 @@ SSH_PACKET_CALLBACK(ssh_packet_data1){
       return SSH_PACKET_NOT_USED;
     }
 
-    str = buffer_get_ssh_string(packet);
+    str = ssh_buffer_get_ssh_string(packet);
     if (str == NULL) {
       SSH_LOG(SSH_LOG_FUNCTIONS, "Invalid data packet !\n");
       return SSH_PACKET_USED;
@@ -300,7 +300,7 @@ SSH_PACKET_CALLBACK(ssh_packet_close1){
     return SSH_PACKET_NOT_USED;
   }
 
-  buffer_get_u32(packet, &status);
+  ssh_buffer_get_u32(packet, &status);
   /*
    * It's much more than a channel closing. spec says it's the last
    * message sent by server (strange)
@@ -310,7 +310,7 @@ SSH_PACKET_CALLBACK(ssh_packet_close1){
   channel->state = SSH_CHANNEL_STATE_CLOSED;
   channel->remote_eof = 1;
 
-  rc = buffer_add_u8(session->out_buffer, SSH_CMSG_EXIT_CONFIRMATION);
+  rc = ssh_buffer_add_u8(session->out_buffer, SSH_CMSG_EXIT_CONFIRMATION);
   if (rc < 0) {
     return SSH_PACKET_NOT_USED;
   }
@@ -329,7 +329,7 @@ SSH_PACKET_CALLBACK(ssh_packet_exist_status1){
     return SSH_PACKET_NOT_USED;
   }
 
-  buffer_get_u32(packet, &status);
+  ssh_buffer_get_u32(packet, &status);
   channel->state = SSH_CHANNEL_STATE_CLOSED;
   channel->remote_eof = 1;
   channel->exit_status = ntohl(status);
@@ -350,13 +350,13 @@ int channel_write1(ssh_channel channel, const void *data, int len) {
   session = channel->session;
 
   while (len > 0) {
-    if (buffer_add_u8(session->out_buffer, SSH_CMSG_STDIN_DATA) < 0) {
+    if (ssh_buffer_add_u8(session->out_buffer, SSH_CMSG_STDIN_DATA) < 0) {
       return -1;
     }
 
     effectivelen = len > 32000 ? 32000 : len;
 
-    if (buffer_add_u32(session->out_buffer, htonl(effectivelen)) < 0 ||
+    if (ssh_buffer_add_u32(session->out_buffer, htonl(effectivelen)) < 0 ||
         ssh_buffer_add_data(session->out_buffer, ptr, effectivelen) < 0) {
       return -1;
     }
diff --git a/src/dh.c b/src/dh.c
index b372b2c..1d2367b 100644
--- a/src/dh.c
+++ b/src/dh.c
@@ -472,14 +472,14 @@ int ssh_client_dh_reply(ssh_session session, ssh_buffer packet){
   ssh_string pubkey = NULL;
   ssh_string signature = NULL;
   int rc;
-  pubkey = buffer_get_ssh_string(packet);
+  pubkey = ssh_buffer_get_ssh_string(packet);
   if (pubkey == NULL){
     ssh_set_error(session,SSH_FATAL, "No public key in packet");
     goto error;
   }
   dh_import_pubkey(session, pubkey);
 
-  f = buffer_get_ssh_string(packet);
+  f = ssh_buffer_get_ssh_string(packet);
   if (f == NULL) {
     ssh_set_error(session,SSH_FATAL, "No F number in packet");
     goto error;
@@ -492,7 +492,7 @@ int ssh_client_dh_reply(ssh_session session, ssh_buffer packet){
     goto error;
   }
 
-  signature = buffer_get_ssh_string(packet);
+  signature = ssh_buffer_get_ssh_string(packet);
   if (signature == NULL) {
     ssh_set_error(session, SSH_FATAL, "No signature in packet");
     goto error;
@@ -505,7 +505,7 @@ int ssh_client_dh_reply(ssh_session session, ssh_buffer packet){
   }
 
   /* Send the MSG_NEWKEYS */
-  if (buffer_add_u8(session->out_buffer, SSH2_MSG_NEWKEYS) < 0) {
+  if (ssh_buffer_add_u8(session->out_buffer, SSH2_MSG_NEWKEYS) < 0) {
     goto error;
   }
 
@@ -550,22 +550,22 @@ int make_sessionid(ssh_session session) {
      *      boolean      first_kex_packet_follows
      *      uint32       0 (reserved for future extension)
      */
-    rc = buffer_add_u8(server_hash, 0);
+    rc = ssh_buffer_add_u8(server_hash, 0);
     if (rc < 0) {
         goto error;
     }
-    rc = buffer_add_u32(server_hash, 0);
+    rc = ssh_buffer_add_u32(server_hash, 0);
     if (rc < 0) {
         goto error;
     }
 
     /* These fields are handled for the server case in ssh_packet_kexinit. */
     if (session->client) {
-        rc = buffer_add_u8(client_hash, 0);
+        rc = ssh_buffer_add_u8(client_hash, 0);
         if (rc < 0) {
             goto error;
         }
-        rc = buffer_add_u32(client_hash, 0);
+        rc = ssh_buffer_add_u32(client_hash, 0);
         if (rc < 0) {
             goto error;
         }
@@ -573,12 +573,12 @@ int make_sessionid(ssh_session session) {
 
     rc = ssh_buffer_pack(buf,
                          "dPdPS",
-                         buffer_get_rest_len(client_hash),
-                         buffer_get_rest_len(client_hash),
-                         buffer_get_rest(client_hash),
-                         buffer_get_rest_len(server_hash),
-                         buffer_get_rest_len(server_hash),
-                         buffer_get_rest(server_hash),
+                         ssh_buffer_get_rest_len(client_hash),
+                         ssh_buffer_get_rest_len(client_hash),
+                         ssh_buffer_get_rest(client_hash),
+                         ssh_buffer_get_rest_len(server_hash),
+                         ssh_buffer_get_rest_len(server_hash),
+                         ssh_buffer_get_rest(server_hash),
                          session->next_crypto->server_pubkey);
 
     if(rc != SSH_OK){
@@ -643,7 +643,7 @@ int make_sessionid(ssh_session session) {
             ssh_set_error_oom(session);
             goto error;
         }
-        sha1(buffer_get_rest(buf), buffer_get_rest_len(buf),
+        sha1(ssh_buffer_get_rest(buf), ssh_buffer_get_rest_len(buf),
                                    session->next_crypto->secret_hash);
         break;
     case SSH_KEX_ECDH_SHA2_NISTP256:
@@ -655,7 +655,7 @@ int make_sessionid(ssh_session session) {
             ssh_set_error_oom(session);
             goto error;
         }
-        sha256(buffer_get_rest(buf), buffer_get_rest_len(buf),
+        sha256(ssh_buffer_get_rest(buf), ssh_buffer_get_rest_len(buf),
                                      session->next_crypto->secret_hash);
         break;
     }
@@ -698,7 +698,7 @@ int hashbufout_add_cookie(ssh_session session) {
     return -1;
   }
 
-  if (buffer_add_u8(session->out_hashbuf, 20) < 0) {
+  if (ssh_buffer_add_u8(session->out_hashbuf, 20) < 0) {
     ssh_buffer_reinit(session->out_hashbuf);
     return -1;
   }
@@ -726,7 +726,7 @@ int hashbufin_add_cookie(ssh_session session, unsigned char *cookie) {
     return -1;
   }
 
-  if (buffer_add_u8(session->in_hashbuf, 20) < 0) {
+  if (ssh_buffer_add_u8(session->in_hashbuf, 20) < 0) {
     ssh_buffer_reinit(session->in_hashbuf);
     return -1;
   }
diff --git a/src/gssapi.c b/src/gssapi.c
index 099294e..09f0d93 100644
--- a/src/gssapi.c
+++ b/src/gssapi.c
@@ -115,8 +115,8 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_token){
  * @param[in] oid the OID that was selected for authentication
  */
 static int ssh_gssapi_send_response(ssh_session session, ssh_string oid){
-    if (buffer_add_u8(session->out_buffer, SSH2_MSG_USERAUTH_GSSAPI_RESPONSE) < 0 ||
-            buffer_add_ssh_string(session->out_buffer,oid) < 0) {
+    if (ssh_buffer_add_u8(session->out_buffer, SSH2_MSG_USERAUTH_GSSAPI_RESPONSE) < 0 ||
+            ssh_buffer_add_ssh_string(session->out_buffer,oid) < 0) {
         ssh_set_error_oom(session);
         return SSH_ERROR;
     }
@@ -293,7 +293,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_token_server){
         ssh_set_error(session, SSH_FATAL, "Received SSH_MSG_USERAUTH_GSSAPI_TOKEN in invalid state");
         return SSH_PACKET_USED;
     }
-    token = buffer_get_ssh_string(packet);
+    token = ssh_buffer_get_ssh_string(packet);
 
     if (token == NULL){
         ssh_set_error(session, SSH_REQUEST_DENIED, "ssh_packet_userauth_gssapi_token: invalid packet");
@@ -409,7 +409,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_mic)
     (void)type;
 
     SSH_LOG(SSH_LOG_PACKET,"Received SSH_MSG_USERAUTH_GSSAPI_MIC");
-    mic_token = buffer_get_ssh_string(packet);
+    mic_token = ssh_buffer_get_ssh_string(packet);
     if (mic_token == NULL) {
         ssh_set_error(session, SSH_FATAL, "Missing MIC in packet");
         goto error;
@@ -533,7 +533,7 @@ static int ssh_gssapi_send_auth_mic(ssh_session session, ssh_string *oid_set, in
     }
 
     for (i=0; i<n_oid; ++i){
-        rc = buffer_add_ssh_string(session->out_buffer, oid_set[i]);
+        rc = ssh_buffer_add_ssh_string(session->out_buffer, oid_set[i]);
         if (rc < 0) {
             goto fail;
         }
@@ -732,7 +732,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_response){
         ssh_set_error(session, SSH_FATAL, "Invalid state in ssh_packet_userauth_gssapi_response");
         return SSH_PACKET_USED;
     }
-    oid_s = buffer_get_ssh_string(packet);
+    oid_s = ssh_buffer_get_ssh_string(packet);
     if (!oid_s){
         ssh_set_error(session, SSH_FATAL, "Missing OID");
         return SSH_PACKET_USED;
@@ -828,7 +828,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_token_client){
         ssh_set_error(session, SSH_FATAL, "Received SSH_MSG_USERAUTH_GSSAPI_TOKEN in invalid state");
         return SSH_PACKET_USED;
     }
-    token = buffer_get_ssh_string(packet);
+    token = ssh_buffer_get_ssh_string(packet);
 
     if (token == NULL){
         ssh_set_error(session, SSH_REQUEST_DENIED, "ssh_packet_userauth_gssapi_token: invalid packet");
diff --git a/src/gzip.c b/src/gzip.c
index ca190bc..0a14084 100644
--- a/src/gzip.c
+++ b/src/gzip.c
@@ -58,8 +58,8 @@ static z_stream *initcompress(ssh_session session, int level) {
 
 static ssh_buffer gzip_compress(ssh_session session,ssh_buffer source,int level){
   z_stream *zout = session->current_crypto->compress_out_ctx;
-  void *in_ptr = buffer_get_rest(source);
-  unsigned long in_size = buffer_get_rest_len(source);
+  void *in_ptr = ssh_buffer_get_rest(source);
+  unsigned long in_size = ssh_buffer_get_rest_len(source);
   ssh_buffer dest = NULL;
   unsigned char out_buf[BLOCKSIZE] = {0};
   unsigned long len;
@@ -113,7 +113,7 @@ int compress_buffer(ssh_session session, ssh_buffer buf) {
     return -1;
   }
 
-  if (ssh_buffer_add_data(buf, buffer_get_rest(dest), buffer_get_rest_len(dest)) < 0) {
+  if (ssh_buffer_add_data(buf, ssh_buffer_get_rest(dest), ssh_buffer_get_rest_len(dest)) < 0) {
     ssh_buffer_free(dest);
     return -1;
   }
@@ -147,8 +147,8 @@ static z_stream *initdecompress(ssh_session session) {
 
 static ssh_buffer gzip_decompress(ssh_session session, ssh_buffer source, size_t maxlen) {
   z_stream *zin = session->current_crypto->compress_in_ctx;
-  void *in_ptr = buffer_get_rest(source);
-  unsigned long in_size = buffer_get_rest_len(source);
+  void *in_ptr = ssh_buffer_get_rest(source);
+  unsigned long in_size = ssh_buffer_get_rest_len(source);
   unsigned char out_buf[BLOCKSIZE] = {0};
   ssh_buffer dest = NULL;
   unsigned long len;
@@ -185,7 +185,7 @@ static ssh_buffer gzip_decompress(ssh_session session, ssh_buffer source, size_t
       ssh_buffer_free(dest);
       return NULL;
     }
-    if (buffer_get_rest_len(dest) > maxlen){
+    if (ssh_buffer_get_rest_len(dest) > maxlen){
       /* Size of packet exceeded, avoid a denial of service attack */
       ssh_buffer_free(dest);
       return NULL;
@@ -209,7 +209,7 @@ int decompress_buffer(ssh_session session,ssh_buffer buf, size_t maxlen){
     return -1;
   }
 
-  if (ssh_buffer_add_data(buf, buffer_get_rest(dest), buffer_get_rest_len(dest)) < 0) {
+  if (ssh_buffer_add_data(buf, ssh_buffer_get_rest(dest), ssh_buffer_get_rest_len(dest)) < 0) {
     ssh_buffer_free(dest);
     return -1;
   }
diff --git a/src/kex.c b/src/kex.c
index 519d79c..02965bd 100644
--- a/src/kex.c
+++ b/src/kex.c
@@ -346,7 +346,7 @@ SSH_PACKET_CALLBACK(ssh_packet_kexinit){
     }
 
     if (server_kex) {
-        rc = buffer_get_data(packet,session->next_crypto->client_kex.cookie, 16);
+        rc = ssh_buffer_get_data(packet,session->next_crypto->client_kex.cookie, 16);
         if (rc != 16) {
             ssh_set_error(session, SSH_FATAL, "ssh_packet_kexinit: no cookie in packet");
             goto error;
@@ -358,7 +358,7 @@ SSH_PACKET_CALLBACK(ssh_packet_kexinit){
             goto error;
         }
     } else {
-        rc = buffer_get_data(packet,session->next_crypto->server_kex.cookie, 16);
+        rc = ssh_buffer_get_data(packet,session->next_crypto->server_kex.cookie, 16);
         if (rc != 16) {
             ssh_set_error(session, SSH_FATAL, "ssh_packet_kexinit: no cookie in packet");
             goto error;
@@ -372,12 +372,12 @@ SSH_PACKET_CALLBACK(ssh_packet_kexinit){
     }
 
     for (i = 0; i < KEX_METHODS_SIZE; i++) {
-        str = buffer_get_ssh_string(packet);
+        str = ssh_buffer_get_ssh_string(packet);
         if (str == NULL) {
           goto error;
         }
 
-        rc = buffer_add_ssh_string(session->in_hashbuf, str);
+        rc = ssh_buffer_add_ssh_string(session->in_hashbuf, str);
         if (rc < 0) {
             ssh_set_error(session, SSH_FATAL, "Error adding string in hash buffer");
             goto error;
@@ -414,17 +414,17 @@ SSH_PACKET_CALLBACK(ssh_packet_kexinit){
      * 'make_sessionid').
      */
     if (server_kex) {
-        rc = buffer_get_u8(packet, &first_kex_packet_follows);
+        rc = ssh_buffer_get_u8(packet, &first_kex_packet_follows);
         if (rc != 1) {
             goto error;
         }
 
-        rc = buffer_add_u8(session->in_hashbuf, first_kex_packet_follows);
+        rc = ssh_buffer_add_u8(session->in_hashbuf, first_kex_packet_follows);
         if (rc < 0) {
             goto error;
         }
 
-        rc = buffer_add_u32(session->in_hashbuf, kexinit_reserved);
+        rc = ssh_buffer_add_u32(session->in_hashbuf, kexinit_reserved);
         if (rc < 0) {
             goto error;
         }
@@ -624,10 +624,10 @@ int ssh_send_kex(ssh_session session, int server_kex) {
       goto error;
     }
 
-    if (buffer_add_ssh_string(session->out_hashbuf, str) < 0) {
+    if (ssh_buffer_add_ssh_string(session->out_hashbuf, str) < 0) {
       goto error;
     }
-    if (buffer_add_ssh_string(session->out_buffer, str) < 0) {
+    if (ssh_buffer_add_ssh_string(session->out_buffer, str) < 0) {
       goto error;
     }
     ssh_string_free(str);
diff --git a/src/kex1.c b/src/kex1.c
index 758054f..9e0794d 100644
--- a/src/kex1.c
+++ b/src/kex1.c
@@ -51,13 +51,13 @@ static ssh_string make_rsa1_string(ssh_string e, ssh_string n){
       goto error;
   }
 
-  if (buffer_add_ssh_string(buffer, rsa) < 0) {
+  if (ssh_buffer_add_ssh_string(buffer, rsa) < 0) {
     goto error;
   }
-  if (buffer_add_ssh_string(buffer, e) < 0) {
+  if (ssh_buffer_add_ssh_string(buffer, e) < 0) {
     goto error;
   }
-  if (buffer_add_ssh_string(buffer, n) < 0) {
+  if (ssh_buffer_add_ssh_string(buffer, n) < 0) {
     goto error;
   }
 
@@ -325,32 +325,32 @@ SSH_PACKET_CALLBACK(ssh_packet_publickey1){
     ssh_set_error(session,SSH_FATAL,"SSH_KEXINIT received in wrong state");
     goto error;
   }
-  if (buffer_get_data(packet, session->next_crypto->server_kex.cookie, 8) != 8) {
+  if (ssh_buffer_get_data(packet, session->next_crypto->server_kex.cookie, 8) != 8) {
     ssh_set_error(session, SSH_FATAL, "Can't get cookie in buffer");
     goto error;
   }
 
-  buffer_get_u32(packet, &server_bits);
-  server_exp = buffer_get_mpint(packet);
+  ssh_buffer_get_u32(packet, &server_bits);
+  server_exp = ssh_buffer_get_mpint(packet);
   if (server_exp == NULL) {
     goto error;
   }
-  server_mod = buffer_get_mpint(packet);
+  server_mod = ssh_buffer_get_mpint(packet);
   if (server_mod == NULL) {
     goto error;
   }
-  buffer_get_u32(packet, &host_bits);
-  host_exp = buffer_get_mpint(packet);
+  ssh_buffer_get_u32(packet, &host_bits);
+  host_exp = ssh_buffer_get_mpint(packet);
   if (host_exp == NULL) {
     goto error;
   }
-  host_mod = buffer_get_mpint(packet);
+  host_mod = ssh_buffer_get_mpint(packet);
   if (host_mod == NULL) {
     goto error;
   }
-  buffer_get_u32(packet, &protocol_flags);
-  buffer_get_u32(packet, &supported_ciphers_mask);
-  ko = buffer_get_u32(packet, &supported_authentications_mask);
+  ssh_buffer_get_u32(packet, &protocol_flags);
+  ssh_buffer_get_u32(packet, &supported_ciphers_mask);
+  ko = ssh_buffer_get_u32(packet, &supported_authentications_mask);
 
   if ((ko != sizeof(uint32_t)) || !host_mod || !host_exp
       || !server_mod || !server_exp) {
@@ -411,10 +411,10 @@ SSH_PACKET_CALLBACK(ssh_packet_publickey1){
   }
   SSH_LOG(SSH_LOG_PROTOCOL, "Sending SSH_CMSG_SESSION_KEY");
 
-   if (buffer_add_u8(session->out_buffer, SSH_CMSG_SESSION_KEY) < 0) {
+   if (ssh_buffer_add_u8(session->out_buffer, SSH_CMSG_SESSION_KEY) < 0) {
      goto error;
    }
-   if (buffer_add_u8(session->out_buffer, support_3DES ? SSH_CIPHER_3DES : SSH_CIPHER_DES) < 0) {
+   if (ssh_buffer_add_u8(session->out_buffer, support_3DES ? SSH_CIPHER_3DES : SSH_CIPHER_DES) < 0) {
      goto error;
    }
    if (ssh_buffer_add_data(session->out_buffer, session->next_crypto->server_kex.cookie, 8) < 0) {
@@ -439,7 +439,7 @@ SSH_PACKET_CALLBACK(ssh_packet_publickey1){
      goto error;
    }
    /* the protocol flags */
-   if (buffer_add_u32(session->out_buffer, 0) < 0) {
+   if (ssh_buffer_add_u32(session->out_buffer, 0) < 0) {
      goto error;
    }
    session->session_state=SSH_SESSION_STATE_KEXINIT_RECEIVED;
diff --git a/src/known_hosts.c b/src/known_hosts.c
index d87af43..263289f 100644
--- a/src/known_hosts.c
+++ b/src/known_hosts.c
@@ -211,7 +211,7 @@ static int check_public_key(ssh_session session, char **tokens) {
       return -1;
     }
 
-    if (buffer_add_ssh_string(pubkey_buffer, tmpstring) < 0) {
+    if (ssh_buffer_add_ssh_string(pubkey_buffer, tmpstring) < 0) {
       ssh_buffer_free(pubkey_buffer);
       ssh_string_free(tmpstring);
       return -1;
@@ -244,7 +244,7 @@ static int check_public_key(ssh_session session, char **tokens) {
       bignum_bn2bin(tmpbn, ssh_string_data(tmpstring));
 #endif
       bignum_free(tmpbn);
-      if (buffer_add_ssh_string(pubkey_buffer, tmpstring) < 0) {
+      if (ssh_buffer_add_ssh_string(pubkey_buffer, tmpstring) < 0) {
         ssh_buffer_free(pubkey_buffer);
         ssh_string_free(tmpstring);
         bignum_free(tmpbn);
@@ -264,14 +264,14 @@ static int check_public_key(ssh_session session, char **tokens) {
     return -1;
   }
 
-  if (buffer_get_rest_len(pubkey_buffer) != ssh_string_len(pubkey)) {
+  if (ssh_buffer_get_rest_len(pubkey_buffer) != ssh_string_len(pubkey)) {
     ssh_buffer_free(pubkey_buffer);
     return 0;
   }
 
   /* now test that they are identical */
-  if (memcmp(buffer_get_rest(pubkey_buffer), ssh_string_data(pubkey),
-        buffer_get_rest_len(pubkey_buffer)) != 0) {
+  if (memcmp(ssh_buffer_get_rest(pubkey_buffer), ssh_string_data(pubkey),
+        ssh_buffer_get_rest_len(pubkey_buffer)) != 0) {
     ssh_buffer_free(pubkey_buffer);
     return 0;
   }
@@ -340,7 +340,7 @@ static int match_hashed_host(const char *host, const char *sourcehash)
     return 0;
   }
 
-  mac = hmac_init(buffer_get_rest(salt), buffer_get_rest_len(salt), SSH_HMAC_SHA1);
+  mac = hmac_init(ssh_buffer_get_rest(salt), ssh_buffer_get_rest_len(salt), SSH_HMAC_SHA1);
   if (mac == NULL) {
     ssh_buffer_free(salt);
     ssh_buffer_free(hash);
@@ -351,8 +351,8 @@ static int match_hashed_host(const char *host, const char *sourcehash)
   hmac_update(mac, host, strlen(host));
   hmac_final(mac, buffer, &size);
 
-  if (size == buffer_get_rest_len(hash) &&
-      memcmp(buffer, buffer_get_rest(hash), size) == 0) {
+  if (size == ssh_buffer_get_rest_len(hash) &&
+      memcmp(buffer, ssh_buffer_get_rest(hash), size) == 0) {
     match = 1;
   } else {
     match = 0;
diff --git a/src/messages.c b/src/messages.c
index ec53877..bd93b58 100644
--- a/src/messages.c
+++ b/src/messages.c
@@ -81,9 +81,9 @@ static ssh_message ssh_message_new(ssh_session session){
 static int ssh_message_reply_default(ssh_message msg) {
   SSH_LOG(SSH_LOG_FUNCTIONS, "Reporting unknown packet");
 
-  if (buffer_add_u8(msg->session->out_buffer, SSH2_MSG_UNIMPLEMENTED) < 0)
+  if (ssh_buffer_add_u8(msg->session->out_buffer, SSH2_MSG_UNIMPLEMENTED) < 0)
     goto error;
-  if (buffer_add_u32(msg->session->out_buffer,
+  if (ssh_buffer_add_u32(msg->session->out_buffer,
       htonl(msg->session->recv_seq-1)) < 0)
     goto error;
   return packet_send(msg->session);
@@ -579,7 +579,7 @@ SSH_PACKET_CALLBACK(ssh_packet_service_request){
 
   (void)type;
   (void)user;
-  service = buffer_get_ssh_string(packet);
+  service = ssh_buffer_get_ssh_string(packet);
   if (service == NULL) {
     ssh_set_error(session, SSH_FATAL, "Invalid SSH_MSG_SERVICE_REQUEST packet");
     goto error;
@@ -712,7 +712,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){
     ssh_string submethods = NULL;
 
     msg->auth_request.method = SSH_AUTH_METHOD_INTERACTIVE;
-    lang = buffer_get_ssh_string(packet);
+    lang = ssh_buffer_get_ssh_string(packet);
     if (lang == NULL) {
       goto error;
     }
@@ -722,7 +722,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){
      */
     ssh_string_free(lang);
 
-    submethods = buffer_get_ssh_string(packet);
+    submethods = ssh_buffer_get_ssh_string(packet);
     if (submethods == NULL) {
       goto error;
     }
@@ -768,7 +768,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){
         ssh_string sig_blob = NULL;
         ssh_buffer digest = NULL;
 
-        sig_blob = buffer_get_ssh_string(packet);
+        sig_blob = ssh_buffer_get_ssh_string(packet);
         if(sig_blob == NULL) {
             SSH_LOG(SSH_LOG_PACKET, "Invalid signature packet from peer");
             msg->auth_request.signature_state = SSH_PUBLICKEY_STATE_ERROR;
@@ -786,8 +786,8 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){
         rc = ssh_pki_signature_verify_blob(session,
                                            sig_blob,
                                            msg->auth_request.pubkey,
-                                           buffer_get_rest(digest),
-                                           buffer_get_rest_len(digest));
+                                           ssh_buffer_get_rest(digest),
+                                           ssh_buffer_get_rest_len(digest));
         ssh_string_free(sig_blob);
         ssh_buffer_free(digest);
         if (rc < 0) {
@@ -811,7 +811,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){
      ssh_string oid;
      char *hexa;
      int i;
-     buffer_get_u32(packet, &n_oid);
+     ssh_buffer_get_u32(packet, &n_oid);
      n_oid=ntohl(n_oid);
      if(n_oid > 100){
     	 ssh_set_error(session, SSH_FATAL, "USERAUTH_REQUEST: gssapi-with-mic OID count too big (%d)",n_oid);
@@ -824,7 +824,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){
     	 goto error;
      }
      for (i=0;i<(int) n_oid;++i){
-    	 oid=buffer_get_ssh_string(packet);
+    	 oid=ssh_buffer_get_ssh_string(packet);
     	 if(oid == NULL){
     		 for(i=i-1;i>=0;--i){
     			 SAFE_FREE(oids[i]);
@@ -969,7 +969,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_info_response){
   memset(session->kbdint->answers, 0, nanswers * sizeof(char *));
 
   for (i = 0; i < nanswers; i++) {
-    tmp = buffer_get_ssh_string(packet);
+    tmp = ssh_buffer_get_ssh_string(packet);
     if (tmp == NULL) {
       ssh_set_error(session, SSH_FATAL, "Short INFO_RESPONSE packet");
       session->kbdint->nanswers = i;
diff --git a/src/packet.c b/src/packet.c
index d16cd16..4636f26 100644
--- a/src/packet.c
+++ b/src/packet.c
@@ -253,11 +253,11 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
                  * Decrypt the rest of the packet (blocksize bytes already
                  * have been decrypted)
                  */
-                uint32_t buffer_len = buffer_get_rest_len(session->in_buffer);
+                uint32_t buffer_len = ssh_buffer_get_rest_len(session->in_buffer);
 
                 /* The following check avoids decrypting zero bytes */
                 if (buffer_len > blocksize) {
-                    uint8_t *payload = ((uint8_t*)buffer_get_rest(session->in_buffer) + blocksize);
+                    uint8_t *payload = ((uint8_t*)ssh_buffer_get_rest(session->in_buffer) + blocksize);
                     uint32_t plen = buffer_len - blocksize;
 
                     rc = packet_decrypt(session, payload, plen);
@@ -280,9 +280,9 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
             }
 
             /* skip the size field which has been processed before */
-            buffer_pass_bytes(session->in_buffer, sizeof(uint32_t));
+            ssh_buffer_pass_bytes(session->in_buffer, sizeof(uint32_t));
 
-            rc = buffer_get_u8(session->in_buffer, &padding);
+            rc = ssh_buffer_get_u8(session->in_buffer, &padding);
             if (rc == 0) {
                 ssh_set_error(session,
                               SSH_FATAL,
@@ -290,28 +290,28 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
                 goto error;
             }
 
-            if (padding > buffer_get_rest_len(session->in_buffer)) {
+            if (padding > ssh_buffer_get_rest_len(session->in_buffer)) {
                 ssh_set_error(session,
                               SSH_FATAL,
                               "Invalid padding: %d (%d left)",
                               padding,
-                              buffer_get_rest_len(session->in_buffer));
+                              ssh_buffer_get_rest_len(session->in_buffer));
                 goto error;
             }
-            buffer_pass_bytes_end(session->in_buffer, padding);
-            compsize = buffer_get_rest_len(session->in_buffer);
+            ssh_buffer_pass_bytes_end(session->in_buffer, padding);
+            compsize = ssh_buffer_get_rest_len(session->in_buffer);
 
 #ifdef WITH_ZLIB
             if (session->current_crypto
                 && session->current_crypto->do_compress_in
-                && buffer_get_rest_len(session->in_buffer) > 0) {
+                && ssh_buffer_get_rest_len(session->in_buffer) > 0) {
                 rc = decompress_buffer(session, session->in_buffer,MAX_PACKET_LEN);
                 if (rc < 0) {
                     goto error;
                 }
             }
 #endif /* WITH_ZLIB */
-            payloadsize = buffer_get_rest_len(session->in_buffer);
+            payloadsize = ssh_buffer_get_rest_len(session->in_buffer);
             session->recv_seq++;
             if (session->raw_counter != NULL) {
                 session->raw_counter->in_bytes += payloadsize;
@@ -489,7 +489,7 @@ int ssh_packet_parse_type(ssh_session session) {
     return SSH_ERROR;
   }
 
-  if(buffer_get_u8(session->in_buffer, &session->in_packet.type) == 0) {
+  if(ssh_buffer_get_u8(session->in_buffer, &session->in_packet.type) == 0) {
     ssh_set_error(session, SSH_FATAL, "Packet too short to read type");
     return SSH_ERROR;
   }
@@ -507,8 +507,8 @@ static int ssh_packet_write(ssh_session session) {
   int rc = SSH_ERROR;
 
   rc=ssh_socket_write(session->socket,
-      buffer_get_rest(session->out_buffer),
-      buffer_get_rest_len(session->out_buffer));
+      ssh_buffer_get_rest(session->out_buffer),
+      ssh_buffer_get_rest_len(session->out_buffer));
 
   return rc;
 }
@@ -518,7 +518,7 @@ static int packet_send2(ssh_session session) {
       session->current_crypto->out_cipher->blocksize : 8);
   enum ssh_hmac_e hmac_type = (session->current_crypto ?
       session->current_crypto->out_hmac : session->next_crypto->out_hmac);
-  uint32_t currentlen = buffer_get_rest_len(session->out_buffer);
+  uint32_t currentlen = ssh_buffer_get_rest_len(session->out_buffer);
   unsigned char *hmac = NULL;
   char padstring[32] = { 0 };
   int rc = SSH_ERROR;
@@ -531,11 +531,11 @@ static int packet_send2(ssh_session session) {
 #ifdef WITH_ZLIB
   if (session->current_crypto
       && session->current_crypto->do_compress_out
-      && buffer_get_rest_len(session->out_buffer)) {
+      && ssh_buffer_get_rest_len(session->out_buffer)) {
     if (compress_buffer(session,session->out_buffer) < 0) {
       goto error;
     }
-    currentlen = buffer_get_rest_len(session->out_buffer);
+    currentlen = ssh_buffer_get_rest_len(session->out_buffer);
   }
 #endif /* WITH_ZLIB */
   compsize = currentlen;
@@ -552,7 +552,7 @@ static int packet_send2(ssh_session session) {
 
   memcpy(&header[0], &finallen, sizeof(finallen));
   header[sizeof(finallen)] = padding;
-  rc = buffer_prepend_data(session->out_buffer, &header, sizeof(header));
+  rc = ssh_buffer_prepend_data(session->out_buffer, &header, sizeof(header));
   if (rc < 0) {
     goto error;
   }
@@ -563,12 +563,12 @@ static int packet_send2(ssh_session session) {
 #ifdef WITH_PCAP
   if(session->pcap_ctx){
   	ssh_pcap_context_write(session->pcap_ctx,SSH_PCAP_DIR_OUT,
-  			buffer_get_rest(session->out_buffer),buffer_get_rest_len(session->out_buffer)
-  			,buffer_get_rest_len(session->out_buffer));
+  			ssh_buffer_get_rest(session->out_buffer),ssh_buffer_get_rest_len(session->out_buffer)
+  			,ssh_buffer_get_rest_len(session->out_buffer));
   }
 #endif
-  hmac = packet_encrypt(session, buffer_get_rest(session->out_buffer),
-      buffer_get_rest_len(session->out_buffer));
+  hmac = packet_encrypt(session, ssh_buffer_get_rest(session->out_buffer),
+      ssh_buffer_get_rest_len(session->out_buffer));
   if (hmac) {
     rc = ssh_buffer_add_data(session->out_buffer, hmac, hmac_digest_len(hmac_type));
     if (rc < 0) {
diff --git a/src/packet1.c b/src/packet1.c
index eac7008..543af1f 100644
--- a/src/packet1.c
+++ b/src/packet1.c
@@ -185,7 +185,7 @@ int ssh_packet_socket_callback1(const void *data, size_t receivedlen, void *user
           ssh_buffer_get_len(session->in_buffer));
 #endif
       SSH_LOG(SSH_LOG_PACKET, "%d bytes padding", padding);
-      if(((len + padding) != buffer_get_rest_len(session->in_buffer)) ||
+      if(((len + padding) != ssh_buffer_get_rest_len(session->in_buffer)) ||
           ((len + padding) < sizeof(uint32_t))) {
         SSH_LOG(SSH_LOG_RARE, "no crc32 in packet");
         ssh_set_error(session, SSH_FATAL, "no crc32 in packet");
@@ -193,26 +193,26 @@ int ssh_packet_socket_callback1(const void *data, size_t receivedlen, void *user
       }
 
       memcpy(&crc,
-          (unsigned char *)buffer_get_rest(session->in_buffer) + (len+padding) - sizeof(uint32_t),
+          (unsigned char *)ssh_buffer_get_rest(session->in_buffer) + (len+padding) - sizeof(uint32_t),
           sizeof(uint32_t));
-      buffer_pass_bytes_end(session->in_buffer, sizeof(uint32_t));
+      ssh_buffer_pass_bytes_end(session->in_buffer, sizeof(uint32_t));
       crc = ntohl(crc);
-      if (ssh_crc32(buffer_get_rest(session->in_buffer),
+      if (ssh_crc32(ssh_buffer_get_rest(session->in_buffer),
             (len + padding) - sizeof(uint32_t)) != crc) {
 #ifdef DEBUG_CRYPTO
-        ssh_print_hexa("crc32 on",buffer_get_rest(session->in_buffer),
+        ssh_print_hexa("crc32 on",ssh_buffer_get_rest(session->in_buffer),
             len + padding - sizeof(uint32_t));
 #endif
         SSH_LOG(SSH_LOG_RARE, "Invalid crc32");
         ssh_set_error(session, SSH_FATAL,
             "Invalid crc32: expected %.8x, got %.8x",
             crc,
-            ssh_crc32(buffer_get_rest(session->in_buffer),
+            ssh_crc32(ssh_buffer_get_rest(session->in_buffer),
               len + padding - sizeof(uint32_t)));
         goto error;
       }
       /* pass the padding */
-      buffer_pass_bytes(session->in_buffer, padding);
+      ssh_buffer_pass_bytes(session->in_buffer, padding);
       SSH_LOG(SSH_LOG_PACKET, "The packet is valid");
 
 /* TODO FIXME
@@ -270,7 +270,7 @@ int packet_send1(ssh_session session) {
     if (compress_buffer(session, session->out_buffer) < 0) {
       goto error;
     }
-    currentlen = buffer_get_len(session->out_buffer);
+    currentlen = ssh_buffer_get_len(session->out_buffer);
   }
 #endif
 */
@@ -286,17 +286,17 @@ int packet_send1(ssh_session session) {
       "%d bytes after comp + %d padding bytes = %d bytes packet",
       currentlen, padding, ntohl(finallen));
 
-  if (buffer_prepend_data(session->out_buffer, &padstring, padding) < 0) {
+  if (ssh_buffer_prepend_data(session->out_buffer, &padstring, padding) < 0) {
     goto error;
   }
-  if (buffer_prepend_data(session->out_buffer, &finallen, sizeof(uint32_t)) < 0) {
+  if (ssh_buffer_prepend_data(session->out_buffer, &finallen, sizeof(uint32_t)) < 0) {
     goto error;
   }
 
   crc = ssh_crc32((char *)ssh_buffer_get_begin(session->out_buffer) + sizeof(uint32_t),
       ssh_buffer_get_len(session->out_buffer) - sizeof(uint32_t));
 
-  if (buffer_add_u32(session->out_buffer, ntohl(crc)) < 0) {
+  if (ssh_buffer_add_u32(session->out_buffer, ntohl(crc)) < 0) {
     goto error;
   }
 
diff --git a/src/packet_cb.c b/src/packet_cb.c
index 4fe6402..8353b46 100644
--- a/src/packet_cb.c
+++ b/src/packet_cb.c
@@ -53,12 +53,12 @@ SSH_PACKET_CALLBACK(ssh_packet_disconnect_callback){
   (void)user;
   (void)type;
 
-  rc = buffer_get_u32(packet, &code);
+  rc = ssh_buffer_get_u32(packet, &code);
   if (rc != 0) {
     code = ntohl(code);
   }
 
-  error_s = buffer_get_ssh_string(packet);
+  error_s = ssh_buffer_get_ssh_string(packet);
   if (error_s != NULL) {
     error = ssh_string_to_char(error_s);
     ssh_string_free(error_s);
diff --git a/src/packet_crypt.c b/src/packet_crypt.c
index 914727e..c24a3e9 100644
--- a/src/packet_crypt.c
+++ b/src/packet_crypt.c
@@ -175,7 +175,7 @@ int packet_hmac_verify(ssh_session session, ssh_buffer buffer,
   seq = htonl(session->recv_seq);
 
   hmac_update(ctx, (unsigned char *) &seq, sizeof(uint32_t));
-  hmac_update(ctx, buffer_get_rest(buffer), buffer_get_rest_len(buffer));
+  hmac_update(ctx, ssh_buffer_get_rest(buffer), ssh_buffer_get_rest_len(buffer));
   hmac_final(ctx, hmacbuf, &len);
 
 #ifdef DEBUG_CRYPTO
diff --git a/src/pcap.c b/src/pcap.c
index 134bdf1..4efb052 100644
--- a/src/pcap.c
+++ b/src/pcap.c
@@ -144,8 +144,8 @@ static int ssh_pcap_file_write(ssh_pcap_file pcap, ssh_buffer packet){
 	uint32_t len;
 	if(pcap == NULL || pcap->output==NULL)
 		return SSH_ERROR;
-	len=buffer_get_rest_len(packet);
-	err=fwrite(buffer_get_rest(packet),len,1,pcap->output);
+	len=ssh_buffer_get_rest_len(packet);
+	err=fwrite(ssh_buffer_get_rest(packet),len,1,pcap->output);
 	if(err<0)
 		return SSH_ERROR;
 	else
@@ -163,23 +163,23 @@ int ssh_pcap_file_write_packet(ssh_pcap_file pcap, ssh_buffer packet, uint32_t o
 	if(header == NULL)
 		return SSH_ERROR;
 	gettimeofday(&now,NULL);
-    err = buffer_add_u32(header,htonl(now.tv_sec));
+    err = ssh_buffer_add_u32(header,htonl(now.tv_sec));
     if (err < 0) {
         goto error;
     }
-    err = buffer_add_u32(header,htonl(now.tv_usec));
+    err = ssh_buffer_add_u32(header,htonl(now.tv_usec));
     if (err < 0) {
         goto error;
     }
-    err = buffer_add_u32(header,htonl(buffer_get_rest_len(packet)));
+    err = ssh_buffer_add_u32(header,htonl(ssh_buffer_get_rest_len(packet)));
     if (err < 0) {
         goto error;
     }
-    err = buffer_add_u32(header,htonl(original_len));
+    err = ssh_buffer_add_u32(header,htonl(original_len));
     if (err < 0) {
         goto error;
     }
-    err = buffer_add_buffer(header,packet);
+    err = ssh_buffer_add_buffer(header,packet);
     if (err < 0) {
         goto error;
     }
@@ -207,35 +207,35 @@ int ssh_pcap_file_open(ssh_pcap_file pcap, const char *filename){
 	header=ssh_buffer_new();
 	if(header==NULL)
 		return SSH_ERROR;
-    err = buffer_add_u32(header,htonl(PCAP_MAGIC));
+    err = ssh_buffer_add_u32(header,htonl(PCAP_MAGIC));
     if (err < 0) {
         goto error;
     }
-    err = buffer_add_u16(header,htons(PCAP_VERSION_MAJOR));
+    err = ssh_buffer_add_u16(header,htons(PCAP_VERSION_MAJOR));
     if (err < 0) {
         goto error;
     }
-    err = buffer_add_u16(header,htons(PCAP_VERSION_MINOR));
+    err = ssh_buffer_add_u16(header,htons(PCAP_VERSION_MINOR));
     if (err < 0) {
         goto error;
     }
 	/* currently hardcode GMT to 0 */
-    err = buffer_add_u32(header,htonl(0));
+    err = ssh_buffer_add_u32(header,htonl(0));
     if (err < 0) {
         goto error;
     }
 	/* accuracy */
-    err = buffer_add_u32(header,htonl(0));
+    err = ssh_buffer_add_u32(header,htonl(0));
     if (err < 0) {
         goto error;
     }
 	/* size of the biggest packet */
-    err = buffer_add_u32(header,htonl(MAX_PACKET_LEN));
+    err = ssh_buffer_add_u32(header,htonl(MAX_PACKET_LEN));
     if (err < 0) {
         goto error;
     }
 	/* we will write sort-of IP */
-    err = buffer_add_u32(header,htonl(DLT_RAW));
+    err = ssh_buffer_add_u32(header,htonl(DLT_RAW));
     if (err < 0) {
         goto error;
     }
@@ -371,40 +371,40 @@ int ssh_pcap_context_write(ssh_pcap_context ctx,enum ssh_pcap_direction directio
 	    goto error;
 	}
 	if(direction==SSH_PCAP_DIR_OUT){
-        rc = buffer_add_u32(ip,ctx->ipsource);
+        rc = ssh_buffer_add_u32(ip,ctx->ipsource);
         if (rc < 0) {
             goto error;
         }
-        rc = buffer_add_u32(ip,ctx->ipdest);
+        rc = ssh_buffer_add_u32(ip,ctx->ipdest);
         if (rc < 0) {
             goto error;
         }
 	} else {
-        rc = buffer_add_u32(ip,ctx->ipdest);
+        rc = ssh_buffer_add_u32(ip,ctx->ipdest);
         if (rc < 0) {
             goto error;
         }
-        rc = buffer_add_u32(ip,ctx->ipsource);
+        rc = ssh_buffer_add_u32(ip,ctx->ipsource);
         if (rc < 0) {
             goto error;
         }
 	}
 	/* TCP */
 	if(direction==SSH_PCAP_DIR_OUT){
-	    rc = buffer_add_u16(ip,ctx->portsource);
+	    rc = ssh_buffer_add_u16(ip,ctx->portsource);
         if (rc < 0) {
             goto error;
         }
-	    rc = buffer_add_u16(ip,ctx->portdest);
+	    rc = ssh_buffer_add_u16(ip,ctx->portdest);
         if (rc < 0) {
             goto error;
         }
 	} else {
-	    rc = buffer_add_u16(ip,ctx->portdest);
+	    rc = ssh_buffer_add_u16(ip,ctx->portdest);
         if (rc < 0) {
             goto error;
         }
-	    rc = buffer_add_u16(ip,ctx->portsource);
+	    rc = ssh_buffer_add_u16(ip,ctx->portsource);
         if (rc < 0) {
             goto error;
         }
diff --git a/src/pki.c b/src/pki.c
index 22143cb..12e84e2 100644
--- a/src/pki.c
+++ b/src/pki.c
@@ -671,18 +671,18 @@ static int pki_import_pubkey_buffer(ssh_buffer buffer,
                 ssh_string g;
                 ssh_string pubkey;
 
-                p = buffer_get_ssh_string(buffer);
+                p = ssh_buffer_get_ssh_string(buffer);
                 if (p == NULL) {
                     goto fail;
                 }
-                q = buffer_get_ssh_string(buffer);
+                q = ssh_buffer_get_ssh_string(buffer);
                 if (q == NULL) {
                     ssh_string_burn(p);
                     ssh_string_free(p);
 
                     goto fail;
                 }
-                g = buffer_get_ssh_string(buffer);
+                g = ssh_buffer_get_ssh_string(buffer);
                 if (g == NULL) {
                     ssh_string_burn(p);
                     ssh_string_free(p);
@@ -691,7 +691,7 @@ static int pki_import_pubkey_buffer(ssh_buffer buffer,
 
                     goto fail;
                 }
-                pubkey = buffer_get_ssh_string(buffer);
+                pubkey = ssh_buffer_get_ssh_string(buffer);
                 if (pubkey == NULL) {
                     ssh_string_burn(p);
                     ssh_string_free(p);
@@ -728,11 +728,11 @@ static int pki_import_pubkey_buffer(ssh_buffer buffer,
                 ssh_string e;
                 ssh_string n;
 
-                e = buffer_get_ssh_string(buffer);
+                e = ssh_buffer_get_ssh_string(buffer);
                 if (e == NULL) {
                     goto fail;
                 }
-                n = buffer_get_ssh_string(buffer);
+                n = ssh_buffer_get_ssh_string(buffer);
                 if (n == NULL) {
                     ssh_string_burn(e);
                     ssh_string_free(e);
@@ -761,7 +761,7 @@ static int pki_import_pubkey_buffer(ssh_buffer buffer,
                 ssh_string i;
                 int nid;
 
-                i = buffer_get_ssh_string(buffer);
+                i = ssh_buffer_get_ssh_string(buffer);
                 if (i == NULL) {
                     goto fail;
                 }
@@ -772,7 +772,7 @@ static int pki_import_pubkey_buffer(ssh_buffer buffer,
                 }
 
 
-                e = buffer_get_ssh_string(buffer);
+                e = ssh_buffer_get_ssh_string(buffer);
                 if (e == NULL) {
                     goto fail;
                 }
@@ -791,7 +791,7 @@ static int pki_import_pubkey_buffer(ssh_buffer buffer,
 #endif
         case SSH_KEYTYPE_ED25519:
         {
-            ssh_string pubkey = buffer_get_ssh_string(buffer);
+            ssh_string pubkey = ssh_buffer_get_ssh_string(buffer);
             if (ssh_string_len(pubkey) != ED25519_PK_LEN) {
                 SSH_LOG(SSH_LOG_WARN, "Invalid public key length");
                 ssh_string_burn(pubkey);
@@ -858,13 +858,13 @@ static int pki_import_cert_buffer(ssh_buffer buffer,
     if (type_s == NULL) {
         goto fail;
     }
-    rc = buffer_add_ssh_string(cert, type_s);
+    rc = ssh_buffer_add_ssh_string(cert, type_s);
     ssh_string_free(type_s);
     if (rc != 0) {
         goto fail;
     }
 
-    rc = buffer_add_buffer(cert, buffer);
+    rc = ssh_buffer_add_buffer(cert, buffer);
     if (rc != 0) {
         goto fail;
     }
@@ -909,7 +909,7 @@ int ssh_pki_import_pubkey_base64(const char *b64_key,
         return SSH_ERROR;
     }
 
-    type_s = buffer_get_ssh_string(buffer);
+    type_s = ssh_buffer_get_ssh_string(buffer);
     if (type_s == NULL) {
         ssh_buffer_free(buffer);
         return SSH_ERROR;
@@ -966,7 +966,7 @@ int ssh_pki_import_pubkey_blob(const ssh_string key_blob,
         goto fail;
     }
 
-    type_s = buffer_get_ssh_string(buffer);
+    type_s = ssh_buffer_get_ssh_string(buffer);
     if (type_s == NULL) {
         SSH_LOG(SSH_LOG_WARN, "Out of memory!");
         goto fail;
@@ -1406,7 +1406,7 @@ int ssh_pki_copy_cert_to_privkey(const ssh_key certkey, ssh_key privkey) {
       return SSH_ERROR;
   }
 
-  rc = buffer_add_buffer(cert_buffer, certkey->cert);
+  rc = ssh_buffer_add_buffer(cert_buffer, certkey->cert);
   if (rc != 0) {
       ssh_buffer_free(cert_buffer);
       return SSH_ERROR;
@@ -1447,7 +1447,7 @@ int ssh_pki_export_signature_blob(const ssh_signature sig,
         return SSH_ERROR;
     }
 
-    rc = buffer_add_ssh_string(buf, str);
+    rc = ssh_buffer_add_ssh_string(buf, str);
     ssh_string_free(str);
     if (rc < 0) {
         ssh_buffer_free(buf);
@@ -1460,20 +1460,20 @@ int ssh_pki_export_signature_blob(const ssh_signature sig,
         return SSH_ERROR;
     }
 
-    rc = buffer_add_ssh_string(buf, str);
+    rc = ssh_buffer_add_ssh_string(buf, str);
     ssh_string_free(str);
     if (rc < 0) {
         ssh_buffer_free(buf);
         return SSH_ERROR;
     }
 
-    str = ssh_string_new(buffer_get_rest_len(buf));
+    str = ssh_string_new(ssh_buffer_get_rest_len(buf));
     if (str == NULL) {
         ssh_buffer_free(buf);
         return SSH_ERROR;
     }
 
-    ssh_string_fill(str, buffer_get_rest(buf), buffer_get_rest_len(buf));
+    ssh_string_fill(str, ssh_buffer_get_rest(buf), ssh_buffer_get_rest_len(buf));
     ssh_buffer_free(buf);
 
     *sig_blob = str;
@@ -1508,7 +1508,7 @@ int ssh_pki_import_signature_blob(const ssh_string sig_blob,
         return SSH_ERROR;
     }
 
-    str = buffer_get_ssh_string(buf);
+    str = ssh_buffer_get_ssh_string(buf);
     if (str == NULL) {
         ssh_buffer_free(buf);
         return SSH_ERROR;
@@ -1517,7 +1517,7 @@ int ssh_pki_import_signature_blob(const ssh_string sig_blob,
     type = ssh_key_type_from_name(ssh_string_get_char(str));
     ssh_string_free(str);
 
-    str = buffer_get_ssh_string(buf);
+    str = ssh_buffer_get_ssh_string(buf);
     ssh_buffer_free(buf);
     if (str == NULL) {
         return SSH_ERROR;
@@ -1629,7 +1629,7 @@ ssh_string ssh_pki_do_sign(ssh_session session,
         }
 
         evp_update(ctx, session_id, ssh_string_len(session_id) + 4);
-        evp_update(ctx, buffer_get_rest(sigbuf), buffer_get_rest_len(sigbuf));
+        evp_update(ctx, ssh_buffer_get_rest(sigbuf), ssh_buffer_get_rest_len(sigbuf));
         evp_final(ctx, ehash, &elen);
 
 #ifdef DEBUG_CRYPTO
@@ -1651,7 +1651,7 @@ ssh_string ssh_pki_do_sign(ssh_session session,
         rc = ssh_buffer_pack(buf,
                              "SP",
                              session_id,
-                             buffer_get_rest_len(sigbuf), buffer_get_rest(sigbuf));
+                             ssh_buffer_get_rest_len(sigbuf), ssh_buffer_get_rest(sigbuf));
         if (rc != SSH_OK) {
             ssh_string_free(session_id);
             ssh_buffer_free(buf);
@@ -1673,7 +1673,7 @@ ssh_string ssh_pki_do_sign(ssh_session session,
         }
 
         sha1_update(ctx, session_id, ssh_string_len(session_id) + 4);
-        sha1_update(ctx, buffer_get_rest(sigbuf), buffer_get_rest_len(sigbuf));
+        sha1_update(ctx, ssh_buffer_get_rest(sigbuf), ssh_buffer_get_rest_len(sigbuf));
         sha1_final(hash, ctx);
 
 #ifdef DEBUG_CRYPTO
@@ -1725,7 +1725,7 @@ ssh_string ssh_pki_do_sign_agent(ssh_session session,
         return NULL;
     }
 
-    rc = buffer_add_ssh_string(sig_buf, session_id);
+    rc = ssh_buffer_add_ssh_string(sig_buf, session_id);
     if (rc < 0) {
         ssh_string_free(session_id);
         ssh_buffer_free(sig_buf);
@@ -1734,7 +1734,7 @@ ssh_string ssh_pki_do_sign_agent(ssh_session session,
     ssh_string_free(session_id);
 
     /* append out buffer */
-    if (buffer_add_buffer(sig_buf, buf) < 0) {
+    if (ssh_buffer_add_buffer(sig_buf, buf) < 0) {
         ssh_buffer_free(sig_buf);
         return NULL;
     }
diff --git a/src/pki_container_openssh.c b/src/pki_container_openssh.c
index 40b1156..1f2ed97 100644
--- a/src/pki_container_openssh.c
+++ b/src/pki_container_openssh.c
@@ -384,11 +384,11 @@ ssh_key ssh_pki_openssh_privkey_import(const char *text_key,
     if (rc == SSH_ERROR){
         goto error;
     }
-    comment = buffer_get_ssh_string(privkey_buffer);
+    comment = ssh_buffer_get_ssh_string(privkey_buffer);
     SAFE_FREE(comment);
     /* verify that the remaining data is correct padding */
-    for (i=1; buffer_get_rest_len(privkey_buffer) > 0; ++i){
-        buffer_get_u8(privkey_buffer, &padding);
+    for (i=1; ssh_buffer_get_rest_len(privkey_buffer) > 0; ++i){
+        ssh_buffer_get_u8(privkey_buffer, &padding);
         if (padding != i){
             ssh_key_free(key);
             key = NULL;
@@ -493,7 +493,7 @@ static int pki_private_key_encrypt(ssh_buffer privkey_buffer,
         return SSH_ERROR;
     }
     while (ssh_buffer_get_len(privkey_buffer) % cipher.blocksize != 0) {
-        rc = buffer_add_u8(privkey_buffer, padding);
+        rc = ssh_buffer_add_u8(privkey_buffer, padding);
         if (rc < 0) {
             return SSH_ERROR;
         }
@@ -704,7 +704,7 @@ ssh_string ssh_pki_openssh_privkey_export(const ssh_key privkey,
     }
 
     str_len = ssh_buffer_get_len(buffer);
-    len = buffer_get_data(buffer, ssh_string_data(str), str_len);
+    len = ssh_buffer_get_data(buffer, ssh_string_data(str), str_len);
     if (str_len != len) {
         ssh_string_free(str);
         str = NULL;
diff --git a/src/pki_crypto.c b/src/pki_crypto.c
index 7a3caba..dde6230 100644
--- a/src/pki_crypto.c
+++ b/src/pki_crypto.c
@@ -1034,12 +1034,12 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
             goto fail;
     }
 
-    str = ssh_string_new(buffer_get_rest_len(buffer));
+    str = ssh_string_new(ssh_buffer_get_rest_len(buffer));
     if (str == NULL) {
         goto fail;
     }
 
-    rc = ssh_string_fill(str, buffer_get_rest(buffer), buffer_get_rest_len(buffer));
+    rc = ssh_string_fill(str, ssh_buffer_get_rest(buffer), ssh_buffer_get_rest_len(buffer));
     if (rc < 0) {
         goto fail;
     }
@@ -1238,13 +1238,13 @@ ssh_string pki_signature_to_blob(const ssh_signature sig)
                 return NULL;
             }
 
-            sig_blob = ssh_string_new(buffer_get_rest_len(b));
+            sig_blob = ssh_string_new(ssh_buffer_get_rest_len(b));
             if (sig_blob == NULL) {
                 ssh_buffer_free(b);
                 return NULL;
             }
 
-            ssh_string_fill(sig_blob, buffer_get_rest(b), buffer_get_rest_len(b));
+            ssh_string_fill(sig_blob, ssh_buffer_get_rest(b), ssh_buffer_get_rest_len(b));
             ssh_buffer_free(b);
             break;
         }
@@ -1449,7 +1449,7 @@ ssh_signature pki_signature_from_blob(const ssh_key pubkey,
                 }
 
                 s = buffer_get_ssh_string(b);
-                rlen = buffer_get_rest_len(b);
+                rlen = ssh_buffer_get_rest_len(b);
                 ssh_buffer_free(b);
                 if (s == NULL) {
                     ssh_signature_free(sig);
diff --git a/src/pki_gcrypt.c b/src/pki_gcrypt.c
index 0def32c..0b65ccd 100644
--- a/src/pki_gcrypt.c
+++ b/src/pki_gcrypt.c
@@ -92,7 +92,7 @@ static uint32_t asn1_get_len(ssh_buffer buffer) {
   uint32_t len;
   unsigned char tmp[4];
 
-  if (buffer_get_data(buffer,tmp,1) == 0) {
+  if (ssh_buffer_get_data(buffer,tmp,1) == 0) {
     return 0;
   }
 
@@ -101,7 +101,7 @@ static uint32_t asn1_get_len(ssh_buffer buffer) {
     if (len > 4) {
       return 0; /* Length doesn't fit in u32. Can this really happen? */
     }
-    if (buffer_get_data(buffer,tmp,len) == 0) {
+    if (ssh_buffer_get_data(buffer,tmp,len) == 0) {
       return 0;
     }
     len = char_to_u32(tmp, len);
@@ -117,7 +117,7 @@ static ssh_string asn1_get_int(ssh_buffer buffer) {
   unsigned char type;
   uint32_t size;
 
-  if (buffer_get_data(buffer, &type, 1) == 0 || type != ASN1_INTEGER) {
+  if (ssh_buffer_get_data(buffer, &type, 1) == 0 || type != ASN1_INTEGER) {
     return NULL;
   }
   size = asn1_get_len(buffer);
@@ -130,7 +130,7 @@ static ssh_string asn1_get_int(ssh_buffer buffer) {
     return NULL;
   }
 
-  if (buffer_get_data(buffer, ssh_string_data(str), size) == 0) {
+  if (ssh_buffer_get_data(buffer, ssh_string_data(str), size) == 0) {
     ssh_string_free(str);
     return NULL;
   }
@@ -145,7 +145,7 @@ static int asn1_check_sequence(ssh_buffer buffer) {
   uint32_t size;
   uint32_t padding;
 
-  if (buffer_get_data(buffer, &tmp, 1) == 0 || tmp != ASN1_SEQUENCE) {
+  if (ssh_buffer_get_data(buffer, &tmp, 1) == 0 || tmp != ASN1_SEQUENCE) {
     return 0;
   }
 
@@ -1168,7 +1168,7 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
         return NULL;
     }
 
-    rc = buffer_add_ssh_string(buffer, type_s);
+    rc = ssh_buffer_add_ssh_string(buffer, type_s);
     ssh_string_free(type_s);
     if (rc < 0) {
         ssh_buffer_free(buffer);
@@ -1224,16 +1224,16 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
             }
             ssh_string_fill(n, (char *) tmp, size);
 
-            if (buffer_add_ssh_string(buffer, p) < 0) {
+            if (ssh_buffer_add_ssh_string(buffer, p) < 0) {
                 goto fail;
             }
-            if (buffer_add_ssh_string(buffer, q) < 0) {
+            if (ssh_buffer_add_ssh_string(buffer, q) < 0) {
                 goto fail;
             }
-            if (buffer_add_ssh_string(buffer, g) < 0) {
+            if (ssh_buffer_add_ssh_string(buffer, g) < 0) {
                 goto fail;
             }
-            if (buffer_add_ssh_string(buffer, n) < 0) {
+            if (ssh_buffer_add_ssh_string(buffer, n) < 0) {
                 goto fail;
             }
 
@@ -1273,10 +1273,10 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
             ssh_string_fill(n, (char *) tmp, size);
             gcry_sexp_release(sexp);
 
-            if (buffer_add_ssh_string(buffer, e) < 0) {
+            if (ssh_buffer_add_ssh_string(buffer, e) < 0) {
                 goto fail;
             }
-            if (buffer_add_ssh_string(buffer, n) < 0) {
+            if (ssh_buffer_add_ssh_string(buffer, n) < 0) {
                 goto fail;
             }
 
@@ -1298,12 +1298,12 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
             goto fail;
     }
 
-    str = ssh_string_new(buffer_get_rest_len(buffer));
+    str = ssh_string_new(ssh_buffer_get_rest_len(buffer));
     if (str == NULL) {
         goto fail;
     }
 
-    rc = ssh_string_fill(str, buffer_get_rest(buffer), buffer_get_rest_len(buffer));
+    rc = ssh_string_fill(str, ssh_buffer_get_rest(buffer), ssh_buffer_get_rest_len(buffer));
     if (rc < 0) {
         goto fail;
     }
diff --git a/src/server.c b/src/server.c
index a078e7a..6679245 100644
--- a/src/server.c
+++ b/src/server.c
@@ -155,7 +155,7 @@ static int server_set_kex(ssh_session session) {
  **/
 static int ssh_server_kexdh_init(ssh_session session, ssh_buffer packet){
     ssh_string e;
-    e = buffer_get_ssh_string(packet);
+    e = ssh_buffer_get_ssh_string(packet);
     if (e == NULL) {
       ssh_set_error(session, SSH_FATAL, "No e number in client request");
       return -1;
@@ -325,7 +325,7 @@ static int dh_handshake_server(ssh_session session) {
     return -1;
   }
 
-  if (buffer_add_u8(session->out_buffer, SSH2_MSG_NEWKEYS) < 0) {
+  if (ssh_buffer_add_u8(session->out_buffer, SSH2_MSG_NEWKEYS) < 0) {
     ssh_buffer_reinit(session->out_buffer);
     return -1;
   }
@@ -738,7 +738,7 @@ int ssh_message_global_request_reply_success(ssh_message msg, uint16_t bound_por
     SSH_LOG(SSH_LOG_FUNCTIONS, "Accepting a global request");
 
     if (msg->global_request.want_reply) {
-        if (buffer_add_u8(msg->session->out_buffer
+        if (ssh_buffer_add_u8(msg->session->out_buffer
                     , SSH2_MSG_REQUEST_SUCCESS) < 0) {
             goto error;
         }
@@ -770,7 +770,7 @@ static int ssh_message_global_request_reply_default(ssh_message msg) {
     SSH_LOG(SSH_LOG_FUNCTIONS, "Refusing a global request");
 
     if (msg->global_request.want_reply) {
-        if (buffer_add_u8(msg->session->out_buffer
+        if (ssh_buffer_add_u8(msg->session->out_buffer
                     , SSH2_MSG_REQUEST_FAILURE) < 0) {
             goto error;
         }
@@ -994,7 +994,7 @@ int ssh_auth_reply_success(ssh_session session, int partial) {
   session->session_state = SSH_SESSION_STATE_AUTHENTICATED;
   session->flags |= SSH_SESSION_FLAG_AUTHENTICATED;
 
-  if (buffer_add_u8(session->out_buffer,SSH2_MSG_USERAUTH_SUCCESS) < 0) {
+  if (ssh_buffer_add_u8(session->out_buffer,SSH2_MSG_USERAUTH_SUCCESS) < 0) {
     return SSH_ERROR;
   }
 
diff --git a/src/sftp.c b/src/sftp.c
index 39d0819..c1dbda1 100644
--- a/src/sftp.c
+++ b/src/sftp.c
@@ -210,7 +210,7 @@ int sftp_server_init(sftp_session sftp){
 
   SSH_LOG(SSH_LOG_PACKET, "Received SSH_FXP_INIT");
 
-  buffer_get_u32(packet->payload, &version);
+  ssh_buffer_get_u32(packet->payload, &version);
   version = ntohl(version);
   SSH_LOG(SSH_LOG_PACKET, "Client version: %d", version);
   sftp->client_version = version;
@@ -223,7 +223,7 @@ int sftp_server_init(sftp_session sftp){
     return -1;
   }
 
-  if (buffer_add_u32(reply, ntohl(LIBSFTP_VERSION)) < 0) {
+  if (ssh_buffer_add_u32(reply, ntohl(LIBSFTP_VERSION)) < 0) {
     ssh_set_error_oom(session);
     ssh_buffer_free(reply);
     return -1;
@@ -277,25 +277,25 @@ void sftp_free(sftp_session sftp){
 int sftp_packet_write(sftp_session sftp, uint8_t type, ssh_buffer payload){
   int size;
 
-  if (buffer_prepend_data(payload, &type, sizeof(uint8_t)) < 0) {
+  if (ssh_buffer_prepend_data(payload, &type, sizeof(uint8_t)) < 0) {
     ssh_set_error_oom(sftp->session);
     return -1;
   }
 
-  size = htonl(buffer_get_rest_len(payload));
-  if (buffer_prepend_data(payload, &size, sizeof(uint32_t)) < 0) {
+  size = htonl(ssh_buffer_get_rest_len(payload));
+  if (ssh_buffer_prepend_data(payload, &size, sizeof(uint32_t)) < 0) {
     ssh_set_error_oom(sftp->session);
     return -1;
   }
 
-  size = ssh_channel_write(sftp->channel, buffer_get_rest(payload),
-      buffer_get_rest_len(payload));
+  size = ssh_channel_write(sftp->channel, ssh_buffer_get_rest(payload),
+      ssh_buffer_get_rest_len(payload));
   if (size < 0) {
     return -1;
-  } else if((uint32_t) size != buffer_get_rest_len(payload)) {
+  } else if((uint32_t) size != ssh_buffer_get_rest_len(payload)) {
     SSH_LOG(SSH_LOG_PACKET,
         "Had to write %d bytes, wrote only %d",
-        buffer_get_rest_len(payload),
+        ssh_buffer_get_rest_len(payload),
         size);
   }
 
@@ -335,7 +335,7 @@ sftp_packet sftp_packet_read(sftp_session sftp) {
     }
   } while (r<4);
   ssh_buffer_add_data(packet->payload, buffer, r);
-  if (buffer_get_u32(packet->payload, &tmp) != sizeof(uint32_t)) {
+  if (ssh_buffer_get_u32(packet->payload, &tmp) != sizeof(uint32_t)) {
     ssh_set_error(sftp->session, SSH_FATAL, "Short sftp packet!");
     ssh_buffer_free(packet->payload);
     SAFE_FREE(packet);
@@ -350,7 +350,7 @@ sftp_packet sftp_packet_read(sftp_session sftp) {
     return NULL;
   }
   ssh_buffer_add_data(packet->payload, buffer, r);
-  buffer_get_u8(packet->payload, &packet->type);
+  ssh_buffer_get_u8(packet->payload, &packet->type);
 
   size = ntohl(tmp);
   if (size == 0) {
@@ -460,8 +460,8 @@ static sftp_message sftp_get_message(sftp_packet packet) {
       msg->id,
       msg->packet_type);
 
-  if (ssh_buffer_add_data(msg->payload, buffer_get_rest(packet->payload),
-        buffer_get_rest_len(packet->payload)) < 0) {
+  if (ssh_buffer_add_data(msg->payload, ssh_buffer_get_rest(packet->payload),
+        ssh_buffer_get_rest_len(packet->payload)) < 0) {
     ssh_set_error_oom(sftp->session);
     sftp_message_free(msg);
     return NULL;
@@ -832,7 +832,7 @@ static sftp_file parse_handle_msg(sftp_message msg){
   }
   ZERO_STRUCTP(file);
 
-  file->handle = buffer_get_ssh_string(msg->payload);
+  file->handle = ssh_buffer_get_ssh_string(msg->payload);
   if (file->handle == NULL) {
     ssh_set_error(msg->sftp->session, SSH_FATAL,
         "Invalid SSH_FXP_HANDLE message");
@@ -871,8 +871,8 @@ sftp_dir sftp_opendir(sftp_session sftp, const char *path){
   }
 
   id = sftp_get_new_id(sftp);
-  if (buffer_add_u32(payload, htonl(id)) < 0 ||
-      buffer_add_ssh_string(payload, path_s) < 0) {
+  if (ssh_buffer_add_u32(payload, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(payload, path_s) < 0) {
     ssh_set_error_oom(sftp->session);
     ssh_buffer_free(payload);
     ssh_string_free(path_s);
@@ -963,7 +963,7 @@ static sftp_attributes sftp_parse_attr_4(sftp_session sftp, ssh_buffer buf,
 
   /* This isn't really a loop, but it is like a try..catch.. */
   do {
-    if (buffer_get_u32(buf, &flags) != 4) {
+    if (ssh_buffer_get_u32(buf, &flags) != 4) {
       break;
     }
 
@@ -971,14 +971,14 @@ static sftp_attributes sftp_parse_attr_4(sftp_session sftp, ssh_buffer buf,
     attr->flags = flags;
 
     if (flags & SSH_FILEXFER_ATTR_SIZE) {
-      if (buffer_get_u64(buf, &attr->size) != 8) {
+      if (ssh_buffer_get_u64(buf, &attr->size) != 8) {
         break;
       }
       attr->size = ntohll(attr->size);
     }
 
     if (flags & SSH_FILEXFER_ATTR_OWNERGROUP) {
-      owner = buffer_get_ssh_string(buf);
+      owner = ssh_buffer_get_ssh_string(buf);
       if (owner == NULL) {
         break;
       }
@@ -988,7 +988,7 @@ static sftp_attributes sftp_parse_attr_4(sftp_session sftp, ssh_buffer buf,
         break;
       }
 
-      group = buffer_get_ssh_string(buf);
+      group = ssh_buffer_get_ssh_string(buf);
       if (group == NULL) {
         break;
       }
@@ -1000,7 +1000,7 @@ static sftp_attributes sftp_parse_attr_4(sftp_session sftp, ssh_buffer buf,
     }
 
     if (flags & SSH_FILEXFER_ATTR_PERMISSIONS) {
-      if (buffer_get_u32(buf, &attr->permissions) != 4) {
+      if (ssh_buffer_get_u32(buf, &attr->permissions) != 4) {
         break;
       }
       attr->permissions = ntohl(attr->permissions);
@@ -1029,62 +1029,62 @@ static sftp_attributes sftp_parse_attr_4(sftp_session sftp, ssh_buffer buf,
     }
 
     if (flags & SSH_FILEXFER_ATTR_ACCESSTIME) {
-      if (buffer_get_u64(buf, &attr->atime64) != 8) {
+      if (ssh_buffer_get_u64(buf, &attr->atime64) != 8) {
         break;
       }
       attr->atime64 = ntohll(attr->atime64);
     }
 
     if (flags & SSH_FILEXFER_ATTR_SUBSECOND_TIMES) {
-      if (buffer_get_u32(buf, &attr->atime_nseconds) != 4) {
+      if (ssh_buffer_get_u32(buf, &attr->atime_nseconds) != 4) {
         break;
       }
       attr->atime_nseconds = ntohl(attr->atime_nseconds);
     }
 
     if (flags & SSH_FILEXFER_ATTR_CREATETIME) {
-      if (buffer_get_u64(buf, &attr->createtime) != 8) {
+      if (ssh_buffer_get_u64(buf, &attr->createtime) != 8) {
         break;
       }
       attr->createtime = ntohll(attr->createtime);
     }
 
     if (flags & SSH_FILEXFER_ATTR_SUBSECOND_TIMES) {
-      if (buffer_get_u32(buf, &attr->createtime_nseconds) != 4) {
+      if (ssh_buffer_get_u32(buf, &attr->createtime_nseconds) != 4) {
         break;
       }
       attr->createtime_nseconds = ntohl(attr->createtime_nseconds);
     }
 
     if (flags & SSH_FILEXFER_ATTR_MODIFYTIME) {
-      if (buffer_get_u64(buf, &attr->mtime64) != 8) {
+      if (ssh_buffer_get_u64(buf, &attr->mtime64) != 8) {
         break;
       }
       attr->mtime64 = ntohll(attr->mtime64);
     }
 
     if (flags & SSH_FILEXFER_ATTR_SUBSECOND_TIMES) {
-      if (buffer_get_u32(buf, &attr->mtime_nseconds) != 4) {
+      if (ssh_buffer_get_u32(buf, &attr->mtime_nseconds) != 4) {
         break;
       }
       attr->mtime_nseconds = ntohl(attr->mtime_nseconds);
     }
 
     if (flags & SSH_FILEXFER_ATTR_ACL) {
-      if ((attr->acl = buffer_get_ssh_string(buf)) == NULL) {
+      if ((attr->acl = ssh_buffer_get_ssh_string(buf)) == NULL) {
         break;
       }
     }
 
     if (flags & SSH_FILEXFER_ATTR_EXTENDED) {
-      if (buffer_get_u32(buf,&attr->extended_count) != 4) {
+      if (ssh_buffer_get_u32(buf,&attr->extended_count) != 4) {
         break;
       }
       attr->extended_count = ntohl(attr->extended_count);
 
       while(attr->extended_count &&
-          (attr->extended_type = buffer_get_ssh_string(buf)) &&
-          (attr->extended_data = buffer_get_ssh_string(buf))){
+          (attr->extended_type = ssh_buffer_get_ssh_string(buf)) &&
+          (attr->extended_data = ssh_buffer_get_ssh_string(buf))){
         attr->extended_count--;
       }
 
@@ -1403,8 +1403,8 @@ sftp_attributes sftp_readdir(sftp_session sftp, sftp_dir dir) {
     }
 
     id = sftp_get_new_id(sftp);
-    if (buffer_add_u32(payload, htonl(id)) < 0 ||
-        buffer_add_ssh_string(payload, dir->handle) < 0) {
+    if (ssh_buffer_add_u32(payload, htonl(id)) < 0 ||
+        ssh_buffer_add_ssh_string(payload, dir->handle) < 0) {
       ssh_set_error_oom(sftp->session);
       ssh_buffer_free(payload);
       return NULL;
@@ -1450,7 +1450,7 @@ sftp_attributes sftp_readdir(sftp_session sftp, sftp_dir dir) {
 
         return NULL;
       case SSH_FXP_NAME:
-        buffer_get_u32(msg->payload, &dir->count);
+        ssh_buffer_get_u32(msg->payload, &dir->count);
         dir->count = ntohl(dir->count);
         dir->buffer = msg->payload;
         msg->payload = NULL;
@@ -1527,8 +1527,8 @@ static int sftp_handle_close(sftp_session sftp, ssh_string handle) {
   }
 
   id = sftp_get_new_id(sftp);
-  if (buffer_add_u32(buffer, htonl(id)) < 0 ||
-      buffer_add_ssh_string(buffer, handle) < 0) {
+  if (ssh_buffer_add_u32(buffer, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, handle) < 0) {
     ssh_set_error_oom(sftp->session);
     ssh_buffer_free(buffer);
     return -1;
@@ -1650,8 +1650,8 @@ sftp_file sftp_open(sftp_session sftp, const char *file, int flags,
     sftp_flags |= SSH_FXF_EXCL;
   SSH_LOG(SSH_LOG_PACKET,"Opening file %s with sftp flags %x",file,sftp_flags);
   id = sftp_get_new_id(sftp);
-  if (buffer_add_u32(buffer, htonl(id)) < 0 ||
-      buffer_add_ssh_string(buffer, filename) < 0) {
+  if (ssh_buffer_add_u32(buffer, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, filename) < 0) {
     ssh_set_error_oom(sftp->session);
     ssh_buffer_free(buffer);
     ssh_string_free(filename);
@@ -1659,7 +1659,7 @@ sftp_file sftp_open(sftp_session sftp, const char *file, int flags,
   }
   ssh_string_free(filename);
 
-  if (buffer_add_u32(buffer, htonl(sftp_flags)) < 0 ||
+  if (ssh_buffer_add_u32(buffer, htonl(sftp_flags)) < 0 ||
       buffer_add_attributes(buffer, &attr) < 0) {
     ssh_set_error_oom(sftp->session);
     ssh_buffer_free(buffer);
@@ -1787,7 +1787,7 @@ ssize_t sftp_read(sftp_file handle, void *buf, size_t count) {
       status_msg_free(status);
       return -1;
     case SSH_FXP_DATA:
-      datastring = buffer_get_ssh_string(msg->payload);
+      datastring = ssh_buffer_get_ssh_string(msg->payload);
       sftp_message_free(msg);
       if (datastring == NULL) {
         ssh_set_error(sftp->session, SSH_FATAL,
@@ -1908,7 +1908,7 @@ int sftp_async_read(sftp_file file, void *data, uint32_t size, uint32_t id){
       status_msg_free(status);
       return err;
     case SSH_FXP_DATA:
-      datastring = buffer_get_ssh_string(msg->payload);
+      datastring = ssh_buffer_get_ssh_string(msg->payload);
       sftp_message_free(msg);
       if (datastring == NULL) {
         ssh_set_error(sftp->session, SSH_FATAL,
@@ -1968,7 +1968,7 @@ ssize_t sftp_write(sftp_file file, const void *buf, size_t count) {
     ssh_buffer_free(buffer);
     return -1;
   }
-  packetlen=buffer_get_rest_len(buffer);
+  packetlen=ssh_buffer_get_rest_len(buffer);
   len = sftp_packet_write(file->sftp, SSH_FXP_WRITE, buffer);
   ssh_buffer_free(buffer);
   if (len < 0) {
@@ -2223,8 +2223,8 @@ int sftp_mkdir(sftp_session sftp, const char *directory, mode_t mode) {
   attr.flags = SSH_FILEXFER_ATTR_PERMISSIONS;
 
   id = sftp_get_new_id(sftp);
-  if (buffer_add_u32(buffer, htonl(id)) < 0 ||
-      buffer_add_ssh_string(buffer, path) < 0 ||
+  if (ssh_buffer_add_u32(buffer, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, path) < 0 ||
       buffer_add_attributes(buffer, &attr) < 0 ||
       sftp_packet_write(sftp, SSH_FXP_MKDIR, buffer) < 0) {
     ssh_buffer_free(buffer);
@@ -2317,7 +2317,7 @@ int sftp_rename(sftp_session sftp, const char *original, const char *newname) {
   if (sftp->version >= 4){
       /* POSIX rename atomically replaces newpath, we should do the same
        * only available on >=v4 */
-      buffer_add_u32(buffer, SSH_FXF_RENAME_OVERWRITE);
+      ssh_buffer_add_u32(buffer, SSH_FXF_RENAME_OVERWRITE);
   }
 
   if (sftp_packet_write(sftp, SSH_FXP_RENAME, buffer) < 0) {
@@ -2389,8 +2389,8 @@ int sftp_setstat(sftp_session sftp, const char *file, sftp_attributes attr) {
   }
 
   id = sftp_get_new_id(sftp);
-  if (buffer_add_u32(buffer, htonl(id)) < 0 ||
-      buffer_add_ssh_string(buffer, path) < 0 ||
+  if (ssh_buffer_add_u32(buffer, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, path) < 0 ||
       buffer_add_attributes(buffer, attr) < 0) {
     ssh_set_error_oom(sftp->session);
     ssh_buffer_free(buffer);
@@ -2606,8 +2606,8 @@ char *sftp_readlink(sftp_session sftp, const char *path) {
   }
 
   id = sftp_get_new_id(sftp);
-  if (buffer_add_u32(buffer, htonl(id)) < 0 ||
-      buffer_add_ssh_string(buffer, path_s) < 0) {
+  if (ssh_buffer_add_u32(buffer, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, path_s) < 0) {
     ssh_set_error_oom(sftp->session);
     ssh_buffer_free(buffer);
     ssh_string_free(path_s);
@@ -2630,9 +2630,9 @@ char *sftp_readlink(sftp_session sftp, const char *path) {
 
   if (msg->packet_type == SSH_FXP_NAME) {
     /* we don't care about "count" */
-    buffer_get_u32(msg->payload, &ignored);
+    ssh_buffer_get_u32(msg->payload, &ignored);
     /* we only care about the file name string */
-    link_s = buffer_get_ssh_string(msg->payload);
+    link_s = ssh_buffer_get_ssh_string(msg->payload);
     sftp_message_free(msg);
     if (link_s == NULL) {
       /* TODO: what error to set here? */
@@ -2734,9 +2734,9 @@ sftp_statvfs_t sftp_statvfs(sftp_session sftp, const char *path) {
   }
 
   id = sftp_get_new_id(sftp);
-  if (buffer_add_u32(buffer, htonl(id)) < 0 ||
-      buffer_add_ssh_string(buffer, ext) < 0 ||
-      buffer_add_ssh_string(buffer, pathstr) < 0) {
+  if (ssh_buffer_add_u32(buffer, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, ext) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, pathstr) < 0) {
     ssh_set_error_oom(sftp->session);
     ssh_buffer_free(buffer);
     ssh_string_free(ext);
@@ -2813,9 +2813,9 @@ sftp_statvfs_t sftp_fstatvfs(sftp_file file) {
   }
 
   id = sftp_get_new_id(sftp);
-  if (buffer_add_u32(buffer, htonl(id)) < 0 ||
-      buffer_add_ssh_string(buffer, ext) < 0 ||
-      buffer_add_ssh_string(buffer, file->handle) < 0) {
+  if (ssh_buffer_add_u32(buffer, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, ext) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, file->handle) < 0) {
     ssh_set_error_oom(sftp->session);
     ssh_buffer_free(buffer);
     ssh_string_free(ext);
@@ -2902,8 +2902,8 @@ char *sftp_canonicalize_path(sftp_session sftp, const char *path) {
   }
 
   id = sftp_get_new_id(sftp);
-  if (buffer_add_u32(buffer, htonl(id)) < 0 ||
-      buffer_add_ssh_string(buffer, pathstr) < 0) {
+  if (ssh_buffer_add_u32(buffer, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, pathstr) < 0) {
     ssh_set_error_oom(sftp->session);
     ssh_buffer_free(buffer);
     ssh_string_free(pathstr);
@@ -2926,9 +2926,9 @@ char *sftp_canonicalize_path(sftp_session sftp, const char *path) {
 
   if (msg->packet_type == SSH_FXP_NAME) {
     /* we don't care about "count" */
-    buffer_get_u32(msg->payload, &ignored);
+    ssh_buffer_get_u32(msg->payload, &ignored);
     /* we only care about the file name string */
-    name = buffer_get_ssh_string(msg->payload);
+    name = ssh_buffer_get_ssh_string(msg->payload);
     sftp_message_free(msg);
     if (name == NULL) {
       /* TODO: error message? */
@@ -2980,8 +2980,8 @@ static sftp_attributes sftp_xstat(sftp_session sftp, const char *path,
   }
 
   id = sftp_get_new_id(sftp);
-  if (buffer_add_u32(buffer, htonl(id)) < 0 ||
-      buffer_add_ssh_string(buffer, pathstr) < 0) {
+  if (ssh_buffer_add_u32(buffer, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, pathstr) < 0) {
     ssh_set_error_oom(sftp->session);
     ssh_buffer_free(buffer);
     ssh_string_free(pathstr);
@@ -3047,8 +3047,8 @@ sftp_attributes sftp_fstat(sftp_file file) {
   }
 
   id = sftp_get_new_id(file->sftp);
-  if (buffer_add_u32(buffer, htonl(id)) < 0 ||
-      buffer_add_ssh_string(buffer, file->handle) < 0) {
+  if (ssh_buffer_add_u32(buffer, htonl(id)) < 0 ||
+      ssh_buffer_add_ssh_string(buffer, file->handle) < 0) {
     ssh_set_error_oom(file->sftp->session);
     ssh_buffer_free(buffer);
     return NULL;
diff --git a/src/sftpserver.c b/src/sftpserver.c
index 6049879..5939309 100644
--- a/src/sftpserver.c
+++ b/src/sftpserver.c
@@ -65,15 +65,15 @@ sftp_client_message sftp_get_client_message(sftp_session sftp) {
   /* take a copy of the whole packet */
   msg->complete_message = ssh_buffer_new();
   ssh_buffer_add_data(msg->complete_message,
-                      buffer_get_rest(payload),
-                      buffer_get_rest_len(payload));
+                      ssh_buffer_get_rest(payload),
+                      ssh_buffer_get_rest_len(payload));
 
-  buffer_get_u32(payload, &msg->id);
+  ssh_buffer_get_u32(payload, &msg->id);
 
   switch(msg->type) {
     case SSH_FXP_CLOSE:
     case SSH_FXP_READDIR:
-      msg->handle = buffer_get_ssh_string(payload);
+      msg->handle = ssh_buffer_get_ssh_string(payload);
       if (msg->handle == NULL) {
         ssh_set_error_oom(session);
         sftp_client_message_free(msg);
@@ -148,7 +148,7 @@ sftp_client_message sftp_get_client_message(sftp_session sftp) {
       }
       break;
     case SSH_FXP_FSETSTAT:
-      msg->handle = buffer_get_ssh_string(payload);
+      msg->handle = ssh_buffer_get_ssh_string(payload);
       if (msg->handle == NULL) {
         ssh_set_error_oom(session);
         sftp_client_message_free(msg);
@@ -274,10 +274,10 @@ int sftp_reply_name(sftp_client_message msg, const char *name,
     return -1;
   }
 
-  if (buffer_add_u32(out, msg->id) < 0 ||
-      buffer_add_u32(out, htonl(1)) < 0 ||
-      buffer_add_ssh_string(out, file) < 0 ||
-      buffer_add_ssh_string(out, file) < 0 || /* The protocol is broken here between 3 & 4 */
+  if (ssh_buffer_add_u32(out, msg->id) < 0 ||
+      ssh_buffer_add_u32(out, htonl(1)) < 0 ||
+      ssh_buffer_add_ssh_string(out, file) < 0 ||
+      ssh_buffer_add_ssh_string(out, file) < 0 || /* The protocol is broken here between 3 & 4 */
       buffer_add_attributes(out, attr) < 0 ||
       sftp_packet_write(msg->sftp, SSH_FXP_NAME, out) < 0) {
     ssh_buffer_free(out);
@@ -298,8 +298,8 @@ int sftp_reply_handle(sftp_client_message msg, ssh_string handle){
     return -1;
   }
 
-  if (buffer_add_u32(out, msg->id) < 0 ||
-      buffer_add_ssh_string(out, handle) < 0 ||
+  if (ssh_buffer_add_u32(out, msg->id) < 0 ||
+      ssh_buffer_add_ssh_string(out, handle) < 0 ||
       sftp_packet_write(msg->sftp, SSH_FXP_HANDLE, out) < 0) {
     ssh_buffer_free(out);
     return -1;
@@ -317,7 +317,7 @@ int sftp_reply_attr(sftp_client_message msg, sftp_attributes attr) {
     return -1;
   }
 
-  if (buffer_add_u32(out, msg->id) < 0 ||
+  if (ssh_buffer_add_u32(out, msg->id) < 0 ||
       buffer_add_attributes(out, attr) < 0 ||
       sftp_packet_write(msg->sftp, SSH_FXP_ATTRS, out) < 0) {
     ssh_buffer_free(out);
@@ -345,7 +345,7 @@ int sftp_reply_names_add(sftp_client_message msg, const char *file,
     }
   }
 
-  if (buffer_add_ssh_string(msg->attrbuf, name) < 0) {
+  if (ssh_buffer_add_ssh_string(msg->attrbuf, name) < 0) {
     ssh_string_free(name);
     return -1;
   }
@@ -355,7 +355,7 @@ int sftp_reply_names_add(sftp_client_message msg, const char *file,
   if (name == NULL) {
     return -1;
   }
-  if (buffer_add_ssh_string(msg->attrbuf,name) < 0 ||
+  if (ssh_buffer_add_ssh_string(msg->attrbuf,name) < 0 ||
       buffer_add_attributes(msg->attrbuf,attr) < 0) {
     ssh_string_free(name);
     return -1;
@@ -375,10 +375,10 @@ int sftp_reply_names(sftp_client_message msg) {
     return -1;
   }
 
-  if (buffer_add_u32(out, msg->id) < 0 ||
-      buffer_add_u32(out, htonl(msg->attr_num)) < 0 ||
-      ssh_buffer_add_data(out, buffer_get_rest(msg->attrbuf),
-        buffer_get_rest_len(msg->attrbuf)) < 0 ||
+  if (ssh_buffer_add_u32(out, msg->id) < 0 ||
+      ssh_buffer_add_u32(out, htonl(msg->attr_num)) < 0 ||
+      ssh_buffer_add_data(out, ssh_buffer_get_rest(msg->attrbuf),
+        ssh_buffer_get_rest_len(msg->attrbuf)) < 0 ||
       sftp_packet_write(msg->sftp, SSH_FXP_NAME, out) < 0) {
     ssh_buffer_free(out);
     ssh_buffer_free(msg->attrbuf);
@@ -410,10 +410,10 @@ int sftp_reply_status(sftp_client_message msg, uint32_t status,
     return -1;
   }
 
-  if (buffer_add_u32(out, msg->id) < 0 ||
-      buffer_add_u32(out, htonl(status)) < 0 ||
-      buffer_add_ssh_string(out, s) < 0 ||
-      buffer_add_u32(out, 0) < 0 || /* language string */
+  if (ssh_buffer_add_u32(out, msg->id) < 0 ||
+      ssh_buffer_add_u32(out, htonl(status)) < 0 ||
+      ssh_buffer_add_ssh_string(out, s) < 0 ||
+      ssh_buffer_add_u32(out, 0) < 0 || /* language string */
       sftp_packet_write(msg->sftp, SSH_FXP_STATUS, out) < 0) {
     ssh_buffer_free(out);
     ssh_string_free(s);
@@ -434,8 +434,8 @@ int sftp_reply_data(sftp_client_message msg, const void *data, int len) {
     return -1;
   }
 
-  if (buffer_add_u32(out, msg->id) < 0 ||
-      buffer_add_u32(out, ntohl(len)) < 0 ||
+  if (ssh_buffer_add_u32(out, msg->id) < 0 ||
+      ssh_buffer_add_u32(out, ntohl(len)) < 0 ||
       ssh_buffer_add_data(out, data, len) < 0 ||
       sftp_packet_write(msg->sftp, SSH_FXP_DATA, out) < 0) {
     ssh_buffer_free(out);
diff --git a/src/socket.c b/src/socket.c
index 022c9a7..ba5128a 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -290,10 +290,10 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd,
             }
             if (s->callbacks && s->callbacks->data) {
                 do {
-                    r = s->callbacks->data(buffer_get_rest(s->in_buffer),
-                                           buffer_get_rest_len(s->in_buffer),
+                    r = s->callbacks->data(ssh_buffer_get_rest(s->in_buffer),
+                                           ssh_buffer_get_rest_len(s->in_buffer),
                                            s->callbacks->userdata);
-                    buffer_pass_bytes(s->in_buffer, r);
+                    ssh_buffer_pass_bytes(s->in_buffer, r);
                 } while ((r > 0) && (s->state == SSH_SOCKET_CONNECTED));
                 /* p may have been freed, so don't use it
                  * anymore in this function */
@@ -330,7 +330,7 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd,
         }
 
         /* If buffered data is pending, write it */
-        if (buffer_get_rest_len(s->out_buffer) > 0) {
+        if (ssh_buffer_get_rest_len(s->out_buffer) > 0) {
             ssh_socket_nonblocking_flush(s);
         } else if (s->callbacks && s->callbacks->controlflow) {
             /* Otherwise advertise the upper level that write can be done */
@@ -650,7 +650,7 @@ int ssh_socket_nonblocking_flush(ssh_socket s) {
     return SSH_ERROR;
   }
 
-  len = buffer_get_rest_len(s->out_buffer);
+  len = ssh_buffer_get_rest_len(s->out_buffer);
   if (!s->write_wontblock && s->poll_out && len > 0) {
       /* force the poll system to catch pollout events */
       ssh_poll_add_events(s->poll_out, POLLOUT);
@@ -658,7 +658,7 @@ int ssh_socket_nonblocking_flush(ssh_socket s) {
       return SSH_AGAIN;
   }
   if (s->write_wontblock && len > 0) {
-    w = ssh_socket_unbuffered_write(s, buffer_get_rest(s->out_buffer), len);
+    w = ssh_socket_unbuffered_write(s, ssh_buffer_get_rest(s->out_buffer), len);
     if (w < 0) {
       session->alive = 0;
       ssh_socket_close(s);
@@ -674,14 +674,14 @@ int ssh_socket_nonblocking_flush(ssh_socket s) {
       }
       return SSH_ERROR;
     }
-    buffer_pass_bytes(s->out_buffer, w);
+    ssh_buffer_pass_bytes(s->out_buffer, w);
     if (s->session->socket_counter != NULL) {
         s->session->socket_counter->out_bytes += w;
     }
   }
 
   /* Is there some data pending? */
-  len = buffer_get_rest_len(s->out_buffer);
+  len = ssh_buffer_get_rest_len(s->out_buffer);
   if (s->poll_out && len > 0) {
       /* force the poll system to catch pollout events */
       ssh_poll_add_events(s->poll_out, POLLOUT);
@@ -721,7 +721,7 @@ int ssh_socket_data_writable(ssh_socket s) {
 int ssh_socket_buffered_write_bytes(ssh_socket s){
 	if(s==NULL || s->out_buffer == NULL)
 		return 0;
-	return buffer_get_rest_len(s->out_buffer);
+	return ssh_buffer_get_rest_len(s->out_buffer);
 }
 
 
diff --git a/tests/unittests/torture_buffer.c b/tests/unittests/torture_buffer.c
index 390572c..03dfcf9 100644
--- a/tests/unittests/torture_buffer.c
+++ b/tests/unittests/torture_buffer.c
@@ -36,8 +36,8 @@ static void torture_growing_buffer(void **state) {
   for(i=0;i<LIMIT;++i){
     ssh_buffer_add_data(buffer,"A",1);
     if(buffer->used >= 128){
-      if(buffer_get_rest_len(buffer) * 2 < buffer->allocated){
-        assert_true(buffer_get_rest_len(buffer) * 2 >= buffer->allocated);
+      if(ssh_buffer_get_rest_len(buffer) * 2 < buffer->allocated){
+        assert_true(ssh_buffer_get_rest_len(buffer) * 2 >= buffer->allocated);
       }
     }
   }
@@ -55,11 +55,11 @@ static void torture_growing_buffer_shifting(void **state) {
     ssh_buffer_add_data(buffer,"S",1);
   }
   for(i=0;i<LIMIT;++i){
-    buffer_get_u8(buffer,&c);
+    ssh_buffer_get_u8(buffer,&c);
     ssh_buffer_add_data(buffer,"A",1);
     if(buffer->used >= 128){
-      if(buffer_get_rest_len(buffer) * 4 < buffer->allocated){
-        assert_true(buffer_get_rest_len(buffer) * 4 >= buffer->allocated);
+      if(ssh_buffer_get_rest_len(buffer) * 4 < buffer->allocated){
+        assert_true(ssh_buffer_get_rest_len(buffer) * 4 >= buffer->allocated);
         return;
       }
     }
@@ -67,39 +67,39 @@ static void torture_growing_buffer_shifting(void **state) {
 }
 
 /*
- * Test the behavior of buffer_prepend_data
+ * Test the behavior of ssh_buffer_prepend_data
  */
 static void torture_buffer_prepend(void **state) {
   ssh_buffer buffer = *state;
   uint32_t v;
   ssh_buffer_add_data(buffer,"abcdef",6);
-  buffer_prepend_data(buffer,"xyz",3);
-  assert_int_equal(buffer_get_rest_len(buffer),9);
-  assert_memory_equal(buffer_get_rest(buffer),  "xyzabcdef", 9);
+  ssh_buffer_prepend_data(buffer,"xyz",3);
+  assert_int_equal(ssh_buffer_get_rest_len(buffer),9);
+  assert_memory_equal(ssh_buffer_get_rest(buffer),  "xyzabcdef", 9);
 
   /* Now remove 4 bytes and see if we can replace them */
-  buffer_get_u32(buffer,&v);
-  assert_int_equal(buffer_get_rest_len(buffer),5);
-  assert_memory_equal(buffer_get_rest(buffer), "bcdef", 5);
+  ssh_buffer_get_u32(buffer,&v);
+  assert_int_equal(ssh_buffer_get_rest_len(buffer),5);
+  assert_memory_equal(ssh_buffer_get_rest(buffer), "bcdef", 5);
 
-  buffer_prepend_data(buffer,"aris",4);
-  assert_int_equal(buffer_get_rest_len(buffer),9);
-  assert_memory_equal(buffer_get_rest(buffer), "arisbcdef", 9);
+  ssh_buffer_prepend_data(buffer,"aris",4);
+  assert_int_equal(ssh_buffer_get_rest_len(buffer),9);
+  assert_memory_equal(ssh_buffer_get_rest(buffer), "arisbcdef", 9);
 
   /* same thing but we add 5 bytes now */
-  buffer_get_u32(buffer,&v);
-  assert_int_equal(buffer_get_rest_len(buffer),5);
-  assert_memory_equal(buffer_get_rest(buffer), "bcdef", 5);
+  ssh_buffer_get_u32(buffer,&v);
+  assert_int_equal(ssh_buffer_get_rest_len(buffer),5);
+  assert_memory_equal(ssh_buffer_get_rest(buffer), "bcdef", 5);
 
-  buffer_prepend_data(buffer,"12345",5);
-  assert_int_equal(buffer_get_rest_len(buffer),10);
-  assert_memory_equal(buffer_get_rest(buffer), "12345bcdef", 10);
+  ssh_buffer_prepend_data(buffer,"12345",5);
+  assert_int_equal(ssh_buffer_get_rest_len(buffer),10);
+  assert_memory_equal(ssh_buffer_get_rest(buffer), "12345bcdef", 10);
 }
 
 /*
- * Test the behavior of buffer_get_ssh_string with invalid data
+ * Test the behavior of ssh_buffer_get_ssh_string with invalid data
  */
-static void torture_buffer_get_ssh_string(void **state) {
+static void torture_ssh_buffer_get_ssh_string(void **state) {
   ssh_buffer buffer;
   int i,j,k,l, rc;
   /* some values that can go wrong */
@@ -115,13 +115,13 @@ static void torture_buffer_get_ssh_string(void **state) {
         assert_non_null(buffer);
 
         for(l=0;l<k;++l){
-          rc = buffer_add_u32(buffer,htonl(values[i]));
+          rc = ssh_buffer_add_u32(buffer,htonl(values[i]));
           assert_int_equal(rc, 0);
         }
         rc = ssh_buffer_add_data(buffer,data,j);
         assert_int_equal(rc, 0);
         for(l=0;l<k;++l){
-          ssh_string str = buffer_get_ssh_string(buffer);
+          ssh_string str = ssh_buffer_get_ssh_string(buffer);
           assert_null(str);
           ssh_string_free(str);
         }
@@ -131,7 +131,7 @@ static void torture_buffer_get_ssh_string(void **state) {
   }
 }
 
-static void torture_buffer_add_format(void **state) {
+static void torture_ssh_buffer_add_format(void **state) {
     ssh_buffer buffer=*state;
     uint8_t b;
     uint16_t w;
@@ -155,14 +155,14 @@ static void torture_buffer_add_format(void **state) {
     rc=ssh_buffer_pack(buffer, "bwdqSsPt",b,w,d,q,s,"rocks",7,"So much","Fun!");
     assert_int_equal(rc, SSH_OK);
 
-    len = buffer_get_rest_len(buffer);
+    len = ssh_buffer_get_rest_len(buffer);
     assert_int_equal(len, sizeof(verif) - 1);
-    assert_memory_equal(buffer_get_rest(buffer), verif, sizeof(verif) -1);
+    assert_memory_equal(ssh_buffer_get_rest(buffer), verif, sizeof(verif) -1);
 
     ssh_string_free(s);
 }
 
-static void torture_buffer_get_format(void **state) {
+static void torture_ssh_buffer_get_format(void **state) {
     ssh_buffer buffer=*state;
     uint8_t b=0;
     uint16_t w=0;
@@ -199,14 +199,14 @@ static void torture_buffer_get_format(void **state) {
     assert_true(s2 != NULL);
     assert_memory_equal(s2, "So much", 7);
 
-    len = buffer_get_rest_len(buffer);
+    len = ssh_buffer_get_rest_len(buffer);
     assert_int_equal(len, 0);
     SAFE_FREE(s);
     SAFE_FREE(s1);
     SAFE_FREE(s2);
 }
 
-static void torture_buffer_get_format_error(void **state) {
+static void torture_ssh_buffer_get_format_error(void **state) {
     ssh_buffer buffer=*state;
     uint8_t b=0;
     uint16_t w=0;
@@ -262,10 +262,10 @@ int torture_run_tests(void) {
         cmocka_unit_test_setup_teardown(torture_growing_buffer, setup, teardown),
         cmocka_unit_test_setup_teardown(torture_growing_buffer_shifting, setup, teardown),
         cmocka_unit_test_setup_teardown(torture_buffer_prepend, setup, teardown),
-        cmocka_unit_test(torture_buffer_get_ssh_string),
-        cmocka_unit_test_setup_teardown(torture_buffer_add_format, setup, teardown),
-        cmocka_unit_test_setup_teardown(torture_buffer_get_format, setup, teardown),
-        cmocka_unit_test_setup_teardown(torture_buffer_get_format_error, setup, teardown),
+        cmocka_unit_test(torture_ssh_buffer_get_ssh_string),
+        cmocka_unit_test_setup_teardown(torture_ssh_buffer_add_format, setup, teardown),
+        cmocka_unit_test_setup_teardown(torture_ssh_buffer_get_format, setup, teardown),
+        cmocka_unit_test_setup_teardown(torture_ssh_buffer_get_format_error, setup, teardown),
         cmocka_unit_test_setup_teardown(torture_buffer_pack_badformat, setup, teardown)
     };
 
-- 
2.4.3


From d85437429ec73644111017a93546acb5e94e4c79 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Thu, 17 Sep 2015 10:09:06 +0200
Subject: [PATCH 05/24 v2] cleanup: use ssh_ prefix in the channels (non-static)
 functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Having "ssh_" prefix in the functions' name will avoid possible clashes
when compiling libssh statically.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/channels.h | 12 ++++++------
 src/channels.c            | 12 ++++++------
 src/channels1.c           | 12 ++++++------
 3 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/include/libssh/channels.h b/include/libssh/channels.h
index b05c4c0..44258ba 100644
--- a/include/libssh/channels.h
+++ b/include/libssh/channels.h
@@ -105,13 +105,13 @@ SSH_PACKET_CALLBACK(ssh_packet_close1);
 SSH_PACKET_CALLBACK(ssh_packet_exist_status1);
 
 /* channels1.c */
-int channel_open_session1(ssh_channel channel);
-int channel_request_pty_size1(ssh_channel channel, const char *terminal,
+int ssh_channel_open_session1(ssh_channel channel);
+int ssh_channel_request_pty_size1(ssh_channel channel, const char *terminal,
     int cols, int rows);
-int channel_change_pty_size1(ssh_channel channel, int cols, int rows);
-int channel_request_shell1(ssh_channel channel);
-int channel_request_exec1(ssh_channel channel, const char *cmd);
-int channel_write1(ssh_channel channel, const void *data, int len);
+int ssh_channel_change_pty_size1(ssh_channel channel, int cols, int rows);
+int ssh_channel_request_shell1(ssh_channel channel);
+int ssh_channel_request_exec1(ssh_channel channel, const char *cmd);
+int ssh_channel_write1(ssh_channel channel, const void *data, int len);
 ssh_channel ssh_get_channel1(ssh_session session);
 #endif
 
diff --git a/src/channels.c b/src/channels.c
index 84e9608..6082320 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -864,7 +864,7 @@ int ssh_channel_open_session(ssh_channel channel) {
 
 #ifdef WITH_SSH1
   if (channel->session->version == 1) {
-    return channel_open_session1(channel);
+    return ssh_channel_open_session1(channel);
   }
 #endif
 
@@ -1250,7 +1250,7 @@ static int channel_write_common(ssh_channel channel,
   }
 #ifdef WITH_SSH1
   if (channel->version == 1) {
-    rc = channel_write1(channel, data, len);
+    rc = ssh_channel_write1(channel, data, len);
 
     return rc;
   }
@@ -1633,7 +1633,7 @@ int ssh_channel_request_pty_size(ssh_channel channel, const char *terminal,
 
 #ifdef WITH_SSH1
   if (channel->version==1) {
-    rc = channel_request_pty_size1(channel,terminal, col, row);
+    rc = ssh_channel_request_pty_size1(channel,terminal, col, row);
 
     return rc;
     }
@@ -1711,7 +1711,7 @@ int ssh_channel_change_pty_size(ssh_channel channel, int cols, int rows) {
 
 #ifdef WITH_SSH1
   if (channel->version == 1) {
-    rc = channel_change_pty_size1(channel,cols,rows);
+    rc = ssh_channel_change_pty_size1(channel,cols,rows);
 
     return rc;
   }
@@ -1757,7 +1757,7 @@ int ssh_channel_request_shell(ssh_channel channel) {
     }
 #ifdef WITH_SSH1
   if (channel->version == 1) {
-    return channel_request_shell1(channel);
+    return ssh_channel_request_shell1(channel);
   }
 #endif
   return channel_request(channel, "shell", NULL, 1);
@@ -2398,7 +2398,7 @@ int ssh_channel_request_exec(ssh_channel channel, const char *cmd) {
 
 #ifdef WITH_SSH1
   if (channel->version == 1) {
-    return channel_request_exec1(channel, cmd);
+    return ssh_channel_request_exec1(channel, cmd);
   }
 #endif
   switch(channel->request_state){
diff --git a/src/channels1.c b/src/channels1.c
index c3e7b92..730649a 100644
--- a/src/channels1.c
+++ b/src/channels1.c
@@ -51,7 +51,7 @@
  * protocol.
  */
 
-int channel_open_session1(ssh_channel chan) {
+int ssh_channel_open_session1(ssh_channel chan) {
   ssh_session session;
 
   if (chan == NULL) {
@@ -91,7 +91,7 @@ int channel_open_session1(ssh_channel chan) {
  *  much simplier under ssh2. I just hope the defaults values are ok ...
  */
 
-int channel_request_pty_size1(ssh_channel channel, const char *terminal, int col,
+int ssh_channel_request_pty_size1(ssh_channel channel, const char *terminal, int col,
     int row) {
   ssh_session session;
   ssh_string str = NULL;
@@ -158,7 +158,7 @@ int channel_request_pty_size1(ssh_channel channel, const char *terminal, int col
   return SSH_ERROR;
 }
 
-int channel_change_pty_size1(ssh_channel channel, int cols, int rows) {
+int ssh_channel_change_pty_size1(ssh_channel channel, int cols, int rows) {
   ssh_session session;
 
   if (channel == NULL) {
@@ -207,7 +207,7 @@ int channel_change_pty_size1(ssh_channel channel, int cols, int rows) {
 
 }
 
-int channel_request_shell1(ssh_channel channel) {
+int ssh_channel_request_shell1(ssh_channel channel) {
   ssh_session session;
 
   if (channel == NULL) {
@@ -228,7 +228,7 @@ int channel_request_shell1(ssh_channel channel) {
   return 0;
 }
 
-int channel_request_exec1(ssh_channel channel, const char *cmd) {
+int ssh_channel_request_exec1(ssh_channel channel, const char *cmd) {
   ssh_session session;
   ssh_string command = NULL;
 
@@ -338,7 +338,7 @@ SSH_PACKET_CALLBACK(ssh_packet_exist_status1){
 }
 
 
-int channel_write1(ssh_channel channel, const void *data, int len) {
+int ssh_channel_write1(ssh_channel channel, const void *data, int len) {
   ssh_session session;
   int origlen = len;
   int effectivelen;
-- 
2.4.3


From 176acf0cd71ce484f704ea9ca3405b4b26760168 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Thu, 17 Sep 2015 10:26:05 +0200
Subject: [PATCH 06/24 v2] cleanup: use ssh_ prefix in the dh (non-static)
 functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Having "ssh_" prefix in the functions' name will avoid possible clashes
when compiling libssh statically.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/dh.h | 28 ++++++++++++++--------------
 src/dh.c            | 40 ++++++++++++++++++++--------------------
 src/kex.c           |  6 +++---
 src/packet_cb.c     |  6 +++---
 src/server.c        | 16 ++++++++--------
 5 files changed, 48 insertions(+), 48 deletions(-)

diff --git a/include/libssh/dh.h b/include/libssh/dh.h
index 95b76cd..8e0d5aa 100644
--- a/include/libssh/dh.h
+++ b/include/libssh/dh.h
@@ -25,27 +25,27 @@
 
 #include "libssh/crypto.h"
 
-int dh_generate_e(ssh_session session);
-int dh_generate_f(ssh_session session);
-int dh_generate_x(ssh_session session);
-int dh_generate_y(ssh_session session);
+int ssh_dh_generate_e(ssh_session session);
+int ssh_dh_generate_f(ssh_session session);
+int ssh_dh_generate_x(ssh_session session);
+int ssh_dh_generate_y(ssh_session session);
 
 int ssh_crypto_init(void);
 void ssh_crypto_finalize(void);
 
-ssh_string dh_get_e(ssh_session session);
-ssh_string dh_get_f(ssh_session session);
-int dh_import_f(ssh_session session,ssh_string f_string);
-int dh_import_e(ssh_session session, ssh_string e_string);
-void dh_import_pubkey(ssh_session session,ssh_string pubkey_string);
-int dh_build_k(ssh_session session);
+ssh_string ssh_dh_get_e(ssh_session session);
+ssh_string ssh_dh_get_f(ssh_session session);
+int ssh_dh_import_f(ssh_session session,ssh_string f_string);
+int ssh_dh_import_e(ssh_session session, ssh_string e_string);
+void ssh_dh_import_pubkey(ssh_session session,ssh_string pubkey_string);
+int ssh_dh_build_k(ssh_session session);
 int ssh_client_dh_init(ssh_session session);
 int ssh_client_dh_reply(ssh_session session, ssh_buffer packet);
 
-int make_sessionid(ssh_session session);
+int ssh_make_sessionid(ssh_session session);
 /* add data for the final cookie */
-int hashbufin_add_cookie(ssh_session session, unsigned char *cookie);
-int hashbufout_add_cookie(ssh_session session);
-int generate_session_keys(ssh_session session);
+int ssh_hashbufin_add_cookie(ssh_session session, unsigned char *cookie);
+int ssh_hashbufout_add_cookie(ssh_session session);
+int ssh_generate_session_keys(ssh_session session);
 
 #endif /* DH_H_ */
diff --git a/src/dh.c b/src/dh.c
index 1d2367b..485a280 100644
--- a/src/dh.c
+++ b/src/dh.c
@@ -226,7 +226,7 @@ void ssh_crypto_finalize(void) {
   }
 }
 
-int dh_generate_x(ssh_session session) {
+int ssh_dh_generate_x(ssh_session session) {
   session->next_crypto->x = bignum_new();
   if (session->next_crypto->x == NULL) {
     return -1;
@@ -247,7 +247,7 @@ int dh_generate_x(ssh_session session) {
 }
 
 /* used by server */
-int dh_generate_y(ssh_session session) {
+int ssh_dh_generate_y(ssh_session session) {
     session->next_crypto->y = bignum_new();
   if (session->next_crypto->y == NULL) {
     return -1;
@@ -268,7 +268,7 @@ int dh_generate_y(ssh_session session) {
 }
 
 /* used by server */
-int dh_generate_e(ssh_session session) {
+int ssh_dh_generate_e(ssh_session session) {
 #ifdef HAVE_LIBCRYPTO
   bignum_CTX ctx = bignum_ctx_new();
   if (ctx == NULL) {
@@ -303,7 +303,7 @@ int dh_generate_e(ssh_session session) {
   return 0;
 }
 
-int dh_generate_f(ssh_session session) {
+int ssh_dh_generate_f(ssh_session session) {
 #ifdef HAVE_LIBCRYPTO
   bignum_CTX ctx = bignum_ctx_new();
   if (ctx == NULL) {
@@ -338,20 +338,20 @@ int dh_generate_f(ssh_session session) {
   return 0;
 }
 
-ssh_string dh_get_e(ssh_session session) {
+ssh_string ssh_dh_get_e(ssh_session session) {
   return ssh_make_bignum_string(session->next_crypto->e);
 }
 
 /* used by server */
-ssh_string dh_get_f(ssh_session session) {
+ssh_string ssh_dh_get_f(ssh_session session) {
   return ssh_make_bignum_string(session->next_crypto->f);
 }
 
-void dh_import_pubkey(ssh_session session, ssh_string pubkey_string) {
+void ssh_dh_import_pubkey(ssh_session session, ssh_string pubkey_string) {
   session->next_crypto->server_pubkey = pubkey_string;
 }
 
-int dh_import_f(ssh_session session, ssh_string f_string) {
+int ssh_dh_import_f(ssh_session session, ssh_string f_string) {
   session->next_crypto->f = ssh_make_string_bn(f_string);
   if (session->next_crypto->f == NULL) {
     return -1;
@@ -365,7 +365,7 @@ int dh_import_f(ssh_session session, ssh_string f_string) {
 }
 
 /* used by the server implementation */
-int dh_import_e(ssh_session session, ssh_string e_string) {
+int ssh_dh_import_e(ssh_session session, ssh_string e_string) {
   session->next_crypto->e = ssh_make_string_bn(e_string);
   if (session->next_crypto->e == NULL) {
     return -1;
@@ -378,7 +378,7 @@ int dh_import_e(ssh_session session, ssh_string e_string) {
   return 0;
 }
 
-int dh_build_k(ssh_session session) {
+int ssh_dh_build_k(ssh_session session) {
 #ifdef HAVE_LIBCRYPTO
   bignum_CTX ctx = bignum_ctx_new();
   if (ctx == NULL) {
@@ -435,14 +435,14 @@ int ssh_client_dh_init(ssh_session session){
   ssh_string e = NULL;
   int rc;
 
-  if (dh_generate_x(session) < 0) {
+  if (ssh_dh_generate_x(session) < 0) {
     goto error;
   }
-  if (dh_generate_e(session) < 0) {
+  if (ssh_dh_generate_e(session) < 0) {
     goto error;
   }
 
-  e = dh_get_e(session);
+  e = ssh_dh_get_e(session);
   if (e == NULL) {
     goto error;
   }
@@ -477,14 +477,14 @@ int ssh_client_dh_reply(ssh_session session, ssh_buffer packet){
     ssh_set_error(session,SSH_FATAL, "No public key in packet");
     goto error;
   }
-  dh_import_pubkey(session, pubkey);
+  ssh_dh_import_pubkey(session, pubkey);
 
   f = ssh_buffer_get_ssh_string(packet);
   if (f == NULL) {
     ssh_set_error(session,SSH_FATAL, "No F number in packet");
     goto error;
   }
-  rc = dh_import_f(session, f);
+  rc = ssh_dh_import_f(session, f);
   ssh_string_burn(f);
   ssh_string_free(f);
   if (rc < 0) {
@@ -499,7 +499,7 @@ int ssh_client_dh_reply(ssh_session session, ssh_buffer packet){
   }
   session->next_crypto->dh_server_signature = signature;
   signature=NULL; /* ownership changed */
-  if (dh_build_k(session) < 0) {
+  if (ssh_dh_build_k(session) < 0) {
     ssh_set_error(session, SSH_FATAL, "Cannot build k number");
     goto error;
   }
@@ -516,7 +516,7 @@ error:
   return SSH_ERROR;
 }
 
-int make_sessionid(ssh_session session) {
+int ssh_make_sessionid(ssh_session session) {
     ssh_string num = NULL;
     ssh_buffer server_hash = NULL;
     ssh_buffer client_hash = NULL;
@@ -692,7 +692,7 @@ error:
     return rc;
 }
 
-int hashbufout_add_cookie(ssh_session session) {
+int ssh_hashbufout_add_cookie(ssh_session session) {
   session->out_hashbuf = ssh_buffer_new();
   if (session->out_hashbuf == NULL) {
     return -1;
@@ -720,7 +720,7 @@ int hashbufout_add_cookie(ssh_session session) {
   return 0;
 }
 
-int hashbufin_add_cookie(ssh_session session, unsigned char *cookie) {
+int ssh_hashbufin_add_cookie(ssh_session session, unsigned char *cookie) {
   session->in_hashbuf = ssh_buffer_new();
   if (session->in_hashbuf == NULL) {
     return -1;
@@ -777,7 +777,7 @@ static int generate_one_key(ssh_string k,
   return 0;
 }
 
-int generate_session_keys(ssh_session session) {
+int ssh_generate_session_keys(ssh_session session) {
   ssh_string k_string = NULL;
   struct ssh_crypto_struct *crypto = session->next_crypto;
   int rc = -1;
diff --git a/src/kex.c b/src/kex.c
index 02965bd..497c67a 100644
--- a/src/kex.c
+++ b/src/kex.c
@@ -352,7 +352,7 @@ SSH_PACKET_CALLBACK(ssh_packet_kexinit){
             goto error;
         }
 
-        rc = hashbufin_add_cookie(session, session->next_crypto->client_kex.cookie);
+        rc = ssh_hashbufin_add_cookie(session, session->next_crypto->client_kex.cookie);
         if (rc < 0) {
             ssh_set_error(session, SSH_FATAL, "ssh_packet_kexinit: adding cookie failed");
             goto error;
@@ -364,7 +364,7 @@ SSH_PACKET_CALLBACK(ssh_packet_kexinit){
             goto error;
         }
 
-        rc = hashbufin_add_cookie(session, session->next_crypto->server_kex.cookie);
+        rc = ssh_hashbufin_add_cookie(session, session->next_crypto->server_kex.cookie);
         if (rc < 0) {
             ssh_set_error(session, SSH_FATAL, "ssh_packet_kexinit: adding cookie failed");
             goto error;
@@ -612,7 +612,7 @@ int ssh_send_kex(ssh_session session, int server_kex) {
                        kex->cookie); /* cookie */
   if (rc != SSH_OK)
     goto error;
-  if (hashbufout_add_cookie(session) < 0) {
+  if (ssh_hashbufout_add_cookie(session) < 0) {
     goto error;
   }
 
diff --git a/src/packet_cb.c b/src/packet_cb.c
index 8353b46..5cc538c 100644
--- a/src/packet_cb.c
+++ b/src/packet_cb.c
@@ -154,20 +154,20 @@ SSH_PACKET_CALLBACK(ssh_packet_newkeys){
   } else {
     ssh_key key;
     /* client */
-    rc = make_sessionid(session);
+    rc = ssh_make_sessionid(session);
     if (rc != SSH_OK) {
       goto error;
     }
 
     /*
      * Set the cryptographic functions for the next crypto
-     * (it is needed for generate_session_keys for key lengths)
+     * (it is needed for ssh_generate_session_keys for key lengths)
      */
     if (crypt_set_algorithms(session, SSH_3DES) /* knows nothing about DES*/ ) {
       goto error;
     }
 
-    if (generate_session_keys(session) < 0) {
+    if (ssh_generate_session_keys(session) < 0) {
       goto error;
     }
 
diff --git a/src/server.c b/src/server.c
index 6679245..c86df1b 100644
--- a/src/server.c
+++ b/src/server.c
@@ -160,7 +160,7 @@ static int ssh_server_kexdh_init(ssh_session session, ssh_buffer packet){
       ssh_set_error(session, SSH_FATAL, "No e number in client request");
       return -1;
     }
-    if (dh_import_e(session, e) < 0) {
+    if (ssh_dh_import_e(session, e) < 0) {
       ssh_set_error(session, SSH_FATAL, "Cannot import e number");
       session->session_state=SSH_SESSION_STATE_ERROR;
     } else {
@@ -258,7 +258,7 @@ int ssh_get_key_params(ssh_session session, ssh_key *privkey){
       return -1;
     }
 
-    dh_import_pubkey(session, pubkey_blob);
+    ssh_dh_import_pubkey(session, pubkey_blob);
     return SSH_OK;
 }
 
@@ -268,16 +268,16 @@ static int dh_handshake_server(ssh_session session) {
   ssh_string f;
   int rc;
 
-  if (dh_generate_y(session) < 0) {
+  if (ssh_dh_generate_y(session) < 0) {
     ssh_set_error(session, SSH_FATAL, "Could not create y number");
     return -1;
   }
-  if (dh_generate_f(session) < 0) {
+  if (ssh_dh_generate_f(session) < 0) {
     ssh_set_error(session, SSH_FATAL, "Could not create f number");
     return -1;
   }
 
-  f = dh_get_f(session);
+  f = ssh_dh_get_f(session);
   if (f == NULL) {
     ssh_set_error(session, SSH_FATAL, "Could not get the f number");
     return -1;
@@ -288,13 +288,13 @@ static int dh_handshake_server(ssh_session session) {
       return -1;
   }
 
-  if (dh_build_k(session) < 0) {
+  if (ssh_dh_build_k(session) < 0) {
     ssh_set_error(session, SSH_FATAL, "Could not import the public key");
     ssh_string_free(f);
     return -1;
   }
 
-  if (make_sessionid(session) != SSH_OK) {
+  if (ssh_make_sessionid(session) != SSH_OK) {
     ssh_set_error(session, SSH_FATAL, "Could not create a session id");
     ssh_string_free(f);
     return -1;
@@ -432,7 +432,7 @@ static void ssh_server_connection_callback(ssh_session session){
             break;
 		case SSH_SESSION_STATE_DH:
 			if(session->dh_handshake_state==DH_STATE_FINISHED){
-                if (generate_session_keys(session) < 0) {
+                if (ssh_generate_session_keys(session) < 0) {
                   goto error;
                 }
 
-- 
2.4.3


From b22222960cc115b275af7d21a1852c7aac546058 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Thu, 17 Sep 2015 13:32:44 +0200
Subject: [PATCH 07/24 v2] cleanup: use ssh_ prefix in the kex (non-static)
 functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Having "ssh_" prefix in the functions' name will avoid possible clashes
when compiling libssh statically.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/kex.h | 6 +++---
 src/client.c         | 2 +-
 src/kex.c            | 8 ++++----
 src/known_hosts.c    | 2 +-
 src/options.c        | 2 +-
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/include/libssh/kex.h b/include/libssh/kex.h
index 1a5b6d4..e872bde 100644
--- a/include/libssh/kex.h
+++ b/include/libssh/kex.h
@@ -38,10 +38,10 @@ SSH_PACKET_CALLBACK(ssh_packet_publickey1);
 
 int ssh_send_kex(ssh_session session, int server_kex);
 void ssh_list_kex(struct ssh_kex_struct *kex);
-int set_client_kex(ssh_session session);
+int ssh_set_client_kex(ssh_session session);
 int ssh_kex_select_methods(ssh_session session);
-int verify_existing_algo(int algo, const char *name);
-char **space_tokenize(const char *chain);
+int ssh_verify_existing_algo(int algo, const char *name);
+char **ssh_space_tokenize(const char *chain);
 int ssh_get_kex1(ssh_session session);
 char *ssh_find_matching(const char *in_d, const char *what_d);
 const char *ssh_kex_get_supported_method(uint32_t algo);
diff --git a/src/client.c b/src/client.c
index 64ce5de..0c2b7e4 100644
--- a/src/client.c
+++ b/src/client.c
@@ -399,7 +399,7 @@ static void ssh_client_connection_callback(ssh_session session){
 		case SSH_SESSION_STATE_KEXINIT_RECEIVED:
 			set_status(session,0.6f);
 			ssh_list_kex(&session->next_crypto->server_kex);
-			if (set_client_kex(session) < 0) {
+			if (ssh_set_client_kex(session) < 0) {
 				goto error;
 			}
 			if (ssh_kex_select_methods(session) == SSH_ERROR)
diff --git a/src/kex.c b/src/kex.c
index 497c67a..55b8318 100644
--- a/src/kex.c
+++ b/src/kex.c
@@ -172,7 +172,7 @@ static char **tokenize(const char *chain){
 
 /* same as tokenize(), but with spaces instead of ',' */
 /* TODO FIXME rewrite me! */
-char **space_tokenize(const char *chain){
+char **ssh_space_tokenize(const char *chain){
     char **tokens;
     int n=1;
     int i=0;
@@ -512,7 +512,7 @@ static char *ssh_client_select_hostkeys(ssh_session session){
 	for (i=0;preferred_hostkeys[i] != NULL; ++i){
 		for (j=0; methods[j] != NULL; ++j){
 			if(strcmp(preferred_hostkeys[i], methods[j]) == 0){
-				if (verify_existing_algo(SSH_HOSTKEYS, methods[j])){
+				if (ssh_verify_existing_algo(SSH_HOSTKEYS, methods[j])){
 					if(needcoma)
 						strncat(methods_buffer,",",sizeof(methods_buffer)-strlen(methods_buffer)-1);
 					strncat(methods_buffer, methods[j], sizeof(methods_buffer)-strlen(methods_buffer)-1);
@@ -539,7 +539,7 @@ static char *ssh_client_select_hostkeys(ssh_session session){
  * @brief sets the key exchange parameters to be sent to the server,
  *        in function of the options and available methods.
  */
-int set_client_kex(ssh_session session){
+int ssh_set_client_kex(ssh_session session){
     struct ssh_kex_struct *client= &session->next_crypto->client_kex;
     const char *wanted;
     int i;
@@ -656,7 +656,7 @@ error:
 }
 
 /* returns 1 if at least one of the name algos is in the default algorithms table */
-int verify_existing_algo(int algo, const char *name){
+int ssh_verify_existing_algo(int algo, const char *name){
     char *ptr;
     if(algo>9 || algo <0)
         return -1;
diff --git a/src/known_hosts.c b/src/known_hosts.c
index 263289f..32f795a 100644
--- a/src/known_hosts.c
+++ b/src/known_hosts.c
@@ -134,7 +134,7 @@ static char **ssh_get_knownhost_line(FILE **file, const char *filename,
       continue; /* skip empty lines */
     }
 
-    tokens = space_tokenize(buffer);
+    tokens = ssh_space_tokenize(buffer);
     if (tokens == NULL) {
       fclose(*file);
       *file = NULL;
diff --git a/src/options.c b/src/options.c
index e715c09..70b4ca5 100644
--- a/src/options.c
+++ b/src/options.c
@@ -164,7 +164,7 @@ int ssh_options_copy(ssh_session src, ssh_session *dest) {
 
 int ssh_options_set_algo(ssh_session session, int algo,
     const char *list) {
-  if (!verify_existing_algo(algo, list)) {
+  if (!ssh_verify_existing_algo(algo, list)) {
     ssh_set_error(session, SSH_REQUEST_DENIED,
         "Setting method: no algorithm for method \"%s\" (%s)\n",
         ssh_kex_get_description(algo), list);
-- 
2.4.3


From 1c77ef6afdb9ce94c4edc8f4d43f1a3a6bada518 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Thu, 17 Sep 2015 13:47:00 +0200
Subject: [PATCH 08/24 v2] cleanup: use ssh_ prefix in the gcrypt missing
 functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Having "ssh_" prefix in the functions' name will avoid possible clashes
when compiling libssh statically.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/libgcrypt.h | 8 ++++----
 src/gcrypt_missing.c       | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/libssh/libgcrypt.h b/include/libssh/libgcrypt.h
index 8e52a68..7b97c7f 100644
--- a/include/libssh/libgcrypt.h
+++ b/include/libssh/libgcrypt.h
@@ -52,15 +52,15 @@ typedef void *EVPCTX;
 typedef gcry_mpi_t bignum;
 
 /* missing gcrypt functions */
-int my_gcry_dec2bn(bignum *bn, const char *data);
-char *my_gcry_bn2dec(bignum bn);
+int ssh_gcry_dec2bn(bignum *bn, const char *data);
+char *ssh_gcry_bn2dec(bignum bn);
 
 #define bignum_new() gcry_mpi_new(0)
 #define bignum_free(num) gcry_mpi_release(num)
 #define bignum_set_word(bn,n) gcry_mpi_set_ui(bn,n)
 #define bignum_bin2bn(bn,datalen,data) gcry_mpi_scan(data,GCRYMPI_FMT_USG,bn,datalen,NULL)
-#define bignum_bn2dec(num) my_gcry_bn2dec(num)
-#define bignum_dec2bn(num, data) my_gcry_dec2bn(data, num)
+#define bignum_bn2dec(num) ssh_gcry_bn2dec(num)
+#define bignum_dec2bn(num, data) ssh_gcry_dec2bn(data, num)
 #define bignum_bn2hex(num,data) gcry_mpi_aprint(GCRYMPI_FMT_HEX,data,NULL,num)
 #define bignum_hex2bn(num,datalen,data) gcry_mpi_scan(num,GCRYMPI_FMT_HEX,data,datalen,NULL)
 #define bignum_rand(num,bits) gcry_mpi_randomize(num,bits,GCRY_STRONG_RANDOM),gcry_mpi_set_bit(num,bits-1),gcry_mpi_set_bit(num,0)
diff --git a/src/gcrypt_missing.c b/src/gcrypt_missing.c
index b21e5f3..e07843b 100644
--- a/src/gcrypt_missing.c
+++ b/src/gcrypt_missing.c
@@ -27,7 +27,7 @@
 #include "libssh/libgcrypt.h"
 
 #ifdef HAVE_LIBGCRYPT
-int my_gcry_dec2bn(bignum *bn, const char *data) {
+int ssh_gcry_dec2bn(bignum *bn, const char *data) {
   int count;
 
   *bn = bignum_new();
@@ -43,7 +43,7 @@ int my_gcry_dec2bn(bignum *bn, const char *data) {
   return count;
 }
 
-char *my_gcry_bn2dec(bignum bn) {
+char *ssh_gcry_bn2dec(bignum bn) {
   bignum bndup, num, ten;
   char *ret;
   int count, count2;
-- 
2.4.3


From 72c5de6d9cd976f042a6e227760659a845c1026d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Thu, 17 Sep 2015 14:11:08 +0200
Subject: [PATCH 09/24 v2] cleanup: use ssh_ prefix in the packet (non-static)
 functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Having "ssh_" prefix in the functions' name will avoid possible clashes
when compiling libssh statically.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/packet.h | 18 +++++++++---------
 src/auth.c              | 14 +++++++-------
 src/auth1.c             |  4 ++--
 src/channels.c          | 16 ++++++++--------
 src/channels1.c         | 12 ++++++------
 src/client.c            |  4 ++--
 src/dh.c                |  4 ++--
 src/gssapi.c            | 14 +++++++-------
 src/kex.c               |  2 +-
 src/kex1.c              |  2 +-
 src/messages.c          |  6 +++---
 src/packet.c            | 14 +++++++-------
 src/packet1.c           |  8 ++++----
 src/packet_crypt.c      | 10 +++++-----
 src/server.c            | 24 ++++++++++++------------
 src/session.c           |  4 ++--
 16 files changed, 78 insertions(+), 78 deletions(-)

diff --git a/include/libssh/packet.h b/include/libssh/packet.h
index d8ef35b..3a84eb7 100644
--- a/include/libssh/packet.h
+++ b/include/libssh/packet.h
@@ -43,10 +43,10 @@ enum ssh_packet_state_e {
   PACKET_STATE_PROCESSING
 };
 
-int packet_send(ssh_session session);
+int ssh_packet_send(ssh_session session);
 
 #ifdef WITH_SSH1
-int packet_send1(ssh_session session) ;
+int ssh_packet_send1(ssh_session session) ;
 void ssh_packet_set_default_callbacks1(ssh_session session);
 
 SSH_PACKET_CALLBACK(ssh_packet_disconnect1);
@@ -78,12 +78,12 @@ void ssh_packet_set_default_callbacks(ssh_session session);
 void ssh_packet_process(ssh_session session, uint8_t type);
 
 /* PACKET CRYPT */
-uint32_t packet_decrypt_len(ssh_session session, char *crypted);
-int packet_decrypt(ssh_session session, void *packet, unsigned int len);
-unsigned char *packet_encrypt(ssh_session session,
-                              void *packet,
-                              unsigned int len);
-int packet_hmac_verify(ssh_session session,ssh_buffer buffer,
-                       unsigned char *mac, enum ssh_hmac_e type);
+uint32_t ssh_packet_decrypt_len(ssh_session session, char *crypted);
+int ssh_packet_decrypt(ssh_session session, void *packet, unsigned int len);
+unsigned char *ssh_packet_encrypt(ssh_session session,
+                                  void *packet,
+                                  unsigned int len);
+int ssh_packet_hmac_verify(ssh_session session,ssh_buffer buffer,
+                           unsigned char *mac, enum ssh_hmac_e type);
 
 #endif /* PACKET_H_ */
diff --git a/src/auth.c b/src/auth.c
index c2cf52f..060ee61 100644
--- a/src/auth.c
+++ b/src/auth.c
@@ -391,7 +391,7 @@ int ssh_userauth_none(ssh_session session, const char *username) {
 
     session->auth_state = SSH_AUTH_STATE_NONE;
     session->pending_call_state = SSH_PENDING_CALL_AUTH_NONE;
-    rc = packet_send(session);
+    rc = ssh_packet_send(session);
     if (rc == SSH_ERROR) {
         return SSH_AUTH_ERROR;
     }
@@ -503,7 +503,7 @@ int ssh_userauth_try_publickey(ssh_session session,
 
     session->auth_state = SSH_AUTH_STATE_NONE;
     session->pending_call_state = SSH_PENDING_CALL_AUTH_OFFER_PUBKEY;
-    rc = packet_send(session);
+    rc = ssh_packet_send(session);
     if (rc == SSH_ERROR) {
         return SSH_AUTH_ERROR;
     }
@@ -624,7 +624,7 @@ int ssh_userauth_publickey(ssh_session session,
 
     session->auth_state = SSH_AUTH_STATE_NONE;
     session->pending_call_state = SSH_PENDING_CALL_AUTH_PUBKEY;
-    rc = packet_send(session);
+    rc = ssh_packet_send(session);
     if (rc == SSH_ERROR) {
         return SSH_AUTH_ERROR;
     }
@@ -708,7 +708,7 @@ static int ssh_userauth_agent_publickey(ssh_session session,
 
     session->auth_state = SSH_AUTH_STATE_NONE;
     session->pending_call_state = SSH_PENDING_CALL_AUTH_AGENT;
-    rc = packet_send(session);
+    rc = ssh_packet_send(session);
     if (rc == SSH_ERROR) {
         return SSH_AUTH_ERROR;
     }
@@ -1152,7 +1152,7 @@ int ssh_userauth_password(ssh_session session,
 
     session->auth_state = SSH_AUTH_STATE_NONE;
     session->pending_call_state = SSH_PENDING_CALL_AUTH_OFFER_PUBKEY;
-    rc = packet_send(session);
+    rc = ssh_packet_send(session);
     if (rc == SSH_ERROR) {
         return SSH_AUTH_ERROR;
     }
@@ -1321,7 +1321,7 @@ static int ssh_userauth_kbdint_init(ssh_session session,
     SSH_LOG(SSH_LOG_DEBUG,
             "Sending keyboard-interactive init request");
 
-    rc = packet_send(session);
+    rc = ssh_packet_send(session);
     if (rc == SSH_ERROR) {
         return SSH_AUTH_ERROR;
     }
@@ -1382,7 +1382,7 @@ static int ssh_userauth_kbdint_send(ssh_session session)
     SSH_LOG(SSH_LOG_DEBUG,
             "Sending keyboard-interactive response packet");
 
-    rc = packet_send(session);
+    rc = ssh_packet_send(session);
     if (rc == SSH_ERROR) {
         return SSH_AUTH_ERROR;
     }
diff --git a/src/auth1.c b/src/auth1.c
index e808763..b61f654 100644
--- a/src/auth1.c
+++ b/src/auth1.c
@@ -114,7 +114,7 @@ static int send_username(ssh_session session, const char *username) {
   ssh_string_free(user);
   session->auth_state=SSH_AUTH_STATE_NONE;
   session->auth_service_state = SSH_AUTH_SERVICE_SENT;
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     return SSH_AUTH_ERROR;
   }
 pending:
@@ -214,7 +214,7 @@ int ssh_userauth1_password(ssh_session session, const char *username,
   ssh_string_free(pwd);
   session->auth_state=SSH_AUTH_STATE_NONE;
   session->pending_call_state = SSH_PENDING_CALL_AUTH_PASSWORD;
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     return SSH_AUTH_ERROR;
   }
 pending:
diff --git a/src/channels.c b/src/channels.c
index 6082320..c04f1fd 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -293,7 +293,7 @@ static int channel_open(ssh_channel channel, const char *type, int window,
     }
   }
   channel->state = SSH_CHANNEL_STATE_OPENING;
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
 
     return err;
   }
@@ -374,7 +374,7 @@ static int grow_window(ssh_session session, ssh_channel channel, int minimumsize
     goto error;
   }
 
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     goto error;
   }
 
@@ -752,7 +752,7 @@ SSH_PACKET_CALLBACK(channel_rcv_request) {
       if (rc != SSH_OK) {
           return SSH_PACKET_USED;
       }
-	  packet_send(session);
+	  ssh_packet_send(session);
 
 	  return SSH_PACKET_USED;
 	}
@@ -1082,7 +1082,7 @@ int ssh_channel_send_eof(ssh_channel channel){
     goto error;
   }
 
-  rc = packet_send(session);
+  rc = ssh_packet_send(session);
   SSH_LOG(SSH_LOG_PACKET,
       "Sent a EOF on client channel (%d:%d)",
       channel->local_channel,
@@ -1141,7 +1141,7 @@ int ssh_channel_close(ssh_channel channel){
     goto error;
   }
 
-  rc = packet_send(session);
+  rc = ssh_packet_send(session);
   SSH_LOG(SSH_LOG_PACKET,
       "Sent a close on client channel (%d:%d)",
       channel->local_channel,
@@ -1318,7 +1318,7 @@ static int channel_write_common(ssh_channel channel,
         goto error;
     }
 
-    rc = packet_send(session);
+    rc = ssh_packet_send(session);
     if (rc == SSH_ERROR) {
         return SSH_ERROR;
     }
@@ -1547,7 +1547,7 @@ static int channel_request(ssh_channel channel, const char *request,
     }
   }
   channel->request_state = SSH_CHANNEL_REQ_STATE_PENDING;
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     return rc;
   }
 
@@ -2109,7 +2109,7 @@ static int global_request(ssh_session session, const char *request,
   }
 
   session->global_req_state = SSH_CHANNEL_REQ_STATE_PENDING;
-  rc = packet_send(session);
+  rc = ssh_packet_send(session);
   if (rc == SSH_ERROR) {
       return rc;
   }
diff --git a/src/channels1.c b/src/channels1.c
index 730649a..2ad087e 100644
--- a/src/channels1.c
+++ b/src/channels1.c
@@ -129,7 +129,7 @@ int ssh_channel_request_pty_size1(ssh_channel channel, const char *terminal, int
 
   SSH_LOG(SSH_LOG_FUNCTIONS, "Opening a ssh1 pty");
   channel->request_state = SSH_CHANNEL_REQ_STATE_PENDING;
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     return -1;
   }
 
@@ -178,7 +178,7 @@ int ssh_channel_change_pty_size1(ssh_channel channel, int cols, int rows) {
     return SSH_ERROR;
   }
   channel->request_state=SSH_CHANNEL_REQ_STATE_PENDING;
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     return SSH_ERROR;
   }
 
@@ -219,7 +219,7 @@ int ssh_channel_request_shell1(ssh_channel channel) {
     return -1;
   }
 
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     return -1;
   }
 
@@ -249,7 +249,7 @@ int ssh_channel_request_exec1(ssh_channel channel, const char *cmd) {
   }
   ssh_string_free(command);
 
-  if(packet_send(session) == SSH_ERROR) {
+  if(ssh_packet_send(session) == SSH_ERROR) {
     return -1;
   }
 
@@ -314,7 +314,7 @@ SSH_PACKET_CALLBACK(ssh_packet_close1){
   if (rc < 0) {
     return SSH_PACKET_NOT_USED;
   }
-  packet_send(session);
+  ssh_packet_send(session);
 
   return SSH_PACKET_USED;
 }
@@ -364,7 +364,7 @@ int ssh_channel_write1(ssh_channel channel, const void *data, int len) {
     ptr += effectivelen;
     len -= effectivelen;
 
-    if (packet_send(session) == SSH_ERROR) {
+    if (ssh_packet_send(session) == SSH_ERROR) {
       return -1;
     }
     ssh_handle_packets(session, SSH_TIMEOUT_NONBLOCKING);
diff --git a/src/client.c b/src/client.c
index 0c2b7e4..0cca110 100644
--- a/src/client.c
+++ b/src/client.c
@@ -283,7 +283,7 @@ int ssh_service_request(ssh_session session, const char *service) {
       return SSH_ERROR;
   }
   session->auth_service_state=SSH_AUTH_SERVICE_SENT;
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     ssh_set_error(session, SSH_FATAL,
         "Sending SSH2_MSG_SERVICE_REQUEST failed.");
       return SSH_ERROR;
@@ -643,7 +643,7 @@ void ssh_disconnect(ssh_session session) {
       goto error;
     }
 
-    packet_send(session);
+    ssh_packet_send(session);
     ssh_socket_close(session->socket);
   }
 error:
diff --git a/src/dh.c b/src/dh.c
index 485a280..549f7df 100644
--- a/src/dh.c
+++ b/src/dh.c
@@ -456,7 +456,7 @@ int ssh_client_dh_init(ssh_session session){
   ssh_string_free(e);
   e=NULL;
 
-  rc = packet_send(session);
+  rc = ssh_packet_send(session);
   return rc;
   error:
   if(e != NULL){
@@ -509,7 +509,7 @@ int ssh_client_dh_reply(ssh_session session, ssh_buffer packet){
     goto error;
   }
 
-  rc=packet_send(session);
+  rc=ssh_packet_send(session);
   SSH_LOG(SSH_LOG_PROTOCOL, "SSH_MSG_NEWKEYS sent");
   return rc;
 error:
diff --git a/src/gssapi.c b/src/gssapi.c
index 09f0d93..1c5a2a4 100644
--- a/src/gssapi.c
+++ b/src/gssapi.c
@@ -121,7 +121,7 @@ static int ssh_gssapi_send_response(ssh_session session, ssh_string oid){
         return SSH_ERROR;
     }
 
-    packet_send(session);
+    ssh_packet_send(session);
     SSH_LOG(SSH_LOG_PACKET,
             "Sent SSH_MSG_USERAUTH_GSSAPI_RESPONSE");
     return SSH_OK;
@@ -319,7 +319,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_token_server){
                 ssh_set_error_oom(session);
                 return SSH_PACKET_USED;
             }
-            packet_send(session);
+            ssh_packet_send(session);
             ssh_string_free(out_token);
         } else {
             session->gssapi->state = SSH_GSSAPI_STATE_RCV_MIC;
@@ -358,7 +358,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_token_server){
                         SSH2_MSG_USERAUTH_GSSAPI_TOKEN,
                         output_token.length,
                         (size_t)output_token.length, output_token.value);
-        packet_send(session);
+        ssh_packet_send(session);
     }
     if(maj_stat == GSS_S_COMPLETE){
         session->gssapi->state = SSH_GSSAPI_STATE_RCV_MIC;
@@ -540,7 +540,7 @@ static int ssh_gssapi_send_auth_mic(ssh_session session, ssh_string *oid_set, in
     }
 
     session->auth_state = SSH_AUTH_STATE_GSSAPI_REQUEST_SENT;
-    return packet_send(session);
+    return ssh_packet_send(session);
 fail:
     ssh_buffer_reinit(session->out_buffer);
     return SSH_ERROR;
@@ -771,7 +771,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_response){
                         SSH2_MSG_USERAUTH_GSSAPI_TOKEN,
                         output_token.length,
                         (size_t)output_token.length, output_token.value);
-        packet_send(session);
+        ssh_packet_send(session);
         session->auth_state = SSH_AUTH_STATE_GSSAPI_TOKEN;
     }
     return SSH_PACKET_USED;
@@ -812,7 +812,7 @@ static int ssh_gssapi_send_mic(ssh_session session){
         return SSH_ERROR;
     }
 
-    return packet_send(session);
+    return ssh_packet_send(session);
 }
 
 SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_token_client){
@@ -866,7 +866,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_token_client){
                         SSH2_MSG_USERAUTH_GSSAPI_TOKEN,
                         output_token.length,
                         (size_t)output_token.length, output_token.value);
-        packet_send(session);
+        ssh_packet_send(session);
     }
     if(maj_stat == GSS_S_COMPLETE){
         session->auth_state = SSH_AUTH_STATE_NONE;
diff --git a/src/kex.c b/src/kex.c
index 55b8318..f34728c 100644
--- a/src/kex.c
+++ b/src/kex.c
@@ -642,7 +642,7 @@ int ssh_send_kex(ssh_session session, int server_kex) {
     goto error;
   }
 
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     return -1;
   }
 
diff --git a/src/kex1.c b/src/kex1.c
index 9e0794d..10e6327 100644
--- a/src/kex1.c
+++ b/src/kex1.c
@@ -443,7 +443,7 @@ SSH_PACKET_CALLBACK(ssh_packet_publickey1){
      goto error;
    }
    session->session_state=SSH_SESSION_STATE_KEXINIT_RECEIVED;
-   if (packet_send(session) == SSH_ERROR) {
+   if (ssh_packet_send(session) == SSH_ERROR) {
      goto error;
    }
 
diff --git a/src/messages.c b/src/messages.c
index bd93b58..4149e28 100644
--- a/src/messages.c
+++ b/src/messages.c
@@ -86,7 +86,7 @@ static int ssh_message_reply_default(ssh_message msg) {
   if (ssh_buffer_add_u32(msg->session->out_buffer,
       htonl(msg->session->recv_seq-1)) < 0)
     goto error;
-  return packet_send(msg->session);
+  return ssh_packet_send(msg->session);
   error:
   return SSH_ERROR;
 }
@@ -1138,7 +1138,7 @@ int ssh_message_channel_request_open_reply_accept_channel(ssh_message msg, ssh_c
             "Accepting a channel request_open for chan %d",
             chan->remote_channel);
 
-    rc = packet_send(session);
+    rc = ssh_packet_send(session);
 
     return rc;
 }
@@ -1319,7 +1319,7 @@ int ssh_message_channel_request_reply_success(ssh_message msg) {
       return SSH_ERROR;
     }
 
-    return packet_send(msg->session);
+    return ssh_packet_send(msg->session);
   }
 
   SSH_LOG(SSH_LOG_PACKET,
diff --git a/src/packet.c b/src/packet.c
index 4636f26..f10467b 100644
--- a/src/packet.c
+++ b/src/packet.c
@@ -192,7 +192,7 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
 
             memcpy(buffer, data, blocksize);
             processed += blocksize;
-            len = packet_decrypt_len(session, buffer);
+            len = ssh_packet_decrypt_len(session, buffer);
 
             rc = ssh_buffer_add_data(session->in_buffer, buffer, blocksize);
             if (rc < 0) {
@@ -260,7 +260,7 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
                     uint8_t *payload = ((uint8_t*)ssh_buffer_get_rest(session->in_buffer) + blocksize);
                     uint32_t plen = buffer_len - blocksize;
 
-                    rc = packet_decrypt(session, payload, plen);
+                    rc = ssh_packet_decrypt(session, payload, plen);
                     if (rc < 0) {
                         ssh_set_error(session, SSH_FATAL, "Decrypt error");
                         goto error;
@@ -271,7 +271,7 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
                 packet = ((uint8_t *)data) + processed;
                 memcpy(mac, packet, current_macsize);
 
-                rc = packet_hmac_verify(session, session->in_buffer, mac, session->current_crypto->in_hmac);
+                rc = ssh_packet_hmac_verify(session, session->in_buffer, mac, session->current_crypto->in_hmac);
                 if (rc < 0) {
                     ssh_set_error(session, SSH_FATAL, "HMAC error");
                     goto error;
@@ -452,7 +452,7 @@ int ssh_packet_send_unimplemented(ssh_session session, uint32_t seqnum){
         ssh_set_error_oom(session);
         return SSH_ERROR;
     }
-    rc = packet_send(session);
+    rc = ssh_packet_send(session);
 
     return rc;
 }
@@ -567,7 +567,7 @@ static int packet_send2(ssh_session session) {
   			,ssh_buffer_get_rest_len(session->out_buffer));
   }
 #endif
-  hmac = packet_encrypt(session, ssh_buffer_get_rest(session->out_buffer),
+  hmac = ssh_packet_encrypt(session, ssh_buffer_get_rest(session->out_buffer),
       ssh_buffer_get_rest_len(session->out_buffer));
   if (hmac) {
     rc = ssh_buffer_add_data(session->out_buffer, hmac, hmac_digest_len(hmac_type));
@@ -595,10 +595,10 @@ error:
 }
 
 
-int packet_send(ssh_session session) {
+int ssh_packet_send(ssh_session session) {
 #ifdef WITH_SSH1
   if (session->version == 1) {
-    return packet_send1(session);
+    return ssh_packet_send1(session);
   }
 #endif
   return packet_send2(session);
diff --git a/src/packet1.c b/src/packet1.c
index 543af1f..36e14bb 100644
--- a/src/packet1.c
+++ b/src/packet1.c
@@ -171,7 +171,7 @@ int ssh_packet_socket_callback1(const void *data, size_t receivedlen, void *user
         buffer_len = ssh_buffer_get_len(session->in_buffer);
         if (buffer_len > 0) {
           int rc;
-          rc = packet_decrypt(session,
+          rc = ssh_packet_decrypt(session,
                  ssh_buffer_get_begin(session->in_buffer),
                  buffer_len);
           if (rc < 0) {
@@ -252,7 +252,7 @@ error:
 }
 
 
-int packet_send1(ssh_session session) {
+int ssh_packet_send1(ssh_session session) {
   unsigned int blocksize = (session->current_crypto ?
       session->current_crypto->out_cipher->blocksize : 8);
   uint32_t currentlen = ssh_buffer_get_len(session->out_buffer) + sizeof(uint32_t);
@@ -306,8 +306,8 @@ int packet_send1(ssh_session session) {
 #endif
 
   /* session->out_buffer should have more than sizeof(uint32_t) bytes
-     in it as required for packet_encrypt */
-  packet_encrypt(session, (unsigned char *)ssh_buffer_get_begin(session->out_buffer) + sizeof(uint32_t),
+     in it as required for ssh_packet_encrypt */
+  ssh_packet_encrypt(session, (unsigned char *)ssh_buffer_get_begin(session->out_buffer) + sizeof(uint32_t),
       ssh_buffer_get_len(session->out_buffer) - sizeof(uint32_t));
 
 #ifdef DEBUG_CRYPTO
diff --git a/src/packet_crypt.c b/src/packet_crypt.c
index c24a3e9..fd0db2e 100644
--- a/src/packet_crypt.c
+++ b/src/packet_crypt.c
@@ -44,11 +44,11 @@
 #include "libssh/crypto.h"
 #include "libssh/buffer.h"
 
-uint32_t packet_decrypt_len(ssh_session session, char *crypted){
+uint32_t ssh_packet_decrypt_len(ssh_session session, char *crypted){
   uint32_t decrypted;
 
   if (session->current_crypto) {
-    if (packet_decrypt(session, crypted,
+    if (ssh_packet_decrypt(session, crypted,
           session->current_crypto->in_cipher->blocksize) < 0) {
       return 0;
     }
@@ -57,7 +57,7 @@ uint32_t packet_decrypt_len(ssh_session session, char *crypted){
   return ntohl(decrypted);
 }
 
-int packet_decrypt(ssh_session session, void *data,uint32_t len) {
+int ssh_packet_decrypt(ssh_session session, void *data,uint32_t len) {
   struct ssh_cipher_struct *crypto = session->current_crypto->in_cipher;
   char *out = NULL;
 
@@ -85,7 +85,7 @@ int packet_decrypt(ssh_session session, void *data,uint32_t len) {
   return 0;
 }
 
-unsigned char *packet_encrypt(ssh_session session, void *data, uint32_t len) {
+unsigned char *ssh_packet_encrypt(ssh_session session, void *data, uint32_t len) {
   struct ssh_cipher_struct *crypto = NULL;
   HMACCTX ctx = NULL;
   char *out = NULL;
@@ -160,7 +160,7 @@ unsigned char *packet_encrypt(ssh_session session, void *data, uint32_t len) {
  * @return              0 if hmac and mac are equal, < 0 if not or an error
  *                      occurred.
  */
-int packet_hmac_verify(ssh_session session, ssh_buffer buffer,
+int ssh_packet_hmac_verify(ssh_session session, ssh_buffer buffer,
     unsigned char *mac, enum ssh_hmac_e type) {
   unsigned char hmacbuf[DIGEST_MAX_LEN] = {0};
   HMACCTX ctx;
diff --git a/src/server.c b/src/server.c
index c86df1b..0491e33 100644
--- a/src/server.c
+++ b/src/server.c
@@ -321,7 +321,7 @@ static int dh_handshake_server(ssh_session session) {
     return -1;
   }
 
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     return -1;
   }
 
@@ -330,7 +330,7 @@ static int dh_handshake_server(ssh_session session) {
     return -1;
   }
 
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     return -1;
   }
   SSH_LOG(SSH_LOG_PACKET, "SSH_MSG_NEWKEYS sent");
@@ -651,7 +651,7 @@ int ssh_auth_reply_default(ssh_session session,int partial) {
       ssh_set_error_oom(session);
       return SSH_ERROR;
   }
-  rc = packet_send(session);
+  rc = ssh_packet_send(session);
   return rc;
 }
 
@@ -672,7 +672,7 @@ static int ssh_message_channel_request_open_reply_default(ssh_message msg) {
         return SSH_ERROR;
     }
 
-    rc = packet_send(msg->session);
+    rc = ssh_packet_send(msg->session);
     return rc;
 }
 
@@ -694,7 +694,7 @@ static int ssh_message_channel_request_reply_default(ssh_message msg) {
         ssh_set_error_oom(msg->session);
         return SSH_ERROR;
     }
-    return packet_send(msg->session);
+    return ssh_packet_send(msg->session);
   }
 
   SSH_LOG(SSH_LOG_PACKET,
@@ -728,7 +728,7 @@ int ssh_message_service_reply_success(ssh_message msg) {
         ssh_set_error_oom(session);
         return SSH_ERROR;
     }
-    rc = packet_send(msg->session);
+    rc = ssh_packet_send(msg->session);
     return rc;
 }
 
@@ -752,7 +752,7 @@ int ssh_message_global_request_reply_success(ssh_message msg, uint16_t bound_por
             }
         }
 
-        return packet_send(msg->session);
+        return ssh_packet_send(msg->session);
     }
 
     if(msg->global_request.type == SSH_GLOBAL_REQUEST_TCPIP_FORWARD 
@@ -774,7 +774,7 @@ static int ssh_message_global_request_reply_default(ssh_message msg) {
                     , SSH2_MSG_REQUEST_FAILURE) < 0) {
             goto error;
         }
-        return packet_send(msg->session);
+        return ssh_packet_send(msg->session);
     }
     SSH_LOG(SSH_LOG_PACKET,
             "The client doesn't want to know the request failed!");
@@ -911,7 +911,7 @@ int ssh_message_auth_interactive_request(ssh_message msg, const char *name,
     }
   }
 
-  rc = packet_send(msg->session);
+  rc = ssh_packet_send(msg->session);
 
   /* fill in the kbdint structure */
   if (msg->session->kbdint == NULL) {
@@ -998,7 +998,7 @@ int ssh_auth_reply_success(ssh_session session, int partial) {
     return SSH_ERROR;
   }
 
-  r = packet_send(session);
+  r = ssh_packet_send(session);
   if(session->current_crypto && session->current_crypto->delayed_compress_out){
       SSH_LOG(SSH_LOG_PROTOCOL,"Enabling delayed compression OUT");
   	session->current_crypto->do_compress_out=1;
@@ -1033,7 +1033,7 @@ int ssh_message_auth_reply_pk_ok(ssh_message msg, ssh_string algo, ssh_string pu
         return SSH_ERROR;
     }
 
-    rc = packet_send(msg->session);
+    rc = ssh_packet_send(msg->session);
     return rc;
 }
 
@@ -1200,7 +1200,7 @@ int ssh_send_keepalive(ssh_session session)
     goto err;
   }
 
-  if (packet_send(session) == SSH_ERROR) {
+  if (ssh_packet_send(session) == SSH_ERROR) {
     goto err;
   }
 
diff --git a/src/session.c b/src/session.c
index c1ef290..a61af44 100644
--- a/src/session.c
+++ b/src/session.c
@@ -828,7 +828,7 @@ int ssh_send_ignore (ssh_session session, const char *data) {
             ssh_set_error_oom(session);
             goto error;
         }
-        packet_send(session);
+        ssh_packet_send(session);
         ssh_handle_packets(session, 0);
     }
 
@@ -864,7 +864,7 @@ int ssh_send_debug (ssh_session session, const char *message, int always_display
             ssh_set_error_oom(session);
             goto error;
         }
-        packet_send(session);
+        ssh_packet_send(session);
         ssh_handle_packets(session, 0);
     }
 
-- 
2.4.3


From 16384b8ec5779510e51ec693f6d2477834bf1456 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Thu, 17 Sep 2015 14:28:12 +0200
Subject: [PATCH 10/24 v2] pki_gcrypt: Fix warning about not handled values in
 switch
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

/home/ffidenci/src/upstream/libssh/src/pki_gcrypt.c: In function
‘pki_key_compare’:
/home/ffidenci/src/upstream/libssh/src/pki_gcrypt.c:1082:5: warning:
enumeration value ‘SSH_KEYTYPE_DSS_CERT01’ not handled in switch
[-Wswitch]
     switch (k1->type) {
          ^
/home/ffidenci/src/upstream/libssh/src/pki_gcrypt.c:1082:5: warning:
enumeration value ‘SSH_KEYTYPE_RSA_CERT01’ not handled in switch
[-Wswitch]

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 src/pki_gcrypt.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/pki_gcrypt.c b/src/pki_gcrypt.c
index 0b65ccd..ed61ef1 100644
--- a/src/pki_gcrypt.c
+++ b/src/pki_gcrypt.c
@@ -1135,6 +1135,8 @@ int pki_key_compare(const ssh_key k1,
 		/* ed25519 keys handled globaly */
 		return 0;
         case SSH_KEYTYPE_ECDSA:
+        case SSH_KEYTYPE_DSS_CERT01:
+        case SSH_KEYTYPE_RSA_CERT01:
         case SSH_KEYTYPE_UNKNOWN:
             return 1;
     }
-- 
2.4.3


From 83316e5bdb85a3ace1acc0abc901742e9b9c4805 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Thu, 17 Sep 2015 14:30:41 +0200
Subject: [PATCH 11/24 v2] tests: Fix warning about expected format for printf
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

/home/ffidenci/src/upstream/libssh/tests/benchmarks/bench_scp.c: In
function ‘benchmarks_scp_down’:
/home/ffidenci/src/upstream/libssh/tests/benchmarks/bench_scp.c:112:14:
warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has
type ‘size_t {aka long unsigned int}’ [-Wformat=]
       printf("Only %d bytes available (on %lu requested).\n",size,bytes);
              ^
/home/ffidenci/src/upstream/libssh/tests/benchmarks/bench_scp.c:116:14:
warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has
type ‘size_t {aka long unsigned int}’ [-Wformat=]
        printf("File is %d bytes (on %lu requested). Will cut the end\n"
        ,size,bytes);

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 tests/benchmarks/bench_scp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/benchmarks/bench_scp.c b/tests/benchmarks/bench_scp.c
index 340637b..71aba28 100644
--- a/tests/benchmarks/bench_scp.c
+++ b/tests/benchmarks/bench_scp.c
@@ -109,11 +109,11 @@ int benchmarks_scp_down (ssh_session session, struct argument_s *args,
   if(r == SSH_SCP_REQUEST_NEWFILE){
     size=ssh_scp_request_get_size(scp);
     if(bytes > size){
-      printf("Only %d bytes available (on %lu requested).\n",size,bytes);
+      printf("Only %zd bytes available (on %lu requested).\n",size,bytes);
       bytes = size;
     }
     if(size > bytes){
-      printf("File is %d bytes (on %lu requested). Will cut the end\n",size,bytes);
+      printf("File is %zd bytes (on %lu requested). Will cut the end\n",size,bytes);
     }
     if(args->verbose>0)
       fprintf(stdout,"Starting download of %lu bytes now\n",bytes);
-- 
2.4.3


From 2ea1e2121bc74254fcaad8ef61d3abaed7cfd8ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Sat, 19 Sep 2015 23:42:55 +0200
Subject: [PATCH 12/24 v2] buffer: fix documentation for ssh_buffer_get_u32()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 src/buffer.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/buffer.c b/src/buffer.c
index a327aa6..73db6d1 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -591,12 +591,16 @@ int ssh_buffer_get_u8(struct ssh_buffer_struct *buffer, uint8_t *data){
     return ssh_buffer_get_data(buffer,data,sizeof(uint8_t));
 }
 
-/** \internal
- * \brief gets a 32 bits unsigned int out of the buffer. Adjusts the read pointer.
- * \param buffer Buffer to read
- * \param data pointer to a uint32_t where to store the data
- * \returns 0 if there is not enough data in buffer
- * \returns 4 otherwise.
+/**
+ * @internal
+ *
+ * @brief gets a 32 bits unsigned int out of the buffer. Adjusts the read pointer.
+ *
+ * @param[in]  buffer   The buffer to read.
+ *
+ * @param[in]  data     A pointer to a uint32_t where to store the data.
+ *
+ * @returns             0 if there is not enough data in buffer, 4 otherwise.
  */
 int ssh_buffer_get_u32(struct ssh_buffer_struct *buffer, uint32_t *data){
     return ssh_buffer_get_data(buffer,data,sizeof(uint32_t));
-- 
2.4.3


From 50868efcb040a2b49f7d59bffb886933686ceed7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Sat, 19 Sep 2015 23:44:27 +0200
Subject: [PATCH 13/24 v2] buffer: cosmetic change in ssh_buffer_get_u8()
 documentation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 src/buffer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/buffer.c b/src/buffer.c
index 73db6d1..a281024 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -583,7 +583,7 @@ uint32_t ssh_buffer_get_data(struct ssh_buffer_struct *buffer, void *data, uint3
  *
  * @param[in]  buffer   The buffer to read.
  *
- * @param[in]   data    A pointer to a uint8_t where to store the data.
+ * @param[in]  data     A pointer to a uint8_t where to store the data.
  *
  * @returns             0 if there is not enough data in buffer, 1 otherwise.
  */
-- 
2.4.3


From c2cf33dbb068eee3daa9e09a22dc5c7378bf8b7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 01:10:03 +0200
Subject: [PATCH 14/24 v2] buffer: rename ssh_buffer_get_rest() to
 ssh_buffer_get()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/buffer.h          |  2 +-
 src/agent.c                      |  4 ++--
 src/buffer.c                     |  9 ++++-----
 src/channels.c                   |  8 ++++----
 src/dh.c                         |  8 ++++----
 src/gzip.c                       |  8 ++++----
 src/known_hosts.c                |  6 +++---
 src/messages.c                   |  2 +-
 src/packet.c                     |  8 ++++----
 src/packet1.c                    |  8 ++++----
 src/packet_crypt.c               |  2 +-
 src/pcap.c                       |  2 +-
 src/pki.c                        |  8 ++++----
 src/pki_crypto.c                 |  4 ++--
 src/pki_gcrypt.c                 |  2 +-
 src/sftp.c                       |  4 ++--
 src/sftpserver.c                 |  4 ++--
 src/socket.c                     |  4 ++--
 tests/unittests/torture_buffer.c | 12 ++++++------
 19 files changed, 52 insertions(+), 53 deletions(-)

diff --git a/include/libssh/buffer.h b/include/libssh/buffer.h
index 3ff794a..15294b2 100644
--- a/include/libssh/buffer.h
+++ b/include/libssh/buffer.h
@@ -79,7 +79,7 @@ int ssh_buffer_add_buffer(ssh_buffer buffer, ssh_buffer source);
 int ssh_buffer_reinit(ssh_buffer buffer);
 
 /* ssh_buffer_get_rest returns a pointer to the current position into the buffer */
-void *ssh_buffer_get_rest(ssh_buffer buffer);
+void *ssh_buffer_get(ssh_buffer buffer);
 /* ssh_buffer_get_rest_len returns the number of bytes which can be read */
 uint32_t ssh_buffer_get_rest_len(ssh_buffer buffer);
 
diff --git a/src/agent.c b/src/agent.c
index 804ee50..c3356bc 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -279,7 +279,7 @@ static int agent_talk(struct ssh_session_struct *session,
 
   /* send length and then the request packet */
   if (atomicio(session->agent, payload, 4, 0) == 4) {
-    if (atomicio(session->agent, ssh_buffer_get_rest(request), len, 0)
+    if (atomicio(session->agent, ssh_buffer_get(request), len, 0)
         != len) {
       SSH_LOG(SSH_LOG_WARN, "atomicio sending request failed: %s",
           strerror(errno));
@@ -543,7 +543,7 @@ ssh_string ssh_agent_sign_data(ssh_session session,
         ssh_buffer_free(request);
         return NULL;
     }
-    if (ssh_buffer_add_data(request, ssh_buffer_get_rest(data), dlen) < 0) {
+    if (ssh_buffer_add_data(request, ssh_buffer_get(data), dlen) < 0) {
         ssh_buffer_free(request);
         return NULL;
     }
diff --git a/src/buffer.c b/src/buffer.c
index a281024..8765989 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -425,7 +425,7 @@ int ssh_buffer_add_buffer(struct ssh_buffer_struct *buffer,
     int rc;
 
     rc = ssh_buffer_add_data(buffer,
-                             ssh_buffer_get_rest(source),
+                             ssh_buffer_get(source),
                              ssh_buffer_get_rest_len(source));
     if (rc < 0) {
         return -1;
@@ -444,7 +444,7 @@ int ssh_buffer_add_buffer(struct ssh_buffer_struct *buffer,
  *
  * @warning Don't expect data to be nul-terminated.
  *
- * @see ssh_buffer_get_rest()
+ * @see ssh_buffer_get()
  * @see ssh_buffer_get_len()
  */
 void *ssh_buffer_get_begin(struct ssh_buffer_struct *buffer){
@@ -461,9 +461,8 @@ void *ssh_buffer_get_begin(struct ssh_buffer_struct *buffer){
  * @return              A pointer to the data from current position.
  *
  * @see ssh_buffer_get_rest_len()
- * @see ssh_buffer_get()
  */
-void *ssh_buffer_get_rest(struct ssh_buffer_struct *buffer){
+void *ssh_buffer_get(struct ssh_buffer_struct *buffer){
     return buffer->data + buffer->pos;
 }
 
@@ -489,7 +488,7 @@ uint32_t ssh_buffer_get_len(struct ssh_buffer_struct *buffer){
  *
  * @return              The length of the buffer.
  *
- * @see ssh_buffer_get_rest()
+ * @see ssh_buffer_get()
  */
 uint32_t ssh_buffer_get_rest_len(struct ssh_buffer_struct *buffer){
   buffer_verify(buffer);
diff --git a/src/channels.c b/src/channels.c
index c04f1fd..5cfc6ed 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -546,7 +546,7 @@ SSH_PACKET_CALLBACK(channel_rcv_data){
       }
       rest = channel->callbacks->channel_data_function(channel->session,
                                                 channel,
-                                                ssh_buffer_get_rest(buf),
+                                                ssh_buffer_get(buf),
                                                 ssh_buffer_get_rest_len(buf),
                                                 is_stderr,
                                                 channel->callbacks->userdata);
@@ -1540,7 +1540,7 @@ static int channel_request(ssh_channel channel, const char *request,
   }
 
   if (buffer != NULL) {
-    if (ssh_buffer_add_data(session->out_buffer, ssh_buffer_get_rest(buffer),
+    if (ssh_buffer_add_data(session->out_buffer, ssh_buffer_get(buffer),
         ssh_buffer_get_rest_len(buffer)) < 0) {
       ssh_set_error_oom(session);
       goto error;
@@ -2099,7 +2099,7 @@ static int global_request(ssh_session session, const char *request,
 
   if (buffer != NULL) {
       rc = ssh_buffer_add_data(session->out_buffer,
-                           ssh_buffer_get_rest(buffer),
+                           ssh_buffer_get(buffer),
                            ssh_buffer_get_rest_len(buffer));
       if (rc < 0) {
           ssh_set_error_oom(session);
@@ -2717,7 +2717,7 @@ int ssh_channel_read_timeout(ssh_channel channel,
   len = ssh_buffer_get_rest_len(stdbuf);
   /* Read count bytes if len is greater, everything otherwise */
   len = (len > count ? count : len);
-  memcpy(dest, ssh_buffer_get_rest(stdbuf), len);
+  memcpy(dest, ssh_buffer_get(stdbuf), len);
   ssh_buffer_pass_bytes(stdbuf,len);
   if (channel->counter != NULL) {
       channel->counter->in_bytes += len;
diff --git a/src/dh.c b/src/dh.c
index 549f7df..d47c3dc 100644
--- a/src/dh.c
+++ b/src/dh.c
@@ -575,10 +575,10 @@ int ssh_make_sessionid(ssh_session session) {
                          "dPdPS",
                          ssh_buffer_get_rest_len(client_hash),
                          ssh_buffer_get_rest_len(client_hash),
-                         ssh_buffer_get_rest(client_hash),
+                         ssh_buffer_get(client_hash),
                          ssh_buffer_get_rest_len(server_hash),
                          ssh_buffer_get_rest_len(server_hash),
-                         ssh_buffer_get_rest(server_hash),
+                         ssh_buffer_get(server_hash),
                          session->next_crypto->server_pubkey);
 
     if(rc != SSH_OK){
@@ -643,7 +643,7 @@ int ssh_make_sessionid(ssh_session session) {
             ssh_set_error_oom(session);
             goto error;
         }
-        sha1(ssh_buffer_get_rest(buf), ssh_buffer_get_rest_len(buf),
+        sha1(ssh_buffer_get(buf), ssh_buffer_get_rest_len(buf),
                                    session->next_crypto->secret_hash);
         break;
     case SSH_KEX_ECDH_SHA2_NISTP256:
@@ -655,7 +655,7 @@ int ssh_make_sessionid(ssh_session session) {
             ssh_set_error_oom(session);
             goto error;
         }
-        sha256(ssh_buffer_get_rest(buf), ssh_buffer_get_rest_len(buf),
+        sha256(ssh_buffer_get(buf), ssh_buffer_get_rest_len(buf),
                                      session->next_crypto->secret_hash);
         break;
     }
diff --git a/src/gzip.c b/src/gzip.c
index 0a14084..c1b54db 100644
--- a/src/gzip.c
+++ b/src/gzip.c
@@ -58,7 +58,7 @@ static z_stream *initcompress(ssh_session session, int level) {
 
 static ssh_buffer gzip_compress(ssh_session session,ssh_buffer source,int level){
   z_stream *zout = session->current_crypto->compress_out_ctx;
-  void *in_ptr = ssh_buffer_get_rest(source);
+  void *in_ptr = ssh_buffer_get(source);
   unsigned long in_size = ssh_buffer_get_rest_len(source);
   ssh_buffer dest = NULL;
   unsigned char out_buf[BLOCKSIZE] = {0};
@@ -113,7 +113,7 @@ int compress_buffer(ssh_session session, ssh_buffer buf) {
     return -1;
   }
 
-  if (ssh_buffer_add_data(buf, ssh_buffer_get_rest(dest), ssh_buffer_get_rest_len(dest)) < 0) {
+  if (ssh_buffer_add_data(buf, ssh_buffer_get(dest), ssh_buffer_get_rest_len(dest)) < 0) {
     ssh_buffer_free(dest);
     return -1;
   }
@@ -147,7 +147,7 @@ static z_stream *initdecompress(ssh_session session) {
 
 static ssh_buffer gzip_decompress(ssh_session session, ssh_buffer source, size_t maxlen) {
   z_stream *zin = session->current_crypto->compress_in_ctx;
-  void *in_ptr = ssh_buffer_get_rest(source);
+  void *in_ptr = ssh_buffer_get(source);
   unsigned long in_size = ssh_buffer_get_rest_len(source);
   unsigned char out_buf[BLOCKSIZE] = {0};
   ssh_buffer dest = NULL;
@@ -209,7 +209,7 @@ int decompress_buffer(ssh_session session,ssh_buffer buf, size_t maxlen){
     return -1;
   }
 
-  if (ssh_buffer_add_data(buf, ssh_buffer_get_rest(dest), ssh_buffer_get_rest_len(dest)) < 0) {
+  if (ssh_buffer_add_data(buf, ssh_buffer_get(dest), ssh_buffer_get_rest_len(dest)) < 0) {
     ssh_buffer_free(dest);
     return -1;
   }
diff --git a/src/known_hosts.c b/src/known_hosts.c
index 32f795a..b4ad8e4 100644
--- a/src/known_hosts.c
+++ b/src/known_hosts.c
@@ -270,7 +270,7 @@ static int check_public_key(ssh_session session, char **tokens) {
   }
 
   /* now test that they are identical */
-  if (memcmp(ssh_buffer_get_rest(pubkey_buffer), ssh_string_data(pubkey),
+  if (memcmp(ssh_buffer_get(pubkey_buffer), ssh_string_data(pubkey),
         ssh_buffer_get_rest_len(pubkey_buffer)) != 0) {
     ssh_buffer_free(pubkey_buffer);
     return 0;
@@ -340,7 +340,7 @@ static int match_hashed_host(const char *host, const char *sourcehash)
     return 0;
   }
 
-  mac = hmac_init(ssh_buffer_get_rest(salt), ssh_buffer_get_rest_len(salt), SSH_HMAC_SHA1);
+  mac = hmac_init(ssh_buffer_get(salt), ssh_buffer_get_rest_len(salt), SSH_HMAC_SHA1);
   if (mac == NULL) {
     ssh_buffer_free(salt);
     ssh_buffer_free(hash);
@@ -352,7 +352,7 @@ static int match_hashed_host(const char *host, const char *sourcehash)
   hmac_final(mac, buffer, &size);
 
   if (size == ssh_buffer_get_rest_len(hash) &&
-      memcmp(buffer, ssh_buffer_get_rest(hash), size) == 0) {
+      memcmp(buffer, ssh_buffer_get(hash), size) == 0) {
     match = 1;
   } else {
     match = 0;
diff --git a/src/messages.c b/src/messages.c
index 4149e28..eada232 100644
--- a/src/messages.c
+++ b/src/messages.c
@@ -786,7 +786,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){
         rc = ssh_pki_signature_verify_blob(session,
                                            sig_blob,
                                            msg->auth_request.pubkey,
-                                           ssh_buffer_get_rest(digest),
+                                           ssh_buffer_get(digest),
                                            ssh_buffer_get_rest_len(digest));
         ssh_string_free(sig_blob);
         ssh_buffer_free(digest);
diff --git a/src/packet.c b/src/packet.c
index f10467b..17f5068 100644
--- a/src/packet.c
+++ b/src/packet.c
@@ -257,7 +257,7 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
 
                 /* The following check avoids decrypting zero bytes */
                 if (buffer_len > blocksize) {
-                    uint8_t *payload = ((uint8_t*)ssh_buffer_get_rest(session->in_buffer) + blocksize);
+                    uint8_t *payload = ((uint8_t*)ssh_buffer_get(session->in_buffer) + blocksize);
                     uint32_t plen = buffer_len - blocksize;
 
                     rc = ssh_packet_decrypt(session, payload, plen);
@@ -507,7 +507,7 @@ static int ssh_packet_write(ssh_session session) {
   int rc = SSH_ERROR;
 
   rc=ssh_socket_write(session->socket,
-      ssh_buffer_get_rest(session->out_buffer),
+      ssh_buffer_get(session->out_buffer),
       ssh_buffer_get_rest_len(session->out_buffer));
 
   return rc;
@@ -563,11 +563,11 @@ static int packet_send2(ssh_session session) {
 #ifdef WITH_PCAP
   if(session->pcap_ctx){
   	ssh_pcap_context_write(session->pcap_ctx,SSH_PCAP_DIR_OUT,
-  			ssh_buffer_get_rest(session->out_buffer),ssh_buffer_get_rest_len(session->out_buffer)
+  			ssh_buffer_get(session->out_buffer),ssh_buffer_get_rest_len(session->out_buffer)
   			,ssh_buffer_get_rest_len(session->out_buffer));
   }
 #endif
-  hmac = ssh_packet_encrypt(session, ssh_buffer_get_rest(session->out_buffer),
+  hmac = ssh_packet_encrypt(session, ssh_buffer_get(session->out_buffer),
       ssh_buffer_get_rest_len(session->out_buffer));
   if (hmac) {
     rc = ssh_buffer_add_data(session->out_buffer, hmac, hmac_digest_len(hmac_type));
diff --git a/src/packet1.c b/src/packet1.c
index 36e14bb..9465204 100644
--- a/src/packet1.c
+++ b/src/packet1.c
@@ -193,21 +193,21 @@ int ssh_packet_socket_callback1(const void *data, size_t receivedlen, void *user
       }
 
       memcpy(&crc,
-          (unsigned char *)ssh_buffer_get_rest(session->in_buffer) + (len+padding) - sizeof(uint32_t),
+          (unsigned char *)ssh_buffer_get(session->in_buffer) + (len+padding) - sizeof(uint32_t),
           sizeof(uint32_t));
       ssh_buffer_pass_bytes_end(session->in_buffer, sizeof(uint32_t));
       crc = ntohl(crc);
-      if (ssh_crc32(ssh_buffer_get_rest(session->in_buffer),
+      if (ssh_crc32(ssh_buffer_get(session->in_buffer),
             (len + padding) - sizeof(uint32_t)) != crc) {
 #ifdef DEBUG_CRYPTO
-        ssh_print_hexa("crc32 on",ssh_buffer_get_rest(session->in_buffer),
+        ssh_print_hexa("crc32 on",ssh_buffer_get(session->in_buffer),
             len + padding - sizeof(uint32_t));
 #endif
         SSH_LOG(SSH_LOG_RARE, "Invalid crc32");
         ssh_set_error(session, SSH_FATAL,
             "Invalid crc32: expected %.8x, got %.8x",
             crc,
-            ssh_crc32(ssh_buffer_get_rest(session->in_buffer),
+            ssh_crc32(ssh_buffer_get(session->in_buffer),
               len + padding - sizeof(uint32_t)));
         goto error;
       }
diff --git a/src/packet_crypt.c b/src/packet_crypt.c
index fd0db2e..cb04c11 100644
--- a/src/packet_crypt.c
+++ b/src/packet_crypt.c
@@ -175,7 +175,7 @@ int ssh_packet_hmac_verify(ssh_session session, ssh_buffer buffer,
   seq = htonl(session->recv_seq);
 
   hmac_update(ctx, (unsigned char *) &seq, sizeof(uint32_t));
-  hmac_update(ctx, ssh_buffer_get_rest(buffer), ssh_buffer_get_rest_len(buffer));
+  hmac_update(ctx, ssh_buffer_get(buffer), ssh_buffer_get_rest_len(buffer));
   hmac_final(ctx, hmacbuf, &len);
 
 #ifdef DEBUG_CRYPTO
diff --git a/src/pcap.c b/src/pcap.c
index 4efb052..2055132 100644
--- a/src/pcap.c
+++ b/src/pcap.c
@@ -145,7 +145,7 @@ static int ssh_pcap_file_write(ssh_pcap_file pcap, ssh_buffer packet){
 	if(pcap == NULL || pcap->output==NULL)
 		return SSH_ERROR;
 	len=ssh_buffer_get_rest_len(packet);
-	err=fwrite(ssh_buffer_get_rest(packet),len,1,pcap->output);
+	err=fwrite(ssh_buffer_get(packet),len,1,pcap->output);
 	if(err<0)
 		return SSH_ERROR;
 	else
diff --git a/src/pki.c b/src/pki.c
index 12e84e2..334382f 100644
--- a/src/pki.c
+++ b/src/pki.c
@@ -1473,7 +1473,7 @@ int ssh_pki_export_signature_blob(const ssh_signature sig,
         return SSH_ERROR;
     }
 
-    ssh_string_fill(str, ssh_buffer_get_rest(buf), ssh_buffer_get_rest_len(buf));
+    ssh_string_fill(str, ssh_buffer_get(buf), ssh_buffer_get_rest_len(buf));
     ssh_buffer_free(buf);
 
     *sig_blob = str;
@@ -1629,7 +1629,7 @@ ssh_string ssh_pki_do_sign(ssh_session session,
         }
 
         evp_update(ctx, session_id, ssh_string_len(session_id) + 4);
-        evp_update(ctx, ssh_buffer_get_rest(sigbuf), ssh_buffer_get_rest_len(sigbuf));
+        evp_update(ctx, ssh_buffer_get(sigbuf), ssh_buffer_get_rest_len(sigbuf));
         evp_final(ctx, ehash, &elen);
 
 #ifdef DEBUG_CRYPTO
@@ -1651,7 +1651,7 @@ ssh_string ssh_pki_do_sign(ssh_session session,
         rc = ssh_buffer_pack(buf,
                              "SP",
                              session_id,
-                             ssh_buffer_get_rest_len(sigbuf), ssh_buffer_get_rest(sigbuf));
+                             ssh_buffer_get_rest_len(sigbuf), ssh_buffer_get(sigbuf));
         if (rc != SSH_OK) {
             ssh_string_free(session_id);
             ssh_buffer_free(buf);
@@ -1673,7 +1673,7 @@ ssh_string ssh_pki_do_sign(ssh_session session,
         }
 
         sha1_update(ctx, session_id, ssh_string_len(session_id) + 4);
-        sha1_update(ctx, ssh_buffer_get_rest(sigbuf), ssh_buffer_get_rest_len(sigbuf));
+        sha1_update(ctx, ssh_buffer_get(sigbuf), ssh_buffer_get_rest_len(sigbuf));
         sha1_final(hash, ctx);
 
 #ifdef DEBUG_CRYPTO
diff --git a/src/pki_crypto.c b/src/pki_crypto.c
index dde6230..9df6898 100644
--- a/src/pki_crypto.c
+++ b/src/pki_crypto.c
@@ -1039,7 +1039,7 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
         goto fail;
     }
 
-    rc = ssh_string_fill(str, ssh_buffer_get_rest(buffer), ssh_buffer_get_rest_len(buffer));
+    rc = ssh_string_fill(str, ssh_buffer_get(buffer), ssh_buffer_get_rest_len(buffer));
     if (rc < 0) {
         goto fail;
     }
@@ -1244,7 +1244,7 @@ ssh_string pki_signature_to_blob(const ssh_signature sig)
                 return NULL;
             }
 
-            ssh_string_fill(sig_blob, ssh_buffer_get_rest(b), ssh_buffer_get_rest_len(b));
+            ssh_string_fill(sig_blob, ssh_buffer_get(b), ssh_buffer_get_rest_len(b));
             ssh_buffer_free(b);
             break;
         }
diff --git a/src/pki_gcrypt.c b/src/pki_gcrypt.c
index ed61ef1..5be0388 100644
--- a/src/pki_gcrypt.c
+++ b/src/pki_gcrypt.c
@@ -1305,7 +1305,7 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
         goto fail;
     }
 
-    rc = ssh_string_fill(str, ssh_buffer_get_rest(buffer), ssh_buffer_get_rest_len(buffer));
+    rc = ssh_string_fill(str, ssh_buffer_get(buffer), ssh_buffer_get_rest_len(buffer));
     if (rc < 0) {
         goto fail;
     }
diff --git a/src/sftp.c b/src/sftp.c
index c1dbda1..6f7e726 100644
--- a/src/sftp.c
+++ b/src/sftp.c
@@ -288,7 +288,7 @@ int sftp_packet_write(sftp_session sftp, uint8_t type, ssh_buffer payload){
     return -1;
   }
 
-  size = ssh_channel_write(sftp->channel, ssh_buffer_get_rest(payload),
+  size = ssh_channel_write(sftp->channel, ssh_buffer_get(payload),
       ssh_buffer_get_rest_len(payload));
   if (size < 0) {
     return -1;
@@ -460,7 +460,7 @@ static sftp_message sftp_get_message(sftp_packet packet) {
       msg->id,
       msg->packet_type);
 
-  if (ssh_buffer_add_data(msg->payload, ssh_buffer_get_rest(packet->payload),
+  if (ssh_buffer_add_data(msg->payload, ssh_buffer_get(packet->payload),
         ssh_buffer_get_rest_len(packet->payload)) < 0) {
     ssh_set_error_oom(sftp->session);
     sftp_message_free(msg);
diff --git a/src/sftpserver.c b/src/sftpserver.c
index 5939309..51a4ba7 100644
--- a/src/sftpserver.c
+++ b/src/sftpserver.c
@@ -65,7 +65,7 @@ sftp_client_message sftp_get_client_message(sftp_session sftp) {
   /* take a copy of the whole packet */
   msg->complete_message = ssh_buffer_new();
   ssh_buffer_add_data(msg->complete_message,
-                      ssh_buffer_get_rest(payload),
+                      ssh_buffer_get(payload),
                       ssh_buffer_get_rest_len(payload));
 
   ssh_buffer_get_u32(payload, &msg->id);
@@ -377,7 +377,7 @@ int sftp_reply_names(sftp_client_message msg) {
 
   if (ssh_buffer_add_u32(out, msg->id) < 0 ||
       ssh_buffer_add_u32(out, htonl(msg->attr_num)) < 0 ||
-      ssh_buffer_add_data(out, ssh_buffer_get_rest(msg->attrbuf),
+      ssh_buffer_add_data(out, ssh_buffer_get(msg->attrbuf),
         ssh_buffer_get_rest_len(msg->attrbuf)) < 0 ||
       sftp_packet_write(msg->sftp, SSH_FXP_NAME, out) < 0) {
     ssh_buffer_free(out);
diff --git a/src/socket.c b/src/socket.c
index ba5128a..06ea9e6 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -290,7 +290,7 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd,
             }
             if (s->callbacks && s->callbacks->data) {
                 do {
-                    r = s->callbacks->data(ssh_buffer_get_rest(s->in_buffer),
+                    r = s->callbacks->data(ssh_buffer_get(s->in_buffer),
                                            ssh_buffer_get_rest_len(s->in_buffer),
                                            s->callbacks->userdata);
                     ssh_buffer_pass_bytes(s->in_buffer, r);
@@ -658,7 +658,7 @@ int ssh_socket_nonblocking_flush(ssh_socket s) {
       return SSH_AGAIN;
   }
   if (s->write_wontblock && len > 0) {
-    w = ssh_socket_unbuffered_write(s, ssh_buffer_get_rest(s->out_buffer), len);
+    w = ssh_socket_unbuffered_write(s, ssh_buffer_get(s->out_buffer), len);
     if (w < 0) {
       session->alive = 0;
       ssh_socket_close(s);
diff --git a/tests/unittests/torture_buffer.c b/tests/unittests/torture_buffer.c
index 03dfcf9..d4cef64 100644
--- a/tests/unittests/torture_buffer.c
+++ b/tests/unittests/torture_buffer.c
@@ -75,25 +75,25 @@ static void torture_buffer_prepend(void **state) {
   ssh_buffer_add_data(buffer,"abcdef",6);
   ssh_buffer_prepend_data(buffer,"xyz",3);
   assert_int_equal(ssh_buffer_get_rest_len(buffer),9);
-  assert_memory_equal(ssh_buffer_get_rest(buffer),  "xyzabcdef", 9);
+  assert_memory_equal(ssh_buffer_get(buffer),  "xyzabcdef", 9);
 
   /* Now remove 4 bytes and see if we can replace them */
   ssh_buffer_get_u32(buffer,&v);
   assert_int_equal(ssh_buffer_get_rest_len(buffer),5);
-  assert_memory_equal(ssh_buffer_get_rest(buffer), "bcdef", 5);
+  assert_memory_equal(ssh_buffer_get(buffer), "bcdef", 5);
 
   ssh_buffer_prepend_data(buffer,"aris",4);
   assert_int_equal(ssh_buffer_get_rest_len(buffer),9);
-  assert_memory_equal(ssh_buffer_get_rest(buffer), "arisbcdef", 9);
+  assert_memory_equal(ssh_buffer_get(buffer), "arisbcdef", 9);
 
   /* same thing but we add 5 bytes now */
   ssh_buffer_get_u32(buffer,&v);
   assert_int_equal(ssh_buffer_get_rest_len(buffer),5);
-  assert_memory_equal(ssh_buffer_get_rest(buffer), "bcdef", 5);
+  assert_memory_equal(ssh_buffer_get(buffer), "bcdef", 5);
 
   ssh_buffer_prepend_data(buffer,"12345",5);
   assert_int_equal(ssh_buffer_get_rest_len(buffer),10);
-  assert_memory_equal(ssh_buffer_get_rest(buffer), "12345bcdef", 10);
+  assert_memory_equal(ssh_buffer_get(buffer), "12345bcdef", 10);
 }
 
 /*
@@ -157,7 +157,7 @@ static void torture_ssh_buffer_add_format(void **state) {
 
     len = ssh_buffer_get_rest_len(buffer);
     assert_int_equal(len, sizeof(verif) - 1);
-    assert_memory_equal(ssh_buffer_get_rest(buffer), verif, sizeof(verif) -1);
+    assert_memory_equal(ssh_buffer_get(buffer), verif, sizeof(verif) -1);
 
     ssh_string_free(s);
 }
-- 
2.4.3


From 321c8bc29c8615cc0bf166b9ecadb30923655d17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 00:29:29 +0200
Subject: [PATCH 15/24 v2] buffer: make ssh_buffer_get_len() call
 ssh_buffer_get_rest_len()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is a preparatory step for having the behavior of
ssh_buffer_get_rest_len() in the ssh_buffer_get_len() and then remove
the ssh_buffer_rest_len()

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 src/buffer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/buffer.c b/src/buffer.c
index 8765989..23c8229 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -476,7 +476,7 @@ void *ssh_buffer_get(struct ssh_buffer_struct *buffer){
  * @see ssh_buffer_get()
  */
 uint32_t ssh_buffer_get_len(struct ssh_buffer_struct *buffer){
-    return buffer->used;
+    return ssh_buffer_get_rest_len(buffer);
 }
 
 /**
-- 
2.4.3


From c583ad5520a556c6a2ba474c2234ea2304c3990c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 01:18:38 +0200
Subject: [PATCH 16/24 v2] pki_gcrypt: adapt to the new behavior of
 ssh_buffer_get_len()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 src/pki_gcrypt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/pki_gcrypt.c b/src/pki_gcrypt.c
index 5be0388..6dadf3f 100644
--- a/src/pki_gcrypt.c
+++ b/src/pki_gcrypt.c
@@ -150,8 +150,8 @@ static int asn1_check_sequence(ssh_buffer buffer) {
   }
 
   size = asn1_get_len(buffer);
-  if ((padding = ssh_buffer_get_len(buffer) - buffer->pos - size) > 0) {
-    for (i = ssh_buffer_get_len(buffer) - buffer->pos - size,
+  if ((padding = ssh_buffer_get_len(buffer) - size) > 0) {
+    for (i = ssh_buffer_get_len(buffer) - size,
          j = (unsigned char*)ssh_buffer_get_begin(buffer) + size + buffer->pos;
          i;
          i--, j++)
-- 
2.4.3


From f507201d805440a670cfdeab7b1a62fd1af93dfe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 00:34:42 +0200
Subject: [PATCH 17/24 v2] buffer: do not use ssh_buffer_get_rest_len()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

As ssh_buffer_get_len() actually calls ssh_buffer_get_rest_len(), let's
just use the first one. This is a preparatory step for removing
ssh_buffer_get_rest_len().

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 src/agent.c                      |  4 ++--
 src/buffer.c                     |  4 ++--
 src/channels.c                   | 42 ++++++++++++++++++++--------------------
 src/dh.c                         | 12 ++++++------
 src/gzip.c                       | 10 +++++-----
 src/known_hosts.c                |  8 ++++----
 src/messages.c                   |  2 +-
 src/packet.c                     | 26 ++++++++++++-------------
 src/packet1.c                    |  2 +-
 src/packet_crypt.c               |  2 +-
 src/pcap.c                       |  4 ++--
 src/pki.c                        | 10 +++++-----
 src/pki_container_openssh.c      |  2 +-
 src/pki_crypto.c                 | 10 +++++-----
 src/pki_gcrypt.c                 |  4 ++--
 src/sftp.c                       | 12 ++++++------
 src/sftpserver.c                 |  4 ++--
 src/socket.c                     | 10 +++++-----
 tests/unittests/torture_buffer.c | 22 ++++++++++-----------
 19 files changed, 95 insertions(+), 95 deletions(-)

diff --git a/src/agent.c b/src/agent.c
index c3356bc..5cf5fa3 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -273,7 +273,7 @@ static int agent_talk(struct ssh_session_struct *session,
   uint32_t len = 0;
   uint8_t payload[1024 v2] = {0};
 
-  len = ssh_buffer_get_rest_len(request);
+  len = ssh_buffer_get_len(request);
   SSH_LOG(SSH_LOG_TRACE, "Request length: %u", len);
   agent_put_u32(payload, len);
 
@@ -538,7 +538,7 @@ ssh_string ssh_agent_sign_data(ssh_session session,
     }
 
     /* Add data */
-    dlen = ssh_buffer_get_rest_len(data);
+    dlen = ssh_buffer_get_len(data);
     if (ssh_buffer_add_u32(request, htonl(dlen)) < 0) {
         ssh_buffer_free(request);
         return NULL;
diff --git a/src/buffer.c b/src/buffer.c
index 23c8229..722efb6 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -426,7 +426,7 @@ int ssh_buffer_add_buffer(struct ssh_buffer_struct *buffer,
 
     rc = ssh_buffer_add_data(buffer,
                              ssh_buffer_get(source),
-                             ssh_buffer_get_rest_len(source));
+                             ssh_buffer_get_len(source));
     if (rc < 0) {
         return -1;
     }
@@ -460,7 +460,7 @@ void *ssh_buffer_get_begin(struct ssh_buffer_struct *buffer){
  *
  * @return              A pointer to the data from current position.
  *
- * @see ssh_buffer_get_rest_len()
+ * @see ssh_buffer_get_len()
  */
 void *ssh_buffer_get(struct ssh_buffer_struct *buffer){
     return buffer->data + buffer->pos;
diff --git a/src/channels.c b/src/channels.c
index 5cfc6ed..ffcb1d5 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -547,7 +547,7 @@ SSH_PACKET_CALLBACK(channel_rcv_data){
       rest = channel->callbacks->channel_data_function(channel->session,
                                                 channel,
                                                 ssh_buffer_get(buf),
-                                                ssh_buffer_get_rest_len(buf),
+                                                ssh_buffer_get_len(buf),
                                                 is_stderr,
                                                 channel->callbacks->userdata);
       if(rest > 0) {
@@ -556,7 +556,7 @@ SSH_PACKET_CALLBACK(channel_rcv_data){
         }
         ssh_buffer_pass_bytes(buf, rest);
       }
-      if (channel->local_window + ssh_buffer_get_rest_len(buf) < WINDOWLIMIT) {
+      if (channel->local_window + ssh_buffer_get_len(buf) < WINDOWLIMIT) {
         if (grow_window(session, channel, 0) < 0) {
           return -1;
         }
@@ -612,9 +612,9 @@ SSH_PACKET_CALLBACK(channel_rcv_close) {
 			channel->remote_channel);
 
 	if ((channel->stdout_buffer &&
-			ssh_buffer_get_rest_len(channel->stdout_buffer) > 0) ||
+			ssh_buffer_get_len(channel->stdout_buffer) > 0) ||
 			(channel->stderr_buffer &&
-					ssh_buffer_get_rest_len(channel->stderr_buffer) > 0)) {
+					ssh_buffer_get_len(channel->stderr_buffer) > 0)) {
 		channel->delayed_close = 1;
 	} else {
 		channel->state = SSH_CHANNEL_STATE_CLOSED;
@@ -1414,9 +1414,9 @@ int ssh_channel_is_eof(ssh_channel channel) {
       return SSH_ERROR;
   }
   if ((channel->stdout_buffer &&
-        ssh_buffer_get_rest_len(channel->stdout_buffer) > 0) ||
+        ssh_buffer_get_len(channel->stdout_buffer) > 0) ||
       (channel->stderr_buffer &&
-       ssh_buffer_get_rest_len(channel->stderr_buffer) > 0)) {
+       ssh_buffer_get_len(channel->stderr_buffer) > 0)) {
     return 0;
   }
 
@@ -1541,7 +1541,7 @@ static int channel_request(ssh_channel channel, const char *request,
 
   if (buffer != NULL) {
     if (ssh_buffer_add_data(session->out_buffer, ssh_buffer_get(buffer),
-        ssh_buffer_get_rest_len(buffer)) < 0) {
+        ssh_buffer_get_len(buffer)) < 0) {
       ssh_set_error_oom(session);
       goto error;
     }
@@ -2100,7 +2100,7 @@ static int global_request(ssh_session session, const char *request,
   if (buffer != NULL) {
       rc = ssh_buffer_add_data(session->out_buffer,
                            ssh_buffer_get(buffer),
-                           ssh_buffer_get_rest_len(buffer));
+                           ssh_buffer_get_len(buffer));
       if (rc < 0) {
           ssh_set_error_oom(session);
           rc = SSH_ERROR;
@@ -2584,7 +2584,7 @@ struct ssh_channel_read_termination_struct {
 
 static int ssh_channel_read_termination(void *s){
   struct ssh_channel_read_termination_struct *ctx = s;
-  if (ssh_buffer_get_rest_len(ctx->buffer) >= ctx->count ||
+  if (ssh_buffer_get_len(ctx->buffer) >= ctx->count ||
       ctx->channel->remote_eof ||
       ctx->channel->session->session_state == SSH_SESSION_STATE_ERROR)
     return 1;
@@ -2681,11 +2681,11 @@ int ssh_channel_read_timeout(ssh_channel channel,
   SSH_LOG(SSH_LOG_PACKET,
       "Read (%d) buffered : %d bytes. Window: %d",
       count,
-      ssh_buffer_get_rest_len(stdbuf),
+      ssh_buffer_get_len(stdbuf),
       channel->local_window);
 
-  if (count > ssh_buffer_get_rest_len(stdbuf) + channel->local_window) {
-    if (grow_window(session, channel, count - ssh_buffer_get_rest_len(stdbuf)) < 0) {
+  if (count > ssh_buffer_get_len(stdbuf) + channel->local_window) {
+    if (grow_window(session, channel, count - ssh_buffer_get_len(stdbuf)) < 0) {
       return -1;
     }
   }
@@ -2711,10 +2711,10 @@ int ssh_channel_read_timeout(ssh_channel channel,
   if (channel->session->session_state == SSH_SESSION_STATE_ERROR){
       return SSH_ERROR;
   }
-  if (channel->remote_eof && ssh_buffer_get_rest_len(stdbuf) == 0) {
+  if (channel->remote_eof && ssh_buffer_get_len(stdbuf) == 0) {
     return 0;
   }
-  len = ssh_buffer_get_rest_len(stdbuf);
+  len = ssh_buffer_get_len(stdbuf);
   /* Read count bytes if len is greater, everything otherwise */
   len = (len > count ? count : len);
   memcpy(dest, ssh_buffer_get(stdbuf), len);
@@ -2818,7 +2818,7 @@ int ssh_channel_poll(ssh_channel channel, int is_stderr){
     stdbuf = channel->stderr_buffer;
   }
 
-  if (ssh_buffer_get_rest_len(stdbuf) == 0 && channel->remote_eof == 0) {
+  if (ssh_buffer_get_len(stdbuf) == 0 && channel->remote_eof == 0) {
     if (channel->session->session_state == SSH_SESSION_STATE_ERROR){
       return SSH_ERROR;
     }
@@ -2827,15 +2827,15 @@ int ssh_channel_poll(ssh_channel channel, int is_stderr){
     }
   }
 
-  if (ssh_buffer_get_rest_len(stdbuf) > 0){
-  	return ssh_buffer_get_rest_len(stdbuf);
+  if (ssh_buffer_get_len(stdbuf) > 0){
+  	return ssh_buffer_get_len(stdbuf);
   }
 
   if (channel->remote_eof) {
     return SSH_EOF;
   }
 
-  return ssh_buffer_get_rest_len(stdbuf);
+  return ssh_buffer_get_len(stdbuf);
 }
 
 /**
@@ -2882,7 +2882,7 @@ int ssh_channel_poll_timeout(ssh_channel channel, int timeout, int is_stderr){
     rc = SSH_ERROR;
     goto end;
   }
-  rc = ssh_buffer_get_rest_len(stdbuf);
+  rc = ssh_buffer_get_len(stdbuf);
   if(rc > 0)
     goto end;
   if (channel->remote_eof)
@@ -2971,8 +2971,8 @@ static int channel_protocol_select(ssh_channel *rchans, ssh_channel *wchans,
       ssh_handle_packets(chan->session, SSH_TIMEOUT_NONBLOCKING);
     }
 
-    if ((chan->stdout_buffer && ssh_buffer_get_rest_len(chan->stdout_buffer) > 0) ||
-        (chan->stderr_buffer && ssh_buffer_get_rest_len(chan->stderr_buffer) > 0) ||
+    if ((chan->stdout_buffer && ssh_buffer_get_len(chan->stdout_buffer) > 0) ||
+        (chan->stderr_buffer && ssh_buffer_get_len(chan->stderr_buffer) > 0) ||
         chan->remote_eof) {
       rout[j] = chan;
       j++;
diff --git a/src/dh.c b/src/dh.c
index d47c3dc..67d1f4c 100644
--- a/src/dh.c
+++ b/src/dh.c
@@ -573,11 +573,11 @@ int ssh_make_sessionid(ssh_session session) {
 
     rc = ssh_buffer_pack(buf,
                          "dPdPS",
-                         ssh_buffer_get_rest_len(client_hash),
-                         ssh_buffer_get_rest_len(client_hash),
+                         ssh_buffer_get_len(client_hash),
+                         ssh_buffer_get_len(client_hash),
                          ssh_buffer_get(client_hash),
-                         ssh_buffer_get_rest_len(server_hash),
-                         ssh_buffer_get_rest_len(server_hash),
+                         ssh_buffer_get_len(server_hash),
+                         ssh_buffer_get_len(server_hash),
                          ssh_buffer_get(server_hash),
                          session->next_crypto->server_pubkey);
 
@@ -643,7 +643,7 @@ int ssh_make_sessionid(ssh_session session) {
             ssh_set_error_oom(session);
             goto error;
         }
-        sha1(ssh_buffer_get(buf), ssh_buffer_get_rest_len(buf),
+        sha1(ssh_buffer_get(buf), ssh_buffer_get_len(buf),
                                    session->next_crypto->secret_hash);
         break;
     case SSH_KEX_ECDH_SHA2_NISTP256:
@@ -655,7 +655,7 @@ int ssh_make_sessionid(ssh_session session) {
             ssh_set_error_oom(session);
             goto error;
         }
-        sha256(ssh_buffer_get(buf), ssh_buffer_get_rest_len(buf),
+        sha256(ssh_buffer_get(buf), ssh_buffer_get_len(buf),
                                      session->next_crypto->secret_hash);
         break;
     }
diff --git a/src/gzip.c b/src/gzip.c
index c1b54db..73cc331 100644
--- a/src/gzip.c
+++ b/src/gzip.c
@@ -59,7 +59,7 @@ static z_stream *initcompress(ssh_session session, int level) {
 static ssh_buffer gzip_compress(ssh_session session,ssh_buffer source,int level){
   z_stream *zout = session->current_crypto->compress_out_ctx;
   void *in_ptr = ssh_buffer_get(source);
-  unsigned long in_size = ssh_buffer_get_rest_len(source);
+  unsigned long in_size = ssh_buffer_get_len(source);
   ssh_buffer dest = NULL;
   unsigned char out_buf[BLOCKSIZE] = {0};
   unsigned long len;
@@ -113,7 +113,7 @@ int compress_buffer(ssh_session session, ssh_buffer buf) {
     return -1;
   }
 
-  if (ssh_buffer_add_data(buf, ssh_buffer_get(dest), ssh_buffer_get_rest_len(dest)) < 0) {
+  if (ssh_buffer_add_data(buf, ssh_buffer_get(dest), ssh_buffer_get_len(dest)) < 0) {
     ssh_buffer_free(dest);
     return -1;
   }
@@ -148,7 +148,7 @@ static z_stream *initdecompress(ssh_session session) {
 static ssh_buffer gzip_decompress(ssh_session session, ssh_buffer source, size_t maxlen) {
   z_stream *zin = session->current_crypto->compress_in_ctx;
   void *in_ptr = ssh_buffer_get(source);
-  unsigned long in_size = ssh_buffer_get_rest_len(source);
+  unsigned long in_size = ssh_buffer_get_len(source);
   unsigned char out_buf[BLOCKSIZE] = {0};
   ssh_buffer dest = NULL;
   unsigned long len;
@@ -185,7 +185,7 @@ static ssh_buffer gzip_decompress(ssh_session session, ssh_buffer source, size_t
       ssh_buffer_free(dest);
       return NULL;
     }
-    if (ssh_buffer_get_rest_len(dest) > maxlen){
+    if (ssh_buffer_get_len(dest) > maxlen){
       /* Size of packet exceeded, avoid a denial of service attack */
       ssh_buffer_free(dest);
       return NULL;
@@ -209,7 +209,7 @@ int decompress_buffer(ssh_session session,ssh_buffer buf, size_t maxlen){
     return -1;
   }
 
-  if (ssh_buffer_add_data(buf, ssh_buffer_get(dest), ssh_buffer_get_rest_len(dest)) < 0) {
+  if (ssh_buffer_add_data(buf, ssh_buffer_get(dest), ssh_buffer_get_len(dest)) < 0) {
     ssh_buffer_free(dest);
     return -1;
   }
diff --git a/src/known_hosts.c b/src/known_hosts.c
index b4ad8e4..ab8a3dc 100644
--- a/src/known_hosts.c
+++ b/src/known_hosts.c
@@ -264,14 +264,14 @@ static int check_public_key(ssh_session session, char **tokens) {
     return -1;
   }
 
-  if (ssh_buffer_get_rest_len(pubkey_buffer) != ssh_string_len(pubkey)) {
+  if (ssh_buffer_get_len(pubkey_buffer) != ssh_string_len(pubkey)) {
     ssh_buffer_free(pubkey_buffer);
     return 0;
   }
 
   /* now test that they are identical */
   if (memcmp(ssh_buffer_get(pubkey_buffer), ssh_string_data(pubkey),
-        ssh_buffer_get_rest_len(pubkey_buffer)) != 0) {
+        ssh_buffer_get_len(pubkey_buffer)) != 0) {
     ssh_buffer_free(pubkey_buffer);
     return 0;
   }
@@ -340,7 +340,7 @@ static int match_hashed_host(const char *host, const char *sourcehash)
     return 0;
   }
 
-  mac = hmac_init(ssh_buffer_get(salt), ssh_buffer_get_rest_len(salt), SSH_HMAC_SHA1);
+  mac = hmac_init(ssh_buffer_get(salt), ssh_buffer_get_len(salt), SSH_HMAC_SHA1);
   if (mac == NULL) {
     ssh_buffer_free(salt);
     ssh_buffer_free(hash);
@@ -351,7 +351,7 @@ static int match_hashed_host(const char *host, const char *sourcehash)
   hmac_update(mac, host, strlen(host));
   hmac_final(mac, buffer, &size);
 
-  if (size == ssh_buffer_get_rest_len(hash) &&
+  if (size == ssh_buffer_get_len(hash) &&
       memcmp(buffer, ssh_buffer_get(hash), size) == 0) {
     match = 1;
   } else {
diff --git a/src/messages.c b/src/messages.c
index eada232..131eacd 100644
--- a/src/messages.c
+++ b/src/messages.c
@@ -787,7 +787,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){
                                            sig_blob,
                                            msg->auth_request.pubkey,
                                            ssh_buffer_get(digest),
-                                           ssh_buffer_get_rest_len(digest));
+                                           ssh_buffer_get_len(digest));
         ssh_string_free(sig_blob);
         ssh_buffer_free(digest);
         if (rc < 0) {
diff --git a/src/packet.c b/src/packet.c
index 17f5068..7d6957c 100644
--- a/src/packet.c
+++ b/src/packet.c
@@ -253,7 +253,7 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
                  * Decrypt the rest of the packet (blocksize bytes already
                  * have been decrypted)
                  */
-                uint32_t buffer_len = ssh_buffer_get_rest_len(session->in_buffer);
+                uint32_t buffer_len = ssh_buffer_get_len(session->in_buffer);
 
                 /* The following check avoids decrypting zero bytes */
                 if (buffer_len > blocksize) {
@@ -290,28 +290,28 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
                 goto error;
             }
 
-            if (padding > ssh_buffer_get_rest_len(session->in_buffer)) {
+            if (padding > ssh_buffer_get_len(session->in_buffer)) {
                 ssh_set_error(session,
                               SSH_FATAL,
                               "Invalid padding: %d (%d left)",
                               padding,
-                              ssh_buffer_get_rest_len(session->in_buffer));
+                              ssh_buffer_get_len(session->in_buffer));
                 goto error;
             }
             ssh_buffer_pass_bytes_end(session->in_buffer, padding);
-            compsize = ssh_buffer_get_rest_len(session->in_buffer);
+            compsize = ssh_buffer_get_len(session->in_buffer);
 
 #ifdef WITH_ZLIB
             if (session->current_crypto
                 && session->current_crypto->do_compress_in
-                && ssh_buffer_get_rest_len(session->in_buffer) > 0) {
+                && ssh_buffer_get_len(session->in_buffer) > 0) {
                 rc = decompress_buffer(session, session->in_buffer,MAX_PACKET_LEN);
                 if (rc < 0) {
                     goto error;
                 }
             }
 #endif /* WITH_ZLIB */
-            payloadsize = ssh_buffer_get_rest_len(session->in_buffer);
+            payloadsize = ssh_buffer_get_len(session->in_buffer);
             session->recv_seq++;
             if (session->raw_counter != NULL) {
                 session->raw_counter->in_bytes += payloadsize;
@@ -508,7 +508,7 @@ static int ssh_packet_write(ssh_session session) {
 
   rc=ssh_socket_write(session->socket,
       ssh_buffer_get(session->out_buffer),
-      ssh_buffer_get_rest_len(session->out_buffer));
+      ssh_buffer_get_len(session->out_buffer));
 
   return rc;
 }
@@ -518,7 +518,7 @@ static int packet_send2(ssh_session session) {
       session->current_crypto->out_cipher->blocksize : 8);
   enum ssh_hmac_e hmac_type = (session->current_crypto ?
       session->current_crypto->out_hmac : session->next_crypto->out_hmac);
-  uint32_t currentlen = ssh_buffer_get_rest_len(session->out_buffer);
+  uint32_t currentlen = ssh_buffer_get_len(session->out_buffer);
   unsigned char *hmac = NULL;
   char padstring[32] = { 0 };
   int rc = SSH_ERROR;
@@ -531,11 +531,11 @@ static int packet_send2(ssh_session session) {
 #ifdef WITH_ZLIB
   if (session->current_crypto
       && session->current_crypto->do_compress_out
-      && ssh_buffer_get_rest_len(session->out_buffer)) {
+      && ssh_buffer_get_len(session->out_buffer)) {
     if (compress_buffer(session,session->out_buffer) < 0) {
       goto error;
     }
-    currentlen = ssh_buffer_get_rest_len(session->out_buffer);
+    currentlen = ssh_buffer_get_len(session->out_buffer);
   }
 #endif /* WITH_ZLIB */
   compsize = currentlen;
@@ -563,12 +563,12 @@ static int packet_send2(ssh_session session) {
 #ifdef WITH_PCAP
   if(session->pcap_ctx){
   	ssh_pcap_context_write(session->pcap_ctx,SSH_PCAP_DIR_OUT,
-  			ssh_buffer_get(session->out_buffer),ssh_buffer_get_rest_len(session->out_buffer)
-  			,ssh_buffer_get_rest_len(session->out_buffer));
+  			ssh_buffer_get(session->out_buffer),ssh_buffer_get_len(session->out_buffer)
+  			,ssh_buffer_get_len(session->out_buffer));
   }
 #endif
   hmac = ssh_packet_encrypt(session, ssh_buffer_get(session->out_buffer),
-      ssh_buffer_get_rest_len(session->out_buffer));
+      ssh_buffer_get_len(session->out_buffer));
   if (hmac) {
     rc = ssh_buffer_add_data(session->out_buffer, hmac, hmac_digest_len(hmac_type));
     if (rc < 0) {
diff --git a/src/packet1.c b/src/packet1.c
index 9465204..25fc44b 100644
--- a/src/packet1.c
+++ b/src/packet1.c
@@ -185,7 +185,7 @@ int ssh_packet_socket_callback1(const void *data, size_t receivedlen, void *user
           ssh_buffer_get_len(session->in_buffer));
 #endif
       SSH_LOG(SSH_LOG_PACKET, "%d bytes padding", padding);
-      if(((len + padding) != ssh_buffer_get_rest_len(session->in_buffer)) ||
+      if(((len + padding) != ssh_buffer_get_len(session->in_buffer)) ||
           ((len + padding) < sizeof(uint32_t))) {
         SSH_LOG(SSH_LOG_RARE, "no crc32 in packet");
         ssh_set_error(session, SSH_FATAL, "no crc32 in packet");
diff --git a/src/packet_crypt.c b/src/packet_crypt.c
index cb04c11..f4104eb 100644
--- a/src/packet_crypt.c
+++ b/src/packet_crypt.c
@@ -175,7 +175,7 @@ int ssh_packet_hmac_verify(ssh_session session, ssh_buffer buffer,
   seq = htonl(session->recv_seq);
 
   hmac_update(ctx, (unsigned char *) &seq, sizeof(uint32_t));
-  hmac_update(ctx, ssh_buffer_get(buffer), ssh_buffer_get_rest_len(buffer));
+  hmac_update(ctx, ssh_buffer_get(buffer), ssh_buffer_get_len(buffer));
   hmac_final(ctx, hmacbuf, &len);
 
 #ifdef DEBUG_CRYPTO
diff --git a/src/pcap.c b/src/pcap.c
index 2055132..043326b 100644
--- a/src/pcap.c
+++ b/src/pcap.c
@@ -144,7 +144,7 @@ static int ssh_pcap_file_write(ssh_pcap_file pcap, ssh_buffer packet){
 	uint32_t len;
 	if(pcap == NULL || pcap->output==NULL)
 		return SSH_ERROR;
-	len=ssh_buffer_get_rest_len(packet);
+	len=ssh_buffer_get_len(packet);
 	err=fwrite(ssh_buffer_get(packet),len,1,pcap->output);
 	if(err<0)
 		return SSH_ERROR;
@@ -171,7 +171,7 @@ int ssh_pcap_file_write_packet(ssh_pcap_file pcap, ssh_buffer packet, uint32_t o
     if (err < 0) {
         goto error;
     }
-    err = ssh_buffer_add_u32(header,htonl(ssh_buffer_get_rest_len(packet)));
+    err = ssh_buffer_add_u32(header,htonl(ssh_buffer_get_len(packet)));
     if (err < 0) {
         goto error;
     }
diff --git a/src/pki.c b/src/pki.c
index 334382f..b7a73d4 100644
--- a/src/pki.c
+++ b/src/pki.c
@@ -1467,13 +1467,13 @@ int ssh_pki_export_signature_blob(const ssh_signature sig,
         return SSH_ERROR;
     }
 
-    str = ssh_string_new(ssh_buffer_get_rest_len(buf));
+    str = ssh_string_new(ssh_buffer_get_len(buf));
     if (str == NULL) {
         ssh_buffer_free(buf);
         return SSH_ERROR;
     }
 
-    ssh_string_fill(str, ssh_buffer_get(buf), ssh_buffer_get_rest_len(buf));
+    ssh_string_fill(str, ssh_buffer_get(buf), ssh_buffer_get_len(buf));
     ssh_buffer_free(buf);
 
     *sig_blob = str;
@@ -1629,7 +1629,7 @@ ssh_string ssh_pki_do_sign(ssh_session session,
         }
 
         evp_update(ctx, session_id, ssh_string_len(session_id) + 4);
-        evp_update(ctx, ssh_buffer_get(sigbuf), ssh_buffer_get_rest_len(sigbuf));
+        evp_update(ctx, ssh_buffer_get(sigbuf), ssh_buffer_get_len(sigbuf));
         evp_final(ctx, ehash, &elen);
 
 #ifdef DEBUG_CRYPTO
@@ -1651,7 +1651,7 @@ ssh_string ssh_pki_do_sign(ssh_session session,
         rc = ssh_buffer_pack(buf,
                              "SP",
                              session_id,
-                             ssh_buffer_get_rest_len(sigbuf), ssh_buffer_get(sigbuf));
+                             ssh_buffer_get_len(sigbuf), ssh_buffer_get(sigbuf));
         if (rc != SSH_OK) {
             ssh_string_free(session_id);
             ssh_buffer_free(buf);
@@ -1673,7 +1673,7 @@ ssh_string ssh_pki_do_sign(ssh_session session,
         }
 
         sha1_update(ctx, session_id, ssh_string_len(session_id) + 4);
-        sha1_update(ctx, ssh_buffer_get(sigbuf), ssh_buffer_get_rest_len(sigbuf));
+        sha1_update(ctx, ssh_buffer_get(sigbuf), ssh_buffer_get_len(sigbuf));
         sha1_final(hash, ctx);
 
 #ifdef DEBUG_CRYPTO
diff --git a/src/pki_container_openssh.c b/src/pki_container_openssh.c
index 1f2ed97..9653bf0 100644
--- a/src/pki_container_openssh.c
+++ b/src/pki_container_openssh.c
@@ -387,7 +387,7 @@ ssh_key ssh_pki_openssh_privkey_import(const char *text_key,
     comment = ssh_buffer_get_ssh_string(privkey_buffer);
     SAFE_FREE(comment);
     /* verify that the remaining data is correct padding */
-    for (i=1; ssh_buffer_get_rest_len(privkey_buffer) > 0; ++i){
+    for (i=1; ssh_buffer_get_len(privkey_buffer) > 0; ++i){
         ssh_buffer_get_u8(privkey_buffer, &padding);
         if (padding != i){
             ssh_key_free(key);
diff --git a/src/pki_crypto.c b/src/pki_crypto.c
index 9df6898..e84f3e8 100644
--- a/src/pki_crypto.c
+++ b/src/pki_crypto.c
@@ -1034,12 +1034,12 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
             goto fail;
     }
 
-    str = ssh_string_new(ssh_buffer_get_rest_len(buffer));
+    str = ssh_string_new(ssh_buffer_get_len(buffer));
     if (str == NULL) {
         goto fail;
     }
 
-    rc = ssh_string_fill(str, ssh_buffer_get(buffer), ssh_buffer_get_rest_len(buffer));
+    rc = ssh_string_fill(str, ssh_buffer_get(buffer), ssh_buffer_get_len(buffer));
     if (rc < 0) {
         goto fail;
     }
@@ -1238,13 +1238,13 @@ ssh_string pki_signature_to_blob(const ssh_signature sig)
                 return NULL;
             }
 
-            sig_blob = ssh_string_new(ssh_buffer_get_rest_len(b));
+            sig_blob = ssh_string_new(ssh_buffer_get_len(b));
             if (sig_blob == NULL) {
                 ssh_buffer_free(b);
                 return NULL;
             }
 
-            ssh_string_fill(sig_blob, ssh_buffer_get(b), ssh_buffer_get_rest_len(b));
+            ssh_string_fill(sig_blob, ssh_buffer_get(b), ssh_buffer_get_len(b));
             ssh_buffer_free(b);
             break;
         }
@@ -1449,7 +1449,7 @@ ssh_signature pki_signature_from_blob(const ssh_key pubkey,
                 }
 
                 s = buffer_get_ssh_string(b);
-                rlen = ssh_buffer_get_rest_len(b);
+                rlen = ssh_buffer_get_len(b);
                 ssh_buffer_free(b);
                 if (s == NULL) {
                     ssh_signature_free(sig);
diff --git a/src/pki_gcrypt.c b/src/pki_gcrypt.c
index 6dadf3f..1c44efb 100644
--- a/src/pki_gcrypt.c
+++ b/src/pki_gcrypt.c
@@ -1300,12 +1300,12 @@ ssh_string pki_publickey_to_blob(const ssh_key key)
             goto fail;
     }
 
-    str = ssh_string_new(ssh_buffer_get_rest_len(buffer));
+    str = ssh_string_new(ssh_buffer_get_len(buffer));
     if (str == NULL) {
         goto fail;
     }
 
-    rc = ssh_string_fill(str, ssh_buffer_get(buffer), ssh_buffer_get_rest_len(buffer));
+    rc = ssh_string_fill(str, ssh_buffer_get(buffer), ssh_buffer_get_len(buffer));
     if (rc < 0) {
         goto fail;
     }
diff --git a/src/sftp.c b/src/sftp.c
index 6f7e726..69d9584 100644
--- a/src/sftp.c
+++ b/src/sftp.c
@@ -282,20 +282,20 @@ int sftp_packet_write(sftp_session sftp, uint8_t type, ssh_buffer payload){
     return -1;
   }
 
-  size = htonl(ssh_buffer_get_rest_len(payload));
+  size = htonl(ssh_buffer_get_len(payload));
   if (ssh_buffer_prepend_data(payload, &size, sizeof(uint32_t)) < 0) {
     ssh_set_error_oom(sftp->session);
     return -1;
   }
 
   size = ssh_channel_write(sftp->channel, ssh_buffer_get(payload),
-      ssh_buffer_get_rest_len(payload));
+      ssh_buffer_get_len(payload));
   if (size < 0) {
     return -1;
-  } else if((uint32_t) size != ssh_buffer_get_rest_len(payload)) {
+  } else if((uint32_t) size != ssh_buffer_get_len(payload)) {
     SSH_LOG(SSH_LOG_PACKET,
         "Had to write %d bytes, wrote only %d",
-        ssh_buffer_get_rest_len(payload),
+        ssh_buffer_get_len(payload),
         size);
   }
 
@@ -461,7 +461,7 @@ static sftp_message sftp_get_message(sftp_packet packet) {
       msg->packet_type);
 
   if (ssh_buffer_add_data(msg->payload, ssh_buffer_get(packet->payload),
-        ssh_buffer_get_rest_len(packet->payload)) < 0) {
+        ssh_buffer_get_len(packet->payload)) < 0) {
     ssh_set_error_oom(sftp->session);
     sftp_message_free(msg);
     return NULL;
@@ -1968,7 +1968,7 @@ ssize_t sftp_write(sftp_file file, const void *buf, size_t count) {
     ssh_buffer_free(buffer);
     return -1;
   }
-  packetlen=ssh_buffer_get_rest_len(buffer);
+  packetlen=ssh_buffer_get_len(buffer);
   len = sftp_packet_write(file->sftp, SSH_FXP_WRITE, buffer);
   ssh_buffer_free(buffer);
   if (len < 0) {
diff --git a/src/sftpserver.c b/src/sftpserver.c
index 51a4ba7..5fe831a 100644
--- a/src/sftpserver.c
+++ b/src/sftpserver.c
@@ -66,7 +66,7 @@ sftp_client_message sftp_get_client_message(sftp_session sftp) {
   msg->complete_message = ssh_buffer_new();
   ssh_buffer_add_data(msg->complete_message,
                       ssh_buffer_get(payload),
-                      ssh_buffer_get_rest_len(payload));
+                      ssh_buffer_get_len(payload));
 
   ssh_buffer_get_u32(payload, &msg->id);
 
@@ -378,7 +378,7 @@ int sftp_reply_names(sftp_client_message msg) {
   if (ssh_buffer_add_u32(out, msg->id) < 0 ||
       ssh_buffer_add_u32(out, htonl(msg->attr_num)) < 0 ||
       ssh_buffer_add_data(out, ssh_buffer_get(msg->attrbuf),
-        ssh_buffer_get_rest_len(msg->attrbuf)) < 0 ||
+        ssh_buffer_get_len(msg->attrbuf)) < 0 ||
       sftp_packet_write(msg->sftp, SSH_FXP_NAME, out) < 0) {
     ssh_buffer_free(out);
     ssh_buffer_free(msg->attrbuf);
diff --git a/src/socket.c b/src/socket.c
index 06ea9e6..823be86 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -291,7 +291,7 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd,
             if (s->callbacks && s->callbacks->data) {
                 do {
                     r = s->callbacks->data(ssh_buffer_get(s->in_buffer),
-                                           ssh_buffer_get_rest_len(s->in_buffer),
+                                           ssh_buffer_get_len(s->in_buffer),
                                            s->callbacks->userdata);
                     ssh_buffer_pass_bytes(s->in_buffer, r);
                 } while ((r > 0) && (s->state == SSH_SOCKET_CONNECTED));
@@ -330,7 +330,7 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd,
         }
 
         /* If buffered data is pending, write it */
-        if (ssh_buffer_get_rest_len(s->out_buffer) > 0) {
+        if (ssh_buffer_get_len(s->out_buffer) > 0) {
             ssh_socket_nonblocking_flush(s);
         } else if (s->callbacks && s->callbacks->controlflow) {
             /* Otherwise advertise the upper level that write can be done */
@@ -650,7 +650,7 @@ int ssh_socket_nonblocking_flush(ssh_socket s) {
     return SSH_ERROR;
   }
 
-  len = ssh_buffer_get_rest_len(s->out_buffer);
+  len = ssh_buffer_get_len(s->out_buffer);
   if (!s->write_wontblock && s->poll_out && len > 0) {
       /* force the poll system to catch pollout events */
       ssh_poll_add_events(s->poll_out, POLLOUT);
@@ -681,7 +681,7 @@ int ssh_socket_nonblocking_flush(ssh_socket s) {
   }
 
   /* Is there some data pending? */
-  len = ssh_buffer_get_rest_len(s->out_buffer);
+  len = ssh_buffer_get_len(s->out_buffer);
   if (s->poll_out && len > 0) {
       /* force the poll system to catch pollout events */
       ssh_poll_add_events(s->poll_out, POLLOUT);
@@ -721,7 +721,7 @@ int ssh_socket_data_writable(ssh_socket s) {
 int ssh_socket_buffered_write_bytes(ssh_socket s){
 	if(s==NULL || s->out_buffer == NULL)
 		return 0;
-	return ssh_buffer_get_rest_len(s->out_buffer);
+	return ssh_buffer_get_len(s->out_buffer);
 }
 
 
diff --git a/tests/unittests/torture_buffer.c b/tests/unittests/torture_buffer.c
index d4cef64..e29b572 100644
--- a/tests/unittests/torture_buffer.c
+++ b/tests/unittests/torture_buffer.c
@@ -36,8 +36,8 @@ static void torture_growing_buffer(void **state) {
   for(i=0;i<LIMIT;++i){
     ssh_buffer_add_data(buffer,"A",1);
     if(buffer->used >= 128){
-      if(ssh_buffer_get_rest_len(buffer) * 2 < buffer->allocated){
-        assert_true(ssh_buffer_get_rest_len(buffer) * 2 >= buffer->allocated);
+      if(ssh_buffer_get_len(buffer) * 2 < buffer->allocated){
+        assert_true(ssh_buffer_get_len(buffer) * 2 >= buffer->allocated);
       }
     }
   }
@@ -58,8 +58,8 @@ static void torture_growing_buffer_shifting(void **state) {
     ssh_buffer_get_u8(buffer,&c);
     ssh_buffer_add_data(buffer,"A",1);
     if(buffer->used >= 128){
-      if(ssh_buffer_get_rest_len(buffer) * 4 < buffer->allocated){
-        assert_true(ssh_buffer_get_rest_len(buffer) * 4 >= buffer->allocated);
+      if(ssh_buffer_get_len(buffer) * 4 < buffer->allocated){
+        assert_true(ssh_buffer_get_len(buffer) * 4 >= buffer->allocated);
         return;
       }
     }
@@ -74,25 +74,25 @@ static void torture_buffer_prepend(void **state) {
   uint32_t v;
   ssh_buffer_add_data(buffer,"abcdef",6);
   ssh_buffer_prepend_data(buffer,"xyz",3);
-  assert_int_equal(ssh_buffer_get_rest_len(buffer),9);
+  assert_int_equal(ssh_buffer_get_len(buffer),9);
   assert_memory_equal(ssh_buffer_get(buffer),  "xyzabcdef", 9);
 
   /* Now remove 4 bytes and see if we can replace them */
   ssh_buffer_get_u32(buffer,&v);
-  assert_int_equal(ssh_buffer_get_rest_len(buffer),5);
+  assert_int_equal(ssh_buffer_get_len(buffer),5);
   assert_memory_equal(ssh_buffer_get(buffer), "bcdef", 5);
 
   ssh_buffer_prepend_data(buffer,"aris",4);
-  assert_int_equal(ssh_buffer_get_rest_len(buffer),9);
+  assert_int_equal(ssh_buffer_get_len(buffer),9);
   assert_memory_equal(ssh_buffer_get(buffer), "arisbcdef", 9);
 
   /* same thing but we add 5 bytes now */
   ssh_buffer_get_u32(buffer,&v);
-  assert_int_equal(ssh_buffer_get_rest_len(buffer),5);
+  assert_int_equal(ssh_buffer_get_len(buffer),5);
   assert_memory_equal(ssh_buffer_get(buffer), "bcdef", 5);
 
   ssh_buffer_prepend_data(buffer,"12345",5);
-  assert_int_equal(ssh_buffer_get_rest_len(buffer),10);
+  assert_int_equal(ssh_buffer_get_len(buffer),10);
   assert_memory_equal(ssh_buffer_get(buffer), "12345bcdef", 10);
 }
 
@@ -155,7 +155,7 @@ static void torture_ssh_buffer_add_format(void **state) {
     rc=ssh_buffer_pack(buffer, "bwdqSsPt",b,w,d,q,s,"rocks",7,"So much","Fun!");
     assert_int_equal(rc, SSH_OK);
 
-    len = ssh_buffer_get_rest_len(buffer);
+    len = ssh_buffer_get_len(buffer);
     assert_int_equal(len, sizeof(verif) - 1);
     assert_memory_equal(ssh_buffer_get(buffer), verif, sizeof(verif) -1);
 
@@ -199,7 +199,7 @@ static void torture_ssh_buffer_get_format(void **state) {
     assert_true(s2 != NULL);
     assert_memory_equal(s2, "So much", 7);
 
-    len = ssh_buffer_get_rest_len(buffer);
+    len = ssh_buffer_get_len(buffer);
     assert_int_equal(len, 0);
     SAFE_FREE(s);
     SAFE_FREE(s1);
-- 
2.4.3


From 32b0c44f9651182f778ed338ae9ef822d552d165 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 01:21:42 +0200
Subject: [PATCH 18/24 v2] buffer: remove ssh_buffer_get_rest_len()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/buffer.h |  5 ++---
 src/buffer.c            | 17 +----------------
 2 files changed, 3 insertions(+), 19 deletions(-)

diff --git a/include/libssh/buffer.h b/include/libssh/buffer.h
index 15294b2..656db95 100644
--- a/include/libssh/buffer.h
+++ b/include/libssh/buffer.h
@@ -43,7 +43,6 @@ struct ssh_buffer_struct {
 
 LIBSSH_API void ssh_buffer_free(ssh_buffer buffer);
 LIBSSH_API void *ssh_buffer_get_begin(ssh_buffer buffer);
-LIBSSH_API uint32_t ssh_buffer_get_len(ssh_buffer buffer);
 LIBSSH_API ssh_buffer ssh_buffer_new(void);
 void ssh_buffer_set_secure(ssh_buffer buffer);
 int ssh_buffer_add_ssh_string(ssh_buffer buffer, ssh_string string);
@@ -80,8 +79,8 @@ int ssh_buffer_reinit(ssh_buffer buffer);
 
 /* ssh_buffer_get_rest returns a pointer to the current position into the buffer */
 void *ssh_buffer_get(ssh_buffer buffer);
-/* ssh_buffer_get_rest_len returns the number of bytes which can be read */
-uint32_t ssh_buffer_get_rest_len(ssh_buffer buffer);
+/* ssh_buffer_get_len returns the number of bytes which can be read */
+LIBSSH_API uint32_t ssh_buffer_get_len(ssh_buffer buffer);
 
 /* buffer_read_*() returns the number of bytes read, except for ssh strings */
 int ssh_buffer_get_u8(ssh_buffer buffer, uint8_t *data);
diff --git a/src/buffer.c b/src/buffer.c
index 722efb6..801cbd5 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -467,21 +467,6 @@ void *ssh_buffer_get(struct ssh_buffer_struct *buffer){
 }
 
 /**
- * @brief Get the length of the buffer, not counting position.
- *
- * @param[in]  buffer   The buffer to get the length from.
- *
- * @return              The length of the buffer.
- *
- * @see ssh_buffer_get()
- */
-uint32_t ssh_buffer_get_len(struct ssh_buffer_struct *buffer){
-    return ssh_buffer_get_rest_len(buffer);
-}
-
-/**
- * @internal
- *
  * @brief Get the length of the buffer from the current position.
  *
  * @param[in]  buffer   The buffer to get the length from.
@@ -490,7 +475,7 @@ uint32_t ssh_buffer_get_len(struct ssh_buffer_struct *buffer){
  *
  * @see ssh_buffer_get()
  */
-uint32_t ssh_buffer_get_rest_len(struct ssh_buffer_struct *buffer){
+uint32_t ssh_buffer_get_len(struct ssh_buffer_struct *buffer){
   buffer_verify(buffer);
   return buffer->used - buffer->pos;
 }
-- 
2.4.3


From 03809be0d4266b9796bb52fb9ef9c45c2d68e077 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 01:25:56 +0200
Subject: [PATCH 19/24 v2] buffer: use ssh_buffer_get() instead of
 ssh_buffer_get_begin()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This commit is a preparatory stage for removing ssh_buffer_get_begin().
Note that removing ssh_buffer_get_begin() doesn't break API
compatibility, as this functions has never been exposed (it only has the
LIBSSH_API prefix).

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 examples/sample.c           |  4 ++--
 src/dh.c                    |  2 +-
 src/gssapi.c                |  6 +++---
 src/kex1.c                  |  2 +-
 src/legacy.c                |  2 +-
 src/packet1.c               | 16 ++++++++--------
 src/pki.c                   |  2 +-
 src/pki_container_openssh.c | 12 ++++++------
 src/pki_gcrypt.c            |  8 ++++----
 9 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/examples/sample.c b/examples/sample.c
index b716a1b..247004e 100644
--- a/examples/sample.c
+++ b/examples/sample.c
@@ -252,7 +252,7 @@ static void select_loop(ssh_session session,ssh_channel channel){
                     ssh_channel_free(channel);
                     channel=channels[0]=NULL;
                 } else
-                    if (write(1,ssh_buffer_get_begin(readbuf),lus) < 0) {
+                    if (write(1,ssh_buffer_get(readbuf),lus) < 0) {
                       fprintf(stderr, "Error writing to buffer\n");
                       return;
                     }
@@ -268,7 +268,7 @@ static void select_loop(ssh_session session,ssh_channel channel){
                     ssh_channel_free(channel);
                     channel=channels[0]=NULL;
                 } else
-                    if (write(2,ssh_buffer_get_begin(readbuf),lus) < 0) {
+                    if (write(2,ssh_buffer_get(readbuf),lus) < 0) {
                       fprintf(stderr, "Error writing to buffer\n");
                       return;
                     }
diff --git a/src/dh.c b/src/dh.c
index 67d1f4c..1291c5f 100644
--- a/src/dh.c
+++ b/src/dh.c
@@ -630,7 +630,7 @@ int ssh_make_sessionid(ssh_session session) {
     }
 
 #ifdef DEBUG_CRYPTO
-    ssh_print_hexa("hash buffer", ssh_buffer_get_begin(buf), ssh_buffer_get_len(buf));
+    ssh_print_hexa("hash buffer", ssh_buffer_get(buf), ssh_buffer_get_len(buf));
 #endif
 
     switch (session->next_crypto->kex_type) {
diff --git a/src/gssapi.c b/src/gssapi.c
index 1c5a2a4..ff0dac0 100644
--- a/src/gssapi.c
+++ b/src/gssapi.c
@@ -427,14 +427,14 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_gssapi_mic)
     }
     if (ssh_callbacks_exists(session->server_callbacks, gssapi_verify_mic_function)){
         int rc = session->server_callbacks->gssapi_verify_mic_function(session, mic_token,
-                ssh_buffer_get_begin(mic_buffer), ssh_buffer_get_len(mic_buffer),
+                ssh_buffer_get(mic_buffer), ssh_buffer_get_len(mic_buffer),
                 session->server_callbacks->userdata);
         if (rc != SSH_OK) {
             goto error;
         }
     } else {
         mic_buf.length = ssh_buffer_get_len(mic_buffer);
-        mic_buf.value = ssh_buffer_get_begin(mic_buffer);
+        mic_buf.value = ssh_buffer_get(mic_buffer);
         mic_token_buf.length = ssh_string_len(mic_token);
         mic_token_buf.value = ssh_string_data(mic_token);
 
@@ -792,7 +792,7 @@ static int ssh_gssapi_send_mic(ssh_session session){
         return SSH_ERROR;
     }
     mic_buf.length = ssh_buffer_get_len(mic_buffer);
-    mic_buf.value = ssh_buffer_get_begin(mic_buffer);
+    mic_buf.value = ssh_buffer_get(mic_buffer);
 
     maj_stat = gss_get_mic(&min_stat,session->gssapi->ctx, GSS_C_QOP_DEFAULT, &mic_buf, &mic_token_buf);
     if (GSS_ERROR(maj_stat)){
diff --git a/src/kex1.c b/src/kex1.c
index 10e6327..1691984 100644
--- a/src/kex1.c
+++ b/src/kex1.c
@@ -66,7 +66,7 @@ static ssh_string make_rsa1_string(ssh_string e, ssh_string n){
     goto error;
   }
 
-  ssh_string_fill(ret, ssh_buffer_get_begin(buffer), ssh_buffer_get_len(buffer));
+  ssh_string_fill(ret, ssh_buffer_get(buffer), ssh_buffer_get_len(buffer));
 error:
   ssh_buffer_free(buffer);
   ssh_string_free(rsa);
diff --git a/src/legacy.c b/src/legacy.c
index 15f287a..3f09992 100644
--- a/src/legacy.c
+++ b/src/legacy.c
@@ -145,7 +145,7 @@ void buffer_free(ssh_buffer buffer){
   ssh_buffer_free(buffer);
 }
 void *buffer_get(ssh_buffer buffer){
-  return ssh_buffer_get_begin(buffer);
+  return ssh_buffer_get(buffer);
 }
 uint32_t buffer_get_len(ssh_buffer buffer){
   return ssh_buffer_get_len(buffer);
diff --git a/src/packet1.c b/src/packet1.c
index 25fc44b..ff33ca1 100644
--- a/src/packet1.c
+++ b/src/packet1.c
@@ -160,7 +160,7 @@ int ssh_packet_socket_callback1(const void *data, size_t receivedlen, void *user
       }
       processed += to_be_read;
 #ifdef DEBUG_CRYPTO
-      ssh_print_hexa("read packet:", ssh_buffer_get_begin(session->in_buffer),
+      ssh_print_hexa("read packet:", ssh_buffer_get(session->in_buffer),
           ssh_buffer_get_len(session->in_buffer));
 #endif
       if (session->current_crypto) {
@@ -172,7 +172,7 @@ int ssh_packet_socket_callback1(const void *data, size_t receivedlen, void *user
         if (buffer_len > 0) {
           int rc;
           rc = ssh_packet_decrypt(session,
-                 ssh_buffer_get_begin(session->in_buffer),
+                 ssh_buffer_get(session->in_buffer),
                  buffer_len);
           if (rc < 0) {
             ssh_set_error(session, SSH_FATAL, "Packet decrypt error");
@@ -181,7 +181,7 @@ int ssh_packet_socket_callback1(const void *data, size_t receivedlen, void *user
         }
       }
 #ifdef DEBUG_CRYPTO
-      ssh_print_hexa("read packet decrypted:", ssh_buffer_get_begin(session->in_buffer),
+      ssh_print_hexa("read packet decrypted:", ssh_buffer_get(session->in_buffer),
           ssh_buffer_get_len(session->in_buffer));
 #endif
       SSH_LOG(SSH_LOG_PACKET, "%d bytes padding", padding);
@@ -293,7 +293,7 @@ int ssh_packet_send1(ssh_session session) {
     goto error;
   }
 
-  crc = ssh_crc32((char *)ssh_buffer_get_begin(session->out_buffer) + sizeof(uint32_t),
+  crc = ssh_crc32((char *)ssh_buffer_get(session->out_buffer) + sizeof(uint32_t),
       ssh_buffer_get_len(session->out_buffer) - sizeof(uint32_t));
 
   if (ssh_buffer_add_u32(session->out_buffer, ntohl(crc)) < 0) {
@@ -301,20 +301,20 @@ int ssh_packet_send1(ssh_session session) {
   }
 
 #ifdef DEBUG_CRYPTO
-  ssh_print_hexa("Clear packet", ssh_buffer_get_begin(session->out_buffer),
+  ssh_print_hexa("Clear packet", ssh_buffer_get(session->out_buffer),
       ssh_buffer_get_len(session->out_buffer));
 #endif
 
   /* session->out_buffer should have more than sizeof(uint32_t) bytes
      in it as required for ssh_packet_encrypt */
-  ssh_packet_encrypt(session, (unsigned char *)ssh_buffer_get_begin(session->out_buffer) + sizeof(uint32_t),
+  ssh_packet_encrypt(session, (unsigned char *)ssh_buffer_get(session->out_buffer) + sizeof(uint32_t),
       ssh_buffer_get_len(session->out_buffer) - sizeof(uint32_t));
 
 #ifdef DEBUG_CRYPTO
-  ssh_print_hexa("encrypted packet",ssh_buffer_get_begin(session->out_buffer),
+  ssh_print_hexa("encrypted packet",ssh_buffer_get(session->out_buffer),
       ssh_buffer_get_len(session->out_buffer));
 #endif
-  rc=ssh_socket_write(session->socket, ssh_buffer_get_begin(session->out_buffer),
+  rc=ssh_socket_write(session->socket, ssh_buffer_get(session->out_buffer),
       ssh_buffer_get_len(session->out_buffer));
   if(rc== SSH_ERROR) {
     goto error;
diff --git a/src/pki.c b/src/pki.c
index b7a73d4..de25643 100644
--- a/src/pki.c
+++ b/src/pki.c
@@ -1659,7 +1659,7 @@ ssh_string ssh_pki_do_sign(ssh_session session,
         }
 
         sig = pki_do_sign(privkey,
-                          ssh_buffer_get_begin(buf),
+                          ssh_buffer_get(buf),
                           ssh_buffer_get_len(buf));
         ssh_buffer_free(buf);
     } else {
diff --git a/src/pki_container_openssh.c b/src/pki_container_openssh.c
index 9653bf0..a3e6654 100644
--- a/src/pki_container_openssh.c
+++ b/src/pki_container_openssh.c
@@ -543,8 +543,8 @@ static int pki_private_key_encrypt(ssh_buffer privkey_buffer,
                            key_material,
                            key_material + cipher.keysize/8);
     cipher.encrypt(&cipher,
-                   ssh_buffer_get_begin(privkey_buffer),
-                   ssh_buffer_get_begin(privkey_buffer),
+                   ssh_buffer_get(privkey_buffer),
+                   ssh_buffer_get(privkey_buffer),
                    ssh_buffer_get_len(privkey_buffer));
     ssh_cipher_clear(&cipher);
     BURN_BUFFER(passphrase_buffer, sizeof(passphrase_buffer));
@@ -642,7 +642,7 @@ ssh_string ssh_pki_openssh_privkey_export(const ssh_key privkey,
             goto error;
         }
         memcpy(ssh_string_data(kdf_options),
-               ssh_buffer_get_begin(kdf_buf),
+               ssh_buffer_get(kdf_buf),
                ssh_buffer_get_len(kdf_buf));
         ssh_buffer_free(kdf_buf);
         rc = pki_private_key_encrypt(privkey_buffer,
@@ -670,12 +670,12 @@ ssh_string ssh_pki_openssh_privkey_export(const ssh_key privkey,
                          pubkey_s,
                          (uint32_t)ssh_buffer_get_len(privkey_buffer),
                          /* rest of buffer is a string */
-                         (size_t)ssh_buffer_get_len(privkey_buffer), ssh_buffer_get_begin(privkey_buffer));
+                         (size_t)ssh_buffer_get_len(privkey_buffer), ssh_buffer_get(privkey_buffer));
     if (rc != SSH_OK) {
         goto error;
     }
 
-    b64 = bin_to_base64(ssh_buffer_get_begin(buffer),
+    b64 = bin_to_base64(ssh_buffer_get(buffer),
                         ssh_buffer_get_len(buffer));
     if (b64 == NULL){
         goto error;
@@ -712,7 +712,7 @@ ssh_string ssh_pki_openssh_privkey_export(const ssh_key privkey,
 
 error:
     if (privkey_buffer != NULL) {
-        void *bufptr = ssh_buffer_get_begin(privkey_buffer);
+        void *bufptr = ssh_buffer_get(privkey_buffer);
         BURN_BUFFER(bufptr, ssh_buffer_get_len(privkey_buffer));
         ssh_buffer_free(privkey_buffer);
     }
diff --git a/src/pki_gcrypt.c b/src/pki_gcrypt.c
index 1c44efb..3b05da9 100644
--- a/src/pki_gcrypt.c
+++ b/src/pki_gcrypt.c
@@ -152,7 +152,7 @@ static int asn1_check_sequence(ssh_buffer buffer) {
   size = asn1_get_len(buffer);
   if ((padding = ssh_buffer_get_len(buffer) - size) > 0) {
     for (i = ssh_buffer_get_len(buffer) - size,
-         j = (unsigned char*)ssh_buffer_get_begin(buffer) + size + buffer->pos;
+         j = (unsigned char*)ssh_buffer_get(buffer) + size;
          i;
          i--, j++)
     {
@@ -235,12 +235,12 @@ static int privatekey_decrypt(int algo, int mode, unsigned int key_len,
       || gcry_cipher_setiv(cipher, iv, iv_len)
       || (tmp = malloc(ssh_buffer_get_len(data) * sizeof (char))) == NULL
       || gcry_cipher_decrypt(cipher, tmp, ssh_buffer_get_len(data),
-                       ssh_buffer_get_begin(data), ssh_buffer_get_len(data))) {
+                       ssh_buffer_get(data), ssh_buffer_get_len(data))) {
     gcry_cipher_close(cipher);
     return -1;
   }
 
-  memcpy(ssh_buffer_get_begin(data), tmp, ssh_buffer_get_len(data));
+  memcpy(ssh_buffer_get(data), tmp, ssh_buffer_get_len(data));
 
   SAFE_FREE(tmp);
   gcry_cipher_close(cipher);
@@ -418,7 +418,7 @@ static ssh_buffer privatekey_string_to_buffer(const char *pkey, int type,
         return NULL;
     }
 
-    out = base64_to_bin(ssh_buffer_get_begin(buffer));
+    out = base64_to_bin(ssh_buffer_get(buffer));
     ssh_buffer_free(buffer);
     if (out == NULL) {
         SAFE_FREE(iv);
-- 
2.4.3


From 012b68184c3356a6a0b0241298f85316a7740b16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 00:46:04 +0200
Subject: [PATCH 20/24 v2] buffer: remove ssh_buffer_get_begin()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Note that removing ssh_buffer_get_begin() doesn't break API
compatibility, as this functions has never been exposed (it only
has the LIBSSH_API prefix).

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/buffer.h |  1 -
 src/buffer.c            | 17 -----------------
 2 files changed, 18 deletions(-)

diff --git a/include/libssh/buffer.h b/include/libssh/buffer.h
index 656db95..8134478 100644
--- a/include/libssh/buffer.h
+++ b/include/libssh/buffer.h
@@ -42,7 +42,6 @@ struct ssh_buffer_struct {
 #define SSH_BUFFER_PACK_END ((uint32_t) 0x4f65feb3)
 
 LIBSSH_API void ssh_buffer_free(ssh_buffer buffer);
-LIBSSH_API void *ssh_buffer_get_begin(ssh_buffer buffer);
 LIBSSH_API ssh_buffer ssh_buffer_new(void);
 void ssh_buffer_set_secure(ssh_buffer buffer);
 int ssh_buffer_add_ssh_string(ssh_buffer buffer, ssh_string string);
diff --git a/src/buffer.c b/src/buffer.c
index 801cbd5..0b09e77 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -435,23 +435,6 @@ int ssh_buffer_add_buffer(struct ssh_buffer_struct *buffer,
 }
 
 /**
- * @brief Get a pointer on the head of a buffer.
- *
- * @param[in]  buffer   The buffer to get the head pointer.
- *
- * @return              A data pointer on the head. It doesn't take the position
- *                      into account.
- *
- * @warning Don't expect data to be nul-terminated.
- *
- * @see ssh_buffer_get()
- * @see ssh_buffer_get_len()
- */
-void *ssh_buffer_get_begin(struct ssh_buffer_struct *buffer){
-  return buffer->data;
-}
-
-/**
  * @internal
  *
  * @brief Get a pointer to the head of a buffer at the current position.
-- 
2.4.3


From 2c43c73382ac1c55bc736374b2cbeb19bae0b745 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 01:33:23 +0200
Subject: [PATCH 21/24 v2] libssh.h: move LIBSSH_API buffer' functions to libssh.h
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/buffer.h | 4 ----
 include/libssh/libssh.h | 4 ++++
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/libssh/buffer.h b/include/libssh/buffer.h
index 8134478..a410bc5 100644
--- a/include/libssh/buffer.h
+++ b/include/libssh/buffer.h
@@ -41,8 +41,6 @@ struct ssh_buffer_struct {
 
 #define SSH_BUFFER_PACK_END ((uint32_t) 0x4f65feb3)
 
-LIBSSH_API void ssh_buffer_free(ssh_buffer buffer);
-LIBSSH_API ssh_buffer ssh_buffer_new(void);
 void ssh_buffer_set_secure(ssh_buffer buffer);
 int ssh_buffer_add_ssh_string(ssh_buffer buffer, ssh_string string);
 int ssh_buffer_add_u8(ssh_buffer buffer, uint8_t data);
@@ -78,8 +76,6 @@ int ssh_buffer_reinit(ssh_buffer buffer);
 
 /* ssh_buffer_get_rest returns a pointer to the current position into the buffer */
 void *ssh_buffer_get(ssh_buffer buffer);
-/* ssh_buffer_get_len returns the number of bytes which can be read */
-LIBSSH_API uint32_t ssh_buffer_get_len(ssh_buffer buffer);
 
 /* buffer_read_*() returns the number of bytes read, except for ssh strings */
 int ssh_buffer_get_u8(ssh_buffer buffer, uint8_t *data);
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h
index aff0190..f4356bd 100644
--- a/include/libssh/libssh.h
+++ b/include/libssh/libssh.h
@@ -678,6 +678,10 @@ LIBSSH_API const char* ssh_get_cipher_out(ssh_session session);
 LIBSSH_API const char* ssh_get_hmac_in(ssh_session session);
 LIBSSH_API const char* ssh_get_hmac_out(ssh_session session);
 
+LIBSSH_API ssh_buffer ssh_buffer_new(void);
+LIBSSH_API void ssh_buffer_free(ssh_buffer buffer);
+LIBSSH_API uint32_t ssh_buffer_get_len(ssh_buffer buffer);
+
 #ifndef LIBSSH_LEGACY_0_4
 #include "libssh/legacy.h"
 #endif
-- 
2.4.3


From ad414ebb66c31633d8362fbd82b102cc397522d1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 01:41:36 +0200
Subject: [PATCH 22/24 v2] buffer: expose ssh_buffer_reinit()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/buffer.h | 1 -
 include/libssh/libssh.h | 1 +
 src/buffer.c            | 2 --
 3 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/include/libssh/buffer.h b/include/libssh/buffer.h
index a410bc5..3bdd675 100644
--- a/include/libssh/buffer.h
+++ b/include/libssh/buffer.h
@@ -72,7 +72,6 @@ int _ssh_buffer_unpack(struct ssh_buffer_struct *buffer,
 
 int ssh_buffer_prepend_data(ssh_buffer buffer, const void *data, uint32_t len);
 int ssh_buffer_add_buffer(ssh_buffer buffer, ssh_buffer source);
-int ssh_buffer_reinit(ssh_buffer buffer);
 
 /* ssh_buffer_get_rest returns a pointer to the current position into the buffer */
 void *ssh_buffer_get(ssh_buffer buffer);
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h
index f4356bd..654f0ee 100644
--- a/include/libssh/libssh.h
+++ b/include/libssh/libssh.h
@@ -680,6 +680,7 @@ LIBSSH_API const char* ssh_get_hmac_out(ssh_session session);
 
 LIBSSH_API ssh_buffer ssh_buffer_new(void);
 LIBSSH_API void ssh_buffer_free(ssh_buffer buffer);
+LIBSSH_API int ssh_buffer_reinit(ssh_buffer buffer);
 LIBSSH_API uint32_t ssh_buffer_get_len(ssh_buffer buffer);
 
 #ifndef LIBSSH_LEGACY_0_4
diff --git a/src/buffer.c b/src/buffer.c
index 0b09e77..24a428c 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -184,8 +184,6 @@ static void buffer_shift(ssh_buffer buffer){
 }
 
 /**
- * @internal
- *
  * @brief Reinitialize a SSH buffer.
  *
  * @param[in]  buffer   The buffer to reinitialize.
-- 
2.4.3


From bd53e5752fa5db52b9ca6418ad1cccbe999b0edb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 01:43:47 +0200
Subject: [PATCH 23/24 v2] buffer: expose ssh_buffer_{add,get}_data()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/buffer.h | 2 --
 include/libssh/libssh.h | 2 ++
 src/buffer.c            | 4 ----
 3 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/include/libssh/buffer.h b/include/libssh/buffer.h
index 3bdd675..abfcc74 100644
--- a/include/libssh/buffer.h
+++ b/include/libssh/buffer.h
@@ -47,7 +47,6 @@ int ssh_buffer_add_u8(ssh_buffer buffer, uint8_t data);
 int ssh_buffer_add_u16(ssh_buffer buffer, uint16_t data);
 int ssh_buffer_add_u32(ssh_buffer buffer, uint32_t data);
 int ssh_buffer_add_u64(ssh_buffer buffer, uint64_t data);
-int ssh_buffer_add_data(ssh_buffer buffer, const void *data, uint32_t len);
 
 int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer,
                        const char *format,
@@ -81,7 +80,6 @@ int ssh_buffer_get_u8(ssh_buffer buffer, uint8_t *data);
 int ssh_buffer_get_u32(ssh_buffer buffer, uint32_t *data);
 int ssh_buffer_get_u64(ssh_buffer buffer, uint64_t *data);
 
-uint32_t ssh_buffer_get_data(ssh_buffer buffer, void *data, uint32_t requestedlen);
 /* ssh_buffer_get_ssh_string() is an exception. if the String read is too large or invalid, it will answer NULL. */
 ssh_string ssh_buffer_get_ssh_string(ssh_buffer buffer);
 /* ssh_gets a string out of a SSH-1 mpint */
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h
index 654f0ee..d585d20 100644
--- a/include/libssh/libssh.h
+++ b/include/libssh/libssh.h
@@ -681,6 +681,8 @@ LIBSSH_API const char* ssh_get_hmac_out(ssh_session session);
 LIBSSH_API ssh_buffer ssh_buffer_new(void);
 LIBSSH_API void ssh_buffer_free(ssh_buffer buffer);
 LIBSSH_API int ssh_buffer_reinit(ssh_buffer buffer);
+LIBSSH_API int ssh_buffer_add_data(ssh_buffer buffer, const void *data, uint32_t len);
+LIBSSH_API uint32_t ssh_buffer_get_data(ssh_buffer buffer, void *data, uint32_t requestedlen);
 LIBSSH_API uint32_t ssh_buffer_get_len(ssh_buffer buffer);
 
 #ifndef LIBSSH_LEGACY_0_4
diff --git a/src/buffer.c b/src/buffer.c
index 24a428c..16e324f 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -206,8 +206,6 @@ int ssh_buffer_reinit(struct ssh_buffer_struct *buffer)
 }
 
 /**
- * @internal
- *
  * @brief Add data at the tail of a buffer.
  *
  * @param[in]  buffer   The buffer to add the data.
@@ -515,8 +513,6 @@ uint32_t ssh_buffer_pass_bytes_end(struct ssh_buffer_struct *buffer, uint32_t le
 }
 
 /**
- * @internal
- *
  * @brief Get the remaining data out of the buffer and adjust the read pointer.
  *
  * @param[in]  buffer   The buffer to read.
-- 
2.4.3


From edbbe0055700936f624fd680226620ddca3a58eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@xxxxxxxxxx>
Date: Fri, 25 Sep 2015 02:06:08 +0200
Subject: [PATCH 24/24 v2] buffer: expose ssh_buffer_get()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 include/libssh/buffer.h | 3 ---
 include/libssh/libssh.h | 1 +
 src/buffer.c            | 2 --
 3 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/include/libssh/buffer.h b/include/libssh/buffer.h
index abfcc74..d4cb071 100644
--- a/include/libssh/buffer.h
+++ b/include/libssh/buffer.h
@@ -72,9 +72,6 @@ int _ssh_buffer_unpack(struct ssh_buffer_struct *buffer,
 int ssh_buffer_prepend_data(ssh_buffer buffer, const void *data, uint32_t len);
 int ssh_buffer_add_buffer(ssh_buffer buffer, ssh_buffer source);
 
-/* ssh_buffer_get_rest returns a pointer to the current position into the buffer */
-void *ssh_buffer_get(ssh_buffer buffer);
-
 /* buffer_read_*() returns the number of bytes read, except for ssh strings */
 int ssh_buffer_get_u8(ssh_buffer buffer, uint8_t *data);
 int ssh_buffer_get_u32(ssh_buffer buffer, uint32_t *data);
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h
index d585d20..b1240e6 100644
--- a/include/libssh/libssh.h
+++ b/include/libssh/libssh.h
@@ -683,6 +683,7 @@ LIBSSH_API void ssh_buffer_free(ssh_buffer buffer);
 LIBSSH_API int ssh_buffer_reinit(ssh_buffer buffer);
 LIBSSH_API int ssh_buffer_add_data(ssh_buffer buffer, const void *data, uint32_t len);
 LIBSSH_API uint32_t ssh_buffer_get_data(ssh_buffer buffer, void *data, uint32_t requestedlen);
+LIBSSH_API void *ssh_buffer_get(ssh_buffer buffer);
 LIBSSH_API uint32_t ssh_buffer_get_len(ssh_buffer buffer);
 
 #ifndef LIBSSH_LEGACY_0_4
diff --git a/src/buffer.c b/src/buffer.c
index 16e324f..529db75 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -431,8 +431,6 @@ int ssh_buffer_add_buffer(struct ssh_buffer_struct *buffer,
 }
 
 /**
- * @internal
- *
  * @brief Get a pointer to the head of a buffer at the current position.
  *
  * @param[in]  buffer   The buffer to get the head pointer.
-- 
2.4.3


Archive administrator: postmaster@lists.cynapses.org