Projects
Kolab:3.4
cyrus-imapd
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 128
View file
working-diff.patch
Changed
@@ -1,16 +1,230 @@ +diff --git a/imap/append.c b/imap/append.c +index d670d7a..ad94e4d 100644 +--- a/imap/append.c ++++ b/imap/append.c +@@ -1012,7 +1012,7 @@ out: + * present in body structure ? */ + mboxevent_extract_record(mboxevent, mailbox, &record); + mboxevent_extract_mailbox(mboxevent, mailbox); +- mboxevent_set_access(mboxevent, NULL, NULL, as->userid, as->mailbox->name); ++ mboxevent_set_access(mboxevent, NULL, NULL, as->userid, as->mailbox->name, 1); + mboxevent_set_numunseen(mboxevent, mailbox, -1); + + return 0; +@@ -1124,7 +1124,7 @@ out: + * present in body structure */ + mboxevent_extract_record(mboxevent, mailbox, &record); + mboxevent_extract_mailbox(mboxevent, mailbox); +- mboxevent_set_access(mboxevent, NULL, NULL, as->userid, as->mailbox->name); ++ mboxevent_set_access(mboxevent, NULL, NULL, as->userid, as->mailbox->name, 1); + mboxevent_set_numunseen(mboxevent, mailbox, -1); + + return 0; +@@ -1327,7 +1327,7 @@ out: + } + + mboxevent_extract_mailbox(mboxevent, as->mailbox); +- mboxevent_set_access(mboxevent, NULL, NULL, as->userid, as->mailbox->name); ++ mboxevent_set_access(mboxevent, NULL, NULL, as->userid, as->mailbox->name, 0); + mboxevent_set_numunseen(mboxevent, as->mailbox, -1); + + return 0; diff --git a/imap/imapd.c b/imap/imapd.c -index 75d16df..7ae7f5e 100644 +index c83578e..7ae7f5e 100644 --- a/imap/imapd.c +++ b/imap/imapd.c @@ -976,7 +976,7 @@ int service_main(int argc __attribute__((unused)), /* send a Logout event notification */ if ((mboxevent = mboxevent_new(EVENT_LOGOUT))) { mboxevent_set_access(mboxevent, saslprops.iplocalport, -- saslprops.ipremoteport, imapd_userid, NULL, 0); +- saslprops.ipremoteport, imapd_userid, NULL); + saslprops.ipremoteport, imapd_userid, NULL, 1); mboxevent_notify(mboxevent); mboxevent_free(&mboxevent); +@@ -2312,7 +2312,7 @@ static void authentication_success(void) + /* send a Login event notification */ + if ((mboxevent = mboxevent_new(EVENT_LOGIN))) { + mboxevent_set_access(mboxevent, saslprops.iplocalport, +- saslprops.ipremoteport, imapd_userid, NULL); ++ saslprops.ipremoteport, imapd_userid, NULL, 1); + + mboxevent_notify(mboxevent); + mboxevent_free(&mboxevent); +diff --git a/imap/index.c b/imap/index.c +index bbbdf35..285f921 100644 +--- a/imap/index.c ++++ b/imap/index.c +@@ -419,7 +419,7 @@ EXPORTED int index_expunge(struct index_state *state, char *sequence, + seqset_free(seq); + + mboxevent_extract_mailbox(mboxevent, state->mailbox); +- mboxevent_set_access(mboxevent, NULL, NULL, state->userid, state->mailbox->name); ++ mboxevent_set_access(mboxevent, NULL, NULL, state->userid, state->mailbox->name, 1); + mboxevent_set_numunseen(mboxevent, state->mailbox, state->numunseen); + + /* unlock before responding */ +@@ -1116,7 +1116,7 @@ EXPORTED int index_fetch(struct index_state *state, + } + + mboxevent_extract_mailbox(mboxevent, state->mailbox); +- mboxevent_set_access(mboxevent, NULL, NULL, state->userid, state->mailbox->name); ++ mboxevent_set_access(mboxevent, NULL, NULL, state->userid, state->mailbox->name, 1); + mboxevent_set_numunseen(mboxevent, state->mailbox, + state->numunseen); + } +@@ -1267,10 +1267,10 @@ EXPORTED int index_store(struct index_state *state, char *sequence, + * and FlagsSet events */ + mboxevent_extract_mailbox(flagsset, mailbox); + mboxevent_set_numunseen(flagsset, mailbox, state->numunseen); +- mboxevent_set_access(flagsset, NULL, NULL, state->userid, state->mailbox->name); ++ mboxevent_set_access(flagsset, NULL, NULL, state->userid, state->mailbox->name, 1); + + mboxevent_extract_mailbox(flagsclear, mailbox); +- mboxevent_set_access(flagsclear, NULL, NULL, state->userid, state->mailbox->name); ++ mboxevent_set_access(flagsclear, NULL, NULL, state->userid, state->mailbox->name, 1); + mboxevent_set_numunseen(flagsclear, mailbox, state->numunseen); + + mboxevent_notify(mboxevents); +diff --git a/imap/lmtpd.c b/imap/lmtpd.c +index 8c6635a..0a29663 100644 +--- a/imap/lmtpd.c ++++ b/imap/lmtpd.c +@@ -814,6 +814,9 @@ int deliver_local(deliver_data_t *mydata, const strarray_t *flags, + + *tail = '\0'; + ++ // However, the rest of this stuff knows little about what authn/authz understands ++ mboxname_hiersep_tointernal(&lmtpd_namespace, username, config_virtdomains ? strcspn(username, "@") : 0); ++ + ret = deliver_mailbox(md->f, mydata->content, mydata->stage, + md->size, flags, + (char *) username, authstate, md->id, +@@ -909,6 +912,7 @@ int deliver(message_data_t *msgdata, char *authuser, + } + } + ++ mboxname_hiersep_toexternal(&lmtpd_namespace, userbuf, config_virtdomains ? strcspn(userbuf, "@") : 0); + telemetry_rusage(userbuf); + + msg_setrcpt_status(msgdata, n, r); +diff --git a/imap/mboxevent.c b/imap/mboxevent.c +index d7eb30f..ec26662 100644 +--- a/imap/mboxevent.c ++++ b/imap/mboxevent.c +@@ -618,7 +618,8 @@ void mboxevent_add_flag(struct mboxevent *event, const char *flag) + + EXPORTED void mboxevent_set_access(struct mboxevent *event, + const char *serveraddr, const char *clientaddr, +- const char *userid, const char *mailboxname) ++ const char *userid, const char *mailboxname, ++ const int ext_name) + { + char url[MAX_MAILBOX_PATH+1]; + struct imapurl imapurl; +@@ -673,7 +674,7 @@ EXPORTED void mboxevent_set_access(struct mboxevent *event, + if (userid && mboxevent_expected_param(event->type, EVENT_USER)) { + /* translate any separators in user */ + userbuf = xstrdup(userid); +- if (userbuf != NULL) ++ if (userbuf != NULL && ext_name) + mboxname_hiersep_toexternal(&namespace, userbuf, + config_virtdomains ? strcspn(userbuf, "@") : 0); + +@@ -1314,7 +1315,8 @@ EXPORTED void mboxevent_set_access(struct mboxevent *event __attribute__((unused + const char *serveraddr __attribute__((unused)), + const char *clientaddr __attribute__((unused)), + const char *userid __attribute__((unused)), +- const char *mailboxname __attribute__((unused))) ++ const char *mailboxname __attribute__((unused)), ++ const int ext_name __attribute__((unused))) + { + } + +diff --git a/imap/mboxevent.h b/imap/mboxevent.h +index d8096d0..7f8ec94 100644 +--- a/imap/mboxevent.h ++++ b/imap/mboxevent.h +@@ -223,7 +223,7 @@ void mboxevent_add_flag(struct mboxevent *event, const char *flag); + */ + void mboxevent_set_access(struct mboxevent *event, + const char *serveraddr, const char *clientaddr, +- const char *userid, const char *mailboxname); ++ const char *userid, const char *mailboxname, const int ext_name); + + /* + * Shortcut to setting event notification parameters +diff --git a/imap/mboxlist.c b/imap/mboxlist.c +index 59cb5ef..a81d2de 100644 +--- a/imap/mboxlist.c ++++ b/imap/mboxlist.c +@@ -954,7 +954,7 @@ EXPORTED int mboxlist_createmailbox(const char *name, int mbtype, + /* send a MailboxCreate event notification */ + struct mboxevent *mboxevent = mboxevent_new(EVENT_MAILBOX_CREATE); + mboxevent_extract_mailbox(mboxevent, mailbox); +- mboxevent_set_access(mboxevent, NULL, NULL, userid, mailbox->name); ++ mboxevent_set_access(mboxevent, NULL, NULL, userid, mailbox->name, 1); + + mboxevent_notify(mboxevent); + mboxevent_free(&mboxevent); +@@ -1296,7 +1296,7 @@ EXPORTED int mboxlist_deletemailbox(const char *name, int isadmin, + /* only on a real delete do we delete from the remote end as well */ + sync_log_unmailbox(mailbox->name); + mboxevent_extract_mailbox(mboxevent, mailbox); +- mboxevent_set_access(mboxevent, NULL, NULL, userid, mailbox->name); ++ mboxevent_set_access(mboxevent, NULL, NULL, userid, mailbox->name, 1); + + r = mailbox_delete(&mailbox); + /* abort event notification */ +@@ -1554,7 +1554,7 @@ EXPORTED int mboxlist_renamemailbox(const char *oldname, const char *newname, + mboxevent_extract_mailbox(mboxevent, newmailbox); + mboxevent_extract_old_mailbox(mboxevent, oldmailbox); + } +- mboxevent_set_access(mboxevent, NULL, NULL, userid, newmailbox->name); ++ mboxevent_set_access(mboxevent, NULL, NULL, userid, newmailbox->name, 1); + } + + mailbox_rename_cleanup(&oldmailbox, isusermbox); +@@ -1862,7 +1862,7 @@ EXPORTED int mboxlist_setacl(struct namespace *namespace, const char *name, + struct mboxevent *mboxevent = mboxevent_new(EVENT_ACL_CHANGE); + mboxevent_extract_mailbox(mboxevent, mailbox); + mboxevent_set_acl(mboxevent, identifier, rights); +- mboxevent_set_access(mboxevent, NULL, NULL, userid, mailbox->name); ++ mboxevent_set_access(mboxevent, NULL, NULL, userid, mailbox->name, 1); + + mboxevent_notify(mboxevent); + mboxevent_free(&mboxevent); +@@ -3670,7 +3670,7 @@ EXPORTED int mboxlist_changesub(const char *name, const char *userid,
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.