[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.99.2.2 and 1.99.2.3

version 1.99.2.2, 2002/10/11 14:51:53 version 1.99.2.3, 2003/04/03 22:35:18
Line 110 
Line 110 
   
         /* start key exchange */          /* start key exchange */
         kex = kex_setup(myproposal);          kex = kex_setup(myproposal);
           kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client;
           kex->kex[KEX_DH_GEX_SHA1] = kexgex_client;
         kex->client_version_string=client_version_string;          kex->client_version_string=client_version_string;
         kex->server_version_string=server_version_string;          kex->server_version_string=server_version_string;
         kex->verify_host_key=&verify_host_key_callback;          kex->verify_host_key=&verify_host_key_callback;
Line 128 
Line 130 
         packet_send();          packet_send();
         packet_write_wait();          packet_write_wait();
 #endif  #endif
         debug("done: ssh_kex2.");  
 }  }
   
 /*  /*
Line 224 
Line 225 
         if (options.challenge_response_authentication)          if (options.challenge_response_authentication)
                 options.kbd_interactive_authentication = 1;                  options.kbd_interactive_authentication = 1;
   
         debug("send SSH2_MSG_SERVICE_REQUEST");  
         packet_start(SSH2_MSG_SERVICE_REQUEST);          packet_start(SSH2_MSG_SERVICE_REQUEST);
         packet_put_cstring("ssh-userauth");          packet_put_cstring("ssh-userauth");
         packet_send();          packet_send();
           debug("SSH2_MSG_SERVICE_REQUEST sent");
         packet_write_wait();          packet_write_wait();
         type = packet_read();          type = packet_read();
         if (type != SSH2_MSG_SERVICE_ACCEPT) {          if (type != SSH2_MSG_SERVICE_ACCEPT)
                 fatal("denied SSH2_MSG_SERVICE_ACCEPT: %d", type);                  fatal("Server denied authentication request: %d", type);
         }  
         if (packet_remaining() > 0) {          if (packet_remaining() > 0) {
                 char *reply = packet_get_string(NULL);                  char *reply = packet_get_string(NULL);
                 debug("service_accept: %s", reply);                  debug2("service_accept: %s", reply);
                 xfree(reply);                  xfree(reply);
         } else {          } else {
                 debug("buggy server: service_accept w/o service");                  debug2("buggy server: service_accept w/o service");
         }          }
         packet_check_eom();          packet_check_eom();
         debug("got SSH2_MSG_SERVICE_ACCEPT");          debug("SSH2_MSG_SERVICE_ACCEPT received");
   
         if (options.preferred_authentications == NULL)          if (options.preferred_authentications == NULL)
                 options.preferred_authentications = authmethods_get();                  options.preferred_authentications = authmethods_get();
Line 273 
Line 273 
         if (authctxt.agent != NULL)          if (authctxt.agent != NULL)
                 ssh_close_authentication_connection(authctxt.agent);                  ssh_close_authentication_connection(authctxt.agent);
   
         debug("ssh-userauth2 successful: method %s", authctxt.method->name);          debug("Authentication succeeded (%s).", authctxt.method->name);
 }  }
 void  void
 userauth(Authctxt *authctxt, char *authlist)  userauth(Authctxt *authctxt, char *authlist)
Line 347 
Line 347 
   
         if (partial != 0)          if (partial != 0)
                 log("Authenticated with partial success.");                  log("Authenticated with partial success.");
         debug("authentications that can continue: %s", authlist);          debug("Authentications that can continue: %s", authlist);
   
         clear_auth_state(authctxt);          clear_auth_state(authctxt);
         userauth(authctxt, authlist);          userauth(authctxt, authlist);
Line 379 
Line 379 
         }          }
         packet_check_eom();          packet_check_eom();
   
         debug("input_userauth_pk_ok: pkalg %s blen %u lastkey %p hint %d",          debug("Server accepts key: pkalg %s blen %u lastkey %p hint %d",
             pkalg, blen, authctxt->last_key, authctxt->last_key_hint);              pkalg, blen, authctxt->last_key, authctxt->last_key_hint);
   
         do {          do {
Line 764 
Line 764 
         if (k == NULL) {          if (k == NULL) {
                 debug2("userauth_pubkey_agent: no more keys");                  debug2("userauth_pubkey_agent: no more keys");
         } else {          } else {
                 debug("userauth_pubkey_agent: testing agent key %s", comment);                  debug("Offering agent key: %s", comment);
                 xfree(comment);                  xfree(comment);
                 ret = send_pubkey_test(authctxt, k, agent_sign_cb, -1);                  ret = send_pubkey_test(authctxt, k, agent_sign_cb, -1);
                 if (ret == 0)                  if (ret == 0)
Line 792 
Line 792 
                 key = options.identity_keys[idx];                  key = options.identity_keys[idx];
                 filename = options.identity_files[idx];                  filename = options.identity_files[idx];
                 if (key == NULL) {                  if (key == NULL) {
                         debug("try privkey: %s", filename);                          debug("Trying private key: %s", filename);
                         key = load_identity_file(filename);                          key = load_identity_file(filename);
                         if (key != NULL) {                          if (key != NULL) {
                                 sent = sign_and_send_pubkey(authctxt, key,                                  sent = sign_and_send_pubkey(authctxt, key,
Line 800 
Line 800 
                                 key_free(key);                                  key_free(key);
                         }                          }
                 } else if (key->type != KEY_RSA1) {                  } else if (key->type != KEY_RSA1) {
                         debug("try pubkey: %s", filename);                          debug("Offering public key: %s", filename);
                         sent = send_pubkey_test(authctxt, key,                          sent = send_pubkey_test(authctxt, key,
                             identity_sign_cb, idx);                              identity_sign_cb, idx);
                 }                  }
Line 906 
Line 906 
         pid_t pid;          pid_t pid;
         int to[2], from[2], status, version = 2;          int to[2], from[2], status, version = 2;
   
         debug("ssh_keysign called");          debug2("ssh_keysign called");
   
         if (stat(_PATH_SSH_KEY_SIGN, &st) < 0) {          if (stat(_PATH_SSH_KEY_SIGN, &st) < 0) {
                 error("ssh_keysign: no installed: %s", strerror(errno));                  error("ssh_keysign: no installed: %s", strerror(errno));
Line 947 
Line 947 
         buffer_init(&b);          buffer_init(&b);
         buffer_put_int(&b, packet_get_connection_in()); /* send # of socket */          buffer_put_int(&b, packet_get_connection_in()); /* send # of socket */
         buffer_put_string(&b, data, datalen);          buffer_put_string(&b, data, datalen);
         msg_send(to[1], version, &b);          ssh_msg_send(to[1], version, &b);
   
         if (msg_recv(from[0], &b) < 0) {          if (ssh_msg_recv(from[0], &b) < 0) {
                 error("ssh_keysign: no reply");                  error("ssh_keysign: no reply");
                 buffer_clear(&b);                  buffer_clear(&b);
                 return -1;                  return -1;
Line 995 
Line 995 
                 }                  }
         }          }
         if (!found) {          if (!found) {
                 debug("userauth_hostbased: no more client hostkeys");                  debug("No more client hostkeys for hostbased authentication.");
                 return 0;                  return 0;
         }          }
         if (key_to_blob(private, &blob, &blen) == 0) {          if (key_to_blob(private, &blob, &blen) == 0) {
Line 1014 
Line 1014 
         strlcpy(chost, p, len);          strlcpy(chost, p, len);
         strlcat(chost, ".", len);          strlcat(chost, ".", len);
         debug2("userauth_hostbased: chost %s", chost);          debug2("userauth_hostbased: chost %s", chost);
           xfree(p);
   
         service = datafellows & SSH_BUG_HBSERVICE ? "ssh-userauth" :          service = datafellows & SSH_BUG_HBSERVICE ? "ssh-userauth" :
             authctxt->service;              authctxt->service;
Line 1109 
Line 1110 
 static Authmethod *  static Authmethod *
 authmethod_get(char *authlist)  authmethod_get(char *authlist)
 {  {
   
         char *name = NULL;          char *name = NULL;
         u_int next;          u_int next;
   
Line 1130 
Line 1130 
   
         for (;;) {          for (;;) {
                 if ((name = match_list(preferred, supported, &next)) == NULL) {                  if ((name = match_list(preferred, supported, &next)) == NULL) {
                         debug("no more auth methods to try");                          debug("No more authentication methods to try.");
                         current = NULL;                          current = NULL;
                         return NULL;                          return NULL;
                 }                  }
Line 1140 
Line 1140 
                 if ((current = authmethod_lookup(name)) != NULL &&                  if ((current = authmethod_lookup(name)) != NULL &&
                     authmethod_is_enabled(current)) {                      authmethod_is_enabled(current)) {
                         debug3("authmethod_is_enabled %s", name);                          debug3("authmethod_is_enabled %s", name);
                         debug("next auth method to try is %s", name);                          debug("Next authentication method: %s", name);
                         return current;                          return current;
                 }                  }
         }          }

Legend:
Removed from v.1.99.2.2  
changed lines
  Added in v.1.99.2.3