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

Diff for /src/usr.bin/ssh/monitor_wrap.c between version 1.22.2.1 and 1.22.2.2

version 1.22.2.1, 2003/09/16 20:50:43 version 1.22.2.2, 2004/03/04 18:18:16
Line 64 
Line 64 
 extern struct monitor *pmonitor;  extern struct monitor *pmonitor;
 extern Buffer input, output;  extern Buffer input, output;
   
   int
   mm_is_monitor(void)
   {
           /*
            * m_pid is only set in the privileged part, and
            * points to the unprivileged child.
            */
           return (pmonitor && pmonitor->m_pid > 0);
   }
   
 void  void
 mm_request_send(int socket, enum monitor_reqtype type, Buffer *m)  mm_request_send(int socket, enum monitor_reqtype type, Buffer *m)
 {  {
Line 92 
Line 102 
         res = atomicio(read, socket, buf, sizeof(buf));          res = atomicio(read, socket, buf, sizeof(buf));
         if (res != sizeof(buf)) {          if (res != sizeof(buf)) {
                 if (res == 0)                  if (res == 0)
                         fatal_cleanup();                          cleanup_exit(255);
                 fatal("%s: read: %ld", __func__, (long)res);                  fatal("%s: read: %ld", __func__, (long)res);
         }          }
         msg_len = GET_32BIT(buf);          msg_len = GET_32BIT(buf);
Line 210 
Line 220 
         return (pw);          return (pw);
 }  }
   
 char *mm_auth2_read_banner(void)  char *
   mm_auth2_read_banner(void)
 {  {
         Buffer m;          Buffer m;
         char *banner;          char *banner;
Line 221 
Line 232 
         mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTH2_READ_BANNER, &m);          mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTH2_READ_BANNER, &m);
         buffer_clear(&m);          buffer_clear(&m);
   
         mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_AUTH2_READ_BANNER, &m);          mm_request_receive_expect(pmonitor->m_recvfd,
               MONITOR_ANS_AUTH2_READ_BANNER, &m);
         banner = buffer_get_string(&m, NULL);          banner = buffer_get_string(&m, NULL);
         buffer_free(&m);          buffer_free(&m);
   
           /* treat empty banner as missing banner */
           if (strlen(banner) == 0) {
                   xfree(banner);
                   banner = NULL;
           }
         return (banner);          return (banner);
 }  }
   
Line 644 
Line 661 
 }  }
   
 void  void
 mm_session_pty_cleanup2(void *session)  mm_session_pty_cleanup2(Session *s)
 {  {
         Session *s = session;  
         Buffer m;          Buffer m;
   
         if (s->ttyfd == -1)          if (s->ttyfd == -1)
Line 987 
Line 1003 
         buffer_free(&m);          buffer_free(&m);
   
         return (major);          return (major);
   }
   
   OM_uint32
   mm_ssh_gssapi_checkmic(Gssctxt *ctx, gss_buffer_t gssbuf, gss_buffer_t gssmic)
   {
           Buffer m;
           OM_uint32 major;
   
           buffer_init(&m);
           buffer_put_string(&m, gssbuf->value, gssbuf->length);
           buffer_put_string(&m, gssmic->value, gssmic->length);
   
           mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_GSSCHECKMIC, &m);
           mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSCHECKMIC,
               &m);
   
           major = buffer_get_int(&m);
           buffer_free(&m);
           return(major);
 }  }
   
 int  int

Legend:
Removed from v.1.22.2.1  
changed lines
  Added in v.1.22.2.2