Fix warnings.
[openssl.git] / ssl / d1_both.c
index fb98bf49d0608a30806eb8569e4b5735cb27e90a..ffac2c2415974738bc4995273772e53b6e673b55 100644 (file)
@@ -222,7 +222,7 @@ int dtls1_do_write(SSL *s, int type)
 
        if ( s->init_off == 0  && type == SSL3_RT_HANDSHAKE)
                OPENSSL_assert(s->init_num == 
-                       s->d1->w_msg_hdr.msg_len + DTLS1_HM_HEADER_LENGTH);
+                       (int)s->d1->w_msg_hdr.msg_len + DTLS1_HM_HEADER_LENGTH);
 
        frag_off = 0;
        while( s->init_num)
@@ -289,7 +289,7 @@ int dtls1_do_write(SSL *s, int type)
                        
                        /* bad if this assert fails, only part of the handshake
                         * message got sent.  but why would this happen? */
-                       OPENSSL_assert(len == ret); 
+                       OPENSSL_assert(len == (unsigned int)ret); 
                        
                        if (type == SSL3_RT_HANDSHAKE && ! s->d1->retransmitting)
                                /* should not be done for 'Hello Request's, but in that case
@@ -324,8 +324,7 @@ int dtls1_do_write(SSL *s, int type)
  * Read an entire handshake message.  Handshake messages arrive in
  * fragments.
  */
