Paul Howarth
2010-12-23 13:59:17 UTC
Strangely I'm not seeing this on x86_64. Anyway, I think the fix is
trivial (see below).
$ ./api-tests
Running suite(s): pool
array
str
sets
timers
table
var
event
env
version
feat
netaddr
netacl
class
regexp
expr
scoreboard
stash
modules
99%: Checks: 144, Failures: 1, Errors: 0
api/pool.c:122:F:base:pcalloc_test:0: Allocated non-zero memory at
position 0
-------------------------------------------------
FAILED 1 test
Please send email to:
proftp-***@lists.sourceforge.net
containing the `api-tests.log' file (in the tests/ directory)
and the output from running `proftpd -V'
-------------------------------------------------
make: Leaving directory `/builddir/build/BUILD/proftpd-1.3.4rc1/tests'
make: *** [api-tests] Error 1
$ cat tests/api-tests.log
Running suite pool
api/pool.c:36:P:base:parent_pool_test:0: Passed
api/pool.c:49:P:base:parent_sub_pool_test:0: Passed
api/pool.c:74:P:base:pool_create_sz_test:0: Passed
api/pool.c:99:P:base:palloc_test:0: Passed
api/pool.c:122:F:base:pcalloc_test:0: Allocated non-zero memory at
position 0
Running suite array
api/array.c:79:P:base:make_array_test:0: Passed
api/array.c:119:P:base:push_array_test:0: Passed
api/array.c:163:P:base:array_cat_test:0: Passed
api/array.c:189:P:base:clear_array_test:0: Passed
api/array.c:220:P:base:copy_array_test:0: Passed
api/array.c:263:P:base:copy_array_str_test:0: Passed
api/array.c:313:P:base:copy_array_hdr_test:0: Passed
api/array.c:384:P:base:append_arrays_test:0: Passed
Running suite str
api/str.c:99:P:base:sstrncpy_test:0: Passed
api/str.c:169:P:base:sstrcat_test:0: Passed
api/str.c:218:P:base:sreplace_test:0: Passed
api/str.c:233:P:base:sreplace_enospc_test:0: Passed
api/str.c:275:P:base:pdircat_test:0: Passed
api/str.c:309:P:base:pstrcat_test:0: Passed
api/str.c:332:P:base:pstrdup_test:0: Passed
api/str.c:367:P:base:pstrndup_test:0: Passed
api/str.c:412:P:base:strip_test:0: Passed
api/str.c:456:P:base:strip_end_test:0: Passed
api/str.c:499:P:base:get_token_test:0: Passed
api/str.c:572:P:base:get_word_test:0: Passed
api/str.c:611:P:base:is_boolean_test:0: Passed
api/str.c:659:P:base:is_fnmatch_test:0: Passed
Running suite sets
api/sets.c:119:P:base:set_create_test:0: Passed
api/sets.c:170:P:base:set_insert_test:0: Passed
api/sets.c:221:P:base:set_insert_end_test:0: Passed
api/sets.c:310:P:base:set_insert_sort_test:0: Passed
api/sets.c:393:P:base:set_remove_test:0: Passed
api/sets.c:444:P:base:set_copy_test:0: Passed
Running suite timers
api/timers.c:134:P:base:timer_add_test:0: Passed
api/timers.c:156:P:base:timer_remove_test:0: Passed
api/timers.c:182:P:base:timer_remove_multi_test:0: Passed
api/timers.c:228:P:base:timer_reset_test:0: Passed
api/timers.c:247:P:base:timer_sleep_test:0: Passed
Running suite table
api/table.c:76:P:base:table_alloc_test:0: Passed
api/table.c:92:P:base:table_nalloc_test:0: Passed
api/table.c:120:P:base:table_add_test:0: Passed
api/table.c:148:P:base:table_add_dup_test:0: Passed
api/table.c:178:P:base:table_count_test:0: Passed
api/table.c:218:P:base:table_exists_test:0: Passed
api/table.c:245:P:base:table_empty_test:0: Passed
api/table.c:268:P:base:table_free_test:0: Passed
api/table.c:313:P:base:table_get_test:0: Passed
api/table.c:367:P:base:table_get_use_cache_test:0: Passed
api/table.c:396:P:base:table_next_test:0: Passed
api/table.c:434:P:base:table_rewind_test:0: Passed
api/table.c:476:P:base:table_remove_test:0: Passed
api/table.c:516:P:base:table_set_test:0: Passed
api/table.c:551:P:base:table_do_test:0: Passed
api/table.c:598:P:base:table_ctl_test:0: Passed
api/table.c:602:P:base:table_dump_test:0: Passed
api/table.c:634:P:base:table_pcalloc_test:0: Passed
Running suite var
api/var.c:128:P:base:var_set_test:0: Passed
api/var.c:160:P:base:var_delete_test:0: Passed
api/var.c:188:P:base:var_exists_test:0: Passed
api/var.c:226:P:base:var_get_test:0: Passed
api/var.c:253:P:base:var_next_test:0: Passed
api/var.c:291:P:base:var_rewind_test:0: Passed
Running suite event
api/event.c:94:P:base:event_register_test:0: Passed
api/event.c:129:P:base:event_unregister_test:0: Passed
api/event.c:165:P:base:event_generate_test:0: Passed
api/event.c:198:P:base:event_dump_test:0: Passed
Running suite env
api/env.c:71:P:base:env_get_test:0: Passed
api/env.c:118:P:base:env_set_test:0: Passed
api/env.c:150:P:base:env_unset_test:0: Passed
Running suite version
api/version.c:38:P:base:version_get_module_api_number_test:0: Passed
api/version.c:48:P:base:version_get_number_test:0: Passed
api/version.c:58:P:base:version_get_str_test:0: Passed
Running suite feat
api/feat.c:67:P:base:feat_add_test:0: Passed
api/feat.c:88:P:base:feat_get_test:0: Passed
api/feat.c:108:P:base:feat_get_next_test:0: Passed
api/feat.c:133:P:base:feat_remove_test:0: Passed
Running suite netaddr
api/netaddr.c:63:P:base:netaddr_alloc_test:0: Passed
api/netaddr.c:87:P:base:netaddr_dup_test:0: Passed
api/netaddr.c:101:P:base:netaddr_clear_test:0: Passed
api/netaddr.c:142:P:base:netaddr_get_addr_test:0: Passed
api/netaddr.c:160:P:base:netaddr_get_family_test:0: Passed
api/netaddr.c:185:P:base:netaddr_set_family_test:0: Passed
api/netaddr.c:189:P:base:netaddr_cmp_test:0: Passed
api/netaddr.c:193:P:base:netaddr_ncmp_test:0: Passed
api/netaddr.c:197:P:base:netaddr_fnmatch_test:0: Passed
api/netaddr.c:201:P:base:netaddr_get_sockaddr_test:0: Passed
api/netaddr.c:205:P:base:netaddr_get_sockaddr_len_test:0: Passed
api/netaddr.c:209:P:base:netaddr_set_sockaddr_test:0: Passed
api/netaddr.c:213:P:base:netaddr_set_sockaddr_any_test:0: Passed
api/netaddr.c:217:P:base:netaddr_get_inaddr_test:0: Passed
api/netaddr.c:221:P:base:netaddr_get_inaddr_len_test:0: Passed
api/netaddr.c:243:P:base:netaddr_get_port_test:0: Passed
api/netaddr.c:270:P:base:netaddr_set_port_test:0: Passed
api/netaddr.c:281:P:base:netaddr_set_reverse_dns_test:0: Passed
api/netaddr.c:338:P:base:netaddr_get_dnsstr_test:0: Passed
api/netaddr.c:363:P:base:netaddr_get_ipstr_test:0: Passed
api/netaddr.c:393:P:base:netaddr_validate_dns_str_test:0: Passed
api/netaddr.c:409:P:base:netaddr_get_localaddr_str_test:0: Passed
api/netaddr.c:413:P:base:netaddr_is_v4mappedv6_test:0: Passed
api/netaddr.c:431:P:base:netaddr_disable_ipv6_test:0: Passed
api/netaddr.c:442:P:base:netaddr_enable_ipv6_test:0: Passed
Running suite netacl
api/netacl.c:227:P:base:netacl_create_test:0: Passed
api/netacl.c:372:P:base:netacl_get_str_test:0: Passed
api/netacl.c:399:P:base:netacl_dup_test:0: Passed
api/netacl.c:548:P:base:netacl_match_test:0: Passed
api/netacl.c:570:P:base:netacl_get_negated_test:0: Passed
Running suite class
api/class.c:78:P:base:class_open_test:0: Passed
api/class.c:102:P:base:class_add_acl_test:0: Passed
api/class.c:136:P:base:class_close_test:0: Passed
api/class.c:158:P:base:class_set_satisfy_test:0: Passed
api/class.c:193:P:base:class_get_test:0: Passed
api/class.c:233:P:base:class_find_test:0: Passed
api/class.c:435:P:base:class_match_addr_test:0: Passed
Running suite regexp
api/regexp.c:54:P:base:regexp_alloc_test:0: Passed
api/regexp.c:64:P:base:regexp_free_test:0: Passed
Running suite expr
api/expr.c:146:P:base:expr_create_test:0: Passed
api/expr.c:191:P:base:expr_eval_class_and_test:0: Passed
api/expr.c:239:P:base:expr_eval_class_or_test:0: Passed
api/expr.c:282:P:base:expr_eval_group_and_test:0: Passed
api/expr.c:329:P:base:expr_eval_group_or_test:0: Passed
api/expr.c:356:P:base:expr_eval_user_and_test:0: Passed
api/expr.c:386:P:base:expr_eval_user_or_test:0: Passed
Running suite scoreboard
api/scoreboard.c:56:P:base:scoreboard_get_test:0: Passed
api/scoreboard.c:127:P:base:scoreboard_set_test:0: Passed
api/scoreboard.c:139:P:base:scoreboard_open_close_test:0: Passed
api/scoreboard.c:255:P:base:scoreboard_delete_test:0: Passed
api/scoreboard.c:331:P:base:scoreboard_restore_test:0: Passed
api/scoreboard.c:406:P:base:scoreboard_rewind_test:0: Passed
api/scoreboard.c:482:P:base:scoreboard_scrub_test:0: Passed
api/scoreboard.c:574:P:base:scoreboard_get_daemon_pid_test:0: Passed
api/scoreboard.c:655:P:base:scoreboard_get_daemon_uptime_test:0: Passed
api/scoreboard.c:737:P:base:scoreboard_entry_add_test:0: Passed
api/scoreboard.c:831:P:base:scoreboard_entry_del_test:0: Passed
api/scoreboard.c:956:P:base:scoreboard_entry_read_test:0: Passed
api/scoreboard.c:1071:P:base:scoreboard_entry_get_test:0: Passed
api/scoreboard.c:1186:P:base:scoreboard_entry_update_test:0: Passed
Running suite stash
api/stash.c:107:P:stash:stash_add_symbol_test:0: Passed
api/stash.c:202:P:stash:stash_get_symbol_test:0: Passed
api/stash.c:267:P:stash:stash_remove_symbol_test:0: Passed
Running suite modules
api/modules.c:79:P:module:module_exists_test:0: Passed
api/modules.c:113:P:module:module_get_test:0: Passed
api/modules.c:161:P:module:module_load_test:0: Passed
api/modules.c:196:P:module:module_unload_test:0: Passed
api/modules.c:251:P:module:module_call_test:0: Passed
Results for all suites run:
99%: Checks: 144, Failures: 1, Errors: 0
$ ./proftpd -V
Compile-time Settings:
Version: 1.3.4rc1 (devel)
Platform: LINUX [Linux 2.6.35.6-48.fc14.x86_64 i686]
Built: Thu Dec 23 2010 13:21:59 GMT
Built With:
configure '--build=i686-redhat-linux-gnu'
'--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu'
'--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr'
'--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc'
'--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib'
'--libexecdir=/usr/libexec' '--localstatedir=/var'
'--sharedstatedir=/usr/com' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--libexecdir=/usr/libexec/proftpd'
'--localstatedir=/var/run/proftpd' '--enable-ctrls' '--enable-dso'
'--enable-facl' '--enable-ipv6' '--enable-nls' '--enable-openssl'
'--enable-shadow' '--enable-tests' '--with-libraries=/usr/lib/mysql'
'--with-includes=/usr/include/mysql:/usr/kerberos/include'
'--with-modules=mod_readme:mod_auth_pam:mod_tls:mod_vroot'
'--with-shared=mod_sql:mod_sql_passwd:mod_sql_mysql:mod_sql_postgres:mod_quotatab:mod_quotatab_file:mod_quotatab_ldap:mod_quotatab_radius:mod_quotatab_sql:mod_ldap:mod_ban:mod_wrap:mod_ctrls_admin:mod_facl:mod_load:mod_radius:mod_ratio:mod_rewrite:mod_site_misc:mod_exec:mod_shaper:mod_geoip:mod_wrap2:mod_wrap2_file:mod_wrap2_sql:mod_copy:mod_deflate:mod_ifversion:mod_qos:mod_sftp:mod_sftp_pam:mod_sftp_sql:mod_tls_shmcache:mod_ifsession'
'build_alias=i686-redhat-linux-gnu' 'host_alias=i686-redhat-linux-gnu'
'target_alias=i386-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
-fasynchronous-unwind-tables'
CFLAGS: -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386
-mtune=generic -fasynchronous-unwind-tables -Wall
LDFLAGS: -L$(top_srcdir)/lib -L/usr/lib/mysql -L/usr/lib/mysql
-L/usr/lib -L/usr/lib
LIBS: -lacl -lssl -lcrypto -lssl -lcrypto -lcap -lssl -lcrypto
-lpam -lsupp -lcrypt -ldl -ldl
Files:
Configuration File:
/etc/proftpd.conf
Pid File:
/var/run/proftpd/proftpd.pid
Scoreboard File:
/var/run/proftpd/proftpd.scoreboard
Header Directory:
/usr/include/proftpd
Shared Module Directory:
/usr/libexec/proftpd
Features:
- Autoshadow support
+ Controls support
+ curses support
- Developer support
+ DSO support
+ IPv6 support
+ Largefile support
- Lastlog support
- Memcache support
+ ncursesw support
+ NLS support
+ OpenSSL support
+ POSIX ACL support
+ Shadow file support
+ Sendfile support
+ Trace support
Tunable Options:
PR_TUNABLE_BUFFER_SIZE = 1024
PR_TUNABLE_GLOBBING_MAX_MATCHES = 100000
PR_TUNABLE_GLOBBING_MAX_RECURSION = 8
PR_TUNABLE_HASH_TABLE_SIZE = 40
PR_TUNABLE_NEW_POOL_SIZE = 512
PR_TUNABLE_SCOREBOARD_BUFFER_SIZE = 80
PR_TUNABLE_SCOREBOARD_SCRUB_TIMER = 30
PR_TUNABLE_SELECT_TIMEOUT = 30
PR_TUNABLE_TIMEOUTIDENT = 10
PR_TUNABLE_TIMEOUTIDLE = 600
PR_TUNABLE_TIMEOUTLINGER = 30
PR_TUNABLE_TIMEOUTLOGIN = 300
PR_TUNABLE_TIMEOUTNOXFER = 300
PR_TUNABLE_TIMEOUTSTALLED = 3600
PR_TUNABLE_XFER_SCOREBOARD_UPDATES = 10
I believe this failure is due to a palloc() at line 119 that should be a
pcalloc():
--- proftpd-1.3.4rc1/tests/api/pool.c.orig
+++ proftpd-1.3.4rc1/tests/api/pool.c.new
@@ -116,7 +116,7 @@
fail_unless(v == NULL, "Allocated %u-len memory", sz);
sz = 1;
- v = palloc(p, sz);
+ v = pcalloc(p, sz);
fail_if(v == NULL, "Failed to allocate %u-len memory", sz);
for (i = 0; i < sz; i++) {
fail_unless(v[i] == 0, "Allocated non-zero memory at position %u", i);
Cheers, Paul.
trivial (see below).
$ ./api-tests
Running suite(s): pool
array
str
sets
timers
table
var
event
env
version
feat
netaddr
netacl
class
regexp
expr
scoreboard
stash
modules
99%: Checks: 144, Failures: 1, Errors: 0
api/pool.c:122:F:base:pcalloc_test:0: Allocated non-zero memory at
position 0
-------------------------------------------------
FAILED 1 test
Please send email to:
proftp-***@lists.sourceforge.net
containing the `api-tests.log' file (in the tests/ directory)
and the output from running `proftpd -V'
-------------------------------------------------
make: Leaving directory `/builddir/build/BUILD/proftpd-1.3.4rc1/tests'
make: *** [api-tests] Error 1
$ cat tests/api-tests.log
Running suite pool
api/pool.c:36:P:base:parent_pool_test:0: Passed
api/pool.c:49:P:base:parent_sub_pool_test:0: Passed
api/pool.c:74:P:base:pool_create_sz_test:0: Passed
api/pool.c:99:P:base:palloc_test:0: Passed
api/pool.c:122:F:base:pcalloc_test:0: Allocated non-zero memory at
position 0
Running suite array
api/array.c:79:P:base:make_array_test:0: Passed
api/array.c:119:P:base:push_array_test:0: Passed
api/array.c:163:P:base:array_cat_test:0: Passed
api/array.c:189:P:base:clear_array_test:0: Passed
api/array.c:220:P:base:copy_array_test:0: Passed
api/array.c:263:P:base:copy_array_str_test:0: Passed
api/array.c:313:P:base:copy_array_hdr_test:0: Passed
api/array.c:384:P:base:append_arrays_test:0: Passed
Running suite str
api/str.c:99:P:base:sstrncpy_test:0: Passed
api/str.c:169:P:base:sstrcat_test:0: Passed
api/str.c:218:P:base:sreplace_test:0: Passed
api/str.c:233:P:base:sreplace_enospc_test:0: Passed
api/str.c:275:P:base:pdircat_test:0: Passed
api/str.c:309:P:base:pstrcat_test:0: Passed
api/str.c:332:P:base:pstrdup_test:0: Passed
api/str.c:367:P:base:pstrndup_test:0: Passed
api/str.c:412:P:base:strip_test:0: Passed
api/str.c:456:P:base:strip_end_test:0: Passed
api/str.c:499:P:base:get_token_test:0: Passed
api/str.c:572:P:base:get_word_test:0: Passed
api/str.c:611:P:base:is_boolean_test:0: Passed
api/str.c:659:P:base:is_fnmatch_test:0: Passed
Running suite sets
api/sets.c:119:P:base:set_create_test:0: Passed
api/sets.c:170:P:base:set_insert_test:0: Passed
api/sets.c:221:P:base:set_insert_end_test:0: Passed
api/sets.c:310:P:base:set_insert_sort_test:0: Passed
api/sets.c:393:P:base:set_remove_test:0: Passed
api/sets.c:444:P:base:set_copy_test:0: Passed
Running suite timers
api/timers.c:134:P:base:timer_add_test:0: Passed
api/timers.c:156:P:base:timer_remove_test:0: Passed
api/timers.c:182:P:base:timer_remove_multi_test:0: Passed
api/timers.c:228:P:base:timer_reset_test:0: Passed
api/timers.c:247:P:base:timer_sleep_test:0: Passed
Running suite table
api/table.c:76:P:base:table_alloc_test:0: Passed
api/table.c:92:P:base:table_nalloc_test:0: Passed
api/table.c:120:P:base:table_add_test:0: Passed
api/table.c:148:P:base:table_add_dup_test:0: Passed
api/table.c:178:P:base:table_count_test:0: Passed
api/table.c:218:P:base:table_exists_test:0: Passed
api/table.c:245:P:base:table_empty_test:0: Passed
api/table.c:268:P:base:table_free_test:0: Passed
api/table.c:313:P:base:table_get_test:0: Passed
api/table.c:367:P:base:table_get_use_cache_test:0: Passed
api/table.c:396:P:base:table_next_test:0: Passed
api/table.c:434:P:base:table_rewind_test:0: Passed
api/table.c:476:P:base:table_remove_test:0: Passed
api/table.c:516:P:base:table_set_test:0: Passed
api/table.c:551:P:base:table_do_test:0: Passed
api/table.c:598:P:base:table_ctl_test:0: Passed
api/table.c:602:P:base:table_dump_test:0: Passed
api/table.c:634:P:base:table_pcalloc_test:0: Passed
Running suite var
api/var.c:128:P:base:var_set_test:0: Passed
api/var.c:160:P:base:var_delete_test:0: Passed
api/var.c:188:P:base:var_exists_test:0: Passed
api/var.c:226:P:base:var_get_test:0: Passed
api/var.c:253:P:base:var_next_test:0: Passed
api/var.c:291:P:base:var_rewind_test:0: Passed
Running suite event
api/event.c:94:P:base:event_register_test:0: Passed
api/event.c:129:P:base:event_unregister_test:0: Passed
api/event.c:165:P:base:event_generate_test:0: Passed
api/event.c:198:P:base:event_dump_test:0: Passed
Running suite env
api/env.c:71:P:base:env_get_test:0: Passed
api/env.c:118:P:base:env_set_test:0: Passed
api/env.c:150:P:base:env_unset_test:0: Passed
Running suite version
api/version.c:38:P:base:version_get_module_api_number_test:0: Passed
api/version.c:48:P:base:version_get_number_test:0: Passed
api/version.c:58:P:base:version_get_str_test:0: Passed
Running suite feat
api/feat.c:67:P:base:feat_add_test:0: Passed
api/feat.c:88:P:base:feat_get_test:0: Passed
api/feat.c:108:P:base:feat_get_next_test:0: Passed
api/feat.c:133:P:base:feat_remove_test:0: Passed
Running suite netaddr
api/netaddr.c:63:P:base:netaddr_alloc_test:0: Passed
api/netaddr.c:87:P:base:netaddr_dup_test:0: Passed
api/netaddr.c:101:P:base:netaddr_clear_test:0: Passed
api/netaddr.c:142:P:base:netaddr_get_addr_test:0: Passed
api/netaddr.c:160:P:base:netaddr_get_family_test:0: Passed
api/netaddr.c:185:P:base:netaddr_set_family_test:0: Passed
api/netaddr.c:189:P:base:netaddr_cmp_test:0: Passed
api/netaddr.c:193:P:base:netaddr_ncmp_test:0: Passed
api/netaddr.c:197:P:base:netaddr_fnmatch_test:0: Passed
api/netaddr.c:201:P:base:netaddr_get_sockaddr_test:0: Passed
api/netaddr.c:205:P:base:netaddr_get_sockaddr_len_test:0: Passed
api/netaddr.c:209:P:base:netaddr_set_sockaddr_test:0: Passed
api/netaddr.c:213:P:base:netaddr_set_sockaddr_any_test:0: Passed
api/netaddr.c:217:P:base:netaddr_get_inaddr_test:0: Passed
api/netaddr.c:221:P:base:netaddr_get_inaddr_len_test:0: Passed
api/netaddr.c:243:P:base:netaddr_get_port_test:0: Passed
api/netaddr.c:270:P:base:netaddr_set_port_test:0: Passed
api/netaddr.c:281:P:base:netaddr_set_reverse_dns_test:0: Passed
api/netaddr.c:338:P:base:netaddr_get_dnsstr_test:0: Passed
api/netaddr.c:363:P:base:netaddr_get_ipstr_test:0: Passed
api/netaddr.c:393:P:base:netaddr_validate_dns_str_test:0: Passed
api/netaddr.c:409:P:base:netaddr_get_localaddr_str_test:0: Passed
api/netaddr.c:413:P:base:netaddr_is_v4mappedv6_test:0: Passed
api/netaddr.c:431:P:base:netaddr_disable_ipv6_test:0: Passed
api/netaddr.c:442:P:base:netaddr_enable_ipv6_test:0: Passed
Running suite netacl
api/netacl.c:227:P:base:netacl_create_test:0: Passed
api/netacl.c:372:P:base:netacl_get_str_test:0: Passed
api/netacl.c:399:P:base:netacl_dup_test:0: Passed
api/netacl.c:548:P:base:netacl_match_test:0: Passed
api/netacl.c:570:P:base:netacl_get_negated_test:0: Passed
Running suite class
api/class.c:78:P:base:class_open_test:0: Passed
api/class.c:102:P:base:class_add_acl_test:0: Passed
api/class.c:136:P:base:class_close_test:0: Passed
api/class.c:158:P:base:class_set_satisfy_test:0: Passed
api/class.c:193:P:base:class_get_test:0: Passed
api/class.c:233:P:base:class_find_test:0: Passed
api/class.c:435:P:base:class_match_addr_test:0: Passed
Running suite regexp
api/regexp.c:54:P:base:regexp_alloc_test:0: Passed
api/regexp.c:64:P:base:regexp_free_test:0: Passed
Running suite expr
api/expr.c:146:P:base:expr_create_test:0: Passed
api/expr.c:191:P:base:expr_eval_class_and_test:0: Passed
api/expr.c:239:P:base:expr_eval_class_or_test:0: Passed
api/expr.c:282:P:base:expr_eval_group_and_test:0: Passed
api/expr.c:329:P:base:expr_eval_group_or_test:0: Passed
api/expr.c:356:P:base:expr_eval_user_and_test:0: Passed
api/expr.c:386:P:base:expr_eval_user_or_test:0: Passed
Running suite scoreboard
api/scoreboard.c:56:P:base:scoreboard_get_test:0: Passed
api/scoreboard.c:127:P:base:scoreboard_set_test:0: Passed
api/scoreboard.c:139:P:base:scoreboard_open_close_test:0: Passed
api/scoreboard.c:255:P:base:scoreboard_delete_test:0: Passed
api/scoreboard.c:331:P:base:scoreboard_restore_test:0: Passed
api/scoreboard.c:406:P:base:scoreboard_rewind_test:0: Passed
api/scoreboard.c:482:P:base:scoreboard_scrub_test:0: Passed
api/scoreboard.c:574:P:base:scoreboard_get_daemon_pid_test:0: Passed
api/scoreboard.c:655:P:base:scoreboard_get_daemon_uptime_test:0: Passed
api/scoreboard.c:737:P:base:scoreboard_entry_add_test:0: Passed
api/scoreboard.c:831:P:base:scoreboard_entry_del_test:0: Passed
api/scoreboard.c:956:P:base:scoreboard_entry_read_test:0: Passed
api/scoreboard.c:1071:P:base:scoreboard_entry_get_test:0: Passed
api/scoreboard.c:1186:P:base:scoreboard_entry_update_test:0: Passed
Running suite stash
api/stash.c:107:P:stash:stash_add_symbol_test:0: Passed
api/stash.c:202:P:stash:stash_get_symbol_test:0: Passed
api/stash.c:267:P:stash:stash_remove_symbol_test:0: Passed
Running suite modules
api/modules.c:79:P:module:module_exists_test:0: Passed
api/modules.c:113:P:module:module_get_test:0: Passed
api/modules.c:161:P:module:module_load_test:0: Passed
api/modules.c:196:P:module:module_unload_test:0: Passed
api/modules.c:251:P:module:module_call_test:0: Passed
Results for all suites run:
99%: Checks: 144, Failures: 1, Errors: 0
$ ./proftpd -V
Compile-time Settings:
Version: 1.3.4rc1 (devel)
Platform: LINUX [Linux 2.6.35.6-48.fc14.x86_64 i686]
Built: Thu Dec 23 2010 13:21:59 GMT
Built With:
configure '--build=i686-redhat-linux-gnu'
'--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu'
'--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr'
'--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc'
'--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib'
'--libexecdir=/usr/libexec' '--localstatedir=/var'
'--sharedstatedir=/usr/com' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--libexecdir=/usr/libexec/proftpd'
'--localstatedir=/var/run/proftpd' '--enable-ctrls' '--enable-dso'
'--enable-facl' '--enable-ipv6' '--enable-nls' '--enable-openssl'
'--enable-shadow' '--enable-tests' '--with-libraries=/usr/lib/mysql'
'--with-includes=/usr/include/mysql:/usr/kerberos/include'
'--with-modules=mod_readme:mod_auth_pam:mod_tls:mod_vroot'
'--with-shared=mod_sql:mod_sql_passwd:mod_sql_mysql:mod_sql_postgres:mod_quotatab:mod_quotatab_file:mod_quotatab_ldap:mod_quotatab_radius:mod_quotatab_sql:mod_ldap:mod_ban:mod_wrap:mod_ctrls_admin:mod_facl:mod_load:mod_radius:mod_ratio:mod_rewrite:mod_site_misc:mod_exec:mod_shaper:mod_geoip:mod_wrap2:mod_wrap2_file:mod_wrap2_sql:mod_copy:mod_deflate:mod_ifversion:mod_qos:mod_sftp:mod_sftp_pam:mod_sftp_sql:mod_tls_shmcache:mod_ifsession'
'build_alias=i686-redhat-linux-gnu' 'host_alias=i686-redhat-linux-gnu'
'target_alias=i386-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
-fasynchronous-unwind-tables'
CFLAGS: -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386
-mtune=generic -fasynchronous-unwind-tables -Wall
LDFLAGS: -L$(top_srcdir)/lib -L/usr/lib/mysql -L/usr/lib/mysql
-L/usr/lib -L/usr/lib
LIBS: -lacl -lssl -lcrypto -lssl -lcrypto -lcap -lssl -lcrypto
-lpam -lsupp -lcrypt -ldl -ldl
Files:
Configuration File:
/etc/proftpd.conf
Pid File:
/var/run/proftpd/proftpd.pid
Scoreboard File:
/var/run/proftpd/proftpd.scoreboard
Header Directory:
/usr/include/proftpd
Shared Module Directory:
/usr/libexec/proftpd
Features:
- Autoshadow support
+ Controls support
+ curses support
- Developer support
+ DSO support
+ IPv6 support
+ Largefile support
- Lastlog support
- Memcache support
+ ncursesw support
+ NLS support
+ OpenSSL support
+ POSIX ACL support
+ Shadow file support
+ Sendfile support
+ Trace support
Tunable Options:
PR_TUNABLE_BUFFER_SIZE = 1024
PR_TUNABLE_GLOBBING_MAX_MATCHES = 100000
PR_TUNABLE_GLOBBING_MAX_RECURSION = 8
PR_TUNABLE_HASH_TABLE_SIZE = 40
PR_TUNABLE_NEW_POOL_SIZE = 512
PR_TUNABLE_SCOREBOARD_BUFFER_SIZE = 80
PR_TUNABLE_SCOREBOARD_SCRUB_TIMER = 30
PR_TUNABLE_SELECT_TIMEOUT = 30
PR_TUNABLE_TIMEOUTIDENT = 10
PR_TUNABLE_TIMEOUTIDLE = 600
PR_TUNABLE_TIMEOUTLINGER = 30
PR_TUNABLE_TIMEOUTLOGIN = 300
PR_TUNABLE_TIMEOUTNOXFER = 300
PR_TUNABLE_TIMEOUTSTALLED = 3600
PR_TUNABLE_XFER_SCOREBOARD_UPDATES = 10
I believe this failure is due to a palloc() at line 119 that should be a
pcalloc():
--- proftpd-1.3.4rc1/tests/api/pool.c.orig
+++ proftpd-1.3.4rc1/tests/api/pool.c.new
@@ -116,7 +116,7 @@
fail_unless(v == NULL, "Allocated %u-len memory", sz);
sz = 1;
- v = palloc(p, sz);
+ v = pcalloc(p, sz);
fail_if(v == NULL, "Failed to allocate %u-len memory", sz);
for (i = 0; i < sz; i++) {
fail_unless(v[i] == 0, "Allocated non-zero memory at position %u", i);
Cheers, Paul.