Hello

My test session:
$ telnet host 24
Trying a.b.c.d...
Connected to fox.
Escape character is '^]'.
220 host DBMail LMTP service ready to rock
mail from: <[EMAIL PROTECTED]>
250 Sender <[EMAIL PROTECTED]> OK
rcpt to: <[EMAIL PROTECTED]>
250 Recipient <[EMAIL PROTECTED]> OK
data
354 Start mail input; end with <CRLF>.<CRLF>
Subject: test

test
.
Connection closed by foreign host.


Level 5 log:

Message:[server] pool.c,child_register(+294): register child [8018]
Info:[server] pool.c,child_register(+319): initializing child_state [8018] 
using slot [0]
Info:[serverchild] serverchild.c,CreateChild(+194): signal handler placed, 
going to perform task now
Debug:[db] dbmodule.c,db_load_driver(+67): looking for mysql 
as /usr/local/lib/dbmail/libmysql.so
Debug:[sql] dbmysql.c,db_query(+272): query [SHOW VARIABLES 
LIKE 'collation_%']
Debug:[sql] dbmysql.c,db_mysql_check_collations(+113): does 
[collation_database:koi8r_general_ci] match 
[collation_connection:koi8r_general_ci]?
Message:[server] pool.c,scoreboard_state(+527): Scoreboard state: children 
[1/3], spares [1 (1 - 3)]
Debug:[auth] authmodule.c,auth_load_driver(+63): looking for auth_sql 
as /usr/local/lib/dbmail/libauth_sql.so
Info:[serverchild] serverchild.c,select_and_accept(+223): waiting for 
connection
Info:[serverchild] serverchild.c,select_and_accept(+255): received connection
Info:[serverchild] serverchild.c,select_and_accept(+280): connection accepted
Message:[serverchild] serverchild.c,PerformChildTask(+347): incoming 
connection from [a.b.c.e] by pid [8018]
Debug:[serverchild] serverchild.c,PerformChildTask(+370): client info init 
complete, calling client handler
Message:[server] pool.c,child_register(+294): register child [8036]
Info:[server] pool.c,child_register(+319): initializing child_state [8036] 
using slot [1]
Info:[serverchild] serverchild.c,CreateChild(+194): signal handler placed, 
going to perform task now
Debug:[db] dbmodule.c,db_load_driver(+67): looking for mysql 
as /usr/local/lib/dbmail/libmysql.so
Debug:[sql] dbmysql.c,db_query(+272): query [SHOW VARIABLES 
LIKE 'collation_%']
Debug:[sql] dbmysql.c,db_mysql_check_collations(+113): does 
[collation_database:koi8r_general_ci] match 
[collation_connection:koi8r_general_ci]?
Debug:[auth] authmodule.c,auth_load_driver(+63): looking for auth_sql 
as /usr/local/lib/dbmail/libauth_sql.so
Info:[serverchild] serverchild.c,select_and_accept(+223): waiting for 
connection
Message:[server] pool.c,scoreboard_state(+527): Scoreboard state: children 
[2/3], spares [1 (1 - 3)]
Debug:[lmtp] lmtp.c,lmtp(+259): incoming buffer: [mail from: <[EMAIL 
PROTECTED]>]
Debug:[lmtp] lmtp.c,lmtp(+273): command issued :cmd [mail], value [from: 
<[EMAIL PROTECTED]>]

Debug:[lmtp] lmtp.c,lmtp(+281): command looked up as commandtype 4
Info:[misc] misc.c,find_bounded(+338): Found [EMAIL PROTECTED] of length [14] 
between '<' and '>' so next skip [21]
Debug:[lmtp] lmtp.c,lmtp(+259): incoming buffer: [rcpt to: <[EMAIL PROTECTED]>]
Debug:[lmtp] lmtp.c,lmtp(+273): command issued :cmd [rcpt], value [to: 
<[EMAIL PROTECTED]>]

Debug:[lmtp] lmtp.c,lmtp(+281): command looked up as commandtype 9
Info:[misc] misc.c,find_bounded(+338): Found [EMAIL PROTECTED] of length [14] 
between '<' and '>' so next skip [19]
Debug:[dsn] dsn.c,dsnuser_init(+215): dsnuser initialized
Info:[dsn] dsn.c,dsnuser_resolve(+558): checking if [EMAIL PROTECTED] is a 
valid 
username, alias, or catchall.
Debug:[auth] authsql.c,auth_check_user_ext(+219): checking user [EMAIL 
PROTECTED] 
in alias table
Debug:[auth] authsql.c,auth_check_user_ext(+236): checks [0]
Debug:[sql] dbmysql.c,db_query(+272): query [SELECT deliver_to FROM 
dbmail_aliases WHERE lower(alias) = lower('[EMAIL PROTECTED]') AND lower(alias) 
<> 
lower(deliver_to)]
Debug:[auth] authsql.c,auth_check_user_ext(+270): into checking loop
Debug:[auth] authsql.c,auth_check_user_ext(+276): checking user [EMAIL 
PROTECTED] to 
2
Debug:[auth] authsql.c,auth_check_user_ext(+219): checking user [2] in alias 
table
Debug:[auth] authsql.c,auth_check_user_ext(+236): checks [1]
Debug:[sql] dbmysql.c,db_query(+272): query [SELECT deliver_to FROM 
dbmail_aliases WHERE lower(alias) = lower('2') AND lower(alias) <> 
lower(deliver_to)]
Debug:[auth] authsql.c,auth_check_user_ext(+258): adding [2] to deliver_to 
address
Debug:[dsn] dsn.c,address_has_alias(+262): user [EMAIL PROTECTED] found total 
of 
[1] aliases
Info:[dsn] dsn.c,dsnuser_resolve(+565): delivering [EMAIL PROTECTED] as an 
alias.
Debug:[lmtp] lmtp.c,lmtp(+259): incoming buffer: [data]
Debug:[lmtp] lmtp.c,lmtp(+281): command looked up as commandtype 3
Debug:[lmtp] lmtp.c,lmtp(+536): requesting sender to begin message.
Debug:[message] dbmail-message.c,_set_content_from_stream(+469): parse message
Debug:[lmtp] lmtp.c,lmtp(+567): whole message = Subject: test