-long dtls1_get_message(SSL *s, int st1, int stn, int mt, long max, 
-       int     *ok)
+long dtls1_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok)
        {
        int i, al;
 
@@ -337,7 +336,7 @@ long dtls1_get_message(SSL *s, int st1, int stn, int mt, long max,
                if ((mt >= 0) && (s->s3->tmp.message_type != mt))
                        {
                        al=SSL_AD_UNEXPECTED_MESSAGE;
-                       SSLerr(SSL_F_SSL3_GET_MESSAGE,SSL_R_UNEXPECTED_MESSAGE);
+                       SSLerr(SSL_F_DTLS1_GET_MESSAGE,SSL_R_UNEXPECTED_MESSAGE);
                        goto f_err;
                        }
                *ok=1;
@@ -361,7 +360,7 @@ long dtls1_get_message(SSL *s, int st1, int stn, int mt, long max,
                else if ( i <= 0 && !*ok)
                        return i;
 
-               if (s->d1->r_msg_hdr.msg_len == s->init_num - DTLS1_HM_HEADER_LENGTH)
+               if (s->d1->r_msg_hdr.msg_len == (unsigned int)s->init_num - DTLS1_HM_HEADER_LENGTH)
                        {
                        memset(&(s->d1->r_msg_hdr), 0x00, sizeof(struct hm_header_st));
 
@@ -414,7 +413,7 @@ dtls1_retrieve_buffered_fragment(SSL *s, unsigned long *copied)
     frag = (hm_fragment *)item->data;
     
     if ( s->d1->handshake_read_seq == frag->msg_header.seq &&
-        frag->msg_header.frag_off <= s->init_num - DTLS1_HM_HEADER_LENGTH)
+        frag->msg_header.frag_off <= (unsigned int)s->init_num - DTLS1_HM_HEADER_LENGTH)
         {
         pqueue_pop(s->d1->buffered_messages);
         overlap = s->init_num - DTLS1_HM_HEADER_LENGTH 
@@ -443,6 +442,7 @@ dtls1_buffer_handshake_fragment(SSL *s, struct hm_header_st* msg_hdr)
 {
     hm_fragment *frag = NULL;
     pitem *item = NULL;
+    unsigned char seq64be[8];
 
     frag = dtls1_hm_fragment_new(msg_hdr->frag_len);
     if ( frag == NULL)
@@ -453,7 +453,11 @@ dtls1_buffer_handshake_fragment(SSL *s, struct hm_header_st* msg_hdr)
 
     memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
 
-    item = pitem_new(msg_hdr->seq, frag);
+    memset(seq64be,0,sizeof(seq64be));
+    seq64be[6] = (unsigned char)(msg_hdr->seq>>8);
+    seq64be[7] = (unsigned char)(msg_hdr->seq);
+
+    item = pitem_new(seq64be, frag);
     if ( item == NULL)
         goto err;
 
@@ -488,7 +492,7 @@ dtls1_process_out_of_seq_message(SSL *s, struct hm_header_st *msg_hdr, int *ok)
     if ( (int)msg_hdr->frag_len && !BUF_MEM_grow_clean(s->init_buf, 
              (int)msg_hdr->frag_len + DTLS1_HM_HEADER_LENGTH + s->init_num))
         {
-        SSLerr(SSL_F_SSL3_GET_MESSAGE,ERR_R_BUF_LIB);
+        SSLerr(SSL_F_DTLS1_PROCESS_OUT_OF_SEQ_MESSAGE,ERR_R_BUF_LIB);
         goto err;
         }
 
@@ -519,7 +523,7 @@ err:
     }
 
 
-static long 
+static long
 dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
        {
        unsigned char *p;
@@ -573,7 +577,7 @@ dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
     if ( frag_off + frag_len > l)
         {
         al=SSL_AD_ILLEGAL_PARAMETER;
-        SSLerr(SSL_F_SSL3_GET_MESSAGE,SSL_R_EXCESSIVE_MESSAGE_SIZE);
+        SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,SSL_R_EXCESSIVE_MESSAGE_SIZE);
         goto f_err;
         }
 
@@ -598,7 +602,7 @@ dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
         else /* Incorrectly formated Hello request */
             {
             al=SSL_AD_UNEXPECTED_MESSAGE;
-            SSLerr(SSL_F_SSL3_GET_MESSAGE,SSL_R_UNEXPECTED_MESSAGE);
+            SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,SSL_R_UNEXPECTED_MESSAGE);
             goto f_err;
             }
         }
@@ -613,13 +617,13 @@ dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
                if (l > (INT_MAX-DTLS1_HM_HEADER_LENGTH)) 
                        {
                        al=SSL_AD_ILLEGAL_PARAMETER;
-                       SSLerr(SSL_F_SSL3_GET_MESSAGE,SSL_R_EXCESSIVE_MESSAGE_SIZE);
+                       SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,SSL_R_EXCESSIVE_MESSAGE_SIZE);
                        goto f_err;
                        }
                if (l && !BUF_MEM_grow_clean(s->init_buf,(int)l
                        + DTLS1_HM_HEADER_LENGTH))
                        {
-                       SSLerr(SSL_F_SSL3_GET_MESSAGE,ERR_R_BUF_LIB);
+                       SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,ERR_R_BUF_LIB);
                        goto err;
                        }
         /* Only do this test when we're reading the expected message.
@@ -627,7 +631,7 @@ dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
         if ( l > (unsigned long)max)
                        {
                        al=SSL_AD_ILLEGAL_PARAMETER;
-                       SSLerr(SSL_F_SSL3_GET_MESSAGE,SSL_R_EXCESSIVE_MESSAGE_SIZE);
+                       SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,SSL_R_EXCESSIVE_MESSAGE_SIZE);
                        goto f_err;
                        }
 
@@ -637,20 +641,20 @@ dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
     if ( frag_len > (unsigned long)max)
         {
         al=SSL_AD_ILLEGAL_PARAMETER;
-        SSLerr(SSL_F_SSL3_GET_MESSAGE,SSL_R_EXCESSIVE_MESSAGE_SIZE);
+        SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,SSL_R_EXCESSIVE_MESSAGE_SIZE);
         goto f_err;
         }
     if ( frag_len + s->init_num > (INT_MAX - DTLS1_HM_HEADER_LENGTH))
         {
         al=SSL_AD_ILLEGAL_PARAMETER;
-        SSLerr(SSL_F_SSL3_GET_MESSAGE,SSL_R_EXCESSIVE_MESSAGE_SIZE);
+        SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,SSL_R_EXCESSIVE_MESSAGE_SIZE);
         goto f_err;
         }
 
     if ( frag_len & !BUF_MEM_grow_clean(s->init_buf, (int)frag_len 
              + DTLS1_HM_HEADER_LENGTH + s->init_num))
         {
-        SSLerr(SSL_F_SSL3_GET_MESSAGE,ERR_R_BUF_LIB);
+        SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,ERR_R_BUF_LIB);
         goto err;
         }
 
@@ -686,7 +690,7 @@ dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
 
     /* XDTLS:  an incorrectly formatted fragment should cause the 
      * handshake to fail */
