Howdy. I was in the process of turning up a new dbmail install when I ran into a rather large problem. When I upload more than two messages from my local inbox onto the server via IMAP, the server spins in a tight loop and runs forever, which is something of a problem when I want to mass-migrate people from cyrus to dbmail via imap.

The problem seems to be that db_get_msgflag() and db_get_main_header() are getting called over and over, courtesy of _ic_fetch().

Below is a snippet of a log (trace level 5) with syslog bits removed. The first time this happened, I generated roughly 500GB of log data before I caught onto what was happening. Anyway, it looks like a loop condition isn't being satisfied or whatever the variable is that satisfies the condition, isn't being set. As I've said, I can reproduce this 100% of the time and it acts as quite the nice DoS. :)

I'm not adverse to attaching gdb to the backend or running with patches. I personally prefer to run with CVS HEAD once I become familiar with a piece of software. Anyway, thanks. -sc


SQL Log file:

[EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: statement: SELECT message_idnr FROM dbmail_messages WHERE mailbox_idnr = '1' AND status < '2' AND unique_id!='' AND recent_flag=1 [EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: duration: 0.911 ms [EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: statement: SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_
id AND msg.message_idnr = '120' ORDER BY block.messageblk_idnr
[EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: duration: 1.035 ms [EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: statement: SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_
id AND msg.message_idnr = '121' ORDER BY block.messageblk_idnr
[EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: duration: 1.076 ms [EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: statement: SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_
id AND msg.message_idnr = '122' ORDER BY block.messageblk_idnr
[EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: duration: 1.074 ms [EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: statement: SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_
id AND msg.message_idnr = '123' ORDER BY block.messageblk_idnr
[EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: duration: 1.098 ms [EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: statement: SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_
id AND msg.message_idnr = '124' ORDER BY block.messageblk_idnr
[EMAIL PROTECTED]: [local] 74227 2004-11-05 11:45:47 PST LOG: duration: 1.057 ms


dbmail-imap log:

IMAPClientHandler(): line read for PID 74220
COMMAND: [2 CAPABILITY]
IMAPClientHandler(): Executing command capability...
IMAPClientHandler(): Finished command capability
IMAPClientHandler(): line read for PID 74220
COMMAND: [3 APPEND INBOX (\Seen) "05-Nov-2004 00:47:43 -0800" {4323}]
imaputil.c,build_args_array_ext: last char = }
build_args_array_ext(): got extra line []
arg[0]: 'INBOX'
arg[1]: '('
arg[2]: '\Seen'
arg[3]: ')'
arg[4]: '05-Nov-2004 00:47:43 -0800'
arg[5]: 'Return-Path: <[EMAIL PROTECTED]> Received: from mail.example.com ([unix socket]) by mail.example.com (Cyrus v2.2.6) with LMTPA; Fri, 05 Nov 2004 00:47:43 -0800 X-Sieve: CMU Sieve 2.2 Received: from localhost (localhost [127.0.0.1]) by mail.example.com (Postfix) with ESMTP id C3F0BA1179 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 00:47:42 -0800 (PST) Received: from mail.example.com ([127.0.0.1]) by localhost (mx1.example.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 37725-02-2 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 00:47:41 -0800 (PST) Received: from elnino.fastxs.net (twister.fastxs.net [213.214.98.20]) by mail.example.com (Postfix) with ESMTP id 14633A1147 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 00:47:40 -0800 (PST) Received: from elnino (localhost [127.0.0.1]) by elnino.fastxs.net (Postfix) with ESMTP id DEAA91BECC; Fri, 5 Nov 2004 09:47:24 +0100 (CET) Received: from smtp-vbr14.xs4all.nl (smtp-v
IMAPClientHandler(): Executing command append...
db.c,db_findmailbox: looking for mailbox with FQN [INBOX].
dbpgsql.c,db_query: executing query [SELECT mailbox_idnr FROM dbmail_mailboxes WHERE name='INBOX' AND owner_idnr='3']
ic_append(): mailbox [INBOX] found, id: 1
db.c,db_acl_has_right: checking ACL for user [3] on mailbox [1]
dbpgsql.c,db_query: executing query [SELECT mailbox_idnr FROM dbmail_mailboxes WHERE mailbox_idnr = '1' AND owner_idnr = '3']
ic_append(): flag list found:
(
\Seen
)
imapcommands.c,_ic_append: Seen set
db.c,db_acl_has_right: checking ACL for user [3] on mailbox [1]
dbpgsql.c,db_query: executing query [SELECT mailbox_idnr FROM dbmail_mailboxes WHERE mailbox_idnr = '1' AND owner_idnr = '3'] ic_append(): internal date [2004-11-05 00:47:43] found, next arg [Return-Path: <[EMAIL PROTECTED]> Received: from mail.example.com ([unix socket]) by mail.example.com (Cyrus v2.2.6) with LMTPA; Fri, 05 Nov 2004 00:47:43 -0800 X-Sieve: CMU Sieve 2.2 Received: from localhost (localhost [127.0.0.1]) by mail.example.com (Postfix) with ESMTP id C3F0BA1179 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 00:47:42 -0800 (PST) Received: from mail.example.com ([127.0.0.1]) by localhost (mx1.example.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 37725-02-2 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 00:47:41 -0800 (PST) Received: from elnino.fastxs.net (twister.fastxs.net [213.214.98.20]) by mail.example.com (Postfix) with ESMTP id 14633A1147 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 00:47:40 -0800 (PST) Received: from elnino (localhost [127.0.0.1]) by elnino.fastxs.net (Postfix) with ESMTP id DEAA91BECC; Fri, 5 Nov 2004 09:47:2 dbpgsql.c,db_query: executing query [SELECT 1 FROM dbmail_users WHERE user_idnr = '3' AND (maxmail_size > 0) AND (curmail_size + '4234' > maxmail_size)] dbpgsql.c,db_query: executing query [INSERT INTO dbmail_physmessage (messagesize, internal_date) VALUES ('0', TO_TIMESTAMP('2004-11-05 00:47:43', 'YYYY-MM-DD HH:MI:SS'))] dbpgsql.c,db_query: executing query [SELECT currval('dbmail_physmessage_id_seq')] dbpgsql.c,db_query: executing query [INSERT INTO dbmail_messages (mailbox_idnr, physmessage_id, unique_id, status,recent_flag) VALUES ('1', '56', '', '1', '1')] dbpgsql.c,db_query: executing query [SELECT currval('dbmail_message_idnr_seq')] dbpgsql.c,db_query: executing query [INSERT INTO dbmail_messageblks(messageblk,blocksize, physmessage_id) VALUES ('Return-Path: <[EMAIL PROTECTED]> Received: from mail.example.com ([unix socket]) by mail.example.com (Cyrus v2.2.6) with LMTPA; Fri, 05 Nov 2004 00:47:43 -0800 X-Sieve: CMU Sieve 2.2 Received: from localhost (localhost [127.0.0.1]) by mail.example.com (Postfix) with ESMTP id C3F0BA1179 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 00:47:42 -0800 (PST) Received: from mail.example.com ([127.0.0.1]) by localhost (mx1.example.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 37725-02-2 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 00:47:41 -0800 (PST) Received: from elnino.fastxs.net (twister.fastxs.net [213.214.98.20]) by mail.example.com (Postfix) with ESMTP id 14633A1147 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 00:47:40 -0800 (PST) Received: from elnino (localhost [127.0.0.1]) by elnino.fastxs.net (Postfix) wi dbpgsql.c,db_query: executing query [SELECT currval('dbmail_messageblk_idnr_seq')] dbpgsql.c,db_query: executing query [INSERT INTO dbmail_messageblks(messageblk,blocksize, physmessage_id) VALUES (' Aaron Stone wrote: > This might be important if you''re searching for uncommon headers. Of > course, uncommon headers probably also mean that they''re uncommonly > searched for... Don''t count on it. Offlineimap is a common client for syncing imap-instances. It uses it''s own header-type where both key and value are unique per message: X-OfflineIMAP-901701146-4c6f63616c4d69726a616d-494e424f58: 1086726519-0790956581151 -- ________________________________________________________________ Paul Stevens [EMAIL PROTECTED] NET FACILITIES GROUP GPG/PGP: 1024D/11F8CD31 The Netherlands_______________________________________www.nfg.nl _______________________________________________ Dbmail-dev mailing list [email protected] http://twister.fastxs.net/mailman/listinfo/dbmail-dev ', '849', '56' dbpgsql.c,db_query: executing query [SELECT currval('dbmail_messageblk_idnr_seq')] dbpgsql.c,db_query: executing query [UPDATE dbmail_physmessage SET messagesize = '4234', rfcsize = '0' WHERE id = '56']
misc.c,create_unique_id: created: abc6c1fcce9742e35dd0fa76d6a9f62f
dbpgsql.c,db_query: executing query [UPDATE dbmail_messages SET unique_id = 'abc6c1fcce9742e35dd0fa76d6a9f62f', status = '0' WHERE message_idnr = '124']
db.c,db_add_quotum_used: adding 4234 to mailsize
db.c.user_idnr_is_delivery_user_idnr: looking up user_idnr for [EMAIL PROTECTED]@__ dbpgsql.c,db_query: executing query [SELECT user_idnr FROM dbmail_users WHERE userid='[EMAIL PROTECTED]@__'] dbpgsql.c,db_query: executing query [UPDATE dbmail_users SET curmail_size = curmail_size + '4234' WHERE user_idnr = '3'] dbpgsql.c,db_free_result: trying to free a result set that is already NULL! dbpgsql.c,db_query: executing query [UPDATE dbmail_messages SET seen_flag=1 WHERE message_idnr BETWEEN '124' AND '124' AND status < '2' AND mailbox_idnr = '1']
IMAPClientHandler(): Finished command append
IMAPClientHandler(): line read for PID 74220
COMMAND: [4 EXAMINE INBOX]
arg[0]: 'INBOX'
IMAPClientHandler(): Executing command examine...
db.c,db_findmailbox: looking for mailbox with FQN [INBOX].
dbpgsql.c,db_query: executing query [SELECT mailbox_idnr FROM dbmail_mailboxes WHERE name='INBOX' AND owner_idnr='3']
db.c,db_acl_has_right: checking ACL for user [3] on mailbox [1]
dbpgsql.c,db_query: executing query [SELECT mailbox_idnr FROM dbmail_mailboxes WHERE mailbox_idnr = '1' AND owner_idnr = '3'] dbpgsql.c,db_query: executing query [SELECT no_select FROM dbmail_mailboxes WHERE mailbox_idnr = '1'] dbpgsql.c,db_query: executing query [SELECT permission,seen_flag,answered_flag,deleted_flag,flagged_flag,recent_flag ,draft_flag FROM dbmail_mailboxes WHERE mailbox_idnr = '1'] dbpgsql.c,db_query: executing query [SELECT message_idnr, seen_flag, recent_flag FROM dbmail_messages WHERE mailbox_idnr = '1' AND status < '2' AND unique_id != '' ORDER BY message_idnr ASC] dbpgsql.c,db_query: executing query [SELECT MAX(message_idnr) FROM dbmail_messages WHERE unique_id != '']
IMAPClientHandler(): Finished command examine
IMAPClientHandler(): line read for PID 74220
COMMAND: [5 UID SEARCH RECENT HEADER MESSAGE-ID <[EMAIL PROTECTED]>]
arg[0]: 'SEARCH'
arg[1]: 'RECENT'
arg[2]: 'HEADER'
arg[3]: 'MESSAGE-ID'
arg[4]: '<[EMAIL PROTECTED]>'
IMAPClientHandler(): Executing command uid...
db.c,db_acl_has_right: checking ACL for user [3] on mailbox [1]
dbpgsql.c,db_query: executing query [SELECT mailbox_idnr FROM dbmail_mailboxes WHERE mailbox_idnr = '1' AND owner_idnr = '3'] dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '120' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 60 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 3700, 583, 583
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '121' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 62 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4835, 1694, 1694
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '122' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 56 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4814, 1867, 1867
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '123' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 54 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4086, 1399, 1399
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '124' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 67 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4234, 849, 849
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT message_idnr FROM dbmail_messages WHERE mailbox_idnr = '1' AND status < '2' AND unique_id!='' AND recent_flag=1]
IMAPClientHandler(): Finished command uid
IMAPClientHandler(): line read for PID 74220
COMMAND: [6 APPEND INBOX (\Seen) "05-Nov-2004 02:05:06 -0800" {3976}]
imaputil.c,build_args_array_ext: last char = }
build_args_array_ext(): got extra line []
arg[0]: 'INBOX'
arg[1]: '('
arg[2]: '\Seen'
arg[3]: ')'
arg[4]: '05-Nov-2004 02:05:06 -0800'
arg[5]: 'Return-Path: <[EMAIL PROTECTED]> Received: from mail.example.com ([unix socket]) by mail.example.com (Cyrus v2.2.6) with LMTPA; Fri, 05 Nov 2004 02:05:06 -0800 X-Sieve: CMU Sieve 2.2 Received: from localhost (localhost [127.0.0.1]) by mail.example.com (Postfix) with ESMTP id F0946A1045 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 02:05:05 -0800 (PST) Received: from mail.example.com ([127.0.0.1]) by localhost (mx1.example.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 44654-04 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 02:05:04 -0800 (PST) Received: from elnino.fastxs.net (twister.fastxs.net [213.214.98.20]) by mail.example.com (Postfix) with ESMTP id 21335A1041 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 02:05:03 -0800 (PST) Received: from elnino (localhost [127.0.0.1]) by elnino.fastxs.net (Postfix) with ESMTP id 979901BD8B; Fri, 5 Nov 2004 11:04:44 +0100 (CET) Received: from geht-schon.de (games.geht-schon
IMAPClientHandler(): Executing command append...
db.c,db_findmailbox: looking for mailbox with FQN [INBOX].
dbpgsql.c,db_query: executing query [SELECT mailbox_idnr FROM dbmail_mailboxes WHERE name='INBOX' AND owner_idnr='3']
ic_append(): mailbox [INBOX] found, id: 1
db.c,db_acl_has_right: checking ACL for user [3] on mailbox [1]
dbpgsql.c,db_query: executing query [SELECT mailbox_idnr FROM dbmail_mailboxes WHERE mailbox_idnr = '1' AND owner_idnr = '3']
ic_append(): flag list found:
(
\Seen
)
imapcommands.c,_ic_append: Seen set
db.c,db_acl_has_right: checking ACL for user [3] on mailbox [1]
dbpgsql.c,db_query: executing query [SELECT mailbox_idnr FROM dbmail_mailboxes WHERE mailbox_idnr = '1' AND owner_idnr = '3'] ic_append(): internal date [2004-11-05 02:05:06] found, next arg [Return-Path: <[EMAIL PROTECTED]> Received: from mail.example.com ([unix socket]) by mail.example.com (Cyrus v2.2.6) with LMTPA; Fri, 05 Nov 2004 02:05:06 -0800 X-Sieve: CMU Sieve 2.2 Received: from localhost (localhost [127.0.0.1]) by mail.example.com (Postfix) with ESMTP id F0946A1045 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 02:05:05 -0800 (PST) Received: from mail.example.com ([127.0.0.1]) by localhost (mx1.example.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 44654-04 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 02:05:04 -0800 (PST) Received: from elnino.fastxs.net (twister.fastxs.net [213.214.98.20]) by mail.example.com (Postfix) with ESMTP id 21335A1041 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 02:05:03 -0800 (PST) Received: from elnino (localhost [127.0.0.1]) by elnino.fastxs.net (Postfix) with ESMTP id 979901BD8B; Fri, 5 Nov 2004 11:04:44 + dbpgsql.c,db_query: executing query [SELECT 1 FROM dbmail_users WHERE user_idnr = '3' AND (maxmail_size > 0) AND (curmail_size + '3889' > maxmail_size)] dbpgsql.c,db_query: executing query [INSERT INTO dbmail_physmessage (messagesize, internal_date) VALUES ('0', TO_TIMESTAMP('2004-11-05 02:05:06', 'YYYY-MM-DD HH:MI:SS'))] dbpgsql.c,db_query: executing query [SELECT currval('dbmail_physmessage_id_seq')] dbpgsql.c,db_query: executing query [INSERT INTO dbmail_messages (mailbox_idnr, physmessage_id, unique_id, status,recent_flag) VALUES ('1', '57', '', '1', '1')] dbpgsql.c,db_query: executing query [SELECT currval('dbmail_message_idnr_seq')] dbpgsql.c,db_query: executing query [INSERT INTO dbmail_messageblks(messageblk,blocksize, physmessage_id) VALUES ('Return-Path: <[EMAIL PROTECTED]> Received: from mail.example.com ([unix socket]) by mail.example.com (Cyrus v2.2.6) with LMTPA; Fri, 05 Nov 2004 02:05:06 -0800 X-Sieve: CMU Sieve 2.2 Received: from localhost (localhost [127.0.0.1]) by mail.example.com (Postfix) with ESMTP id F0946A1045 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 02:05:05 -0800 (PST) Received: from mail.example.com ([127.0.0.1]) by localhost (mx1.example.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 44654-04 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 02:05:04 -0800 (PST) Received: from elnino.fastxs.net (twister.fastxs.net [213.214.98.20]) by mail.example.com (Postfix) with ESMTP id 21335A1041 for <[EMAIL PROTECTED]>; Fri, 5 Nov 2004 02:05:03 -0800 (PST) Received: from elnino (localhost [127.0.0.1]) by elnino.fastxs.net (Postfix) with dbpgsql.c,db_query: executing query [SELECT currval('dbmail_messageblk_idnr_seq')] dbpgsql.c,db_query: executing query [INSERT INTO dbmail_messageblks(messageblk,blocksize, physmessage_id) VALUES ('Hi Paul, > >This might be important if you''re searching for uncommon headers. Of > >course, uncommon headers probably also mean that they''re uncommonly > >searched for... > > Don''t count on it. Offlineimap is a common client for syncing > imap-instances. It uses it''s own header-type where both key and value are > unique per message: > > X-OfflineIMAP-901701146-4c6f63616c4d69726a616d-494e424f58: > 1086726519-0790956581151 Searches for p.e. X-Spam-Status are quite common too. Aaron: more returned rows make a real difference if the imapd and database are on different hosts. The point I don''t see in this discussion is: where is the problem using the is_header column even if that requires running a script or program in the 2.0 series? The database structure stays the same, people don''t need to change any software, they can switch between old and dbpgsql.c,db_query: executing query [SELECT currval('dbmail_messageblk_idnr_seq')] dbpgsql.c,db_query: executing query [UPDATE dbmail_physmessage SET messagesize = '3889', rfcsize = '0' WHERE id = '57']
misc.c,create_unique_id: created: c83ba014b978f69158c32de62e627bb5
dbpgsql.c,db_query: executing query [UPDATE dbmail_messages SET unique_id = 'c83ba014b978f69158c32de62e627bb5', status = '0' WHERE message_idnr = '125']
db.c,db_add_quotum_used: adding 3889 to mailsize
db.c.user_idnr_is_delivery_user_idnr: no need to look up user_idnr for [EMAIL PROTECTED]@__ dbpgsql.c,db_query: executing query [UPDATE dbmail_users SET curmail_size = curmail_size + '3889' WHERE user_idnr = '3'] dbpgsql.c,db_free_result: trying to free a result set that is already NULL! dbpgsql.c,db_query: executing query [UPDATE dbmail_messages SET seen_flag=1 WHERE message_idnr BETWEEN '125' AND '125' AND status < '2' AND mailbox_idnr = '1']
IMAPClientHandler(): Finished command append
IMAPClientHandler(): line read for PID 74220
COMMAND: [7 UID SEARCH RECENT HEADER MESSAGE-ID <[EMAIL PROTECTED]>]
arg[0]: 'SEARCH'
arg[1]: 'RECENT'
arg[2]: 'HEADER'
arg[3]: 'MESSAGE-ID'
arg[4]: '<[EMAIL PROTECTED]>'
IMAPClientHandler(): Executing command uid...
db.c,db_acl_has_right: checking ACL for user [3] on mailbox [1]
dbpgsql.c,db_query: executing query [SELECT mailbox_idnr FROM dbmail_mailboxes WHERE mailbox_idnr = '1' AND owner_idnr = '3'] dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '120' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 60 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 3700, 583, 583
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '121' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 62 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4835, 1694, 1694
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '122' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 56 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4814, 1867, 1867
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '123' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 54 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4086, 1399, 1399
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '124' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 67 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4234, 849, 849
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT message_idnr FROM dbmail_messages WHERE mailbox_idnr = '1' AND status < '2' AND unique_id!='' AND recent_flag=1] dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '120' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 60 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 3700, 583, 583
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '121' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 62 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4835, 1694, 1694
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '122' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 56 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4814, 1867, 1867
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '123' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 54 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4086, 1399, 1399
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '124' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 67 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4234, 849, 849
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT message_idnr FROM dbmail_messages WHERE mailbox_idnr = '1' AND status < '2' AND unique_id!='' AND recent_flag=1] dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '120' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 60 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 3700, 583, 583
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '121' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 62 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4835, 1694, 1694
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '122' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 56 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4814, 1867, 1867
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '123' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 54 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4086, 1399, 1399
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '124' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 67 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4234, 849, 849
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT message_idnr FROM dbmail_messages WHERE mailbox_idnr = '1' AND status < '2' AND unique_id!='' AND recent_flag=1] dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '120' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 60 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 3700, 583, 583
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '121' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 62 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4835, 1694, 1694
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '122' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 56 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4814, 1867, 1867
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '123' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 54 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4086, 1399, 1399
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '124' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 67 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 4234, 849, 849
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit
dbpgsql.c,db_query: executing query [SELECT message_idnr FROM dbmail_messages WHERE mailbox_idnr = '1' AND status < '2' AND unique_id!='' AND recent_flag=1] dbpgsql.c,db_query: executing query [SELECT block.messageblk FROM dbmail_messageblks block, dbmail_messages msg WHERE block.physmessage_id = msg.physmessage_id AND msg.message_idnr = '120' ORDER BY block.messageblk_idnr]
db_start_msg(): starting, stopbound: '<null>'
mime_readheader(): entering mime loop
mime_readheader(): found double newline; header size: 60 lines
db_start_msg(): found singlepart msg
dbmsgbuf.c,db_update_msgbuf: update msgbuf_buf updating 131072, 3700, 583, 583
dbmsgbuf.c,db_update_msgbuf: update msgbuf: entire fit
dbmsgbuf.c,db_update_msgbuf update msgbuf succes NOMORE
db_start_msg(): exit



--
Sean Chittenden

Reply via email to