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

Diff for /src/usr.bin/ssh/ssh-agent.c between version 1.95 and 1.96

version 1.95, 2002/06/19 00:27:55 version 1.96, 2002/06/23 10:29:52
Line 106 
Line 106 
 idtab_init(void)  idtab_init(void)
 {  {
         int i;          int i;
   
         for (i = 0; i <=2; i++) {          for (i = 0; i <=2; i++) {
                 TAILQ_INIT(&idtable[i].idlist);                  TAILQ_INIT(&idtable[i].idlist);
                 idtable[i].nentries = 0;                  idtable[i].nentries = 0;
Line 148 
Line 149 
 process_request_identities(SocketEntry *e, int version)  process_request_identities(SocketEntry *e, int version)
 {  {
         Idtab *tab = idtab_lookup(version);          Idtab *tab = idtab_lookup(version);
         Buffer msg;  
         Identity *id;          Identity *id;
           Buffer msg;
   
         buffer_init(&msg);          buffer_init(&msg);
         buffer_put_char(&msg, (version == 1) ?          buffer_put_char(&msg, (version == 1) ?
Line 178 
Line 179 
 static void  static void
 process_authentication_challenge1(SocketEntry *e)  process_authentication_challenge1(SocketEntry *e)
 {  {
         Identity *id;          u_char buf[32], mdbuf[16], session_id[16];
         Key *key;          u_int response_type;
         BIGNUM *challenge;          BIGNUM *challenge;
           Identity *id;
         int i, len;          int i, len;
         Buffer msg;          Buffer msg;
         MD5_CTX md;          MD5_CTX md;
         u_char buf[32], mdbuf[16], session_id[16];          Key *key;
         u_int response_type;  
   
         buffer_init(&msg);          buffer_init(&msg);
         key = key_new(KEY_RSA1);          key = key_new(KEY_RSA1);
Line 247 
Line 248 
 static void  static void
 process_sign_request2(SocketEntry *e)  process_sign_request2(SocketEntry *e)
 {  {
         extern int datafellows;  
         Key *key;  
         u_char *blob, *data, *signature = NULL;          u_char *blob, *data, *signature = NULL;
         u_int blen, dlen, slen = 0;          u_int blen, dlen, slen = 0;
         int flags;          extern int datafellows;
           int ok = -1, flags;
         Buffer msg;          Buffer msg;
         int ok = -1;          Key *key;
   
         datafellows = 0;          datafellows = 0;
   
Line 292 
Line 292 
 static void  static void
 process_remove_identity(SocketEntry *e, int version)  process_remove_identity(SocketEntry *e, int version)
 {  {
           u_int blen, bits;
           int success = 0;
         Key *key = NULL;          Key *key = NULL;
         u_char *blob;          u_char *blob;
         u_int blen;  
         u_int bits;  
         int success = 0;  
   
         switch (version) {          switch (version) {
         case 1:          case 1:
Line 306 
Line 305 
                 buffer_get_bignum(&e->request, key->rsa->n);                  buffer_get_bignum(&e->request, key->rsa->n);
   
                 if (bits != key_size(key))                  if (bits != key_size(key))
                         log("Warning: identity keysize mismatch: actual %d, announced %d",                          log("Warning: identity keysize mismatch: actual %u, announced %u",
                             key_size(key), bits);                              key_size(key), bits);
                 break;                  break;
         case 2:          case 2:
Line 366 
Line 365 
 static void  static void
 reaper(void)  reaper(void)
 {  {
         Idtab *tab;          u_int now = time(NULL);
         Identity *id, *nxt;          Identity *id, *nxt;
         int version;          int version;
         u_int now = time(NULL);          Idtab *tab;
   
         for (version = 1; version < 3; version++) {          for (version = 1; version < 3; version++) {
                 tab = idtab_lookup(version);                  tab = idtab_lookup(version);
Line 387 
Line 386 
 static void  static void
 process_add_identity(SocketEntry *e, int version)  process_add_identity(SocketEntry *e, int version)
 {  {
         Key *k = NULL;  
         char *type_name;  
         char *comment;  
         int type, success = 0, death = 0;  
         Idtab *tab = idtab_lookup(version);          Idtab *tab = idtab_lookup(version);
           int type, success = 0, death = 0;
           char *type_name, *comment;
           Key *k = NULL;
   
         switch (version) {          switch (version) {
         case 1:          case 1:
Line 477 
Line 475 
 static void  static void
 process_lock_agent(SocketEntry *e, int lock)  process_lock_agent(SocketEntry *e, int lock)
 {  {
         char *passwd;  
         int success = 0;          int success = 0;
           char *passwd;
   
         passwd = buffer_get_string(&e->request, NULL);          passwd = buffer_get_string(&e->request, NULL);
         if (locked && !lock && strcmp(passwd, lock_passwd) == 0) {          if (locked && !lock && strcmp(passwd, lock_passwd) == 0) {
Line 519 
Line 517 
 static void  static void
 process_add_smartcard_key (SocketEntry *e)  process_add_smartcard_key (SocketEntry *e)
 {  {
         Identity *id;  
         Idtab *tab;  
         Key **keys, *k;  
         char *sc_reader_id = NULL, *pin;          char *sc_reader_id = NULL, *pin;
         int i, version, success = 0;          int i, version, success = 0;
           Key **keys, *k;
           Identity *id;
           Idtab *tab;
   
         sc_reader_id = buffer_get_string(&e->request, NULL);          sc_reader_id = buffer_get_string(&e->request, NULL);
         pin = buffer_get_string(&e->request, NULL);          pin = buffer_get_string(&e->request, NULL);
Line 562 
Line 560 
 static void  static void
 process_remove_smartcard_key(SocketEntry *e)  process_remove_smartcard_key(SocketEntry *e)
 {  {
         Identity *id;  
         Idtab *tab;  
         Key **keys, *k = NULL;  
         char *sc_reader_id = NULL, *pin;          char *sc_reader_id = NULL, *pin;
         int i, version, success = 0;          int i, version, success = 0;
           Key **keys, *k = NULL;
           Identity *id;
           Idtab *tab;
   
         sc_reader_id = buffer_get_string(&e->request, NULL);          sc_reader_id = buffer_get_string(&e->request, NULL);
         pin = buffer_get_string(&e->request, NULL);          pin = buffer_get_string(&e->request, NULL);
Line 604 
Line 602 
 static void  static void
 process_message(SocketEntry *e)  process_message(SocketEntry *e)
 {  {
         u_int msg_len;          u_int msg_len, type;
         u_int type;  
         u_char *cp;          u_char *cp;
   
         /* kill dead keys */          /* kill dead keys */
Line 618 
Line 615 
         if (msg_len > 256 * 1024) {          if (msg_len > 256 * 1024) {
                 shutdown(e->fd, SHUT_RDWR);                  shutdown(e->fd, SHUT_RDWR);
                 close(e->fd);                  close(e->fd);
                   e->fd = -1;
                 e->type = AUTH_UNUSED;                  e->type = AUTH_UNUSED;
                 buffer_free(&e->input);                  buffer_free(&e->input);
                 buffer_free(&e->output);                  buffer_free(&e->output);
Line 713 
Line 711 
 new_socket(sock_type type, int fd)  new_socket(sock_type type, int fd)
 {  {
         u_int i, old_alloc;          u_int i, old_alloc;
   
         if (fcntl(fd, F_SETFL, O_NONBLOCK) < 0)          if (fcntl(fd, F_SETFL, O_NONBLOCK) < 0)
                 error("fcntl O_NONBLOCK: %s", strerror(errno));                  error("fcntl O_NONBLOCK: %s", strerror(errno));
   
Line 797 
Line 796 
 static void  static void
 after_select(fd_set *readset, fd_set *writeset)  after_select(fd_set *readset, fd_set *writeset)
 {  {
         u_int i;          struct sockaddr_un sunaddr;
         int len, sock;  
         socklen_t slen;          socklen_t slen;
         char buf[1024];          char buf[1024];
         struct sockaddr_un sunaddr;          int len, sock;
           u_int i;
   
         for (i = 0; i < sockets_alloc; i++)          for (i = 0; i < sockets_alloc; i++)
                 switch (sockets[i].type) {                  switch (sockets[i].type) {
Line 835 
Line 834 
                                 if (len <= 0) {                                  if (len <= 0) {
                                         shutdown(sockets[i].fd, SHUT_RDWR);                                          shutdown(sockets[i].fd, SHUT_RDWR);
                                         close(sockets[i].fd);                                          close(sockets[i].fd);
                                           sockets[i].fd = -1;
                                         sockets[i].type = AUTH_UNUSED;                                          sockets[i].type = AUTH_UNUSED;
                                         buffer_free(&sockets[i].input);                                          buffer_free(&sockets[i].input);
                                         buffer_free(&sockets[i].output);                                          buffer_free(&sockets[i].output);
Line 854 
Line 854 
                                 if (len <= 0) {                                  if (len <= 0) {
                                         shutdown(sockets[i].fd, SHUT_RDWR);                                          shutdown(sockets[i].fd, SHUT_RDWR);
                                         close(sockets[i].fd);                                          close(sockets[i].fd);
                                           sockets[i].fd = -1;
                                         sockets[i].type = AUTH_UNUSED;                                          sockets[i].type = AUTH_UNUSED;
                                         buffer_free(&sockets[i].input);                                          buffer_free(&sockets[i].input);
                                         buffer_free(&sockets[i].output);                                          buffer_free(&sockets[i].output);
Line 924 
Line 925 
 main(int ac, char **av)  main(int ac, char **av)
 {  {
         int sock, c_flag = 0, d_flag = 0, k_flag = 0, s_flag = 0, ch, nalloc;          int sock, c_flag = 0, d_flag = 0, k_flag = 0, s_flag = 0, ch, nalloc;
           char *shell, *format, *pidstr, *agentsocket = NULL;
           fd_set *readsetp = NULL, *writesetp = NULL;
         struct sockaddr_un sunaddr;          struct sockaddr_un sunaddr;
         struct rlimit rlim;          struct rlimit rlim;
         pid_t pid;  
         char *shell, *format, *pidstr, pidstrbuf[1 + 3 * sizeof pid];  
         char *agentsocket = NULL;  
         extern int optind;          extern int optind;
         fd_set *readsetp = NULL, *writesetp = NULL;          pid_t pid;
           char pidstrbuf[1 + 3 * sizeof pid];
   
         SSLeay_add_all_algorithms();          SSLeay_add_all_algorithms();
   

Legend:
Removed from v.1.95  
changed lines
  Added in v.1.96