/[muddleftpd]/muddleftpd/src/auth.c
ViewVC logotype

Diff of /muddleftpd/src/auth.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by ganneff, Thu Sep 26 07:55:42 2002 UTC revision 1.2 by rugger, Wed Nov 20 01:39:51 2002 UTC
# Line 120  int checkexploits(FTPSTATE *peer) Line 120  int checkexploits(FTPSTATE *peer)
120                          case ']':                          case ']':
121                          case '\\':                          case '\\':
122                          case '!':                          case '!':
123                            case ':':
124                          case '^':                          case '^':
125                                  return(TRUE);                                  return(TRUE);
126                  }                  }
# Line 325  int transferconfig(FTPSTATE *peer, TOKEN Line 326  int transferconfig(FTPSTATE *peer, TOKEN
326          loadstrfromconfig(config->configfile, section, "gid", &(data), "%g");          loadstrfromconfig(config->configfile, section, "gid", &(data), "%g");
327          data = strdupwrapper(data);          data = strdupwrapper(data);
328          data = tokenset_apply(tset, data, FALSE);          data = tokenset_apply(tset, data, FALSE);
329            
330          if (sscanf(data, "%d", &intdata) != 1)          if (sscanf(data, "%d", &intdata) != 1)
331          {          {
332                  /* try for username then */                  /* if it starts with a "!" mark, get gid of username */
333                  struct group *grent;                  if (data[0] == '!')
334                  grent = getgrnam(data);                  {
335                  if (grent)                          struct passwd *pwdent;
336                          peer->gidt_asgid = grent->gr_gid;                          pwdent = getpwnam(data+1);
337                  else                          if (pwdent)
338                          peer->gidt_asgid = config->gidt_nobodygid;                                  peer->gidt_asgid = pwdent->pw_gid;
339                            else
340                                    peer->gidt_asgid = config->gidt_nobodygid;
341                    }
342                    else    
343                    {
344                            /* try for groupname then */
345                            struct group *grent;
346                            grent = getgrnam(data);
347                            if (grent)
348                                    peer->gidt_asgid = grent->gr_gid;
349                            else
350                                    peer->gidt_asgid = config->gidt_nobodygid;
351                    }
352          }          }
353          else          else
354          {          {

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

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26