Exemple #1
0
gint sock_peek(SockInfo *sock, gchar *buf, gint len)
{
	g_return_val_if_fail(sock != NULL, -1);

#if USE_SSL
	if (sock->ssl)
		return ssl_peek(sock->ssl, buf, len);
#endif
	return fd_recv(sock->sock, buf, len, MSG_PEEK);
}
Exemple #2
0
int Sys_peek(int sockfd, char* buffer, int nbytes)
{
    if (g_enableSSL)
    {
        return ssl_peek(sockfd, buffer, nbytes);
    }
    else
    {
        return recv(sockfd, buffer, nbytes, MSG_PEEK);
    }
}
Exemple #3
0
gint ssl_gets(SSL *ssl, gchar *buf, gint len)
{
	gchar *newline, *bp = buf;
	gint n;

	if (--len < 1)
		return -1;
	do {
		if ((n = ssl_peek(ssl, bp, len)) <= 0)
			return -1;
		if ((newline = memchr(bp, '\n', n)) != NULL)
			n = newline - bp + 1;
		if ((n = ssl_read(ssl, bp, n)) < 0)
			return -1;
		bp += n;
		len -= n;
	} while (!newline && len);

	*bp = '\0';
	return bp - buf;
}
Exemple #4
0
static int
ssl_peek_adapter(struct vsf_session* p_sess, char* p_buf, unsigned int len)
{
    return ssl_peek(p_sess, p_sess->p_control_ssl, p_buf, len);
}