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

Diff for /src/usr.bin/ssh/sshconnect2.c between version 1.128 and 1.129

version 1.128, 2003/10/26 16:57:43 version 1.129, 2003/11/02 11:01:03
Line 517 
Line 517 
   
         packet_put_int(1);          packet_put_int(1);
   
         /* Some servers encode the OID incorrectly (as we used to) */          packet_put_int((gss_supported->elements[mech].length) + 2);
         if (datafellows & SSH_BUG_GSSAPI_BER) {          packet_put_char(SSH_GSS_OIDTYPE);
                 packet_put_string(gss_supported->elements[mech].elements,          packet_put_char(gss_supported->elements[mech].length);
                     gss_supported->elements[mech].length);          packet_put_raw(gss_supported->elements[mech].elements,
         } else {              gss_supported->elements[mech].length);
                 packet_put_int((gss_supported->elements[mech].length)+2);  
                 packet_put_char(SSH_GSS_OIDTYPE);  
                 packet_put_char(gss_supported->elements[mech].length);  
                 packet_put_raw(gss_supported->elements[mech].elements,  
                     gss_supported->elements[mech].length);  
         }  
   
         packet_send();          packet_send();
   
Line 558 
Line 552 
         /* Setup our OID */          /* Setup our OID */
         oidv = packet_get_string(&oidlen);          oidv = packet_get_string(&oidlen);
   
         if (datafellows & SSH_BUG_GSSAPI_BER) {          if (oidlen <= 2 ||
                 if (!ssh_gssapi_check_oid(gssctxt, oidv, oidlen))              oidv[0] != SSH_GSS_OIDTYPE ||
                         fatal("Server returned different OID than expected");              oidv[1] != oidlen - 2) {
         } else {                  debug("Badly encoded mechanism OID received");
                 if(oidv[0] != SSH_GSS_OIDTYPE || oidv[1] != oidlen-2) {                  userauth(authctxt, NULL);
                         debug("Badly encoded mechanism OID received");                  xfree(oidv);
                         userauth(authctxt, NULL);                  return;
                         xfree(oidv);  
                         return;  
                 }  
                 if (!ssh_gssapi_check_oid(gssctxt, oidv+2, oidlen-2))  
                         fatal("Server returned different OID than expected");  
         }          }
   
           if (!ssh_gssapi_check_oid(gssctxt, oidv + 2, oidlen - 2))
                   fatal("Server returned different OID than expected");
   
         packet_check_eom();          packet_check_eom();
   

Legend:
Removed from v.1.128  
changed lines
  Added in v.1.129