Proftpd mysql problem after upgrade ports

Radek Krejča radek.krejca at starnet.cz
Thu Jun 14 06:44:08 UTC 2012


Hi, I have problem with this module. I upgraded ports and I have this proftpd.conf

ServerName			"Servername"
ServerType			standalone
ServerIdent			on		"Servers identifying string"
DeferWelcome			on
DefaultServer			on
UseIPv6                         on
DefaultRoot                     ~
AllowOverwrite          	on

DisplayLogin			.welcome	# Textfile to display on login
DisplayConnect			.connect	# Textfile to display on connection

UseReverseDNS       		off
IdentLookups        		off

Port				21
Umask				022
MaxInstances                    15
MaxClientsPerHost               3 		"Only %m connections per host allowed"
MaxClients                      10 		"Only %m total simultanious logins allowed"
MaxHostsPerUser                 1

User				nobody
Group				nobody

ScoreboardFile 			/var/log/scoreboard

# Some logging formats
LogFormat            		default 	"%h %l %u %t \"%r\" %s %b"
LogFormat            		auth    	"%v [%P] %h %t \"%r\" %s"
LogFormat            		write   	"%h %l %u %t \"%r\" %s %b"

# Define log-files to use
#TransferLog          		/var/log/proftpd.xferlog
#ExtendedLog         		/var/log/proftpd.access_log    WRITE,READ write
#ExtendedLog          		/var/log/proftpd.auth_log      AUTH auth
#ExtendedLog          		/var/log/proftpd.paranoid_log  ALL default
#SQLLogFile			/var/log/proftpd.mysql
#QuotaLog 			/var/log/proftpd.quota

# Set up authentication via SQL
# ===========
SQLEngine 			on
SQLAuthenticate 		on
AuthOrder                       mod_sql.c
SQLAuthTypes			Backend
SQLConnectInfo       		proftpd_admin at localhost proftpd_admin pokus 
SQLUserInfo       		usertable userid passwd uid gid homedir shell 
SQLGroupInfo       		grouptable groupname gid members 
SQLUserWhereClause    		"disabled=0 and (NOW()<=expiration or expiration=-1 or expiration=0)"

# Log the user logging in
SQLLog PASS counter
SQLNamedQuery counter UPDATE "lastlogin=now(), count=count+1 WHERE userid='%u'" usertable

# logout log
SQLLog EXIT time_logout
SQLNamedQuery time_logout UPDATE "lastlogout=now() WHERE userid='%u'" usertable

# display last login time when PASS command is given
SQLNamedQuery login_time SELECT "lastlogin from usertable where userid='%u'"
SQLShowInfo PASS "230" "Last login was: %{login_time}"

# xfer Log in mysql
SQLLog RETR,STOR transfer1
SQLNamedQuery  transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'c', NULL" xfer_stat
SQLLOG ERR_RETR,ERR_STOR transfer2
SQLNamedQuery  transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'i', NULL" xfer_stat

# User quotas
# ===========
#QuotaEngine on
#QuotaDirectoryTally on
#QuotaDisplayUnits Mb
#QuotaShowQuotas on

#SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"
#SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"
#SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies
#SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies

#QuotaLimitTable sql:/get-quota-limit
#QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally


AllowStoreRestart 		on
AllowRetrieveRestart		on
RequireValidShell               off
#PathDenyFilter 			"\\.ftp)|\\.ht)[a-z]+$" 
DenyFilter 			\*.*/


<Directory /ftp/*>
	AllowOverwrite		off
 	HideNoAccess		off
	<Limit READ>
		AllowAll
        </Limit>

	<Limit WRITE>
		DenyGroup	!admins
 	</Limit>
</Directory>

<Directory /ftp/incoming/*>
	AllowOverwrite		on
	HideNoAccess		on

	<Limit READ>
      		DenyGroup	!admins
    	</Limit>

    	<Limit STOR MKD>
      		AllowAll
    	</Limit>
</Directory>

Before upgrade ports I had 
proftpd-1.3.4a      Highly configurable FTP daemon
proftpd-mod_sql_mysql-1.3.4a MySQL module for ProFTPD

and this config file worked. After upgrade I have 
proftpd-1.3.4a_2    Highly configurable FTP daemon
proftpd-mod_sql_mysql-1.3.4a_2 MySQL module for ProFTPD

and after starting I got this message: Fatal: unknown configuration directive 'SQLEngine' on line 43 of '/usr/local/etc/proftpd.conf'

It looks like, that mod_sql isnt loaded, 
Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_delay.c
  mod_facts.c
  mod_dso.c
  mod_ident.c
  mod_auth_pam.c
  mod_ctrls.c
  mod_lang.c

but I have compiled port proftpd with mod_sql (/var/db/ports/proftpd/options OPTIONS_FILE_SET+=SQL
OPTIONS_FILE_SET+=SQL_PASSWD)

Where could be a problem?

I have fbsd 9.0 latest amd64 generic kernel.

Thank you for any suggestion. Radek



More information about the freebsd-ports mailing list