-       OPENSSL_assert(i == frag_len);
+       OPENSSL_assert(i == (int)frag_len);
 
 #if 0
     /* Successfully read a fragment.
@@ -842,14 +846,14 @@ unsigned long dtls1_output_cert_chain(SSL *s, X509 *x)
        buf=s->init_buf;
        if (!BUF_MEM_grow_clean(buf,10))
                {
-               SSLerr(SSL_F_SSL3_OUTPUT_CERT_CHAIN,ERR_R_BUF_LIB);
+               SSLerr(SSL_F_DTLS1_OUTPUT_CERT_CHAIN,ERR_R_BUF_LIB);
                return(0);
                }
        if (x != NULL)
                {
                if(!X509_STORE_CTX_init(&xs_ctx,s->ctx->cert_store,NULL,NULL))
                        {
-                       SSLerr(SSL_F_SSL3_OUTPUT_CERT_CHAIN,ERR_R_X509_LIB);
+                       SSLerr(SSL_F_DTLS1_OUTPUT_CERT_CHAIN,ERR_R_X509_LIB);
                        return(0);
                        }
 
@@ -858,7 +862,7 @@ unsigned long dtls1_output_cert_chain(SSL *s, X509 *x)
                        n=i2d_X509(x,NULL);
                        if (!BUF_MEM_grow_clean(buf,(int)(n+l+3)))
                                {
-                               SSLerr(SSL_F_SSL3_OUTPUT_CERT_CHAIN,ERR_R_BUF_LIB);
+                               SSLerr(SSL_F_DTLS1_OUTPUT_CERT_CHAIN,ERR_R_BUF_LIB);
                                return(0);
                                }
                        p=(unsigned char *)&(buf->data[l]);
@@ -888,7 +892,7 @@ unsigned long dtls1_output_cert_chain(SSL *s, X509 *x)
                n=i2d_X509(x,NULL);
                if (!BUF_MEM_grow_clean(buf,(int)(n+l+3)))
                        {
-                       SSLerr(SSL_F_SSL3_OUTPUT_CERT_CHAIN,ERR_R_BUF_LIB);
+                       SSLerr(SSL_F_DTLS1_OUTPUT_CERT_CHAIN,ERR_R_BUF_LIB);
                        return(0);
                        }
                p=(unsigned char *)&(buf->data[l]);
@@ -1038,6 +1042,7 @@ dtls1_buffer_message(SSL *s, int is_ccs)
     {
     pitem *item;
     hm_fragment *frag;
+    unsigned char seq64be[8];
 
     /* this function is called immediately after a message has 
      * been serialized */
@@ -1050,12 +1055,12 @@ dtls1_buffer_message(SSL *s, int is_ccs)
     if ( is_ccs)
         {
         OPENSSL_assert(s->d1->w_msg_hdr.msg_len + 
-            DTLS1_CCS_HEADER_LENGTH == s->init_num);
+            DTLS1_CCS_HEADER_LENGTH == (unsigned int)s->init_num);
         }
     else
         {
         OPENSSL_assert(s->d1->w_msg_hdr.msg_len + 
-            DTLS1_HM_HEADER_LENGTH == s->init_num);
+            DTLS1_HM_HEADER_LENGTH == (unsigned int)s->init_num);
         }
 
     frag->msg_header.msg_len = s->d1->w_msg_hdr.msg_len;
@@ -1065,7 +1070,11 @@ dtls1_buffer_message(SSL *s, int is_ccs)
     frag->msg_header.frag_len = s->d1->w_msg_hdr.msg_len;
     frag->msg_header.is_ccs = is_ccs;
 
-    item = pitem_new(frag->msg_header.seq, frag);
+    memset(seq64be,0,sizeof(seq64be));
+    seq64be[6] = (unsigned char)(frag->msg_header.seq>>8);
+    seq64be[7] = (unsigned char)(frag->msg_header.seq);
+
+    item = pitem_new(seq64be, frag);
     if ( item == NULL)
         {
         dtls1_hm_fragment_free(frag);
@@ -1091,6 +1100,7 @@ dtls1_retransmit_message(SSL *s, unsigned short seq, unsigned long frag_off,
     pitem *item;
     hm_fragment *frag ;
     unsigned long header_length;
+    unsigned char seq64be[8];
 
     /*
       OPENSSL_assert(s->init_num == 0);
@@ -1098,7 +1108,11 @@ dtls1_retransmit_message(SSL *s, unsigned short seq, unsigned long frag_off,
      */
 
     /* XDTLS:  the requested message ought to be found, otherwise error */
-    item = pqueue_find(s->d1->sent_messages, seq);
+    memset(seq64be,0,sizeof(seq64be));
+    seq64be[6] = (unsigned char)(seq>>8);
+    seq64be[7] = (unsigned char)seq;
+
+    item = pqueue_find(s->d1->sent_messages, seq64be);
     if ( item == NULL)
         {
         fprintf(stderr, "retransmit:  message %d non-existant\n", seq);
@@ -1127,7 +1141,7 @@ dtls1_retransmit_message(SSL *s, unsigned short seq, unsigned long frag_off,
         SSL3_RT_CHANGE_CIPHER_SPEC : SSL3_RT_HANDSHAKE);
     s->d1->retransmitting = 0;
 
-    BIO_flush(SSL_get_wbio(s));
+    (void)BIO_flush(SSL_get_wbio(s));
     return ret;
     }
 
@@ -1214,7 +1228,7 @@ dtls1_min_mtu(void)
 static unsigned int 
 dtls1_guess_mtu(unsigned int curr_mtu)
        {
-       int i;
+       unsigned int i;
 
        if ( curr_mtu == 0 )
                return g_probable_mtu[0] ;