[#10772] Kronolith incorrectly refuses to update attendee upon response
Summary Kronolith incorrectly refuses to update attendee upon response
Queue IMP
Queue Version Git master
Type Bug
State Resolved
Priority 1. Low
Owners jan@horde.org
Requester bklang@horde.org
Created 2011-11-17 (3162 days ago)
Updated 2011-11-24 (3155 days ago)
Assigned 2011-11-24 (3155 days ago)
Resolved 2011-11-24 (3155 days ago)
Patch No

Ben Klang <bklang@horde.org> 2011-11-17 00:16:45
Using Kronolith I invited a friend to a meeting.  The friend, using 
Horde, replied using Kronolith.  I received the reply via IMP and 
attempted to update his status in the meeting.  Kronolith refused, 
saying "The attendee hasn't been updated because the update was not 
sent from the attendee."

I tracked the cause down to a mismatch between the expected sender and 
the observed sender.  Because I had invited my friend using only his 
email address his response was rejected.  The problem line of code is 
kronolith/lib/Api.php line 1388 which reads:

                 if (is_null($sender) || $sender_lcase == $attendee) {

In this case, $sender_lcase was "ben klang <bklang@horde.org>" and 
$attendee was "bklang@horde.org"

Ben Klang <bklang@horde.org> 2011-11-17 00:19:55
One possible fix is to change the check to a preg_match like this:

         if (is_null($sender) || !preg_match('/<?$attendee>?/', 
$sender_lcase)) {

Git Commit <commits@lists.horde.org> 2011-11-24 18:48:53
Changes have been made in Git for this ticket:

updateAttendees() expects email addresses, not From: headers (Bug #10772).

  3 files changed, 7 insertions(+), 2 deletions(-)