[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.82 and 1.83

version 1.82, 2018/06/07 09:26:42 version 1.83, 2018/06/19 02:59:41
Line 310 
Line 310 
  * Return 0 on success. Return -1 on failure and sets *errstrp to error reason.   * Return 0 on success. Return -1 on failure and sets *errstrp to error reason.
  */   */
 static int  static int
 handle_permit(const char **optsp, char ***permitsp, size_t *npermitsp,  handle_permit(const char **optsp, int allow_bare_port,
     const char **errstrp)      char ***permitsp, size_t *npermitsp, const char **errstrp)
 {  {
         char *opt, *tmp, *cp, *host, **permits = *permitsp;          char *opt, *tmp, *cp, *host, **permits = *permitsp;
         size_t npermits = *npermitsp;          size_t npermits = *npermitsp;
Line 324 
Line 324 
         if ((opt = opt_dequote(optsp, &errstr)) == NULL) {          if ((opt = opt_dequote(optsp, &errstr)) == NULL) {
                 return -1;                  return -1;
         }          }
           if (allow_bare_port && strchr(opt, ':') == NULL) {
                   /*
                    * Allow a bare port number in permitlisten to indicate a
                    * listen_host wildcard.
                    */
                   if (asprintf(&tmp, "*:%s", opt) < 0) {
                           *errstrp = "memory allocation failed";
                           return -1;
                   }
                   free(opt);
                   opt = tmp;
           }
         if ((tmp = strdup(opt)) == NULL) {          if ((tmp = strdup(opt)) == NULL) {
                 free(opt);                  free(opt);
                 *errstrp = "memory allocation failed";                  *errstrp = "memory allocation failed";
Line 471 
Line 483 
                         }                          }
                         ret->env[ret->nenv++] = opt;                          ret->env[ret->nenv++] = opt;
                 } else if (opt_match(&opts, "permitopen")) {                  } else if (opt_match(&opts, "permitopen")) {
                         if (handle_permit(&opts, &ret->permitopen,                          if (handle_permit(&opts, 0, &ret->permitopen,
                             &ret->npermitopen, &errstr) != 0)                              &ret->npermitopen, &errstr) != 0)
                                 goto fail;                                  goto fail;
                 } else if (opt_match(&opts, "permitlisten")) {                  } else if (opt_match(&opts, "permitlisten")) {
                         if (handle_permit(&opts, &ret->permitlisten,                          if (handle_permit(&opts, 1, &ret->permitlisten,
                             &ret->npermitlisten, &errstr) != 0)                              &ret->npermitlisten, &errstr) != 0)
                                 goto fail;                                  goto fail;
                 } else if (opt_match(&opts, "tunnel")) {                  } else if (opt_match(&opts, "tunnel")) {

Legend:
Removed from v.1.82  
changed lines
  Added in v.1.83