mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-18 11:19:10 +00:00
Use servername instead of UUID for credential store.
Unfortunately, the UUID is used in such a way that makes it unlikely to be unique. The server name is the current best option.
This commit is contained in:
@ -43,7 +43,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
#include "pfPasswordStore.h"
|
#include "pfPasswordStore.h"
|
||||||
#include "pfPasswordStore_impl.h"
|
#include "pfPasswordStore_impl.h"
|
||||||
|
|
||||||
#include "plProduct.h"
|
#include "pnNetBase/pnNbSrvs.h"
|
||||||
|
|
||||||
#include <Security/Security.h>
|
#include <Security/Security.h>
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
const plString pfMacPasswordStore::GetPassword(const plString& username)
|
const plString pfMacPasswordStore::GetPassword(const plString& username)
|
||||||
{
|
{
|
||||||
plString service = plProduct::UUID();
|
plString service = GetServerDisplayName();
|
||||||
|
|
||||||
void* passwd = nullptr;
|
void* passwd = nullptr;
|
||||||
uint32_t passwd_len = 0;
|
uint32_t passwd_len = 0;
|
||||||
@ -78,7 +78,7 @@ const plString pfMacPasswordStore::GetPassword(const plString& username)
|
|||||||
|
|
||||||
bool pfMacPasswordStore::SetPassword(const plString& username, const plString& password)
|
bool pfMacPasswordStore::SetPassword(const plString& username, const plString& password)
|
||||||
{
|
{
|
||||||
plString service = plProduct::UUID();
|
plString service = GetServerDisplayName();
|
||||||
|
|
||||||
return SecKeychainAddGenericPassword(nullptr,
|
return SecKeychainAddGenericPassword(nullptr,
|
||||||
service.GetSize(),
|
service.GetSize(),
|
||||||
|
@ -43,8 +43,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
#include "pfPasswordStore.h"
|
#include "pfPasswordStore.h"
|
||||||
#include "pfPasswordStore_impl.h"
|
#include "pfPasswordStore_impl.h"
|
||||||
|
|
||||||
#include "plProduct.h"
|
|
||||||
#include "plFormat.h"
|
#include "plFormat.h"
|
||||||
|
#include "pnNetBase/pnNbSrvs.h"
|
||||||
|
|
||||||
#include "hsWindows.h"
|
#include "hsWindows.h"
|
||||||
#include <wincred.h>
|
#include <wincred.h>
|
||||||
@ -55,7 +55,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
const plString pfWin32PasswordStore::GetPassword(const plString& username)
|
const plString pfWin32PasswordStore::GetPassword(const plString& username)
|
||||||
{
|
{
|
||||||
PCREDENTIALW credential;
|
PCREDENTIALW credential;
|
||||||
plString target = plFormat("%s__%s", plProduct::UUID(), username);
|
plString target = plFormat("{}__{}", GetServerDisplayName(), username);
|
||||||
plString password = plString::Null;
|
plString password = plString::Null;
|
||||||
|
|
||||||
if (!CredReadW(target.ToWchar().GetData(), CRED_TYPE_GENERIC, 0, &credential)) {
|
if (!CredReadW(target.ToWchar().GetData(), CRED_TYPE_GENERIC, 0, &credential)) {
|
||||||
@ -74,7 +74,7 @@ const plString pfWin32PasswordStore::GetPassword(const plString& username)
|
|||||||
bool pfWin32PasswordStore::SetPassword(const plString& username, const plString& password)
|
bool pfWin32PasswordStore::SetPassword(const plString& username, const plString& password)
|
||||||
{
|
{
|
||||||
CREDENTIALW credential;
|
CREDENTIALW credential;
|
||||||
plString target = plFormat("%s__%s", plProduct::UUID(), username);
|
plString target = plFormat("{}__{}", GetServerDisplayName(), username);
|
||||||
|
|
||||||
if (password.IsNull()) {
|
if (password.IsNull()) {
|
||||||
if (CredDeleteW(target.ToWchar().GetData(), CRED_TYPE_GENERIC, 0)) {
|
if (CredDeleteW(target.ToWchar().GetData(), CRED_TYPE_GENERIC, 0)) {
|
||||||
|
Reference in New Issue
Block a user