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

Diff for /src/usr.bin/ssh/monitor.c between version 1.29 and 1.29.2.2

version 1.29, 2002/09/26 11:38:43 version 1.29.2.2, 2003/04/03 23:27:12
Line 615 
Line 615 
         u_int numprompts;          u_int numprompts;
         u_int *echo_on;          u_int *echo_on;
         char **prompts;          char **prompts;
         int res;          u_int success;
   
         res = bsdauth_query(authctxt, &name, &infotxt, &numprompts,          success = bsdauth_query(authctxt, &name, &infotxt, &numprompts,
             &prompts, &echo_on);              &prompts, &echo_on) < 0 ? 0 : 1;
   
         buffer_clear(m);          buffer_clear(m);
         buffer_put_int(m, res);          buffer_put_int(m, success);
         if (res != -1)          if (success)
                 buffer_put_cstring(m, prompts[0]);                  buffer_put_cstring(m, prompts[0]);
   
         debug3("%s: sending challenge res: %d", __func__, res);          debug3("%s: sending challenge success: %u", __func__, success);
         mm_request_send(socket, MONITOR_ANS_BSDAUTHQUERY, m);          mm_request_send(socket, MONITOR_ANS_BSDAUTHQUERY, m);
   
         if (res != -1) {          if (success) {
                 xfree(name);                  xfree(name);
                 xfree(infotxt);                  xfree(infotxt);
                 xfree(prompts);                  xfree(prompts);
Line 672 
Line 672 
 {  {
         struct skey skey;          struct skey skey;
         char challenge[1024];          char challenge[1024];
         int res;          u_int success;
   
         res = skeychallenge(&skey, authctxt->user, challenge);          success = skeychallenge(&skey, authctxt->user, challenge) < 0 ? 0 : 1;
   
         buffer_clear(m);          buffer_clear(m);
         buffer_put_int(m, res);          buffer_put_int(m, success);
         if (res != -1)          if (success)
                 buffer_put_cstring(m, challenge);                  buffer_put_cstring(m, challenge);
   
         debug3("%s: sending challenge res: %d", __func__, res);          debug3("%s: sending challenge success: %u", __func__, success);
         mm_request_send(socket, MONITOR_ANS_SKEYQUERY, m);          mm_request_send(socket, MONITOR_ANS_SKEYQUERY, m);
   
         return (0);          return (0);
Line 771 
Line 771 
                         fatal("%s: unknown key type %d", __func__, type);                          fatal("%s: unknown key type %d", __func__, type);
                         break;                          break;
                 }                  }
                 key_free(key);  
         }          }
           if (key != NULL)
                   key_free(key);
   
         /* clear temporarily storage (used by verify) */          /* clear temporarily storage (used by verify) */
         monitor_reset_key_state();          monitor_reset_key_state();
Line 791 
Line 792 
   
         buffer_clear(m);          buffer_clear(m);
         buffer_put_int(m, allowed);          buffer_put_int(m, allowed);
           buffer_put_int(m, forced_command != NULL);
   
         mm_append_debug(m);          mm_append_debug(m);
   
Line 1153 
Line 1155 
         }          }
         buffer_clear(m);          buffer_clear(m);
         buffer_put_int(m, allowed);          buffer_put_int(m, allowed);
           buffer_put_int(m, forced_command != NULL);
   
         /* clear temporarily storage (used by generate challenge) */          /* clear temporarily storage (used by generate challenge) */
         monitor_reset_key_state();          monitor_reset_key_state();
Line 1167 
Line 1170 
                 key_blob = blob;                  key_blob = blob;
                 key_bloblen = blen;                  key_bloblen = blen;
                 key_blobtype = MM_RSAUSERKEY;                  key_blobtype = MM_RSAUSERKEY;
                 key_free(key);  
         }          }
           if (key != NULL)
                   key_free(key);
   
         mm_append_debug(m);          mm_append_debug(m);
   
Line 1209 
Line 1213 
         mm_request_send(socket, MONITOR_ANS_RSACHALLENGE, m);          mm_request_send(socket, MONITOR_ANS_RSACHALLENGE, m);
   
         monitor_permit(mon_dispatch, MONITOR_REQ_RSARESPONSE, 1);          monitor_permit(mon_dispatch, MONITOR_REQ_RSARESPONSE, 1);
   
           xfree(blob);
           key_free(key);
         return (0);          return (0);
 }  }
   
Line 1239 
Line 1246 
                 fatal("%s: received bad response to challenge", __func__);                  fatal("%s: received bad response to challenge", __func__);
         success = auth_rsa_verify_response(key, ssh1_challenge, response);          success = auth_rsa_verify_response(key, ssh1_challenge, response);
   
           xfree(blob);
         key_free(key);          key_free(key);
         xfree(response);          xfree(response);
   
Line 1423 
Line 1431 
             (memcmp(kex->session_id, session_id2, session_id2_len) != 0))              (memcmp(kex->session_id, session_id2, session_id2_len) != 0))
                 fatal("mm_get_get: internal error: bad session id");                  fatal("mm_get_get: internal error: bad session id");
         kex->we_need = buffer_get_int(m);          kex->we_need = buffer_get_int(m);
           kex->kex[KEX_DH_GRP1_SHA1] = kexdh_server;
           kex->kex[KEX_DH_GEX_SHA1] = kexgex_server;
         kex->server = 1;          kex->server = 1;
         kex->hostkey_type = buffer_get_int(m);          kex->hostkey_type = buffer_get_int(m);
         kex->kex_type = buffer_get_int(m);          kex->kex_type = buffer_get_int(m);
Line 1516 
Line 1526 
 void *  void *
 mm_zalloc(struct mm_master *mm, u_int ncount, u_int size)  mm_zalloc(struct mm_master *mm, u_int ncount, u_int size)
 {  {
         size_t len = size * ncount;          size_t len = (size_t) size * ncount;
         void *address;          void *address;
   
         if (len == 0 || ncount > SIZE_T_MAX / size)          if (len == 0 || ncount > SIZE_T_MAX / size)

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.29.2.2