+++ /dev/null
-diff -ur pure-ftpd-1.0.32-orig/src/log_mysql.c pure-ftpd-1.0.32/src/log_mysql.c
---- pure-ftpd-1.0.32-orig/src/log_mysql.c 2011-05-02 03:22:54.000000000 +0200
-+++ pure-ftpd-1.0.32/src/log_mysql.c 2011-05-03 15:03:15.260126158 +0200
-@@ -418,6 +418,12 @@
- crypto_mysql++;
- crypto_md5++;
- crypto_sha1++;
-+ } else if (strcasecmp(crypto, PASSWD_SQL_ALL) == 0) {
-+ crypto_crypt++;
-+ crypto_mysql++;
-+ crypto_md5++;
-+ crypto_sha1++;
-+ crypto_plain++;
- } else if (strcasecmp(crypto, PASSWD_SQL_CRYPT) == 0) {
- crypto_crypt++;
- } else if (strcasecmp(crypto, PASSWD_SQL_MYSQL) == 0) {
-Tylko w pure-ftpd-1.0.32/src: log_mysql.c~
-diff -ur pure-ftpd-1.0.32-orig/src/log_mysql.h pure-ftpd-1.0.32/src/log_mysql.h
---- pure-ftpd-1.0.32-orig/src/log_mysql.h 2011-05-02 03:22:54.000000000 +0200
-+++ pure-ftpd-1.0.32/src/log_mysql.h 2011-05-03 14:59:07.458751212 +0200
-@@ -7,6 +7,7 @@
- #define PASSWD_SQL_MD5 "md5"
- #define PASSWD_SQL_SHA1 "sha1"
- #define PASSWD_SQL_ANY "any"
-+#define PASSWD_SQL_ALL "all"
- #define MYSQL_DEFAULT_SERVER "localhost"
- #define MYSQL_DEFAULT_PORT 3306
- #define MYSQL_MAX_REQUEST_LENGTH ((size_t) 8192U)
-Tylko w pure-ftpd-1.0.32/src: log_mysql.h~
-diff -ur pure-ftpd-1.0.32-orig/src/log_pgsql.c pure-ftpd-1.0.32/src/log_pgsql.c
---- pure-ftpd-1.0.32-orig/src/log_pgsql.c 2011-05-02 03:22:54.000000000 +0200
-+++ pure-ftpd-1.0.32/src/log_pgsql.c 2011-05-03 15:05:12.612160786 +0200
-@@ -495,7 +495,12 @@
- crypto_crypt++;
- crypto_md5++;
- crypto_sha1++;
-- } else if (strcasecmp(crypto, PASSWD_SQL_CRYPT) == 0) {
-+ } else if (strcasecmp(crypto, PASSWD_SQL_ANY) == 0) {
-+ crypto_crypt++;
-+ crypto_md5++;
-+ crypto_sha1++;
-+ crypto_plain++;
-+ } else if (strcasecmp(crypto, PASSWD_SQL_CRYPT) == 0) {
- crypto_crypt++;
- } else if (strcasecmp(crypto, PASSWD_SQL_MD5) == 0) {
- crypto_md5++;
-Tylko w pure-ftpd-1.0.32/src: log_pgsql.c~
-diff -ur pure-ftpd-1.0.32-orig/src/log_pgsql.h pure-ftpd-1.0.32/src/log_pgsql.h
---- pure-ftpd-1.0.32-orig/src/log_pgsql.h 2011-05-02 03:22:54.000000000 +0200
-+++ pure-ftpd-1.0.32/src/log_pgsql.h 2011-05-03 15:03:51.931803577 +0200
-@@ -7,6 +7,7 @@
- #define PASSWD_SQL_MD5 "md5"
- #define PASSWD_SQL_SHA1 "sha1"
- #define PASSWD_SQL_ANY "any"
-+#define PASSWD_SQL_ALL "all"
- #define PGSQL_DEFAULT_SERVER "localhost"
- #define PGSQL_DEFAULT_PORT 5432
- #define PGSQL_MAX_REQUEST_LENGTH ((size_t) 8192U)
-Tylko w pure-ftpd-1.0.32/src: log_pgsql.h~
-diff -urN pure-ftpd-1.0.36.org/config.h.in pure-ftpd-1.0.36/config.h.in
---- pure-ftpd-1.0.36.org/config.h.in 2012-03-21 21:18:18.000000000 +0100
-+++ pure-ftpd-1.0.36/config.h.in 2013-11-04 13:58:22.321640365 +0100
+diff -ur pure-ftpd-1.0.40.org/config.h.in pure-ftpd-1.0.40/config.h.in
+--- pure-ftpd-1.0.40.org/config.h.in 2015-06-13 16:45:49.000000000 +0200
++++ pure-ftpd-1.0.40/config.h.in 2015-06-16 13:13:38.628079468 +0200
@@ -3,6 +3,9 @@
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* display only boring messages */
#undef BORING_MODE
-diff -urN pure-ftpd-1.0.36.org/configure.ac pure-ftpd-1.0.36/configure.ac
---- pure-ftpd-1.0.36.org/configure.ac 2012-03-16 06:28:21.000000000 +0100
-+++ pure-ftpd-1.0.36/configure.ac 2013-11-04 13:58:22.321640365 +0100
-@@ -770,6 +770,13 @@
+diff -ur pure-ftpd-1.0.40.org/configure.ac pure-ftpd-1.0.40/configure.ac
+--- pure-ftpd-1.0.40.org/configure.ac 2015-06-13 13:59:00.000000000 +0200
++++ pure-ftpd-1.0.40/configure.ac 2015-06-16 13:13:38.628079468 +0200
+@@ -792,6 +792,13 @@
AC_DEFINE(QUOTAS,,[with quotas])
fi ])
AC_ARG_WITH(ftpwho,
[AS_HELP_STRING(--with-ftpwho,Support for pure-ftpwho)],
[ if test "x$withval" = "xyes" ; then
-diff -urN pure-ftpd-1.0.36.org/pureftpd-mysql.conf pure-ftpd-1.0.36/pureftpd-mysql.conf
---- pure-ftpd-1.0.36.org/pureftpd-mysql.conf 2013-11-04 12:08:09.315380763 +0100
-+++ pure-ftpd-1.0.36/pureftpd-mysql.conf 2013-11-04 13:58:22.324973813 +0100
-@@ -114,6 +114,9 @@
- # MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User='\L'
+diff -ur pure-ftpd-1.0.40.org/pureftpd-mysql.conf pure-ftpd-1.0.40/pureftpd-mysql.conf
+--- pure-ftpd-1.0.40.org/pureftpd-mysql.conf 2015-05-21 12:18:58.000000000 +0200
++++ pure-ftpd-1.0.40/pureftpd-mysql.conf 2015-06-16 13:13:38.644746557 +0200
+@@ -112,6 +112,9 @@
# MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User='\L'
+
+# Optional : Apparmor Hat to use.
+# MYSQLGetApparmorHat SELECT hat FROM users WHERE User='\L'
+
# Enable ~ expansion. NEVER ENABLE THIS BLINDLY UNLESS :
# 1) You know what you are doing.
# 2) Real and virtual users match.
-diff -urN pure-ftpd-1.0.36.org/src/ftpd.c pure-ftpd-1.0.36/src/ftpd.c
---- pure-ftpd-1.0.36.org/src/ftpd.c 2013-11-04 12:08:09.322047659 +0100
-+++ pure-ftpd-1.0.36/src/ftpd.c 2013-11-04 15:40:16.000000000 +0100
+diff -ur pure-ftpd-1.0.40.org/src/ftpd.c pure-ftpd-1.0.40/src/ftpd.c
+--- pure-ftpd-1.0.40.org/src/ftpd.c 2015-06-13 12:26:37.000000000 +0200
++++ pure-ftpd-1.0.40/src/ftpd.c 2015-06-16 13:13:38.644746557 +0200
@@ -18,6 +18,9 @@
#ifdef QUOTAS
# include "quotas.h"
#ifdef WITH_DIRALIASES
# include "diraliases.h"
#endif
-@@ -1541,6 +1544,9 @@
+@@ -1544,6 +1547,9 @@
result.ratio_download = ratio_download;
result.ratio_ul_changed = result.ratio_dl_changed = 0;
#endif
#ifdef PER_USER_LIMITS
result.per_user_max = per_user_max;
#endif
-@@ -1986,6 +1992,16 @@
+@@ -1982,6 +1988,16 @@
# endif
enablesignals();
#endif
logfile(LOG_INFO, MSG_IS_NOW_LOGGED_IN, account);
#ifdef FTPWHO
if (shm_data_cur != NULL) {
-diff -urN pure-ftpd-1.0.36.org/src/ftpd.h pure-ftpd-1.0.36/src/ftpd.h
---- pure-ftpd-1.0.36.org/src/ftpd.h 2012-03-16 02:01:37.000000000 +0100
-+++ pure-ftpd-1.0.36/src/ftpd.h 2013-11-04 15:05:10.000000000 +0100
+diff -ur pure-ftpd-1.0.40.org/src/ftpd.h pure-ftpd-1.0.40/src/ftpd.h
+--- pure-ftpd-1.0.40.org/src/ftpd.h 2015-05-21 10:08:42.000000000 +0200
++++ pure-ftpd-1.0.40/src/ftpd.h 2015-06-16 13:13:38.644746557 +0200
@@ -294,6 +294,9 @@
#ifdef PER_USER_LIMITS
unsigned int per_user_max;
} AuthResult;
typedef struct PureFileInfo_ {
-diff -urN pure-ftpd-1.0.36.org/src/log_extauth.c pure-ftpd-1.0.36/src/log_extauth.c
---- pure-ftpd-1.0.36.org/src/log_extauth.c 2012-03-21 21:16:26.000000000 +0100
-+++ pure-ftpd-1.0.36/src/log_extauth.c 2013-11-04 15:05:10.000000000 +0100
+diff -ur pure-ftpd-1.0.40.org/src/log_extauth.c pure-ftpd-1.0.40/src/log_extauth.c
+--- pure-ftpd-1.0.40.org/src/log_extauth.c 2015-02-17 19:12:45.000000000 +0100
++++ pure-ftpd-1.0.40/src/log_extauth.c 2015-06-16 13:15:07.670333578 +0200
@@ -215,6 +215,9 @@
result->uid = (uid_t) 0;
result->gid = (gid_t) 0;
+#ifdef APPARMOR_HAT
+ result->apparmor_hat = NULL;
+#endif
- result->slow_tilde_expansion = 1;
+ result->slow_tilde_expansion = 1;
auth_finalized = 0;
if ((readnb = safe_read(kindy, line, sizeof line - 1U)) <= (ssize_t) 0) {
-diff -urN pure-ftpd-1.0.36.org/src/log_ldap.c pure-ftpd-1.0.36/src/log_ldap.c
---- pure-ftpd-1.0.36.org/src/log_ldap.c 2012-03-16 02:01:37.000000000 +0100
-+++ pure-ftpd-1.0.36/src/log_ldap.c 2013-11-04 15:05:10.000000000 +0100
-@@ -557,6 +557,9 @@
+diff -ur pure-ftpd-1.0.40.org/src/log_ldap.c pure-ftpd-1.0.40/src/log_ldap.c
+--- pure-ftpd-1.0.40.org/src/log_ldap.c 2015-06-11 00:26:19.000000000 +0200
++++ pure-ftpd-1.0.40/src/log_ldap.c 2015-06-16 13:13:38.644746557 +0200
+@@ -627,6 +627,9 @@
if ((result->dir = strdup(pw->pw_dir)) == NULL) {
return;
}
result->slow_tilde_expansion = 1;
result->auth_ok = 1; /* User found, authentication ok */
}
-diff -urN pure-ftpd-1.0.36.org/src/log_mysql.c pure-ftpd-1.0.36/src/log_mysql.c
---- pure-ftpd-1.0.36.org/src/log_mysql.c 2013-11-04 12:08:09.315380763 +0100
-+++ pure-ftpd-1.0.36/src/log_mysql.c 2013-11-04 15:05:10.000000000 +0100
-@@ -317,6 +317,9 @@
+diff -ur pure-ftpd-1.0.40.org/src/log_mysql.c pure-ftpd-1.0.40/src/log_mysql.c
+--- pure-ftpd-1.0.40.org/src/log_mysql.c 2015-05-21 12:52:57.000000000 +0200
++++ pure-ftpd-1.0.40/src/log_mysql.c 2015-06-16 13:16:21.692207444 +0200
+@@ -322,6 +322,9 @@
const char *bandwidth_ul = NULL; /* stored bandwidth UL */
const char *bandwidth_dl = NULL; /* stored bandwidth DL */
#endif
char *escaped_account = NULL;
char *escaped_ip = NULL;
char *escaped_port = NULL;
-@@ -595,6 +598,15 @@
+@@ -605,6 +608,15 @@
}
}
#endif
result->slow_tilde_expansion = !tildexp;
result->auth_ok = -result->auth_ok;
bye:
-@@ -624,6 +636,9 @@
+@@ -634,6 +646,9 @@
free((void *) bandwidth_ul);
free((void *) bandwidth_dl);
- #endif
+ #endif
+#ifdef APPARMOR
+ free((void *) apparmor_hat);
+#endif
free((void *) escaped_account);
free((void *) escaped_ip);
free((void *) escaped_port);
-@@ -692,6 +707,9 @@
+@@ -702,6 +717,9 @@
ZFREE(sqlreq_getbandwidth_ul);
- ZFREE(sqlreq_getbandwidth_dl);
+ ZFREE(sqlreq_getbandwidth_dl);
#endif
+#ifdef APPARMOR
+ ZFREE(sqlreq_getapparmor_hat);
}
#else
extern signed char v6ready;
-diff -urN pure-ftpd-1.0.36.org/src/log_mysql_p.h pure-ftpd-1.0.36/src/log_mysql_p.h
---- pure-ftpd-1.0.36.org/src/log_mysql_p.h 2011-04-17 17:24:58.000000000 +0200
-+++ pure-ftpd-1.0.36/src/log_mysql_p.h 2013-11-04 15:05:10.000000000 +0100
+diff -ur pure-ftpd-1.0.40.org/src/log_mysql_p.h pure-ftpd-1.0.40/src/log_mysql_p.h
+--- pure-ftpd-1.0.40.org/src/log_mysql_p.h 2015-02-17 19:12:45.000000000 +0100
++++ pure-ftpd-1.0.40/src/log_mysql_p.h 2015-06-16 13:13:38.648079974 +0200
@@ -38,6 +38,9 @@
static char *sqlreq_getbandwidth_ul;
static char *sqlreq_getbandwidth_dl;
{ NULL, NULL }
};
-diff -urN pure-ftpd-1.0.36.org/src/log_pam.c pure-ftpd-1.0.36/src/log_pam.c
---- pure-ftpd-1.0.36.org/src/log_pam.c 2011-04-17 17:05:54.000000000 +0200
-+++ pure-ftpd-1.0.36/src/log_pam.c 2013-11-04 15:05:10.000000000 +0100
+diff -ur pure-ftpd-1.0.40.org/src/log_pam.c pure-ftpd-1.0.40/src/log_pam.c
+--- pure-ftpd-1.0.40.org/src/log_pam.c 2015-02-17 19:12:45.000000000 +0100
++++ pure-ftpd-1.0.40/src/log_pam.c 2015-06-16 13:13:38.654746809 +0200
@@ -202,6 +202,9 @@
(void) pam_close_session(pamh, PAM_SILENT); /* It doesn't matter if it fails */
#endif
dir = NULL;
result->uid = pw.pw_uid;
result->gid = pw.pw_gid;
-diff -urN pure-ftpd-1.0.36.org/src/log_pgsql.c pure-ftpd-1.0.36/src/log_pgsql.c
---- pure-ftpd-1.0.36.org/src/log_pgsql.c 2013-11-04 12:08:09.318714211 +0100
-+++ pure-ftpd-1.0.36/src/log_pgsql.c 2013-11-04 15:05:10.000000000 +0100
-@@ -397,6 +397,9 @@
+diff -ur pure-ftpd-1.0.40.org/src/log_pgsql.c pure-ftpd-1.0.40/src/log_pgsql.c
+--- pure-ftpd-1.0.40.org/src/log_pgsql.c 2015-05-22 16:29:27.000000000 +0200
++++ pure-ftpd-1.0.40/src/log_pgsql.c 2015-06-16 13:18:14.645066852 +0200
+@@ -402,6 +402,9 @@
const char *bandwidth_ul = NULL; /* stored bandwidth UL */
const char *bandwidth_dl = NULL; /* stored bandwidth DL */
#endif
char *escaped_account = NULL;
char *escaped_ip = NULL;
char *escaped_port = NULL;
-@@ -639,6 +642,16 @@
+@@ -651,6 +654,15 @@
}
}
- #endif
+ #endif
+#ifdef APPARMOR
+ if ((apparmor_hat = pw_pgsql_getquery(id_sql_server, sqlreq_getapparmor_hat,
-+ escaped_account, escaped_ip,
-+ escaped_port, escaped_peer_ip,
-+ escaped_decimal_ip)) != NULL) {
++ escaped_account, escaped_ip,
++ escaped_port, escaped_peer_ip,
++ escaped_decimal_ip)) != NULL) {
+ result->apparmor_hat = apparmor_hat;
+ apparmor_hat = NULL;
+ }
+#endif
-+
result->slow_tilde_expansion = 1;
result->auth_ok = -result->auth_ok;
bye:
-@@ -668,7 +681,10 @@
- #ifdef THROTTLING
+@@ -681,6 +693,9 @@
free((void *) bandwidth_ul);
free((void *) bandwidth_dl);
--#endif
-+#endif
+ #endif
+#ifdef APPARMOR
+ free((void *) apparmor_hat);
-+#endif
++#endif
free((void *) escaped_account);
free((void *) escaped_ip);
free((void *) escaped_port);
-@@ -723,6 +739,9 @@
+@@ -735,6 +750,9 @@
ZFREE(sqlreq_getbandwidth_ul);
- ZFREE(sqlreq_getbandwidth_dl);
+ ZFREE(sqlreq_getbandwidth_dl);
#endif
+#ifdef APPARMOR
+ ZFREE(sqlreq_getapparmor_hat);
}
#else
extern signed char v6ready;
-diff -urN pure-ftpd-1.0.36.org/src/log_pgsql_p.h pure-ftpd-1.0.36/src/log_pgsql_p.h
---- pure-ftpd-1.0.36.org/src/log_pgsql_p.h 2011-04-17 17:05:54.000000000 +0200
-+++ pure-ftpd-1.0.36/src/log_pgsql_p.h 2013-11-04 15:05:10.000000000 +0100
+diff -ur pure-ftpd-1.0.40.org/src/log_pgsql_p.h pure-ftpd-1.0.40/src/log_pgsql_p.h
+--- pure-ftpd-1.0.40.org/src/log_pgsql_p.h 2015-02-17 19:12:45.000000000 +0100
++++ pure-ftpd-1.0.40/src/log_pgsql_p.h 2015-06-16 13:13:38.658080227 +0200
@@ -28,6 +28,9 @@
static char *sqlreq_getbandwidth_ul;
static char *sqlreq_getbandwidth_dl;
{ NULL, NULL }
};
-diff -urN pure-ftpd-1.0.36.org/src/log_puredb.c pure-ftpd-1.0.36/src/log_puredb.c
---- pure-ftpd-1.0.36.org/src/log_puredb.c 2012-03-16 02:01:37.000000000 +0100
-+++ pure-ftpd-1.0.36/src/log_puredb.c 2013-11-04 15:05:10.000000000 +0100
-@@ -305,6 +305,9 @@
+diff -ur pure-ftpd-1.0.40.org/src/log_puredb.c pure-ftpd-1.0.40/src/log_puredb.c
+--- pure-ftpd-1.0.40.org/src/log_puredb.c 2015-05-21 12:51:56.000000000 +0200
++++ pure-ftpd-1.0.40/src/log_puredb.c 2015-06-16 13:13:38.658080227 +0200
+@@ -333,6 +333,9 @@
result->user_quota_size = strtoull(line, NULL, 10);
}
#endif
if ((line = my_strtok2(NULL, *PW_LINE_SEP)) == NULL) { /* allowed local ip */
return 0;
}
-diff -urN pure-ftpd-1.0.36.org/src/log_unix.c pure-ftpd-1.0.36/src/log_unix.c
---- pure-ftpd-1.0.36.org/src/log_unix.c 2011-04-17 17:05:54.000000000 +0200
-+++ pure-ftpd-1.0.36/src/log_unix.c 2013-11-04 15:05:10.000000000 +0100
-@@ -80,6 +80,9 @@
+diff -ur pure-ftpd-1.0.40.org/src/log_unix.c pure-ftpd-1.0.40/src/log_unix.c
+--- pure-ftpd-1.0.40.org/src/log_unix.c 2015-05-21 12:51:38.000000000 +0200
++++ pure-ftpd-1.0.40/src/log_unix.c 2015-06-16 13:13:38.658080227 +0200
+@@ -81,6 +81,9 @@
result->uid = pw.pw_uid;
result->gid = pw.pw_gid;
result->dir = dir;
result->slow_tilde_expansion = 0;
result->auth_ok = -result->auth_ok;
return;
-diff -urN pure-ftpd-1.0.36.org/src/Makefile.am pure-ftpd-1.0.36/src/Makefile.am
---- pure-ftpd-1.0.36.org/src/Makefile.am 2012-03-16 02:01:37.000000000 +0100
-+++ pure-ftpd-1.0.36/src/Makefile.am 2013-11-04 13:58:22.324973813 +0100
-@@ -133,6 +133,7 @@
+diff -ur pure-ftpd-1.0.40.org/src/Makefile.am pure-ftpd-1.0.40/src/Makefile.am
+--- pure-ftpd-1.0.40.org/src/Makefile.am 2015-05-21 16:25:39.000000000 +0200
++++ pure-ftpd-1.0.40/src/Makefile.am 2015-06-16 13:13:38.658080227 +0200
+@@ -136,6 +136,7 @@
pure_ftpd_LDADD = \
libpureftpd.a \
../puredb/src/libpuredb_read.a \
@LDAP_SSL_LIBS@ @GETLOADAVG_LIBS@ @BONJOUR_LDADD@
pure_ftpd_SOURCES = \
-diff -urN pure-ftpd-1.0.36.org/src/messages_en.h pure-ftpd-1.0.36/src/messages_en.h
---- pure-ftpd-1.0.36.org/src/messages_en.h 2012-03-16 02:01:37.000000000 +0100
-+++ pure-ftpd-1.0.36/src/messages_en.h 2013-11-04 15:05:10.000000000 +0100
+diff -ur pure-ftpd-1.0.40.org/src/messages_en.h pure-ftpd-1.0.40/src/messages_en.h
+--- pure-ftpd-1.0.40.org/src/messages_en.h 2015-05-20 16:23:20.000000000 +0200
++++ pure-ftpd-1.0.40/src/messages_en.h 2015-06-16 13:13:38.658080227 +0200
@@ -57,6 +57,7 @@
#define MSG_CURRENT_DIR_IS "OK. Current directory is %s"
#define MSG_CURRENT_RESTRICTED_DIR_IS "OK. Current restricted directory is %s"