Authentication Troubleshooting

What do I do if I can't log in?

Info & Tags

Article #:
472
Created:
05/04/07
Modified:
05/04/07

SUMMARY

Since authentication triggers can limit all access, including the super users, it's possible to completely lock all access to the server. This article deals with ways to regain access to to the Perforce server to address the problem.

DETAILS

Typo or Other Trigger Table Error

A mistake in the path to your trigger or the arguments you're passing to it is the most common error.  Starting with server versions 2005.2 and later, Perforce administrators can replace the broken trigger entry using a server command:
  1. Stop the Perforce server or service.

  2. Enter the command:
    p4d -r $P4ROOT -xf 18362 "echo 0"
    This replaces the command in the "auth-check" trigger table entry with "echo 0" (zero), which will always return true. For example, if your original table entry was:
    my_check auth-check auth "C:\wrong_path_to\my_command.pl %user%"
    After running the "p4d -xf" command it will be:
    my_check auth-check auth "echo 0"
  3. Since this trigger means that ANY password is accepted, set P4PORT to "localhost:{port number}" before restarting. This limits connections to those local to the Perforce server.

  4. Restart the Perforce server or service.
You will now be able to log into Perforce. Fix the trigger table entry, reset P4PORT to your original setting, and restart the server or service.

When Replacing the Trigger Table Entry Fails

If you've just replaced the trigger with "p4d -xf" command and you still can't log in, try it again once or twice.  You may see something like this example output:
p4 login 
Enter password:
Password invalid.
'auth' validation failed:
write: echo: Broken pipe

p4 login
Enter password:
Password invalid.
'auth' validation failed:
write: echo: Broken pipe

p4 login
Enter password:
User user1 logged in.

The Trigger Works, But The Correct User and Password Fails

If you've confirmed you're using the correct name and password with a working Active Directory trigger, try adding the domain prior to the user name.  For example:
p4 login DOMAIN/user_name