mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-03 20:22:59 -05:00 
			
		
		
		
	Move to milliseconds in recv_timeout()
This commit is contained in:
		
							parent
							
								
									905dd2425c
								
							
						
					
					
						commit
						c8d8e97cbd
					
				@ -35,6 +35,15 @@
 | 
			
		||||
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#if defined(POLARSSL_HAVE_TIME)
 | 
			
		||||
#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
 | 
			
		||||
#include <basetsd.h>
 | 
			
		||||
typedef UINT32 uint32_t;
 | 
			
		||||
#else
 | 
			
		||||
#include <inttypes.h>
 | 
			
		||||
#endif
 | 
			
		||||
#endif /* POLARSSL_HAVE_TIME */
 | 
			
		||||
 | 
			
		||||
#define POLARSSL_ERR_NET_SOCKET_FAILED                     -0x0042  /**< Failed to open a socket. */
 | 
			
		||||
#define POLARSSL_ERR_NET_CONNECT_FAILED                    -0x0044  /**< The connection to the given server / port failed. */
 | 
			
		||||
#define POLARSSL_ERR_NET_BIND_FAILED                       -0x0046  /**< Binding of the socket failed. */
 | 
			
		||||
@ -178,7 +187,7 @@ int net_send( void *ctx, const unsigned char *buf, size_t len );
 | 
			
		||||
 * \param ctx      Socket
 | 
			
		||||
 * \param buf      The buffer to write to
 | 
			
		||||
 * \param len      Maximum length of the buffer
 | 
			
		||||
 * \param timeout  Maximum number of seconds to wait for data
 | 
			
		||||
 * \param timeout  Maximum number of milliseconds to wait for data
 | 
			
		||||
 *
 | 
			
		||||
 * \return         This function returns the number of bytes received,
 | 
			
		||||
 *                 or a non-zero error code:
 | 
			
		||||
@ -191,7 +200,7 @@ int net_send( void *ctx, const unsigned char *buf, size_t len );
 | 
			
		||||
 *                 requires a different strategy.
 | 
			
		||||
 */
 | 
			
		||||
int net_recv_timeout( void *ctx, unsigned char *buf, size_t len,
 | 
			
		||||
                      unsigned char timeout );
 | 
			
		||||
                      uint32_t timeout );
 | 
			
		||||
#endif /* POLARSSL_HAVE_TIME */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 | 
			
		||||
@ -778,7 +778,7 @@ struct _ssl_context
 | 
			
		||||
    void (*f_dbg)(void *, int, const char *);
 | 
			
		||||
    int (*f_send)(void *, const unsigned char *, size_t);
 | 
			
		||||
    int (*f_recv)(void *, unsigned char *, size_t);
 | 
			
		||||
    int (*f_recv_timeout)(void *, unsigned char *, size_t, unsigned char);
 | 
			
		||||
    int (*f_recv_timeout)(void *, unsigned char *, size_t, uint32_t);
 | 
			
		||||
    int (*f_get_cache)(void *, ssl_session *);
 | 
			
		||||
    int (*f_set_cache)(void *, const ssl_session *);
 | 
			
		||||
 | 
			
		||||
@ -1194,8 +1194,8 @@ void ssl_set_bio_timeout( ssl_context *ssl,
 | 
			
		||||
        void *p_bio,
 | 
			
		||||
        int (*f_send)(void *, const unsigned char *, size_t),
 | 
			
		||||
        int (*f_recv)(void *, unsigned char *, size_t),
 | 
			
		||||
        int (*f_recv_timeout)(void *, unsigned char *, size_t, unsigned char),
 | 
			
		||||
        unsigned char timeout );
 | 
			
		||||
        int (*f_recv_timeout)(void *, unsigned char *, size_t, uint32_t),
 | 
			
		||||
        uint32_t timeout );
 | 
			
		||||
 | 
			
		||||
#if defined(POLARSSL_SSL_DTLS_HELLO_VERIFY)
 | 
			
		||||
/**
 | 
			
		||||
 | 
			
		||||
@ -585,10 +585,10 @@ int net_recv( void *ctx, unsigned char *buf, size_t len )
 | 
			
		||||
 | 
			
		||||
#if defined(POLARSSL_HAVE_TIME)
 | 
			
		||||
/*
 | 
			
		||||
 * Read at most 'len' characters, blocking for at most 'timeout' seconds
 | 
			
		||||
 * Read at most 'len' characters, blocking for at most 'timeout' ms
 | 
			
		||||
 */
 | 
			
		||||
int net_recv_timeout( void *ctx, unsigned char *buf, size_t len,
 | 
			
		||||
                      unsigned char timeout )
 | 
			
		||||
                      uint32_t timeout )
 | 
			
		||||
{
 | 
			
		||||
    int ret;
 | 
			
		||||
    struct timeval tv;
 | 
			
		||||
@ -598,8 +598,8 @@ int net_recv_timeout( void *ctx, unsigned char *buf, size_t len,
 | 
			
		||||
    FD_ZERO( &read_fds );
 | 
			
		||||
    FD_SET( fd, &read_fds );
 | 
			
		||||
 | 
			
		||||
    tv.tv_sec  = timeout;
 | 
			
		||||
    tv.tv_usec = 0;
 | 
			
		||||
    tv.tv_sec  = timeout / 1000;
 | 
			
		||||
    tv.tv_usec = ( timeout % 1000 ) * 1000;
 | 
			
		||||
 | 
			
		||||
    ret = select( fd + 1, &read_fds, NULL, NULL, &tv );
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1990,7 +1990,7 @@ int ssl_fetch_input( ssl_context *ssl, size_t nb_want )
 | 
			
		||||
            ssl->handshake != NULL ) /* No timeout outside handshake */
 | 
			
		||||
        {
 | 
			
		||||
            ret = ssl->f_recv_timeout( ssl->p_bio, ssl->in_hdr, len,
 | 
			
		||||
                                   ssl->handshake->retransmit_timeout / 1000 );
 | 
			
		||||
                                       ssl->handshake->retransmit_timeout );
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
            ret = ssl->f_recv( ssl->p_bio, ssl->in_hdr, len );
 | 
			
		||||
@ -4936,8 +4936,8 @@ void ssl_set_bio_timeout( ssl_context *ssl,
 | 
			
		||||
        void *p_bio,
 | 
			
		||||
        int (*f_send)(void *, const unsigned char *, size_t),
 | 
			
		||||
        int (*f_recv)(void *, unsigned char *, size_t),
 | 
			
		||||
        int (*f_recv_timeout)(void *, unsigned char *, size_t, unsigned char),
 | 
			
		||||
        unsigned char timeout )
 | 
			
		||||
        int (*f_recv_timeout)(void *, unsigned char *, size_t, uint32_t),
 | 
			
		||||
        uint32_t timeout )
 | 
			
		||||
{
 | 
			
		||||
    ssl->p_bio          = p_bio;
 | 
			
		||||
    ssl->f_send         = f_send;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user