<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Keven,<br>
<br>
Thanks for the quick response.  That patch does indeed fix the error
and now I can see the self service interface after authenticating.<br>
<br>
Re, our config.  I have attached the complete config in case you would
like to provide any words of wisdom. <br>
<br>
We are using a custom apache single sign on module that puts the users
id into remote_user then we auto create the user after lookup their
name, email address etc from an ldap source which I guess is the old
handler.  I am taking a look at  RT::Authen::ExternalAuth  to see if
it  would be a better solution for us.<br>
<br>
Many thanks,<br>
Philip Shore.<br>
<br>
<br>
Kevin Falcone wrote:
<blockquote cite="mid:20091130191522.GA1406@jibsheet.com" type="cite">
  <pre wrap="">On Mon, Nov 30, 2009 at 06:38:14PM +0000, Philip Shore wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">I am trying to upgrade our 3.6.5 RT instance to 3.8.6 and I am getting 
an error at the point of first log on.

There is new code in RT 3.8.6 that wasn't present in 3.8.5 that is 
throwing an error for me:
    </pre>
  </blockquote>
  <pre wrap=""><!---->
I'd be interested to know if the untested attached patch fixes the
issue you're seeing.

Your siteconfig is also really odd, it isn't clear to me if you're
using all in-house config, or some mix of apache auth and
RT-Authen-ExternalAuth or the much older ldap handler.

-kevin

  </pre>
  <blockquote type="cite">
    <pre wrap="">error:       Can't locate object method "WritableAttributes" via package 
"pms52" (perhaps you forgot to
load "pms52"?) at /opt/rt3/bin/../lib/RT/Interface/Web.pm line 367, 
<DATA> line 276.
context:      
...      
363:      # now get user specific information, to better create our user.
364:      my $new_user_info = 
RT::Interface::Web::WebExternalAutoInfo($user);
365:      
366:      # set the attributes that have been defined.
367:      foreach my $attribute ( $user->WritableAttributes ) {
368:      $m->callback(
369:      Attribute => $attribute,
370:      User => $user,
371:      UserInfo => $new_user_info,
...      
code stack:     
/opt/rt3/bin/../lib/RT/Interface/Web.pm:367
/opt/rt3/bin/../lib/RT/Interface/Web.pm:197
/opt/rt3/share/html/autohandler:53


I have RT configured to use WebExternalAuto, and so have an Apache 
module providing the userid via REMOTE_USER and user info collected via 
ldap.  I logon with username "pms52" which appears in the error. I can 
also see in the rt log that it has successfully retrieved my information 
from our ldap server.

I am not a perl programmer but it looks to me like the RT code at line 
367 is expecting a database object but has a String instead. 

The AttemptExternalAuth subrouting is new in RT 3.8.6.  Is there 
something I have not configured correctly or is there a bug ?  I have 
pasted what I think are the relevant parts of our RT_SiteConfig below.

Many thanks,
Philip Shore.


Set($AuthMethods, ['Internal']);

Set($WebExternalAuth , 1);
Set($WebExternalAuto , 1);
Set($AutoCreate, { Privileged => 0 } );

Set($LdapExternalInfo, 1);
Set($LdapAutoCreateNonLdapUsers, 1);
Set($LdapAttrMap, {'Name' => 'uid',
                   'EmailAddress' => 'mail',
                   'Organization' => 'instID',
                   'RealName' => 'displayName',
                   'NickName' => 'title',
                   'ExternalContactInfoId' => 'mailAlternative',
                   'ExternalAuthId' => 'uid',
                   'Gecos' => 'uid',
                   'WorkPhone' => 'telephoneNumber',
                   'Address1' => 'postalAddress',
                   'Address2' => 'postalAddress'}
);


_______________________________________________
<a class="moz-txt-link-freetext" href="http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users">http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users</a>

Community help: <a class="moz-txt-link-freetext" href="http://wiki.bestpractical.com">http://wiki.bestpractical.com</a>
Commercial support: <a class="moz-txt-link-abbreviated" href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at <a class="moz-txt-link-freetext" href="http://rtbook.bestpractical.com">http://rtbook.bestpractical.com</a>

    </pre>
    <pre wrap=""><pre wrap="">
<hr size="4" width="90%">
_______________________________________________
<a class="moz-txt-link-freetext" href="http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users">http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users</a>

Community help: <a class="moz-txt-link-freetext" href="http://wiki.bestpractical.com">http://wiki.bestpractical.com</a>
Commercial support: <a class="moz-txt-link-abbreviated" href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at <a class="moz-txt-link-freetext" href="http://rtbook.bestpractical.com">http://rtbook.bestpractical.com</a></pre></pre>
  </blockquote>
</blockquote>
<br>
</body>
</html>