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

Diff for /src/usr.bin/ssh/dispatch.c between version 1.2 and 1.2.2.4

version 1.2, 2000/04/14 10:30:31 version 1.2.2.4, 2001/03/21 18:52:45
Line 9 
Line 9 
  * 2. Redistributions in binary form must reproduce the above copyright   * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the   *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.   *    documentation and/or other materials provided with the distribution.
  * 3. All advertising materials mentioning features or use of this software  
  *    must display the following acknowledgement:  
  *      This product includes software developed by Markus Friedl.  
  * 4. The name of the author may not be used to endorse or promote products  
  *    derived from this software without specific prior written permission.  
  *   *
  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR   * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES   * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
Line 27 
Line 22 
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */   */
 #include "includes.h"  #include "includes.h"
 RCSID("$Id$");  RCSID("$OpenBSD$");
 #include "ssh.h"  
   #include "ssh1.h"
   #include "ssh2.h"
   #include "log.h"
 #include "dispatch.h"  #include "dispatch.h"
 #include "packet.h"  #include "packet.h"
   #include "compat.h"
   
 #define DISPATCH_MIN    0  #define DISPATCH_MIN    0
 #define DISPATCH_MAX    255  #define DISPATCH_MAX    255
Line 38 
Line 37 
 dispatch_fn *dispatch[DISPATCH_MAX];  dispatch_fn *dispatch[DISPATCH_MAX];
   
 void  void
 dispatch_protocol_error(int type, int plen)  dispatch_protocol_error(int type, int plen, void *ctxt)
 {  {
         error("Hm, dispatch protocol error: type %d plen %d", type, plen);          error("Hm, dispatch protocol error: type %d plen %d", type, plen);
           if (compat20 && type == SSH2_MSG_KEXINIT)
                   fatal("dispatch_protocol_error: rekeying is not supported");
 }  }
 void  void
 dispatch_init(dispatch_fn *dflt)  dispatch_init(dispatch_fn *dflt)
Line 55 
Line 56 
         dispatch[type] = fn;          dispatch[type] = fn;
 }  }
 void  void
 dispatch_run(int mode, int *done)  dispatch_run(int mode, int *done, void *ctxt)
 {  {
         for (;;) {          for (;;) {
                 int plen;                  int plen;
Line 69 
Line 70 
                                 return;                                  return;
                 }                  }
                 if (type > 0 && type < DISPATCH_MAX && dispatch[type] != NULL)                  if (type > 0 && type < DISPATCH_MAX && dispatch[type] != NULL)
                         (*dispatch[type])(type, plen);                          (*dispatch[type])(type, plen, ctxt);
                 else                  else
                         packet_disconnect("protocol error: rcvd type %d", type);                          packet_disconnect("protocol error: rcvd type %d", type);
                 if (done != NULL && *done)                  if (done != NULL && *done)
                         return;                          return;
         }          }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.2.2.4