# File lib/dbus/auth.rb, line 122
    def authenticate
      if (RbConfig::CONFIG["target_os"] =~ /bsd/)
        @socket.sendmsg(0.chr, 0, nil, [:SOCKET, :SCM_CREDS, ""])
      else
        @socket.write(0.chr)
      end
      next_authenticator
      @state = :Starting
      while @state != :Authenticated
        r = next_state
        return r if not r
      end
      true
    end