Commit 46185630 authored by Richard Pospesel's avatar Richard Pospesel Committed by Georg Koppen
Browse files

Bug 13398: at startup, browser gleans user FULL NAME (real name, given name) from O/S

ifdef'd out offending code in each platform based on existance of
TOR_BROWSER_VERSION and return empty string instead.
parent 9aa34816
Loading
Loading
Loading
Loading
+20 −4
Original line number Diff line number Diff line
@@ -19,11 +19,14 @@ NS_IMETHODIMP
nsUserInfo::GetFullname(char16_t **aFullname)
{
  NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT
  
#ifndef TOR_BROWSER_VERSION
  NS_ConvertUTF8toUTF16 fullName([NSFullUserName() UTF8String]);
  *aFullname = ToNewUnicode(fullName);
  return NS_OK;
  
#else
  *aFullname = ToNewUnicode(NS_LITERAL_STRING(""));
  return *aFullname ? NS_OK : NS_ERROR_FAILURE;
#endif
  NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT
}

@@ -31,11 +34,14 @@ NS_IMETHODIMP
nsUserInfo::GetUsername(char **aUsername)
{
  NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT
  
#ifndef TOR_BROWSER_VERSION
  nsAutoCString username([NSUserName() UTF8String]);
  *aUsername = ToNewCString(username);
  return NS_OK;
  
#else
  *aUsername = ToNewUTF8String(NS_LITERAL_STRING(""));
  return *aUsername ? NS_OK : NS_ERROR_FAILURE;
#endif
  NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT
}

@@ -63,15 +69,21 @@ nsUserInfo::GetPrimaryEmailAddress(nsCString &aEmailAddress)
NS_IMETHODIMP 
nsUserInfo::GetEmailAddress(char **aEmailAddress)
{
#ifndef TOR_BROWSER_VERSION
  nsAutoCString email;
  if (NS_SUCCEEDED(GetPrimaryEmailAddress(email))) 
    *aEmailAddress = ToNewCString(email);
  return NS_OK;
#else
  *aEmailAddress = ToNewUTF8String(NS_LITERAL_STRING(""));
  return *aEmailAddress ? NS_OK : NS_ERROR_FAILURE;
#endif
}

NS_IMETHODIMP 
nsUserInfo::GetDomain(char **aDomain)
{
#ifndef TOR_BROWSER_VERSION
  nsAutoCString email;
  if (NS_SUCCEEDED(GetPrimaryEmailAddress(email))) {
    int32_t index = email.FindChar('@');
@@ -81,4 +93,8 @@ nsUserInfo::GetDomain(char **aDomain)
    }
  }
  return NS_OK;
#else
  *aDomain = ToNewUTF8String(NS_LITERAL_STRING(""));
  return *aDomain ? NS_OK : NS_ERROR_FAILURE;
#endif
}
+20 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ NS_IMPL_ISUPPORTS(nsUserInfo,nsIUserInfo)
NS_IMETHODIMP
nsUserInfo::GetFullname(char16_t **aFullname)
{
#ifndef TOR_BROWSER_VERSION
    struct passwd *pw = nullptr;

    pw = getpwuid (geteuid());
@@ -75,11 +76,16 @@ nsUserInfo::GetFullname(char16_t **aFullname)
        return NS_OK;

    return NS_ERROR_FAILURE;
#else
    *aFullname = ToNewUnicode(NS_LITERAL_STRING(""));
    return *aFullname ? NS_OK : NS_ERROR_FAILURE;
#endif
}

NS_IMETHODIMP
nsUserInfo::GetUsername(char * *aUsername)
{
#ifndef TOR_BROWSER_VERSION
    struct passwd *pw = nullptr;

    // is this portable?  those are POSIX compliant calls, but I need to check
@@ -94,11 +100,16 @@ nsUserInfo::GetUsername(char * *aUsername)
    *aUsername = strdup(pw->pw_name);

    return NS_OK;
#else
    *aUsername = ToNewUTF8String(NS_LITERAL_STRING(""));
    return *aUsername ? NS_OK : NS_ERROR_FAILURE;
#endif
}

