summaryrefslogtreecommitdiff
path: root/Board/AAEON
diff options
context:
space:
mode:
Diffstat (limited to 'Board/AAEON')
-rw-r--r--Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.c164
-rw-r--r--Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.cif10
-rw-r--r--Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.mak59
-rw-r--r--Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.sdl55
4 files changed, 288 insertions, 0 deletions
diff --git a/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.c b/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.c
new file mode 100644
index 0000000..7211a96
--- /dev/null
+++ b/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.c
@@ -0,0 +1,164 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2008, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+
+//**********************************************************************
+// $Header: $
+//
+// $Revision: $
+//
+// $Date: $
+//**********************************************************************
+// Revision History
+// ----------------
+// $Log: $
+//
+//**********************************************************************
+//<AMI_FHDR_START>
+//
+// Name: <This File Name>
+//
+// Description:
+//
+//<AMI_FHDR_END>
+//**********************************************************************
+
+#include "token.h"
+#include <EFI.h>
+#include <AMIVfr.h>
+#include <Protocol/SimpleTextIn.h>
+#include <Protocol/EfiOEMBadging.h>
+
+#if EFI_SPECIFICATION_VERSION>0x20000
+#include <UefiHii.h>
+#include <Protocol/HiiDatabase.h>
+#include <Protocol/HiiString.h>
+#else
+#include <Protocol/Hii.h>
+#endif //EFI_SPECIFICATION_VERSION>0x20000
+
+#include "commonoem.h"
+
+extern VOID PasswordEncodeHook( CHAR16 *Password, UINTN MaxSize);
+extern VOID *VarGetNvramName( CHAR16 *name, EFI_GUID *guid, UINT32 *attributes, UINTN *size );
+extern EFI_STATUS VarSetNvramName( CHAR16 *name, EFI_GUID *guid, UINT32 attributes, VOID *buffer, UINTN size );
+extern VOID *VarGetNvram( UINT32 variable, UINTN *size );
+extern EFI_STATUS VarSetNvram( UINT32 variable, VOID *buffer, UINTN size );
+extern VOID *EfiLibAllocateZeroPool ( IN UINTN AllocationSize);
+extern VOID MemFreePointer( VOID **ptr );
+extern VOID
+ EfiStrCpy (
+ IN CHAR16 *Destination,
+ IN CHAR16 *Source
+ );
+extern VOID MemCopy( VOID *dest, VOID *src, UINTN size );
+extern VOID MemSet( VOID *buffer, UINTN size, UINT8 value );
+
+extern EFI_RUNTIME_SERVICES *gRT;
+
+
+#define VARIABLE_ID_AMITSESETUP 5
+#define ___INTERNAL_CONVERT_TO_WSTRING___(a) L#a
+#define CONVERT_TO_WSTRING(a) ___INTERNAL_CONVERT_TO_WSTRING___(a)
+
+VOID OemSetDefaultPasswordHook(VOID)
+{
+ EFI_STATUS Status;
+ //CHAR16 *AdminPassword, *UserPassword;
+ CHAR16 *AdminPassword;
+ #if defined(USER_PASSWORD_SUPPORT) && (USER_PASSWORD_SUPPORT == 1)
+ CHAR16 *UserPassword;
+ #endif
+ CHAR16 *EncPass=NULL;
+ const UINTN TsePasswordLength = SETUP_PASSWORD_LENGTH;
+
+ EFI_GUID AmiTseSetupGuid = AMITSESETUP_GUID;
+ AMITSESETUP AmiTseSetup;
+ UINT32 Attrib=0;
+ UINTN Size=0;
+
+ UINT16 Buffer;
+ EFI_GUID EfiGlobalVariableGuid = EFI_GLOBAL_VARIABLE_GUID;
+
+ Size = sizeof(UINT16);
+
+ // Check first boot
+ Status = gRT->GetVariable(L"OemFirstBoot", &EfiGlobalVariableGuid, NULL, &Size, &Buffer);
+ if (EFI_ERROR(Status))
+ {
+ Buffer = 1;
+ Status = gRT->SetVariable(L"OemFirstBoot",
+ &EfiGlobalVariableGuid,
+ EFI_VARIABLE_NON_VOLATILE |
+ EFI_VARIABLE_BOOTSERVICE_ACCESS |
+ EFI_VARIABLE_RUNTIME_ACCESS,
+ Size,
+ &Buffer);
+ }
+ else
+ return;
+
+ // Initial
+ AdminPassword = EfiLibAllocateZeroPool((TsePasswordLength + 1)*sizeof(CHAR16));
+ #if defined(USER_PASSWORD_SUPPORT) && (USER_PASSWORD_SUPPORT == 1)
+ UserPassword = EfiLibAllocateZeroPool((TsePasswordLength + 1)*sizeof(CHAR16));
+ #endif
+ EncPass = EfiLibAllocateZeroPool((TsePasswordLength + 1)*sizeof(CHAR16));
+
+ AdminPassword = CONVERT_TO_WSTRING(DEFAULT_ADMIN_PASSWORD);
+ #if defined(USER_PASSWORD_SUPPORT) && (USER_PASSWORD_SUPPORT == 1)
+ UserPassword = CONVERT_TO_WSTRING(DEFAULT_USER_PASSWORD);
+ #endif
+
+ // Get Setting
+ Size = sizeof(AMITSESETUP);
+ Status = gRT->GetVariable(L"AMITSESetup", &AmiTseSetupGuid, &Attrib, &Size, &AmiTseSetup);
+
+ // Set Admin password
+ EfiStrCpy( EncPass, AdminPassword );
+ PasswordEncodeHook( EncPass, TsePasswordLength*sizeof(CHAR16));
+ MemCopy(&AmiTseSetup.AdminPassword, EncPass, TsePasswordLength*sizeof(CHAR16));
+
+ // Clear EncPass buffer
+ MemSet(EncPass, (TsePasswordLength + 1)*sizeof(CHAR16), 0);
+
+ #if defined(USER_PASSWORD_SUPPORT) && (USER_PASSWORD_SUPPORT == 1)
+ // Set user password
+ EfiStrCpy( EncPass, UserPassword);
+ PasswordEncodeHook( EncPass, TsePasswordLength*sizeof(CHAR16));
+ MemCopy(&AmiTseSetup.UserPassword, EncPass, TsePasswordLength*sizeof(CHAR16));
+ #endif
+
+ Status = gRT->SetVariable(L"AMITSESetup", &AmiTseSetupGuid, Attrib, Size, &AmiTseSetup);
+
+ // Free all pool
+ MemFreePointer((VOID**) &EncPass);
+ MemFreePointer((VOID**) &AdminPassword);
+ #if defined(USER_PASSWORD_SUPPORT) && (USER_PASSWORD_SUPPORT == 1)
+ MemFreePointer((VOID**) &UserPassword);
+ #endif
+}
+
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2008, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
diff --git a/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.cif b/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.cif
new file mode 100644
index 0000000..5b5491e
--- /dev/null
+++ b/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.cif
@@ -0,0 +1,10 @@
+<component>
+ name = "OemDefualtPwdHook - Set Default Password"
+ category = ModulePart
+ LocalRoot = "Board\AAEON\OEMFeatures\OEMDefaultPwdHook\"
+ RefName = "OEMDefaultPwdHook"
+[files]
+"OEMDefaultPwdHook.c"
+"OEMDefaultPwdHook.sdl"
+"OEMDefaultPwdHook.mak"
+<endComponent>
diff --git a/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.mak b/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.mak
new file mode 100644
index 0000000..8390c40
--- /dev/null
+++ b/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.mak
@@ -0,0 +1,59 @@
+#**********************************************************************
+#**********************************************************************
+#** **
+#** (C)Copyright 1985-2007, American Megatrends, Inc. **
+#** **
+#** All Rights Reserved. **
+#** **
+#** 6145-F Northbelt Pkwy, Norcross, GA 30071 **
+#** **
+#** Phone: (770)-246-8600 **
+#** **
+#**********************************************************************
+#**********************************************************************
+
+#**********************************************************************
+# $Header: $
+#
+# $Revision: $
+#
+# $Date: $
+#**********************************************************************
+# Revision History
+# ----------------
+# $Log: $
+#
+#**********************************************************************
+#<AMI_FHDR_START>
+#
+# Name: OemTseHook.mak
+#
+# Description:
+#
+#<AMI_FHDR_END>
+#**********************************************************************
+
+AMITSEBin : $(BUILD_DIR)\OEMDefaultPwdHook.obj
+
+OEMDefaultPwdHook_CFLAGS=$(CFLAGS) \
+ -I $(TSESRC_DIR) \
+ -I $(TSEBIN_DIR)\Inc \
+ -I $(TSEBIN_DIR)
+
+$(BUILD_DIR)\OEMDefaultPwdHook.obj : $(OemDefaultPwdHook_DIR)\OEMDefaultPwdHook.obj
+ $(CC) $(OEMDefaultPwdHook_CFLAGS) /Fo$(BUILD_DIR)\OEMDefaultPwdHook.obj $(OemDefaultPwdHook_DIR)\OEMDefaultPwdHook.c
+
+
+#**********************************************************************
+#**********************************************************************
+#** **
+#** (C)Copyright 1985-2007, American Megatrends, Inc. **
+#** **
+#** All Rights Reserved. **
+#** **
+#** 6145-F Northbelt Pkwy, Norcross, GA 30071 **
+#** **
+#** Phone: (770)-246-8600 **
+#** **
+#**********************************************************************
+#**********************************************************************
diff --git a/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.sdl b/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.sdl
new file mode 100644
index 0000000..b15a940
--- /dev/null
+++ b/Board/AAEON/OEMFeatures/OEMDefaultPwdHook/OEMDefaultPwdHook.sdl
@@ -0,0 +1,55 @@
+TOKEN
+ Name = "OEMDefultPwdHook_SUPPORT"
+ Value = "1"
+ Help = "Main switch to enable OEMTSEHook support in Project"
+ TokenType = Boolean
+ TargetEQU = Yes
+ TargetMAK = Yes
+ Master = Yes
+End
+
+PATH
+ Name = "OemDefaultPwdHook_DIR"
+End
+
+MODULE
+ Help = "Includes OemDefaultPwdHook.mak to Project"
+ File = "OemDefaultPwdHook.mak"
+End
+
+TOKEN
+ Name = "DEFAULT_ADMIN_PASSWORD"
+ Value = "Grg90#@B"
+ Help = "Set default admin password"
+ TokenType = Expression
+ TargetH = Yes
+End
+TOKEN
+ Name = "USER_PASSWORD_SUPPORT"
+ Value = "0"
+ TokenType = Boolean
+ TargetH = Yes
+ ##TargetEQU = Yes
+ ##TargetMAK = Yes
+End
+TOKEN
+ Name = "DEFAULT_USER_PASSWORD"
+ Value = ""
+ Help = "Set default user password"
+ TokenType = Expression
+ TargetH = Yes
+ Token = "USER_PASSWORD_SUPPORT" "=" "1"
+End
+
+ELINK
+ Name = "$(BUILD_DIR)\OEMDefaultPwdHook.obj"
+ Parent = "AMITSE_Objects"
+ InvokeOrder = AfterParent
+End
+
+ELINK
+ Name = "OemSetDefaultPasswordHook,"
+ Parent = "MinisetupDriverEntryHookHook,"
+ InvokeOrder = AfterParent
+End
+