osx_write.c: Add two missing headers.
[paraslash.git] / net.c
diff --git a/net.c b/net.c
index c5f33c8..0e41be1 100644 (file)
--- a/net.c
+++ b/net.c
@@ -6,10 +6,10 @@
 
 /** \file net.c networking-related helper functions */
 
+#include "error.h"
 #include "para.h"
 #include "net.h"
 #include "string.h"
-#include "error.h"
 
 
 /** Information about one encrypted connection. */
@@ -128,15 +128,15 @@ static int sendall(int fd, const char *buf, size_t *len)
 }
 
 /**
- * encrypt and send buffer
+ * Encrypt and send a binary buffer.
  *
- * \param fd:  the file descriptor
- * \param buf the buffer to be encrypted and sent
- * \param len the length of \a buf
+ * \param fd The file descriptor.
+ * \param buf The buffer to be encrypted and sent.
+ * \param len The length of \a buf.
  *
- * Check if encrytpion is available. If yes, encrypt the given buffer.  Send out
- * the buffer, encrypted or not, and try to resend the remaing part in case of
- * short writes.
+ * Check if encryption is available. If yes, encrypt the given buffer.  Send
+ * out the buffer, encrypted or not, and try to resend the remaing part in case
+ * of short writes.
  *
  * \return Positive on success, \p -E_SEND on errors.
  */
@@ -151,7 +151,8 @@ int send_bin_buffer(int fd, const char *buf, size_t len)
                cf = crypt_data_array[fd].send;
        if (cf) {
                void *private = crypt_data_array[fd].private_data;
-               unsigned char *outbuf = para_malloc(len);
+               /* RC4 may write more than len to the output buffer */
+               unsigned char *outbuf = para_malloc(ROUND_UP(len, 8));
                (*cf)(len, (unsigned char *)buf, outbuf, private);
                ret = sendall(fd, (char *)outbuf, &len);
                free(outbuf);
@@ -301,26 +302,6 @@ int get_stream_socket(int domain)
        return socket_fd;
 }
 
-/**
- * a wrapper around connect(2)
- *
- * \param fd the file descriptor
- * \param their_addr the address to connect
- *
- * \return \p -E_CONNECT on errors, 1 on success
- *
- * \sa connect(2)
- */
-int para_connect(int fd, struct sockaddr_in *their_addr)
-{
-       int ret;
-
-       if ((ret = connect(fd, (struct sockaddr *)their_addr,
-                       sizeof(struct sockaddr))) == -1)
-               return -E_CONNECT;
-       return 1;
-}
-
 /**
  * paraslash's wrapper around the accept system call
  *