Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 55726 Details for
Bug 22331
net-mail/dbmail (new package)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
dbmail-2.0.4-01_quota.patch
dbmail-2.0.4-01_quota.patch (text/plain), 4.99 KB, created by
Richard Westwell
on 2005-04-08 17:49:10 UTC
(
hide
)
Description:
dbmail-2.0.4-01_quota.patch
Filename:
MIME Type:
Creator:
Richard Westwell
Created:
2005-04-08 17:49:10 UTC
Size:
4.99 KB
patch
obsolete
>diff -Naur dbmail-2.0.4.org/pipe.c dbmail-2.0.4/pipe.c >--- dbmail-2.0.4.org/pipe.c 2005-03-14 11:54:00.000000000 +0000 >+++ dbmail-2.0.4/pipe.c 2005-04-09 00:50:11.000000000 +0000 >@@ -553,12 +553,11 @@ > } > > /* Loop through the users list. */ >- for (element = list_getstart(dsnusers); element != NULL; >- element = element->nextnode) { >+ for (element = list_getstart(dsnusers); element != NULL; element = element->nextnode) { > struct element *userid_elem; > int has_2 = 0, has_4 = 0, has_5 = 0, has_5_2 = 0; >- deliver_to_user_t *delivery = >- (deliver_to_user_t *) element->data; >+ deliver_to_user_t *delivery = (deliver_to_user_t *) element->data; >+ dsn_class_t dsn_result; > > /* If there was already an error during resolving, > * let's skip this delivery. */ >@@ -571,37 +570,36 @@ > userid_elem != NULL; > userid_elem = userid_elem->nextnode) { > u64_t useridnr = *(u64_t *) userid_elem->data; >+ > trace(TRACE_DEBUG, > "%s, %s: calling sort_and_deliver for useridnr [%llu]", > __FILE__, __func__, useridnr); > >- switch (sort_and_deliver(tmpmsgidnr, >- header, headersize, >- msgsize, rfcsize, >- useridnr, >- delivery->mailbox)) { >- case SORT_SUCCESS: >+ dsn_result = sort_and_deliver(tmpmsgidnr, msgsize, useridnr, delivery->mailbox); >+ >+ switch (dsn_result) { >+ case DSN_CLASS_OK: > /* Indicate success. */ > trace(TRACE_DEBUG, > "%s, %s: successful sort_and_deliver for useridnr [%llu]", > __FILE__, __func__, useridnr); > has_2 = 1; > break; >- case SORT_FAILURE: >+ case DSN_CLASS_FAIL: > /* Indicate permanent failure. */ > trace(TRACE_ERROR, > "%s, %s: permanent failure sort_and_deliver for useridnr [%llu]", > __FILE__, __func__, useridnr); > has_5 = 1; > break; >- case SORT_OVER_QUOTA: >+ case DSN_CLASS_QUOTA: > /* Indicate over quota. */ > trace(TRACE_ERROR, > "%s, %s: temporary failure sort_and_deliver for useridnr [%llu]", > __FILE__, __func__, useridnr); > has_5_2 = 1; > break; >- case SORT_WEIRD_ERROR: >+ case DSN_CLASS_TEMP: > default: > /* Assume a temporary failure */ > trace(TRACE_ERROR, >diff -Naur dbmail-2.0.4.org/sort/sort.c dbmail-2.0.4/sort/sort.c >--- dbmail-2.0.4.org/sort/sort.c 2005-03-14 11:54:00.000000000 +0000 >+++ dbmail-2.0.4/sort/sort.c 2005-04-09 00:58:54.000000000 +0000 >@@ -46,61 +46,40 @@ > #include <unistd.h> > #include "dbmd5.h" > #include "misc.h" >+#include "dsn.h" > > #ifdef SIEVE > #include "sortsieve.h" > #endif > >-/* Run the user's sorting rules on this message >- * Retrieve the action list as either >- * a linked list of things to do, or a >- * single thing to do. Not sure yet... >- * >- * Then do it! >- * */ >-dsn_class_t sort_and_deliver(u64_t msgidnr, >- const char *header UNUSED, >- u64_t headersize UNUSED, >- u64_t totalmsgsize, >- u64_t totalrfcsize UNUSED, >- u64_t useridnr UNUSED, >- const char *mailbox) >+dsn_class_t sort_and_deliver(u64_t msgidnr, u64_t msgsize, u64_t useridnr, const char *mailbox) > { > u64_t mboxidnr, newmsgidnr; > > if (mailbox == NULL) > mailbox = "INBOX"; > >- /* There used to be code that handled the result >- * actions of a Sieve script. Since it wasn't being >- * used as of DBMail 2.0.3, I pulled it out. >- * Aaron Stone, 21 Jan 2005. */ >- >- /* Did we fail to create the mailbox? */ > if (db_find_create_mailbox(mailbox, useridnr, &mboxidnr) != 0) { >- /* Serious failure situation! */ > trace(TRACE_ERROR, "sort_and_deliver(): INBOX not found and could not be created."); >- return SORT_FAILURE; >+ return DSN_CLASS_FAIL; > } else { > switch (db_copymsg(msgidnr, mboxidnr, useridnr, &newmsgidnr)) { > case -2: >- /* Couldn't deliver because the quotum is exceeded. */ > trace(TRACE_MESSAGE, "%s, %s: error copying message to user [%llu]," > "maxmail exceeded", > __FILE__, __func__, > useridnr); >- return SORT_OVER_QUOTA; >+ return DSN_CLASS_QUOTA; > case -1: >- /* Couldn't deliver because something something went wrong. */ > trace(TRACE_ERROR, "%s, %s: error copying message to user [%llu]", > __FILE__, __func__, > useridnr); >- return SORT_WEIRD_ERROR; >+ return DSN_CLASS_TEMP; > default: > trace(TRACE_MESSAGE, "%s, %s: message id=%llu, size=%llu is inserted", > __FILE__, __func__, >- newmsgidnr, totalmsgsize); >- return SORT_SUCCESS; >+ newmsgidnr, msgsize); >+ return DSN_CLASS_OK; > } > } > } >diff -Naur dbmail-2.0.4.org/sort.h dbmail-2.0.4/sort.h >--- dbmail-2.0.4.org/sort.h 2005-03-14 11:54:00.000000000 +0000 >+++ dbmail-2.0.4/sort.h 2005-04-09 01:01:14.000000000 +0000 >@@ -46,16 +46,6 @@ > char *message; > } sort_action_t; > >-typedef enum { >- SORT_SUCCESS = 0, >- SORT_OVER_QUOTA, >- SORT_WEIRD_ERROR, >- SORT_FAILURE >-} sort_result_t; >- >-sort_result_t sort_and_deliver(u64_t msgidnr, >- const char *header, u64_t headersize, >- u64_t msgsize, u64_t rfcsize, >- u64_t useridnr, const char *mailbox); >+dsn_class_t sort_and_deliver(u64_t msgidnr, u64_t msgsize, u64_t useridnr, const char *mailbox); > > #endif /* #ifndef _SORTING_H */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 22331
:
12873
|
20450
|
20451
|
31141
|
31146
|
31147
|
31148
|
41784
|
41785
|
41952
|
42440
|
45764
|
45765
|
45766
|
48551
|
55725
|
55726
|
55727
|
55728
|
61730
|
67162
|
67177
|
67609
|
67610
|
70257
|
93954