This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.

---1287620345-910699392-1166431759=:19965
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed



This built fine one version ago, proftpd-1.3.0a, using mod_gzipfs, and
mod_md5fs (plus others). Now, with proftpd-1.3.1rc1:

proftpd: symbol lookup error: /usr/libexec/proftpd/mod_md5fs.so: undefined
symbol: pr_rehash_register_handler


In the Changelog I find this, dated in June of 2006, saying it was removed,
yet it worked in proftpd-1.3.0a, released not more than a month ago? I'm
confused.


2006-06-15 17:32 castaglia

* include/proftpd.h, src/main.c:
Remove the deprecated pr_rehash_register_handler() function. This
functionality is now available via the Events API, by registering
an event handler for the 'core.restart' event.

Also, is this then the end of mod_md5fs and mod_gzipfs? They are still listed
on http://www.castaglia.org/proftpd/ with no indication that they no longer
work with current versions.



Aside from that, I can start the server, go to test it, and....


proftpd: 192.168.10.76:4407: USER anonymous: symbol lookup error:
/usr/libexec/proftpd/mod_time.so: undefined symbol: auth_getpwnam



proftpd-1.3.1rc1/modules # grep auth_getpwnam *.c

mod_auth.c: if (!pr_auth_getpwnam(p, u))
mod_auth.c: pw = pr_auth_getpwnam(p, user);
mod_auth_unix.c: * might have been easier if we'd used pr_auth_getpwnam(),
but that would
mod_core.c: pw = pr_auth_getpwnam(cmd->tmp_pool, cmd->argv[1]);
mod_core.c: pw = pr_auth_getpwnam(cmd->tmp_pool, user);
mod_ls.c: pw = pr_auth_getpwnam(cmd->tmp_pool, i ? pbuffer :
session.user);
mod_ls.c: pw = pr_auth_getpwnam(cmd->tmp_pool, i ? pb : session.user);
mod_rcs.c: else if ((pw = auth_getpwnam(cmd->tmp_pool, username)) == NULL)
mod_time.c: if (!name || !(pw = (struct passwd *) auth_getpwnam(p, name)))
{
mod_time.c: if (!name || !(pw = (struct passwd *) auth_getpwnam(p, name)))
{
mod_time.c: if ((pw = auth_getpwnam(cmd->tmp_pool, user)) == NULL)
mod_tls.c: pwd = pr_auth_getpwnam(tmp_pool, user);
mod_wrap.c: pw = pr_auth_getpwnam(cmd->pool, user);





proftpd-1.3.1rc1/modules # grep auth_getpwnam *.c | grep -v pr_auth_getpwnam

mod_rcs.c: else if ((pw = auth_getpwnam(cmd->tmp_pool, username)) == NULL)
mod_time.c: if (!name || !(pw = (struct passwd *) auth_getpwnam(p, name)))
{
mod_time.c: if (!name || !(pw = (struct passwd *) auth_getpwnam(p, name)))
{
mod_time.c: if ((pw = auth_getpwnam(cmd->tmp_pool, user)) == NULL)




Looks like proftpd-1.3.1rc1 uses pr_auth_getpwnam, and some modules never got
changed to pr_auth_getpwnam from auth_getpwnam. But why did it build last
version?

/tmp/proftpd-1.3.0a # rgrep -r auth_getpwnam .

../contrib/mod_tls.c: pwd = pr_auth_getpwnam(tmp_pool, user);
../contrib/mod_wrap.c: pw = pr_auth_getpwnam(cmd->pool, user);
../include/auth.h:struct passwd *pr_auth_getpwnam(pool *, const char *);
../include/compat.h:#define auth_getpwnam pr_auth_getpwnam
../modules/mod_auth.c: if (!pr_auth_getpwnam(p, u))
../modules/mod_auth.c: pw = pr_auth_getpwnam(p, user);
../modules/mod_auth_unix.c: * might have been easier if we'd used pr_auth_getpwnam(), but that would
../modules/mod_core.c: pw = pr_auth_getpwnam(cmd->tmp_pool, cmd->argv[1]);
../modules/mod_core.c: pw = pr_auth_getpwnam(cmd->tmp_pool, user);
../modules/mod_ls.c: pw = pr_auth_getpwnam(cmd->tmp_pool, i ? pbuffer : session.user);
../modules/mod_ls.c: pw = pr_auth_getpwnam(cmd->tmp_pool, i ? pb : session.user);
../src/auth.c:struct passwd *pr_auth_getpwnam(pool *p, const char *name) {
../src/dirtree.c: pw = pr_auth_getpwnam(p, owner);
../src/dirtree.c: pw = pr_auth_getpwnam(p, owner);
../src/fsio.c: pw = pr_auth_getpwnam(p, user);
../src/support.c: pw = pr_auth_getpwnam(p, user);

/tmp/proftpd-1.3.0a # cd ..

/tmp # cd proftpd-1.3.1rc1/include

proftpd-1.3.1rc1/include # grep pr_auth_getpwnam compat.h

proftpd-1.3.1rc1/include # cd ../../proftpd-1.3.0a/include

proftpd-1.3.0a/include # grep pr_auth_getpwnam compat.h

#define auth_getpwnam pr_auth_getpwnam


Looks like it got taken from compat.h in between versions proftpd-1.3.0a and
proftpd-1.3.1rc1, but never mentioned anywhere that I see. So this should
effect everything using auth_getpwnam, at least mod_rcs and mod_time that I've
noticed (the modules affected that I was building).

The patches in attached auth_getpwnam-patches.shar fix this for me,
the pr_rehash_register_handler() problem I'm not sure how to fix.


--
Linux 2.6.19 on Pentium II (Klamath) up 31.30
Linux 2.6.19 on Intel(R) Pentium(R) 4 CPU 2.80GHz up 30.01
Minix 2.0.4 (currently offline)

---1287620345-910699392-1166431759=:19965
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=auth_getpwnam-patches.shar
Content-Transfer-Encoding: BASE64
Content-ID:
Content-Description: auth_getpwnam-patches.shar
Content-Disposition: attachment; filename=auth_getpwnam-patches.shar

U3VibWl0dGVkLWJ5OiBqYXlqd2FAYXRyMi5hdGguY3gNCkFyY2 hpdmUtbmFt
ZTogYXV0aF9nZXRwd25hbS1wYXRjaGVzLnNoYXIvcGFydDAxDQ oNCi0tLS0g
Q3V0IEhlcmUgYW5kIGZlZWQgdGhlIGZvbGxvd2luZyB0byBzaC AtLS0tDQoj
IS9iaW4vc2gNCiMgVGhpcyBpcyBhdXRoX2dldHB3bmFtLXBhdG NoZXMuc2hh
ciwgYSBzaGVsbCBhcmNoaXZlIChwcm9kdWNlZCBieSBHTlUgc2 hhcnV0aWxz
IDQuNi4yKS4NCiMgVG8gZXh0cmFjdCB0aGUgZmlsZXMgZnJvbS B0aGlzIGFy
Y2hpdmUsIHNhdmUgaXQgdG8gc29tZSBGSUxFLCByZW1vdmUNCi MgZXZlcnl0
aGluZyBiZWZvcmUgdGhlIGAjIS9iaW4vc2gnIGxpbmUgYWJvdm UsIHRoZW4g
dHlwZSBgc2ggRklMRScuDQojDQpsb2NrX2Rpcj1fc2gwMDUyMg 0KIyBNYWRl
IG9uIDIwMDYtMTItMTcgMjI6NTQgRVNUIGJ5IDxqYXlqd2FAYX RyMi5hdGgu
Y3g+Lg0KIyBTb3VyY2UgZGlyZWN0b3J5IHdhcyBgL3RtcCcuDQ ojDQojIEV4
aXN0aW5nIGZpbGVzIHdpbGwgKm5vdCogYmUgb3ZlcndyaXR0ZW 4sIHVubGVz
cyBgLWMnIGlzIHNwZWNpZmllZC4NCiMNCiMgVGhpcyBzaGFyIG NvbnRhaW5z
Og0KIyBsZW5ndGggbW9kZSAgICAgICBuYW1lDQojIC0tLS0tLS AtLS0tLS0t
LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS 0tLS0tLS0t
LQ0KIyAgICAzMTcgLXJ3LXItLXItLSBwcm9mdHBkLW1vZF9yY3 MtYXV0aF9n
ZXRwd25hbS5wYXRjaC5neg0KIyAgICA0NzcgLXJ3LXItLXItLS Bwcm9mdHBk
LW1vZF90aW1lLWF1dGhfZ2V0cHduYW0ucGF0Y2guZ3oNCiMNCk 1ENVNVTT0k
e01ENVNVTS1tZDVzdW19DQpmPWAke01ENVNVTX0gLS12ZXJzaW 9uIHwgZWdy
ZXAgJ15tZDVzdW0gLiooY29yZXx0ZXh0KXV0aWxzJ2ANCnRlc3 QgLW4gIiR7
Zn0iICYmIG1kNWNoZWNrPXRydWUgfHwgbWQ1Y2hlY2s9ZmFsc2 UNCiR7bWQ1
Y2hlY2t9IHx8IFwNCiAgZWNobyAnTm90ZTogbm90IHZlcmlmeW luZyBtZDVz
dW1zLiAgQ29uc2lkZXIgaW5zdGFsbGluZyBHTlUgY29yZXV0aW xzLicNCnNh
dmVfSUZTPSIke0lGU30iDQpJRlM9IiR7SUZTfToiDQpnZXR0ZX h0X2Rpcj1G
QUlMRUQNCmxvY2FsZV9kaXI9RkFJTEVEDQpmaXJzdF9wYXJhbT 0iJDEiDQpm
b3IgZGlyIGluICRQQVRIDQpkbw0KICBpZiB0ZXN0ICIkZ2V0dG V4dF9kaXIi
ID0gRkFJTEVEICYmIHRlc3QgLWYgJGRpci9nZXR0ZXh0IFwNCi AgICAgJiYg
KCRkaXIvZ2V0dGV4dCAtLXZlcnNpb24gPi9kZXYvbnVsbCAyPi YxKQ0KICB0
aGVuDQogICAgY2FzZSBgJGRpci9nZXR0ZXh0IC0tdmVyc2lvbi AyPiYxIHwg
c2VkIDFxYCBpbg0KICAgICAgKkdOVSopIGdldHRleHRfZGlyPS RkaXIgOzsN
CiAgICBlc2FjDQogIGZpDQogIGlmIHRlc3QgIiRsb2NhbGVfZG lyIiA9IEZB
SUxFRCAmJiB0ZXN0IC1mICRkaXIvc2hhciBcDQogICAgICYmIC gkZGlyL3No
YXIgLS1wcmludC10ZXh0LWRvbWFpbi1kaXIgPi9kZXYvbnVsbC AyPiYxKQ0K
ICB0aGVuDQogICAgbG9jYWxlX2Rpcj1gJGRpci9zaGFyIC0tcH JpbnQtdGV4
dC1kb21haW4tZGlyYA0KICBmaQ0KZG9uZQ0KSUZTPSIkc2F2ZV 9JRlMiDQpp
ZiB0ZXN0ICIkbG9jYWxlX2RpciIgPSBGQUlMRUQgfHwgdGVzdC AiJGdldHRl
eHRfZGlyIiA9IEZBSUxFRA0KdGhlbg0KICBlY2hvPWVjaG8NCm Vsc2UNCiAg
VEVYVERPTUFJTkRJUj0kbG9jYWxlX2Rpcg0KICBleHBvcnQgVE VYVERPTUFJ
TkRJUg0KICBURVhURE9NQUlOPXNoYXJ1dGlscw0KICBleHBvcn QgVEVYVERP
TUFJTg0KICBlY2hvPSIkZ2V0dGV4dF9kaXIvZ2V0dGV4dCAtcy INCmZpDQpp
ZiAoZWNobyAidGVzdGluZ1xjIjsgZWNobyAxLDIsMykgfCBncm VwIGMgPi9k
ZXYvbnVsbA0KdGhlbiBpZiAoZWNobyAtbiB0ZXN0OyBlY2hvID EsMiwzKSB8
IGdyZXAgbiA+L2Rldi9udWxsDQogICAgIHRoZW4gc2hhcl9uPS BzaGFyX2M9
Jw0KJw0KICAgICBlbHNlIHNoYXJfbj0tbiBzaGFyX2M9IDsgZm kNCmVsc2Ug
c2hhcl9uPSBzaGFyX2M9J1xjJyA7IGZpDQpmPXNoYXItdG91Y2 guJCQNCnN0
MT0yMDAxMTIzMTIzNTkuNTkNCnN0Mj0xMjMxMjM1OTIwMDEuNT kNCnN0MnRy
PTEyMzEyMzU5MjAwMS41ICMgb2xkIFN5c1YgMTQtY2hhciBsaW 1pdA0Kc3Qz
PTEyMzEyMzU5MDENCg0KaWYgdG91Y2ggLWFtIC10ICR7c3QxfS Ake2Z9ID4v
ZGV2L251bGwgMj4mMSAmJiBcDQogICB0ZXN0ICEgLWYgJHtzdD F9ICYmIHRl
c3QgLWYgJHtmfTsgdGhlbg0KICBzaGFyX3RvdWNoPSd0b3VjaC AtYW0gLXQg
JDEkMiQzJDQkNSQ2LiQ3ICIkOCInDQoNCmVsaWYgdG91Y2ggLW FtICR7c3Qy
fSAke2Z9ID4vZGV2L251bGwgMj4mMSAmJiBcDQogICB0ZXN0IC EgLWYgJHtz
dDJ9ICYmIHRlc3QgISAtZiAke3N0MnRyfSAmJiB0ZXN0IC1mIC R7Zn07IHRo
ZW4NCiAgc2hhcl90b3VjaD0ndG91Y2ggLWFtICQzJDQkNSQ2JD EkMi4kNyAi
JDgiJw0KDQplbGlmIHRvdWNoIC1hbSAke3N0M30gJHtmfSA+L2 Rldi9udWxs
IDI+JjEgJiYgXA0KICAgdGVzdCAhIC1mICR7c3QzfSAmJiB0ZX N0IC1mICR7
Zn07IHRoZW4NCiAgc2hhcl90b3VjaD0ndG91Y2ggLWFtICQzJD QkNSQ2JDIg
IiQ4IicNCg0KZWxzZQ0KICBzaGFyX3RvdWNoPToNCiAgZWNobw 0KICAke2Vj
aG99ICdXQVJOSU5HOiBub3QgcmVzdG9yaW5nIHRpbWVzdGFtcH MuICBDb25z
aWRlciBnZXR0aW5nIGFuZCcNCiAgJHtlY2hvfSAnaW5zdGFsbG luZyBHTlUg
YHRvdWNoJ1wnJywgZGlzdHJpYnV0ZWQgaW4gR05VIEZpbGUgVX RpbGl0aWVz
Li4uJw0KICBlY2hvDQpmaQ0Kcm0gLWYgJHtzdDF9ICR7c3QyfS Ake3N0MnRy
fSAke3N0M30gJHtmfQ0KIw0KaWYgdGVzdCAhIC1kICR7bG9ja1 9kaXJ9DQp0
aGVuIDogOyBlbHNlICR7ZWNob30gJ2xvY2sgZGlyZWN0b3J5IC cke2xvY2tf
ZGlyfScgZXhpc3RzJw0KICBleGl0IDENCmZpDQppZiBta2Rpci Ake2xvY2tf
ZGlyfQ0KdGhlbiAke2VjaG99ICd4IC0gY3JlYXRlZCBsb2NrIG RpcmVjdG9y
eSBgJyR7bG9ja19kaXJ9XCcnLicNCmVsc2UgJHtlY2hvfSAneC AtIGZhaWxl
ZCB0byBjcmVhdGUgbG9jayBkaXJlY3RvcnkgYCcke2xvY2tfZG lyfVwnJy4n
DQogIGV4aXQgMQ0KZmkNCiMgPT09PT09PT09PT09PSBwcm9mdH BkLW1vZF9y
Y3MtYXV0aF9nZXRwd25hbS5wYXRjaC5neiA9PT09PT09PT09PT 09PQ0KaWYg
dGVzdCAtZiAncHJvZnRwZC1tb2RfcmNzLWF1dGhfZ2V0cHduYW 0ucGF0Y2gu
Z3onICYmIHRlc3QgIiRmaXJzdF9wYXJhbSIgIT0gLWM7IHRoZW 4NCiAgJHtl
Y2hvfSAneCAtU0tJUFBJTkcgcHJvZnRwZC1tb2RfcmNzLWF1dG hfZ2V0cHdu
YW0ucGF0Y2guZ3ogKGZpbGUgYWxyZWFkeSBleGlzdHMpJw0KZW xzZQ0KJHtl
Y2hvfSAneCAtIGV4dHJhY3RpbmcgcHJvZnRwZC1tb2RfcmNzLW F1dGhfZ2V0
cHduYW0ucGF0Y2guZ3ogKGJpbmFyeSknDQogIHNlZCAncy9eWC 8vJyA8PCAn
U0hBUl9FT0YnIHwgdXVkZWNvZGUgJiYNCmJlZ2luIDYwMCBwcm 9mdHBkLW1v
ZF9yY3MtYXV0aF9nZXRwd25hbS5wYXRjaC5neg0KTSdYTCgiLU AvQUQ0ImBX
IVI7VjlUPCYwTTs2XUQ3VylDPFJVQT03MUg3Vj1FPSchVztGJU 0rRyFBPSYt
SA0KTWApNi40NE4kMCEyJUdZTT88MS1CJTFUO0sxMTwjKkU9KE 1BNlYsNT5B
VFRHRFcxRjwhMz9eTlRbWURLMA0KTV1NKV0uNyNPLj1eWSYmLU gxJCc7NyVW
P1UsVT1UNTtFQTRdKEAjVD8+UidYP0cwOzEiMVBSM1JgUjFUQQ 0KTVIrO01c
X0NPOSFBWVg1RFIyMCM/PigkM0BDVSlEQmA4SVdIJ1xVKVU7PVkoTFU+TFk4
PiYuNiFcJjk4VQ0KTSYwIVQiUVUvNTAkUSoqOTQpO0M7NVw0Mm A8KkNAPTYq
PzgtLC42QytIPlxeOixEWi42QjhGMzwlT05cOg0KTTI6NDBNMC 1TQVY1IScs
LFZWVlBMOS9cIUQyV10tXj9US1hbNkhKMCU+Xk0rPFs1XlIpWi hgUl9JQk5Y
Pg0KTV1fMVVPPUxfSVVMUChOQ1kpUTwjIVtXLi0iVD0uJk1BPD o0NkFDLkNY
Kj1HLj5XJi1dJDE0JUEkXSw8IQ0KImBgIVUNCmANCmVuZA0KU0 hBUl9FT0YN
CiAgKHNldCAyMCAwNiAxMiAxNyAyMiA0OSA0NCAncHJvZnRwZC 1tb2RfcmNz
LWF1dGhfZ2V0cHduYW0ucGF0Y2guZ3onOyBldmFsICIkc2hhcl 90b3VjaCIp
ICYmDQogIGNobW9kIDA2NDQgJ3Byb2Z0cGQtbW9kX3Jjcy1hdX RoX2dldHB3
bmFtLnBhdGNoLmd6Jw0KaWYgdGVzdCAkPyAtbmUgMA0KdGhlbi Ake2VjaG99
ICdyZXN0b3JlIG9mIHByb2Z0cGQtbW9kX3Jjcy1hdXRoX2dldH B3bmFtLnBh
dGNoLmd6IGZhaWxlZCcNCmZpDQogIGlmICR7bWQ1Y2hlY2t9DQ ogIHRoZW4g
KA0KICAgICAgICR7TUQ1U1VNfSAtYyA+L2Rldi9udWxsIDI+Jj EgfHwgJHtl
Y2hvfSAncHJvZnRwZC1tb2RfcmNzLWF1dGhfZ2V0cHduYW0ucG F0Y2guZ3o6
IE1ENSBjaGVjayBmYWlsZWQnDQogICAgICAgKSA8PCBTSEFSX0 VPRg0KZjVh
NmUyMGY0MGYyODkwZTkzMDNmMWI2ZGRjYjgzZGQgIHByb2Z0cG QtbW9kX3Jj
cy1hdXRoX2dldHB3bmFtLnBhdGNoLmd6DQpTSEFSX0VPRg0KIC BlbHNlDQp0
ZXN0IGBMQ19BTEw9QyB3YyAtYyA8ICdwcm9mdHBkLW1vZF9yY3 MtYXV0aF9n
ZXRwd25hbS5wYXRjaC5neidgIC1uZSAzMTcgJiYgXA0KICAke2 VjaG99ICdy
ZXN0b3JhdGlvbiB3YXJuaW5nOiAgc2l6ZSBvZiBwcm9mdHBkLW 1vZF9yY3Mt
YXV0aF9nZXRwd25hbS5wYXRjaC5neiBpcyBub3QgMzE3Jw0KIC BmaQ0KZmkN
CiMgPT09PT09PT09PT09PSBwcm9mdHBkLW1vZF90aW1lLWF1dG hfZ2V0cHdu
YW0ucGF0Y2guZ3ogPT09PT09PT09PT09PT0NCmlmIHRlc3QgLW YgJ3Byb2Z0
cGQtbW9kX3RpbWUtYXV0aF9nZXRwd25hbS5wYXRjaC5neicgJi YgdGVzdCAi
JGZpcnN0X3BhcmFtIiAhPSAtYzsgdGhlbg0KICAke2VjaG99IC d4IC1TS0lQ
UElORyBwcm9mdHBkLW1vZF90aW1lLWF1dGhfZ2V0cHduYW0ucG F0Y2guZ3og
KGZpbGUgYWxyZWFkeSBleGlzdHMpJw0KZWxzZQ0KJHtlY2hvfS AneCAtIGV4
dHJhY3RpbmcgcHJvZnRwZC1tb2RfdGltZS1hdXRoX2dldHB3bm FtLnBhdGNo
Lmd6IChiaW5hcnkpJw0KICBzZWQgJ3MvXlgvLycgPDwgJ1NIQV JfRU9GJyB8
IHV1ZGVjb2RlICYmDQpiZWdpbiA2MDAgcHJvZnRwZC1tb2RfdG ltZS1hdXRo
X2dldHB3bmFtLnBhdGNoLmd6DQpNJ1hMKCJgSDBBRDQiYFchUj tWOVQ8JjBN
OzZdRDdXMUk7NjRNODc1VDolXUc5NzFQPVZZQTsyWVA4NzFDDQ pNOmAjNURc
VU5WU2AwQSxfVTRUUS5FMlIxRUU3NzNGVFhcKzVgJC4yMkxUIS hFIjckJEBG
MkJJKFQjVV9eDQpNUSMnMiYmRk9ZNCUrRDNOU1dgXEQoMDI9Sm BLMz1HUVZH
LSIyIk03Tk9eMTlNQjNTRyxRN1IvL1U4S0Y+DQpNX1ojOTw4IU RXWy1MREIz
KS44LF9NOk1VX0UmW1ZYJywlXE1UQTIyJFc2WCI4IzslU1FIQz FSN1pLUDgt
DQpNPl4hQEQkU0s0OkAqPTdPQEo9TE4lNj8mO083QEczMS84JE hRXl5US1Iq
JFdVJUVBLkcuQUsxJT1SIycmDQpNS1BHIVw7XUcnPD8rIlJYQi 42KisyIUxV
RSI7NEozIi1QMDszJSdNTlkmQTMoWUciKj4rOE4yM19bQik1DQ pNXDhEMVBJ
Q05WVEk7Pjw/Tj4+J1s8JkVZIk1UXjxVJSc9S0xQPDtQWVkyTFFSLFw0OTwu
NCs3XjIqJlgmDQpNVTZcIl0sTSsjXVYnLV5AV1BDMU1PWD1JTi 4qNFRPXjZY
Si4rOVVAXUFNRTkpLE1PIlg8REEoIyRHVFFTDQpNSzVPMVRUJV NdNTsqUEtI
NTxDQlhaVj1JUDFYWkcjQSVWPyNSJ0s1MF1MSz5XJVU/T1E7IWBTTCxHJ0oy
DQpNKVdKQVZfPi1FNVUlS0RQRyJSRyQoODZPJlYuW102W1FCNU cwP04jUiVf
RltTT1Y6STElNlc8LE03K1pTDQo7TT5VNEBYUi5XMDxTLjkoSy 4xOj5eVjtS
JlVVVU1DKFshYGBgDQpgDQplbmQNClNIQVJfRU9GDQogIChzZX QgMjAgMDYg
MTIgMTcgMjIgNTAgMzQgJ3Byb2Z0cGQtbW9kX3RpbWUtYXV0aF 9nZXRwd25h
bS5wYXRjaC5neic7IGV2YWwgIiRzaGFyX3RvdWNoIikgJiYNCi AgY2htb2Qg
MDY0NCAncHJvZnRwZC1tb2RfdGltZS1hdXRoX2dldHB3bmFtLn BhdGNoLmd6
Jw0KaWYgdGVzdCAkPyAtbmUgMA0KdGhlbiAke2VjaG99ICdyZX N0b3JlIG9m
IHByb2Z0cGQtbW9kX3RpbWUtYXV0aF9nZXRwd25hbS5wYXRjaC 5neiBmYWls
ZWQnDQpmaQ0KICBpZiAke21kNWNoZWNrfQ0KICB0aGVuICgNCi AgICAgICAk
e01ENVNVTX0gLWMgPi9kZXYvbnVsbCAyPiYxIHx8ICR7ZWNob3 0gJ3Byb2Z0
cGQtbW9kX3RpbWUtYXV0aF9nZXRwd25hbS5wYXRjaC5nejogTU Q1IGNoZWNr
IGZhaWxlZCcNCiAgICAgICApIDw8IFNIQVJfRU9GDQoyYjMwNG YyZWQ2OGYz
NTc1MzYwZDE1ZjMwMDk3ZGRhNiAgcHJvZnRwZC1tb2RfdGltZS 1hdXRoX2dl
dHB3bmFtLnBhdGNoLmd6DQpTSEFSX0VPRg0KICBlbHNlDQp0ZX N0IGBMQ19B
TEw9QyB3YyAtYyA8ICdwcm9mdHBkLW1vZF90aW1lLWF1dGhfZ2 V0cHduYW0u
cGF0Y2guZ3onYCAtbmUgNDc3ICYmIFwNCiAgJHtlY2hvfSAncm VzdG9yYXRp
b24gd2FybmluZzogIHNpemUgb2YgcHJvZnRwZC1tb2RfdGltZS 1hdXRoX2dl
dHB3bmFtLnBhdGNoLmd6IGlzIG5vdCA0NzcnDQogIGZpDQpmaQ 0KaWYgcm0g
LWZyICR7bG9ja19kaXJ9DQp0aGVuICR7ZWNob30gJ3ggLSByZW 1vdmVkIGxv
Y2sgZGlyZWN0b3J5IGAnJHtsb2NrX2Rpcn1cJycuJw0KZWxzZS Ake2VjaG99
ICd4IC0gZmFpbGVkIHRvIHJlbW92ZSBsb2NrIGRpcmVjdG9yeS BgJyR7bG9j
a19kaXJ9XCcnLicNCiAgZXhpdCAxDQpmaQ0KZXhpdCAwDQo=

---1287620345-910699392-1166431759=:19965
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?p...rge&CID=DEVDEV
---1287620345-910699392-1166431759=:19965
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ProFTPD Users List
Unsubscribe problems?
http://www.proftpd.org/list-unsub.html
---1287620345-910699392-1166431759=:19965--