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

Diff for /src/usr.bin/ssh/auth-options.c between version 1.31 and 1.31.4.2

version 1.31, 2005/03/10 22:40:38 version 1.31.4.2, 2006/10/06 03:19:32
Line 1 
Line 1 
   /* $OpenBSD$ */
 /*  /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>   * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland   * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
Line 9 
Line 10 
  * called by a name other than "ssh" or "Secure Shell".   * called by a name other than "ssh" or "Secure Shell".
  */   */
   
 #include "includes.h"  #include <sys/types.h>
 RCSID("$OpenBSD$");  
   
   #include <netdb.h>
   #include <pwd.h>
   #include <string.h>
   #include <stdio.h>
   #include <stdarg.h>
   
 #include "xmalloc.h"  #include "xmalloc.h"
 #include "match.h"  #include "match.h"
 #include "log.h"  #include "log.h"
 #include "canohost.h"  #include "canohost.h"
   #include "buffer.h"
 #include "channels.h"  #include "channels.h"
 #include "auth-options.h"  #include "auth-options.h"
 #include "servconf.h"  #include "servconf.h"
 #include "misc.h"  #include "misc.h"
 #include "monitor_wrap.h"  #include "key.h"
   #include "hostfile.h"
 #include "auth.h"  #include "auth.h"
   #ifdef GSSAPI
   #include "ssh-gss.h"
   #endif
   #include "monitor_wrap.h"
   
 /* Flags set authorized_keys flags */  /* Flags set authorized_keys flags */
 int no_port_forwarding_flag = 0;  int no_port_forwarding_flag = 0;
Line 35 
Line 47 
 /* "environment=" options. */  /* "environment=" options. */
 struct envstring *custom_environment = NULL;  struct envstring *custom_environment = NULL;
   
   /* "tunnel=" option. */
   int forced_tun_device = -1;
   
 extern ServerOptions options;  extern ServerOptions options;
   
 void  void
Line 54 
Line 69 
                 xfree(forced_command);                  xfree(forced_command);
                 forced_command = NULL;                  forced_command = NULL;
         }          }
           forced_tun_device = -1;
         channel_clear_permitted_opens();          channel_clear_permitted_opens();
         auth_debug_reset();          auth_debug_reset();
 }  }
Line 127 
Line 143 
                                 forced_command = NULL;                                  forced_command = NULL;
                                 goto bad_option;                                  goto bad_option;
                         }                          }
                         forced_command[i] = 0;                          forced_command[i] = '\0';
                         auth_debug_add("Forced command: %.900s", forced_command);                          auth_debug_add("Forced command: %.900s", forced_command);
                         opts++;                          opts++;
                         goto next_option;                          goto next_option;
Line 159 
Line 175 
                                 xfree(s);                                  xfree(s);
                                 goto bad_option;                                  goto bad_option;
                         }                          }
                         s[i] = 0;                          s[i] = '\0';
                         auth_debug_add("Adding to environment: %.900s", s);                          auth_debug_add("Adding to environment: %.900s", s);
                         debug("Adding to environment: %.900s", s);                          debug("Adding to environment: %.900s", s);
                         opts++;                          opts++;
Line 196 
Line 212 
                                 xfree(patterns);                                  xfree(patterns);
                                 goto bad_option;                                  goto bad_option;
                         }                          }
                         patterns[i] = 0;                          patterns[i] = '\0';
                         opts++;                          opts++;
                         if (match_host_and_ip(remote_host, remote_ip,                          if (match_host_and_ip(remote_host, remote_ip,
                             patterns) != 1) {                              patterns) != 1) {
Line 241 
Line 257 
                                 xfree(patterns);                                  xfree(patterns);
                                 goto bad_option;                                  goto bad_option;
                         }                          }
                         patterns[i] = 0;                          patterns[i] = '\0';
                         opts++;                          opts++;
                         p = patterns;                          p = patterns;
                         host = hpdelim(&p);                          host = hpdelim(&p);
Line 267 
Line 283 
                         if (options.allow_tcp_forwarding)                          if (options.allow_tcp_forwarding)
                                 channel_add_permitted_opens(host, port);                                  channel_add_permitted_opens(host, port);
                         xfree(patterns);                          xfree(patterns);
                           goto next_option;
                   }
                   cp = "tunnel=\"";
                   if (strncasecmp(opts, cp, strlen(cp)) == 0) {
                           char *tun = NULL;
                           opts += strlen(cp);
                           tun = xmalloc(strlen(opts) + 1);
                           i = 0;
                           while (*opts) {
                                   if (*opts == '"')
                                           break;
                                   tun[i++] = *opts++;
                           }
                           if (!*opts) {
                                   debug("%.100s, line %lu: missing end quote",
                                       file, linenum);
                                   auth_debug_add("%.100s, line %lu: missing end quote",
                                       file, linenum);
                                   xfree(tun);
                                   forced_tun_device = -1;
                                   goto bad_option;
                           }
                           tun[i] = '\0';
                           forced_tun_device = a2tun(tun, NULL);
                           xfree(tun);
                           if (forced_tun_device == SSH_TUNID_ERR) {
                                   debug("%.100s, line %lu: invalid tun device",
                                       file, linenum);
                                   auth_debug_add("%.100s, line %lu: invalid tun device",
                                       file, linenum);
                                   forced_tun_device = -1;
                                   goto bad_option;
                           }
                           auth_debug_add("Forced tun device: %d", forced_tun_device);
                           opts++;
                         goto next_option;                          goto next_option;
                 }                  }
 next_option:  next_option:

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.31.4.2