Extension talk:AuthIMAP

For what it's worth: I installed AuthIMAP with Mediawiki 1.12.

It worked OK, except that I can't manage user rights because:
 * My mail server uses a full email address for login - "mary@example.com"
 * We have two domains, so I can't hard-code the domain into Auth_imap.php
 * As a result, my IMAP-Authenticated usernames contain an "@"
 * The "@" is used to split the username into two parts in includes/SpecialUserrights.php - something to do with interwiki user rights.

I can force Special:Userrights to work if I comment out the lines shown below: 220        ##      $parts = explode( '@', $username ); 221        ##      if( count( $parts ) < 2 ) { 222                        $name = trim( $username ); 223                        $database = ''; 224        ##      } else { 225        ##              list( $name, $database ) = array_map( 'trim', $parts ); 226 ##   227 ##                      if( !$wgUser->isAllowed( 'userrights-interwiki' ) ) { 228 ##                             $wgOut->addWikiMsg( 'userrights-no-interwiki' ); 229 ##                             return null; 230 ##                     }    231 ##                      if( !UserRightsProxy::validDatabase( $database ) ) { 232 ##                             $wgOut->addWikiMsg( 'userrights-nodatabase', $database ); 233 ##                             return null; 234 ##                     }    235 ##              }

I also see that includes/User.php includes a function designed to prevent the creation of usernames containg '@': 475        /**    476          * Usernames which fail to pass this function will be blocked 477         * from new account registrations, but may be used internally 478         * either by batch processes or by user accounts which have 479         * already been created. 480         *    481          * Additional character blacklisting may be added here 482         * rather than in isValidUserName to avoid disrupting 483         * existing accounts. 484         *    485          * @param string $name 486         * @return bool 487         */    488         static function isCreatableName( $name ) { 489                return 490                        self::isUsableName( $name ) && 491   492                         // Registration-time character blacklisting... 493                        strpos( $name, '@' ) === false; 494        }