Diff for /qemu/slirp/tftp.c between versions 1.1.1.4 and 1.1.1.5

version 1.1.1.4, 2018/04/24 17:25:54 version 1.1.1.5, 2018/04/24 17:54:53
Line 264  static void tftp_handle_rrq(Slirp *slirp Line 264  static void tftp_handle_rrq(Slirp *slirp
   size_t prefix_len;    size_t prefix_len;
   char *req_fname;    char *req_fname;
   
     /* check if a session already exists and if so terminate it */
     s = tftp_session_find(slirp, tp);
     if (s >= 0) {
       tftp_session_terminate(&slirp->tftp_sessions[s]);
     }
   
   s = tftp_session_allocate(slirp, tp);    s = tftp_session_allocate(slirp, tp);
   
   if (s < 0) {    if (s < 0) {
Line 362  static void tftp_handle_rrq(Slirp *slirp Line 368  static void tftp_handle_rrq(Slirp *slirp
           }            }
   
           tftp_send_oack(spt, "tsize", tsize, tp);            tftp_send_oack(spt, "tsize", tsize, tp);
             return;
       }        }
   }    }
   
Line 385  static void tftp_handle_ack(Slirp *slirp Line 392  static void tftp_handle_ack(Slirp *slirp
   }    }
 }  }
   
   static void tftp_handle_error(Slirp *slirp, struct tftp_t *tp, int pktlen)
   {
     int s;
   
     s = tftp_session_find(slirp, tp);
   
     if (s < 0) {
       return;
     }
   
     tftp_session_terminate(&slirp->tftp_sessions[s]);
   }
   
 void tftp_input(struct mbuf *m)  void tftp_input(struct mbuf *m)
 {  {
   struct tftp_t *tp = (struct tftp_t *)m->m_data;    struct tftp_t *tp = (struct tftp_t *)m->m_data;
Line 397  void tftp_input(struct mbuf *m) Line 417  void tftp_input(struct mbuf *m)
   case TFTP_ACK:    case TFTP_ACK:
     tftp_handle_ack(m->slirp, tp, m->m_len);      tftp_handle_ack(m->slirp, tp, m->m_len);
     break;      break;
   
     case TFTP_ERROR:
       tftp_handle_error(m->slirp, tp, m->m_len);
       break;
   }    }
 }  }

Removed from v.1.1.1.4  
changed lines
  Added in v.1.1.1.5


unix.superglobalmegacorp.com