test

Debug:[sql] dbmysql.c,db_query(+272): query [BEGIN]
Debug:[sql] dbmysql.c,db_query(+272): query [SELECT user_idnr FROM 
dbmail_users WHERE lower(userid) = lower('[EMAIL PROTECTED]@__')]
Debug:[misc] misc.c,create_unique_id(+109): created: 
b69bfddc7b32e1581ffc9bac833e5f12
Debug:[db] db.c,db_findmailbox(+2284): looking for mailbox with FQN [INBOX].
Debug:[sql] dbmysql.c,db_query(+272): query [SELECT mailbox_idnr FROM 
dbmail_mailboxes WHERE name LIKE 'INBOX' AND owner_idnr=1]
Debug:[db] db.c,db_find_create_mailbox(+3117): mailbox [INBOX] found
Debug:[sql] dbmysql.c,db_query(+272): query [INSERT INTO dbmail_physmessage 
(messagesize, internal_date) VALUES (0, CURRENT_TIMESTAMP)]
Debug:[sql] dbmysql.c,db_query(+272): query [INSERT INTO 
dbmail_messages(mailbox_idnr, physmessage_id, unique_id,recent_flag, status) 
VALUES (2, 35591, 'b69bfddc7b32e1581ffc9bac833e5f12', 1, 5)]
Debug:[sql] dbmysql.c,db_query(+272): query [SELECT physmessage_id FROM 
dbmail_messages WHERE message_idnr = 73958]
Debug:[sql] dbmysql.c,db_query(+272): query [INSERT INTO dbmail_messageblks 
(is_header, messageblk,blocksize, physmessage_id) VALUES (1,'Subject: 
test\nReturn-Path: [EMAIL PROTECTED]: 35591\nMessage-Id: 
<1162557405l.8018l.0l@(none)>\nMIME-Version: 1.0\n\n', 134, 35591)]
Debug:[message] dbmail-message.c,dbmail_message_store(+861): allocating 
[524288] bytes of memory for readblock
Debug:[delivery] pipe.c,store_message_in_blocks(+477): inserting message [test
]
Debug:[sql] dbmysql.c,db_query(+272): query [SELECT physmessage_id FROM 
dbmail_messages WHERE message_idnr = 73958]
Debug:[sql] dbmysql.c,db_query(+272): query [INSERT INTO dbmail_messageblks 
(is_header, messageblk,blocksize, physmessage_id) VALUES (0,'test\n', 5, 
35591)]
Debug:[sql] dbmysql.c,db_query(+272): query [UPDATE dbmail_messages SET 
unique_id = 'b69bfddc7b32e1581ffc9bac833e5f12', status = 0 WHERE message_idnr 
= 73958]
Debug:[sql] dbmysql.c,db_query(+272): query [SELECT physmessage_id FROM 
dbmail_messages WHERE message_idnr = 73958]
Debug:[sql] dbmysql.c,db_query(+272): query [UPDATE dbmail_physmessage SET 
messagesize = 139, rfcsize = 146 WHERE id = 35591]
Debug:[sql] dbmysql.c,db_query(+272): query [SELECT 
dbmail_mailboxes.owner_idnr FROM dbmail_mailboxes, dbmail_messages WHERE 
dbmail_mailboxes.mailbox_idnr = dbmail_messages.mailbox_idnr AND 
dbmail_messages.message_idnr = 73958]
Debug:[db] db.c,user_idnr_is_delivery_user_idnr(+4298): looking up user_idnr 
for [EMAIL PROTECTED]@__]
Debug:[sql] dbmysql.c,db_query(+272): query [SELECT user_idnr FROM 
dbmail_users WHERE lower(userid) = lower('[EMAIL PROTECTED]@__')]
Debug:[sql] dbmysql.c,db_query(+272): query [SELECT id FROM dbmail_headername 
WHERE headername='Subject']

That's all...

Output while running under valgrind (only part, can send all output):

Debug:[sql] dbmysql.c,db_query(+272): query [SELECT id FROM dbmail_headername 
WHERE headername='Subject']
==12601== Invalid read of size 1
==12601==    at 0x1B901478: strlen (mac_replace_strmem.c:243)
==12601==    by 0x1B923BDC: dm_stresc (misc.c:481)
==12601==    by 0x1B91227B: _header_cache (dbmail-message.c:1048)
==12601==    by 0x1BA70528: g_tree_foreach 
(in /usr/lib/libglib-2.0.so.0.1000.3)
==12601==    by 0x1B912D55: dbmail_message_cache_headers 
(dbmail-message.c:939)
==12601==    by 0x1B9130FC: dbmail_message_store (dbmail-message.c:871)
==12601==    by 0x1B92E1E0: insert_messages (pipe.c:541)
==12601==    by 0x8049821: main (main.c:336)
==12601==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==12601==
==12601== Process terminating with default action of signal 11 (SIGSEGV)




-- 
Oleg Lapshin

Reply via email to