[BACK]Return to ftp.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ftp

Diff for /src/usr.bin/ftp/ftp.c between version 1.46 and 1.47

version 1.46, 2002/06/01 20:21:49 version 1.47, 2002/06/09 00:40:29
Line 1434 
Line 1434 
 #define UC(b)   (((int)b)&0xff)  #define UC(b)   (((int)b)&0xff)
   
         if (sendport) {          if (sendport) {
                 char hname[INET6_ADDRSTRLEN];                  char hname[NI_MAXHOST], pbuf[NI_MAXSERV];
                 int af;                  int af;
                   union sockunion tmp;
   
                 switch (data_addr.su_family) {                  tmp = data_addr;
                   switch (tmp.su_family) {
                 case AF_INET:                  case AF_INET:
                         if (!epsv4 || epsv4bad) {                          if (!epsv4 || epsv4bad) {
                                 result = COMPLETE +1;                                  result = COMPLETE +1;
Line 1445 
Line 1447 
                         }                          }
                         /*FALLTHROUGH*/                          /*FALLTHROUGH*/
                 case AF_INET6:                  case AF_INET6:
                         af = (data_addr.su_family == AF_INET) ? 1 : 2;                          if (tmp.su_family == AF_INET6)
                         if (getnameinfo((struct sockaddr *)&data_addr,                                  tmp.su_sin6.sin6_scope_id = 0;
                                         data_addr.su_len, hname, sizeof(hname),                          af = (tmp.su_family == AF_INET) ? 1 : 2;
                                         NULL, 0, NI_NUMERICHOST)) {                          if (getnameinfo((struct sockaddr *)&tmp,
                               tmp.su_len, hname, sizeof(hname),
                               pbuf, sizeof(pbuf), NI_NUMERICHOST | NI_NUMERICSERV)) {
                                 result = ERROR;                                  result = ERROR;
                         } else {                          } else {
                                 result = command("EPRT |%d|%s|%d|",                                  result = command("EPRT |%d|%s|%s|",
                                         af, hname, ntohs(data_addr.su_port));                                      af, hname, pbuf);
                                 if (result != COMPLETE) {                                  if (result != COMPLETE) {
                                         epsv4bad = 1;                                          epsv4bad = 1;
                                         if (debug) {                                          if (debug) {

Legend:
Removed from v.1.46  
changed lines
  Added in v.1.47