projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add the mosx Authors to CREDITS
[paraslash.git]
/
net.c
diff --git
a/net.c
b/net.c
index 5a7eb9175427c2fcee0f4d3a2532870fb11dcc08..66db86bc5f77ece9a628f705dee2198d921e3491 100644
(file)
--- a/
net.c
+++ b/
net.c
@@
-30,8
+30,8
@@
struct crypt_data {
crypt_function *send;
void *private_data;
};
crypt_function *send;
void *private_data;
};
-static struct crypt_data *crypt_data_array;
static unsigned cda_size = 0;
static unsigned cda_size = 0;
+static struct crypt_data *crypt_data_array;
/** \endcond */
/** \endcond */
@@
-39,22
+39,22
@@
static unsigned cda_size = 0;
* activate encryption for one file descriptor
*
* \param fd the file descriptor
* activate encryption for one file descriptor
*
* \param fd the file descriptor
- * \param recv the function used for decrypting received data
- * \param send the function used for encrypting before sending
+ * \param recv
_f
the function used for decrypting received data
+ * \param send
_f
the function used for encrypting before sending
* \param private_data user data supplied by the caller
*/
* \param private_data user data supplied by the caller
*/
-void enable_crypt(int fd, crypt_function *recv
, crypt_function *send
,
+void enable_crypt(int fd, crypt_function *recv
_f, crypt_function *send_f
,
void *private_data)
{
if (fd + 1 > cda_size) {
crypt_data_array = para_realloc(crypt_data_array,
(fd + 1) * sizeof(struct crypt_data));
void *private_data)
{
if (fd + 1 > cda_size) {
crypt_data_array = para_realloc(crypt_data_array,
(fd + 1) * sizeof(struct crypt_data));
- memset(crypt_data_array + cda_size
* sizeof(struct crypt_data)
, 0,
+ memset(crypt_data_array + cda_size, 0,
(fd + 1 - cda_size) * sizeof(struct crypt_data));
cda_size = fd + 1;
}
(fd + 1 - cda_size) * sizeof(struct crypt_data));
cda_size = fd + 1;
}
- crypt_data_array[fd].recv = recv;
- crypt_data_array[fd].send = send;
+ crypt_data_array[fd].recv = recv
_f
;
+ crypt_data_array[fd].send = send
_f
;
crypt_data_array[fd].private_data = private_data;
PARA_INFO_LOG("rc4 encryption activated for fd %d\n", fd);
}
crypt_data_array[fd].private_data = private_data;
PARA_INFO_LOG("rc4 encryption activated for fd %d\n", fd);
}
@@
-312,9
+312,9
@@
int para_connect(int fd, struct sockaddr_in *their_addr)
/**
* paraslash's wrapper around the accept system call
*
/**
* paraslash's wrapper around the accept system call
*
- *
@
param fd the listening socket
- *
@
param addr structure which is filled in with the address of the peer socket
- *
@
param size should contain the size of the structure pointed to by \a addr
+ *
\
param fd the listening socket
+ *
\
param addr structure which is filled in with the address of the peer socket
+ *
\
param size should contain the size of the structure pointed to by \a addr
*
* \sa accept(2).
*/
*
* \sa accept(2).
*/
@@
-322,8
+322,10
@@
int para_accept(int fd, void *addr, socklen_t size)
{
int new_fd;
{
int new_fd;
- new_fd = accept(fd, (struct sockaddr *) addr, &size);
- return new_fd == -1? -E_ACCEPT : new_fd;
+ do
+ new_fd = accept(fd, (struct sockaddr *) addr, &size);
+ while (new_fd < 0 && errno == EINTR);
+ return new_fd < 0? -E_ACCEPT : new_fd;
}
static int setserversockopts(int socket_fd)
}
static int setserversockopts(int socket_fd)
@@
-578,8
+580,11
@@
int recv_pattern(int fd, const char *pattern, size_t bufsize)
goto out;
ret = 1;
out:
goto out;
ret = 1;
out:
- if (ret < 0)
- PARA_NOTICE_LOG("did not receive pattern '%s'\n", pattern);
+ if (ret < 0) {
+ PARA_NOTICE_LOG("n = %d, did not receive pattern '%s'\n", n, pattern);
+ if (n > 0)
+ PARA_NOTICE_LOG("recvd: %s\n", buf);
+ }
free(buf);
return ret;
}
free(buf);
return ret;
}