[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.24 and 1.25

version 1.24, 2002/08/29 15:57:25 version 1.25, 2002/09/09 06:48:06
Line 116 
Line 116 
 int mm_answer_sesskey(int, Buffer *);  int mm_answer_sesskey(int, Buffer *);
 int mm_answer_sessid(int, Buffer *);  int mm_answer_sessid(int, Buffer *);
   
   #ifdef KRB5
   int mm_answer_krb5(int, Buffer *);
   #endif
   
 static Authctxt *authctxt;  static Authctxt *authctxt;
 static BIGNUM *ssh1_challenge = NULL;   /* used for ssh1 rsa auth */  static BIGNUM *ssh1_challenge = NULL;   /* used for ssh1 rsa auth */
   
Line 189 
Line 193 
     {MONITOR_REQ_SKEYQUERY, MON_ISAUTH, mm_answer_skeyquery},      {MONITOR_REQ_SKEYQUERY, MON_ISAUTH, mm_answer_skeyquery},
     {MONITOR_REQ_SKEYRESPOND, MON_AUTH, mm_answer_skeyrespond},      {MONITOR_REQ_SKEYRESPOND, MON_AUTH, mm_answer_skeyrespond},
 #endif  #endif
   #ifdef KRB5
       {MONITOR_REQ_KRB5, MON_ONCE|MON_AUTH, mm_answer_krb5},
   #endif
     {0, 0, NULL}      {0, 0, NULL}
 };  };
   
Line 1241 
Line 1248 
   
         return (success);          return (success);
 }  }
   
   
   #ifdef KRB5
   int
   mm_answer_krb5(int socket, Buffer *m)
   {
           krb5_data tkt, reply;
           char *client_user;
           u_int len;
           int success;
   
           /* use temporary var to avoid size issues on 64bit arch */
           tkt.data = buffer_get_string(m, &len);
           tkt.length = len;
   
           success = auth_krb5(authctxt, &tkt, &client_user, &reply);
   
           if (tkt.length)
                   xfree(tkt.data);
   
           buffer_clear(m);
           buffer_put_int(m, success);
   
           if (success) {
                   buffer_put_cstring(m, client_user);
                   buffer_put_string(m, reply.data, reply.length);
                   if (client_user)
                           xfree(client_user);
                   if (reply.length)
                           xfree(reply.data);
           }
           mm_request_send(socket, MONITOR_ANS_KRB5, m);
   
           return success;
   }
   #endif
   
 int  int
 mm_answer_term(int socket, Buffer *req)  mm_answer_term(int socket, Buffer *req)

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25