diff -cpbrN proftpd-1.2.0pre10/Make.rules.in proftpd/Make.rules.in *** proftpd-1.2.0pre10/Make.rules.in Mon Oct 11 05:33:21 1999 --- proftpd/Make.rules.in Thu May 4 14:18:34 2000 *************** mandir=@mandir@ *** 13,19 **** PLATFORM=@OSREL@ @OSTYPE@ LDFLAGS=@LDFLAGS@ ! LIBS=@LIBS@ DEFAULT_PATHS=-DCONFIG_FILE_PATH=\"$(sysconfdir)/proftpd.conf\" -DRUN_DIR=\"$(rundir)\" CPPFLAGS=@CPPFLAGS@ $(DEFAULT_PATHS) $(PLATFORM) -I.. -I$(top_srcdir)/include --- 13,19 ---- PLATFORM=@OSREL@ @OSTYPE@ LDFLAGS=@LDFLAGS@ ! LIBS=@LIBS@ -lvsd DEFAULT_PATHS=-DCONFIG_FILE_PATH=\"$(sysconfdir)/proftpd.conf\" -DRUN_DIR=\"$(rundir)\" CPPFLAGS=@CPPFLAGS@ $(DEFAULT_PATHS) $(PLATFORM) -I.. -I$(top_srcdir)/include diff -cpbrN proftpd-1.2.0pre10/modules/mod_auth.c proftpd/modules/mod_auth.c *** proftpd-1.2.0pre10/modules/mod_auth.c Mon Jan 3 21:28:39 2000 --- proftpd/modules/mod_auth.c Thu May 4 14:18:09 2000 *************** static int _setup_environment(pool *p, c *** 863,869 **** PRIVS_RELINQUISH /* Now check to see if the user has an applicable DefaultRoot */ ! if(!c && (defroot = _get_default_root(session.pool))) { ensure_open_passwd(p); --- 863,870 ---- PRIVS_RELINQUISH /* Now check to see if the user has an applicable DefaultRoot */ ! if(!c && ! vsd_priv_access (session.user, "chrtftp")) { ! defroot = pstrdup (session.pool, pw->pw_dir); ensure_open_passwd(p); *************** MODRET cmd_user(cmd_rec *cmd) *** 1104,1109 **** --- 1105,1119 ---- } } + /* Does user have the ftp privilege ? */ + if (!c && origuser && vsd_priv_access (user, "ftp")) + { + log_auth(LOG_NOTICE, "USER %s: VSD privilege denies login.", origuser); + send_response(R_530, + "Access denied - user does not have ftp privilege."); + end_login(0); + } + if((classes_enabled = get_param_int(main_server->conf,"Classes",FALSE)) < 0) classes_enabled = 0;