NS_IMETHODIMP
nsUserInfo::GetDomain(char * *aDomain)
{
#ifndef TOR_BROWSER_VERSION
    nsresult rv = NS_ERROR_FAILURE;

    struct utsname buf;
@@ -131,11 +142,16 @@ nsUserInfo::GetDomain(char * *aDomain)
    }

    return rv;
#else
    *aDomain = ToNewUTF8String(NS_LITERAL_STRING(""));
    return *aDomain ? NS_OK : NS_ERROR_FAILURE;
#endif
}

NS_IMETHODIMP
nsUserInfo::GetEmailAddress(char * *aEmailAddress)
{
#ifndef TOR_BROWSER_VERSION
    // use username + "@" + domain for the email address

    nsresult rv;
@@ -162,5 +178,9 @@ nsUserInfo::GetEmailAddress(char * *aEmailAddress)
    *aEmailAddress = ToNewCString(emailAddress);

    return NS_OK;
#else
    *aEmailAddress = ToNewUTF8String(NS_LITERAL_STRING(""));
    return *aEmailAddress ? NS_OK : NS_ERROR_FAILURE;
#endif
}
+20 −2
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ nsUserInfo::GetUsername(char **aUsername)
{
  NS_ENSURE_ARG_POINTER(aUsername);
  *aUsername = nullptr;
#ifndef TOR_BROWSER_VERSION

  // ULEN is the max username length as defined in lmcons.h
  wchar_t username[UNLEN +1];
@@ -38,6 +39,10 @@ nsUserInfo::GetUsername(char **aUsername)

  *aUsername = ToNewUTF8String(nsDependentString(username));
  return (*aUsername) ? NS_OK : NS_ERROR_FAILURE;
#else
  *aUsername = ToNewUTF8String(NS_LITERAL_STRING(""));
  return *aUsername ? NS_OK : NS_ERROR_FAILURE;
#endif
}

NS_IMETHODIMP
@@ -45,6 +50,7 @@ nsUserInfo::GetFullname(char16_t **aFullname)
{
  NS_ENSURE_ARG_POINTER(aFullname);
  *aFullname = nullptr;
#ifndef TOR_BROWSER_VERSION

  wchar_t fullName[512];
  DWORD size = mozilla::ArrayLength(fullName);
@@ -90,6 +96,10 @@ nsUserInfo::GetFullname(char16_t **aFullname)
  }

  return (*aFullname) ? NS_OK : NS_ERROR_FAILURE;
#else
  *aFullname = ToNewUnicode(NS_LITERAL_STRING(""));
  return *aFullname ? NS_OK : NS_ERROR_FAILURE;
#endif
}

NS_IMETHODIMP
@@ -97,7 +107,7 @@ nsUserInfo::GetDomain(char **aDomain)
{
  NS_ENSURE_ARG_POINTER(aDomain);
  *aDomain = nullptr;

#ifndef TOR_BROWSER_VERSION
  const DWORD level = 100;
  LPBYTE info;
  NET_API_STATUS status = NetWkstaGetInfo(nullptr, level, &info);
@@ -109,6 +119,10 @@ nsUserInfo::GetDomain(char **aDomain)
  }

  return (*aDomain) ? NS_OK : NS_ERROR_FAILURE;
#else
  *aDomain = ToNewUTF8String(NS_LITERAL_STRING(""));
  return *aDomain ? NS_OK : NS_ERROR_FAILURE;
#endif
}

NS_IMETHODIMP
@@ -116,7 +130,7 @@ nsUserInfo::GetEmailAddress(char **aEmailAddress)
{
  NS_ENSURE_ARG_POINTER(aEmailAddress);
  *aEmailAddress = nullptr;

#ifndef TOR_BROWSER_VERSION
  // RFC3696 says max length of an email address is 254
  wchar_t emailAddress[255];
  DWORD size = mozilla::ArrayLength(emailAddress);
@@ -129,4 +143,8 @@ nsUserInfo::GetEmailAddress(char **aEmailAddress)

  *aEmailAddress = ToNewUTF8String(nsDependentString(emailAddress));
  return (*aEmailAddress) ? NS_OK : NS_ERROR_FAILURE;
#else
  *aEmailAddress = ToNewUTF8String(NS_LITERAL_STRING(""));
  return *aEmailAddress ? NS_OK : NS_ERROR_FAILURE;
#endif
}