Windows Server 2008 R2 BSOD Various Messages

Hello All,
I've got a Windows Server 2008 R2 that's bluescreened twice in a month. Both times different stop error code. Running on a HP DL360 in Proxmox virtual environment. Below are the two dump outputs:
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Users\Denis.Maybir\Desktop\USTBSOD\021015-10078-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
Windows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64
Product: Server, suite: TerminalServer
Built by: 7601.18409.amd64fre.win7sp1_gdr.140303-2144
Machine Name:
Kernel base = 0xfffff800`01650000 PsLoadedModuleList = 0xfffff800`01893890
Debug session time: Tue Feb 10 00:51:00.633 2015 (UTC + 10:00)
System Uptime: 4 days 3:05:32.166
Loading Kernel Symbols
Loading User Symbols
Loading unloaded module list
*                        Bugcheck Analysis                                    *
Use !analyze -v to get detailed debugging information.
BugCheck A, {fffff6fb40001de8, 0, 0, fffff800016f8dbc}
Probably caused by : memory_corruption ( nt!MiDeletePageTableHierarchy+9c )
Followup: MachineOwner
1: kd> !analyze -v
*                        Bugcheck Analysis                                    *
IRQL_NOT_LESS_OR_EQUAL (a)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high.  This is usually
caused by drivers using improper addresses.
If a kernel debugger is available get the stack backtrace.
Arguments:
Arg1: fffff6fb40001de8, memory referenced
Arg2: 0000000000000000, IRQL
Arg3: 0000000000000000, bitfield :
bit 0 : value 0 = read operation, 1 = write operation
bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
Arg4: fffff800016f8dbc, address which referenced memory
Debugging Details:
READ_ADDRESS: GetPointerFromAddress: unable to read from fffff800018fd100
 fffff6fb40001de8 
CURRENT_IRQL:  0
FAULTING_IP: 
nt!MiDeletePageTableHierarchy+9c
fffff800`016f8dbc 498b06          mov     rax,qword ptr [r14]
CUSTOMER_CRASH_COUNT:  1
DEFAULT_BUCKET_ID:  DRIVER_FAULT_SERVER_MINIDUMP
BUGCHECK_STR:  0xA
PROCESS_NAME:  GoogleUpdate.e
TRAP_FRAME:  fffff88007a81f00 -- (.trap 0xfffff88007a81f00)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=0000000077a00000 rbx=0000000000000000 rcx=0000000fffffffff
rdx=0000058000000000 rsi=0000000000000000 rdi=0000000000000000
rip=fffff800016f8dbc rsp=fffff88007a82090 rbp=fffffa8006f41210
 r8=0000007ffffffff8  r9=0000098000000000 r10=fffffa8005401bc0
r11=fffff88007a82170 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei ng nz na po cy
nt!MiDeletePageTableHierarchy+0x9c:
fffff800`016f8dbc 498b06          mov     rax,qword ptr [r14] ds:00000000`00000000=????????????????
Resetting default scope
LAST_CONTROL_TRANSFER:  from fffff800016c5169 to fffff800016c5bc0
STACK_TEXT:  
fffff880`07a81db8 fffff800`016c5169 : 00000000`0000000a fffff6fb`40001de8 00000000`00000000 00000000`00000000 : nt!KeBugCheckEx
fffff880`07a81dc0 fffff800`016c3de0 : 00000000`00000000 fffff6fb`40001de8 fffff880`07a82b00 00000000`00000000 : nt!KiBugCheckDispatch+0x69
fffff880`07a81f00 fffff800`016f8dbc : fffffa80`0428b740 00000000`00000001 fffffa80`00e8f590 fffff6fb`40001000 : nt!KiPageFault+0x260
fffff880`07a82090 fffff800`016958b6 : fffff700`01080518 fffffa80`06f415a8 fffff700`01080000 fffff8a0`000f8630 : nt!MiDeletePageTableHierarchy+0x9c
fffff880`07a821a0 fffff800`01696892 : fffffa80`06f41210 fffffa80`0000003d fffff8a0`00000011 00000000`00000000 : nt!MiDeleteAddressesInWorkingSet+0x3fb
fffff880`07a82a50 fffff800`0199b05a : fffff8a0`0eb74060 00000000`00000001 00000000`00000000 fffffa80`06f4b060 : nt!MmCleanProcessAddressSpace+0x96
fffff880`07a82aa0 fffff800`0197df48 : 00000000`c0000005 00000000`00000001 00000000`7efdb000 00000000`00000000 : nt!PspExitThread+0x56a
fffff880`07a82ba0 fffff800`016c4e53 : fffffa80`06f41210 00000000`c0000005 fffffa80`06f4b060 00000000`7efdf000 : nt!NtTerminateProcess+0x138
fffff880`07a82c20 00000000`77a4157a : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
00000000`001df018 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x77a4157a
STACK_COMMAND:  kb
FOLLOWUP_IP: 
nt!MiDeletePageTableHierarchy+9c
fffff800`016f8dbc 498b06          mov     rax,qword ptr [r14]
SYMBOL_STACK_INDEX:  3
SYMBOL_NAME:  nt!MiDeletePageTableHierarchy+9c
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: nt
DEBUG_FLR_IMAGE_TIMESTAMP:  531590fb
IMAGE_NAME:  memory_corruption
FAILURE_BUCKET_ID:  X64_0xA_nt!MiDeletePageTableHierarchy+9c
BUCKET_ID:  X64_0xA_nt!MiDeletePageTableHierarchy+9c
Followup: MachineOwner
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Users\Denis.Maybir\Desktop\USTBSOD\012215-11078-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
Windows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64
Product: Server, suite: TerminalServer
Built by: 7601.18409.amd64fre.win7sp1_gdr.140303-2144
Machine Name:
Kernel base = 0xfffff800`0160f000 PsLoadedModuleList = 0xfffff800`01852890
Debug session time: Thu Jan 22 14:21:47.853 2015 (UTC + 10:00)
System Uptime: 6 days 17:17:48.333
Loading Kernel Symbols
Loading User Symbols
Loading unloaded module list
*                        Bugcheck Analysis                                    *
Use !analyze -v to get detailed debugging information.
BugCheck 50, {fffff960001322d8, 8, fffff960001322d8, 7}
Could not read faulting driver name
Probably caused by : win32k.sys ( win32k!NtUserMessageCall+30 )
Followup: MachineOwner
3: kd> !analyze -v
*                        Bugcheck Analysis                                    *
PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced.  This cannot be protected by try-except,
it must be protected by a Probe.  Typically the address is just plain bad or it
is pointing at freed memory.
Arguments:
Arg1: fffff960001322d8, memory referenced.
Arg2: 0000000000000008, value 0 = read operation, 1 = write operation.
Arg3: fffff960001322d8, If non-zero, the instruction address which referenced the bad memory
address.
Arg4: 0000000000000007, (reserved)
Debugging Details:
Could not read faulting driver name
WRITE_ADDRESS: GetPointerFromAddress: unable to read from fffff800018bc100
 fffff960001322d8 
FAULTING_IP: 
win32k!NtUserMessageCall+30
fffff960`001322d8 8bac24a8000000  mov     ebp,dword ptr [rsp+0A8h]
MM_INTERNAL_CODE:  7
CUSTOMER_CRASH_COUNT:  1
DEFAULT_BUCKET_ID:  DRIVER_FAULT_SERVER_MINIDUMP
BUGCHECK_STR:  0x50
PROCESS_NAME:  Hct14.exe
CURRENT_IRQL:  0
TRAP_FRAME:  fffff8800a800660 -- (.trap 0xfffff8800a800660)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=fffff900c20cb010 rbx=0000000000000000 rcx=0000000000000000
rdx=0000000000000000 rsi=0000000000000000 rdi=0000000000000000
rip=fffff960001322d8 rsp=fffff8800a8007f0 rbp=fffff8800a800960
 r8=fffff8000160f000  r9=0000000000000000 r10=fffffffffffffff7
r11=fffff8800a800520 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei ng nz na pe nc
win32k!NtUserMessageCall+0x30:
fffff960`001322d8 8bac24a8000000  mov     ebp,dword ptr [rsp+0A8h] ss:0018:fffff880`0a800898=0000029e
Resetting default scope
LAST_CONTROL_TRANSFER:  from fffff8000170153b to fffff80001684bc0
STACK_TEXT:  
fffff880`0a8004f8 fffff800`0170153b : 00000000`00000050 fffff960`001322d8 00000000`00000008 fffff880`0a800660 : nt!KeBugCheckEx
fffff880`0a800500 fffff800`01682cee : 00000000`00000008 fffff960`001322d8 fffff880`0a800700 00000000`0003029c : nt! ?? ::FNODOBFM::`string'+0x43781
fffff880`0a800660 fffff960`001322d8 : 00000000`0003029c 00000000`00000020 00000000`00000012 fffff880`0176d9a0 : nt!KiPageFault+0x16e
fffff880`0a8007f0 fffff800`01683e53 : fffffa80`097a8820 fffff880`0a800960 00000000`000866e8 00000000`00000000 : win32k!NtUserMessageCall+0x30
fffff880`0a800870 00000000`74aefe4a : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
00000000`000866c8 fffff800`0167c210 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x74aefe4a
fffff880`0a800ac0 00000547`f9988783 : fffff800`0168b99f 00000000`00000000 00000000`00000000 00000000`00000202 : nt!KiCallUserMode
fffff880`0a800ac8 fffff800`0168b99f : 00000000`00000000 00000000`00000000 00000000`00000202 fffff880`0a801450 : 0x547`f9988783
fffff880`0a800ad0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KeWaitForSingleObject+0x19f
STACK_COMMAND:  kb
FOLLOWUP_IP: 
win32k!NtUserMessageCall+30
fffff960`001322d8 8bac24a8000000  mov     ebp,dword ptr [rsp+0A8h]
SYMBOL_STACK_INDEX:  3
SYMBOL_NAME:  win32k!NtUserMessageCall+30
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: win32k
IMAGE_NAME:  win32k.sys
DEBUG_FLR_IMAGE_TIMESTAMP:  54372ef1
FAILURE_BUCKET_ID:  X64_0x50_win32k!NtUserMessageCall+30
BUCKET_ID:  X64_0x50_win32k!NtUserMessageCall+30
Followup: MachineOwner
Any and all help would be greatly appreciated.
Thanks in advance!

Hello All,
I've got a Windows Server 2008 R2 that's bluescreened twice in a week. Running on a HP DL360 in Proxmox virtual environment. Below are the two dump outputs:
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Users\Denis.Maybir\Desktop\TRBSOD\021615-22531-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
Windows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64
Product: Server, suite: TerminalServer
Built by: 7601.18700.amd64fre.win7sp1_gdr.141211-1742
Machine Name:
Kernel base = 0xfffff800`0160f000 PsLoadedModuleList = 0xfffff800`01852890
Debug session time: Mon Feb 16 14:57:22.272 2015 (UTC + 10:00)
System Uptime: 0 days 14:53:11.467
Loading Kernel Symbols
Loading User Symbols
Loading unloaded module list
*                        Bugcheck Analysis                                    *
Use !analyze -v to get detailed debugging information.
BugCheck 50, {fffff900c232b000, 1, fffff800017b8f36, 7}
Could not read faulting driver name
Probably caused by : win32k.sys ( win32k!AllocateObject+dd )
Followup: MachineOwner
2: kd> !analyze -v
*                        Bugcheck Analysis                                    *
PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced.  This cannot be protected by try-except,
it must be protected by a Probe.  Typically the address is just plain bad or it
is pointing at freed memory.
Arguments:
Arg1: fffff900c232b000, memory referenced.
Arg2: 0000000000000001, value 0 = read operation, 1 = write operation.
Arg3: fffff800017b8f36, If non-zero, the instruction address which referenced the bad memory
address.
Arg4: 0000000000000007, (reserved)
Debugging Details:
Could not read faulting driver name
WRITE_ADDRESS: GetPointerFromAddress: unable to read from fffff800018bc100
 fffff900c232b000 
FAULTING_IP: 
nt!ExAllocatePoolWithTag+326
fffff800`017b8f36 448928          mov     dword ptr [rax],r13d
MM_INTERNAL_CODE:  7
CUSTOMER_CRASH_COUNT:  1
DEFAULT_BUCKET_ID:  DRIVER_FAULT_SERVER_MINIDUMP
BUGCHECK_STR:  0x50
PROCESS_NAME:  HowNow.exe
CURRENT_IRQL:  0
TRAP_FRAME:  fffff8800e509510 -- (.trap 0xfffff8800e509510)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=fffff900c232b000 rbx=0000000000000000 rcx=0000000000000000
rdx=0000000000000001 rsi=0000000000000000 rdi=0000000000000000
rip=fffff800017b8f36 rsp=fffff8800e5096a0 rbp=0000000000001000
 r8=0000000000000002  r9=000000000013ef64 r10=0000000000000000
r11=fffff8800e509670 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei ng nz na po nc
nt!ExAllocatePoolWithTag+0x326:
fffff800`017b8f36 448928          mov     dword ptr [rax],r13d ds:0001:fffff900`c232b000=????????
Resetting default scope
LAST_CONTROL_TRANSFER:  from fffff8000170158b to fffff80001685e80
STACK_TEXT:  
fffff880`0e5093a8 fffff800`0170158b : 00000000`00000050 fffff900`c232b000 00000000`00000001 fffff880`0e509510 : nt!KeBugCheckEx
fffff880`0e5093b0 fffff800`01683fae : 00000000`00000001 fffff900`c232b000 fffff900`c20a6100 fffff880`0be74e00 : nt! ?? ::FNODOBFM::`string'+0x43781
fffff880`0e509510 fffff800`017b8f36 : fffff880`0be74e00 00000000`00000065 00000000`00000021 00000001`00000001 : nt!KiPageFault+0x16e
fffff880`0e5096a0 fffff960`001650f5 : 00000000`00000000 00000000`00000000 00000000`00000000 fffff960`00000000 : nt!ExAllocatePoolWithTag+0x326
fffff880`0e509790 fffff960`001667be : 00000000`00000001 fffff880`0e509928 00000000`00000001 fffff960`00176aa2 : win32k!AllocateObject+0xdd
fffff880`0e5097d0 fffff960`0013bf83 : fffff880`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : win32k!SURFMEM::bCreateDIB+0x38a
fffff880`0e5098c0 fffff960`0013dcc9 : 00000000`0301003b 00000000`00000010 00000000`00000000 00000000`270501e1 : win32k!GreCreateDIBitmapReal+0x533
fffff880`0e5099f0 fffff960`0013dae5 : 00000000`0008e280 fffff900`c21c1c20 fffff880`0e509ca0 fffff880`0e509b80 : win32k!ProcessAlphaBitmap+0x109
fffff880`0e509ad0 fffff960`0013e121 : fffff900`c21c1c20 00000000`00000000 fffff900`c21c1c20 00000000`7efdb00e : win32k!SetCursorIconData+0x365
fffff880`0e509b20 fffff800`01685113 : fffffa80`0e2ff060 00000000`0008e280 00000000`00000020 00000000`0008e270 : win32k!NtUserSetCursorIconData+0x221
fffff880`0e509c20 00000000`74d7081a : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
00000000`0008e228 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x74d7081a
STACK_COMMAND:  kb
FOLLOWUP_IP: 
win32k!AllocateObject+dd
fffff960`001650f5 488bd8          mov     rbx,rax
SYMBOL_STACK_INDEX:  4
SYMBOL_NAME:  win32k!AllocateObject+dd
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: win32k
IMAGE_NAME:  win32k.sys
DEBUG_FLR_IMAGE_TIMESTAMP:  54372ef1
FAILURE_BUCKET_ID:  X64_0x50_win32k!AllocateObject+dd
BUCKET_ID:  X64_0x50_win32k!AllocateObject+dd
Followup: MachineOwner
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Users\Denis.Maybir\Desktop\TRBSOD\021915-22234-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
Windows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64
Product: Server, suite: TerminalServer
Built by: 7601.18700.amd64fre.win7sp1_gdr.141211-1742
Machine Name:
Kernel base = 0xfffff800`01614000 PsLoadedModuleList = 0xfffff800`01857890
Debug session time: Thu Feb 19 15:14:07.055 2015 (UTC + 10:00)
System Uptime: 3 days 0:17:04.886
Loading Kernel Symbols
Loading User Symbols
Loading unloaded module list
*                        Bugcheck Analysis                                    *
Use !analyze -v to get detailed debugging information.
BugCheck 50, {fffff680003aa108, 0, fffff800016eaa49, 5}
Could not read faulting driver name
Probably caused by : ntkrnlmp.exe ( nt! ?? ::FNODOBFM::`string'+20d9d )
Followup: MachineOwner
2: kd> !analyze -v
*                        Bugcheck Analysis                                    *
PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced.  This cannot be protected by try-except,
it must be protected by a Probe.  Typically the address is just plain bad or it
is pointing at freed memory.
Arguments:
Arg1: fffff680003aa108, memory referenced.
Arg2: 0000000000000000, value 0 = read operation, 1 = write operation.
Arg3: fffff800016eaa49, If non-zero, the instruction address which referenced the bad memory
address.
Arg4: 0000000000000005, (reserved)
Debugging Details:
Could not read faulting driver name
READ_ADDRESS: GetPointerFromAddress: unable to read from fffff800018c1100
 fffff680003aa108 
FAULTING_IP: 
nt! ?? ::FNODOBFM::`string'+20d9d
fffff800`016eaa49 49334500        xor     rax,qword ptr [r13]
MM_INTERNAL_CODE:  5
CUSTOMER_CRASH_COUNT:  1
DEFAULT_BUCKET_ID:  DRIVER_FAULT_SERVER_MINIDUMP
BUGCHECK_STR:  0x50
PROCESS_NAME:  chrome.exe
CURRENT_IRQL:  0
TRAP_FRAME:  fffff880105496d0 -- (.trap 0xfffff880105496d0)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=0050000000000000 rbx=0000000000000000 rcx=7ff0000000000000
rdx=0000000000000005 rsi=0000000000000000 rdi=0000000000000000
rip=fffff800016eaa49 rsp=fffff88010549860 rbp=0000000000000005
 r8=fffffa800bbd9588  r9=fffff70001080000 r10=0000007ffffffff8
r11=0000000000000548 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl nz na po nc
nt! ?? ::FNODOBFM::`string'+0x20d9d:
fffff800`016eaa49 49334500        xor     rax,qword ptr [r13] ds:00000000`00000000=????????????????
Resetting default scope
LAST_CONTROL_TRANSFER:  from fffff80001706603 to fffff8000168ae80
STACK_TEXT:  
fffff880`10549568 fffff800`01706603 : 00000000`00000050 fffff680`003aa108 00000000`00000000 fffff880`105496d0 : nt!KeBugCheckEx
fffff880`10549570 fffff800`01688fae : 00000000`00000000 fffff680`003aa108 00000000`00000000 fffff700`010804b0 : nt! ?? ::FNODOBFM::`string'+0x43801
fffff880`105496d0 fffff800`016eaa49 : fffff700`010804b0 00000000`00000000 fffff6fb`7dc00000 00000000`00000000 : nt!KiPageFault+0x16e
fffff880`10549860 fffff800`0165bfc6 : fffffa80`00000001 00000000`00000548 fffff700`01080000 fffff700`01080488 : nt! ?? ::FNODOBFM::`string'+0x20d9d
fffff880`105498e0 fffff800`0195f37a : fffff8a0`0c914920 fffff880`10549c20 00000000`00000000 fffffa80`0f5ea400 : nt!MmCleanProcessAddressSpace+0x4ca
fffff880`10549930 fffff800`0194550d : 00000000`c0000005 fffff800`01680a01 00000000`fffdb000 fffffa80`0e9b34a0 : nt!PspExitThread+0x56a
fffff880`10549a30 fffff800`0167d9fa : fffff900`00000000 fffff800`017bd30d fffff900`c2e9f508 fffff960`0014f84e : nt!PsExitSpecialApc+0x1d
fffff880`10549a60 fffff800`0167dd40 : 00000000`00000000 fffff880`10549ae0 fffff800`01945480 00000000`00000001 : nt!KiDeliverApc+0x2ca
fffff880`10549ae0 fffff800`0168a1b7 : 00000000`00000000 fffff880`10549c01 00000000`fffdb000 00000000`00000000 : nt!KiInitiateUserApc+0x70
fffff880`10549c20 00000000`753c2e09 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceExit+0x9c
00000000`001fe988 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x753c2e09
STACK_COMMAND:  kb
FOLLOWUP_IP: 
nt! ?? ::FNODOBFM::`string'+20d9d
fffff800`016eaa49 49334500        xor     rax,qword ptr [r13]
SYMBOL_STACK_INDEX:  3
SYMBOL_NAME:  nt! ?? ::FNODOBFM::`string'+20d9d
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: nt
IMAGE_NAME:  ntkrnlmp.exe
DEBUG_FLR_IMAGE_TIMESTAMP:  548a6e28
FAILURE_BUCKET_ID:  X64_0x50_nt!_??_::FNODOBFM::_string_+20d9d
BUCKET_ID:  X64_0x50_nt!_??_::FNODOBFM::_string_+20d9d
Followup: MachineOwner
Any and all help would be greatly appreciated.
Thanks in advance!

Similar Messages

  • Unable to rename msvcp60.dll in windows server 2008 ( access denied error message)

    Dear all,
    This is to inform you that, i wanted to replace msvcp60.dll file due to some other configuration purpose, but its not allowing me to changed even using local administrator loing, please help how can i get it done.
    Regards,
    Kumar V
    Regards, Kumar.V

    Perhaps it is held by the process. Find process, stop it and do what you want. If you still cannot what you need, make a script and run it in Task Schedule with elevated rights as SYSTEM. You may reregister newly named dll.
    Perhaps more suitable forum for problem like this one is MSDN forum. If problem persists, addres this forum.
    HTH
    Milos

  • Windows server 2008 sp2 andoracle database 10g r2

    We have created a server with windows server 2008 sp2, installing various roles, active directory, domain, dhcp server, dns server, some others, and various functionalities, and all works fine.
    After all of this we are trying to install oracle database 10g, 'cause compatibiliy with an already existing db running at the moment under this database platform, using oracle universal installer, and when the launcer starts the procedure oracle database configuration assistant its windows come out and after just the 2% of the procedure it stops with ora-12560 error.
    Before this not any kind of error appear.
    the windows firewall security windows that appears, just 2, are unlocked by clicking the unlock button.
    All seems configured right.
    The listener service, oracleoradb10g_home1tnslistner, seems configured right, automatically configured from the setup procedure just before the oracle database configuration assistant, and is running.
    This is the only one service created and running, at this point of the installation, from oracle.
    the global database we are trying to create is named orcl, but in any place this name is found at the moment that the installation stops.
    I hope that someone can help with this 'cause are 5 days that we are blocked with the installation and can't install the server in its environment.
    We are desperates.

    At this link
    http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10203vista.html
    it says server and client for windows 2008 not just client.
    Not only.
    If I install this with no creation of the active directory and the domain, with all the rest, the installation work till the end without any error.
    And anyway the error i reported in the first post happen the same, exactly the same point of the installation, with the 11g version too.
    Waiting and hoping can be helped
    Best regards.

  • Windows Server 2008 R2 SP1 - BSOD Stop Error 0x00000050 RDPWD.SYS

    Hi all,
    I have been struggling with a BSOD for the past 5 weeks and have scoured the web trying in vain to find someone else with the same issue.
    Environment:
    8 x 2008 R2 SP1 Windows Servers (8Gb RAM, 25Gb HDD) with Remote Desktop Services Roles installed, running as part of an RDS Farm.  All Servers are VM Guests (hardware version 7) running on VMware vSphere v4.1.0-260247 Hosts (Dell
    PowerEdge R710 - 128Gb RAM).  Our vSphere 'farm' has 5 Hosts that connect to our EMC SAN via iSCSI with multipath routes. 
    Each RDS Server is load balanced via a Connection Broker, and each server has the same set of software / vm hardware installed.  In a nutshell, each has Symantec Endpoint Protection v11.0.5002.333, Symantec Altiris v7.0, Microsoft Office 2007 as well as
    other various software essential to these servers.
    Symptoms:
    Randomly throughout the day, one (or more) of the RDS Servers will crash with a BSOD more often than not with "caused by driver ntoskrnl.exe" sometimes with "cng.sys" and once with "ksecpkg.sys".  So far in the 5 weeks I have had 90 crashes.  Yesterday
    all 8 of the RDS Servers crashed at some point throughout the day.
    On a typical BSOD, it says:
    The problem seems to be caused by the following file: ntoskrnl.exe
    PAGE_FAULT_IN_NONPAGED_AREA
    Technical Information:
    *** STOP: 0x00000050 (0xfffffa800c153284, 0x0000000000000001, 0xfffff880053dc0c9, 0x0000000000000000)
    *** ntoskrnl.exe - Address 0xfffff8000169ac40 base at 0xfffff8000161e000 DateStamp 0x4e02aaa3
    Using BlueScreenView it says "caused by address: ntoskrnl.exe+7cc40" nearly every time.
    I have analysed as best I could using Microsoft WinDbg, and this is the output of a typical mini-dump file:
    Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
    Copyright (c) Microsoft Corporation. All rights reserved.
    Loading Dump File [\\hqrds01\c$\Windows\Minidump\030112-19359-01.dmp]
    Mini Kernel Dump File: Only registers and stack trace are available
    Symbol search path is: SRV*C:\Program Files\Debugging Tools for Windows (x64)\Symbols*http://msdl.microsoft.com/download/symbols
    Executable search path is:
    Windows 7 Kernel Version 7601 (Service Pack 1) MP (2 procs) Free x64
    Product: Server, suite: TerminalServer
    Built by: 7601.17640.amd64fre.win7sp1_gdr.110622-1506
    Machine Name:
    Kernel base = 0xfffff800`01609000 PsLoadedModuleList = 0xfffff800`0184e670
    Debug session time: Thu Mar  1 09:14:00.921 2012 (UTC + 0:00)
    System Uptime: 0 days 21:31:41.950
    Loading Kernel Symbols
    Loading User Symbols
    Loading unloaded module list
    *                        Bugcheck Analysis                                   
    Use !analyze -v to get detailed debugging information.
    BugCheck 50, {fffffa800be83284, 1, fffff8800576f0c9, 0}
    Could not read faulting driver name
    Probably caused by : RDPWD.SYS ( RDPWD!memcpy+1d9 )
    Followup: MachineOwner
    1: kd> !analyze -v
    *                        Bugcheck Analysis                                   
    PAGE_FAULT_IN_NONPAGED_AREA (50)
    Invalid system memory was referenced.  This cannot be protected by try-except,
    it must be protected by a Probe.  Typically the address is just plain bad or it
    is pointing at freed memory.
    Arguments:
    Arg1: fffffa800be83284, memory referenced.
    Arg2: 0000000000000001, value 0 = read operation, 1 = write operation.
    Arg3: fffff8800576f0c9, If non-zero, the instruction address which referenced the bad memory
     address.
    Arg4: 0000000000000000, (reserved)
    Debugging Details:
    Could not read faulting driver name
    WRITE_ADDRESS: GetPointerFromAddress: unable to read from fffff800018b8100
     fffffa800be83284
    FAULTING_IP:
    RDPWD!memcpy+1d9
    fffff880`0576f0c9 668901          mov     word ptr [rcx],ax
    MM_INTERNAL_CODE:  0
    CUSTOMER_CRASH_COUNT:  1
    DEFAULT_BUCKET_ID:  VERIFIER_ENABLED_VISTA_MINIDUMP
    BUGCHECK_STR:  0x50
    PROCESS_NAME:  svchost.exe
    CURRENT_IRQL:  0
    TRAP_FRAME:  fffff8800bf70a80 -- (.trap 0xfffff8800bf70a80)
    NOTE: The trap frame does not contain all registers.
    Some register values may be zeroed or incorrect.
    rax=000000000000023d rbx=0000000000000000 rcx=fffffa800be83284
    rdx=ffffffffffe7e63b rsi=0000000000000000 rdi=0000000000000000
    rip=fffff8800576f0c9 rsp=fffff8800bf70c18 rbp=0000000000000001
     r8=000000000000001c  r9=fffff8a0033401e8 r10=fffff8a0033401e8
    r11=fffffa800be83268 r12=0000000000000000 r13=0000000000000000
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei pl nz na pe nc
    RDPWD!memcpy+0x1d9:
    fffff880`0576f0c9 668901          mov     word ptr [rcx],ax ds:0c40:fffffa80`0be83284=????
    Resetting default scope
    LAST_CONTROL_TRANSFER:  from fffff800016319fc to fffff80001685c40
    STACK_TEXT: 
    fffff880`0bf70918 fffff800`016319fc : 00000000`00000050 fffffa80`0be83284 00000000`00000001 fffff880`0bf70a80 : nt!KeBugCheckEx
    fffff880`0bf70920 fffff800`01683d6e : 00000000`00000001 fffffa80`0be83284 00000000`00000000 fffff8a0`0be85820 : nt! ?? ::FNODOBFM::`string'+0x4611f
    fffff880`0bf70a80 fffff880`0576f0c9 : fffff880`057547cf 00000000`00000000 00000000`00000022 00000000`00000002 : nt!KiPageFault+0x16e
    fffff880`0bf70c18 fffff880`057547cf : 00000000`00000000 00000000`00000022 00000000`00000002 fffff880`0576c99d : RDPWD!memcpy+0x1d9
    fffff880`0bf70c20 fffff880`0576c9fc : fffff8a0`0f938010 00000000`00000022 00000000`00000019 00000000`00000002 : RDPWD!SM_MCSSendDataCallback+0x303
    fffff880`0bf70c60 fffff880`0576b354 : fffff880`0bf70da0 fffff8a0`033401e8 00000000`00000000 fffff880`0576abfd : RDPWD!HandleAllSendDataPDUs+0x188
    fffff880`0bf70d10 fffff880`0576af64 : 00000000`00000031 fffffa80`0bd01895 00000006`0000001f fffff880`05739079 : RDPWD!RecognizeMCSFrame+0x28
    fffff880`0bf70d50 fffff880`029ba1f8 : fffff8a0`03345000 fffffa80`0bae6e80 fffffa80`0a5c0e60 fffff880`05737e00 : RDPWD!MCSIcaRawInputWorker+0x3d4
    fffff880`0bf70df0 fffff880`057378d0 : 00000000`00000000 fffff880`0bf70f10 fffff880`0bf70f08 00000000`00000000 : termdd!IcaRawInput+0x50
    fffff880`0bf70e20 fffff880`05736d85 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : tssecsrv!CRawInputDM::PassDataToServer+0x2c
    fffff880`0bf70e50 fffff880`057367c2 : fffffa80`088e8a28 fffffa80`00000000 00000000`00000031 fffff800`00000000 : tssecsrv!CFilter::FilterIncomingData+0xc9
    fffff880`0bf70ef0 fffff880`029ba1f8 : fffff880`009b8180 00000000`00000001 00000000`00000000 00000000`00000000 : tssecsrv!ScrRawInput+0x82
    fffff880`0bf70f60 fffff880`0572c4c5 : fffffa80`088e8a10 fffffa80`0bd01658 00000000`00000000 fffffa80`088e8a10 : termdd!IcaRawInput+0x50
    fffff880`0bf70f90 fffff880`029baf3e : fffffa80`0bd01620 fffffa80`0c100420 fffffa80`0bd4b450 fffffa80`0973b9b0 : tdtcp!TdInputThread+0x465
    fffff880`0bf71810 fffff880`029b9ae3 : fffffa80`09d902b0 fffffa80`0973b9b0 fffffa80`093d8520 fffffa80`0bd4b450 : termdd!IcaDriverThread+0x5a
    fffff880`0bf71840 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : termdd!IcaDeviceControlStack+0x827
    STACK_COMMAND:  kb
    FOLLOWUP_IP:
    RDPWD!memcpy+1d9
    fffff880`0576f0c9 668901          mov     word ptr [rcx],ax
    SYMBOL_STACK_INDEX:  3
    SYMBOL_NAME:  RDPWD!memcpy+1d9
    FOLLOWUP_NAME:  MachineOwner
    MODULE_NAME: RDPWD
    IMAGE_NAME:  RDPWD.SYS
    DEBUG_FLR_IMAGE_TIMESTAMP:  4ce7ab45
    FAILURE_BUCKET_ID:  X64_0x50_VRF_RDPWD!memcpy+1d9
    BUCKET_ID:  X64_0x50_VRF_RDPWD!memcpy+1d9
    Followup: MachineOwner
    The RDS servers are set to reboot automatically, and after a period of 5 minutes or so, the users can reconnect and log back in.  On a typical day each server will have around 10 people RDP'd in to them.
    The Users connecting to the RDS Servers included XP laptops/desktops and IGEL UD-120-LX Thin Terminals.  The XPs have SP3 installed and are fully patched via Symantec Altiris.
    Things I have tried:
    - Analyse the dump-files (as per above).
    - I have tracked each user logging on to the RDS Farm (via batch scripts) and tried to determine if this is caused by the same individual(s) but it appears random.
    - Check to see if the crashing Virtual Machine is running on a specific host, but it has happened on all Hosts.
    - Check to see if there was anything specific that happened on the day that the crashes started.  There were about 5 new poeple introduced to the RDS Farm at that time, but there were using (a) client machines that had been used previously elsewhere with
    no issues, (b) software that had been used previously, (c) in a remote location that had previous users using RDS, (d) have not been logged on to a RDS Server when it has crashed.
    - Updated Windows Server 2008 R2 SP1 to the latest patches (as of Feb 2012).
    - Turned on Verifier (using recommended settings), and then analysed dump-files with the same reference to rdpwd.sys.
    - Fixed the Memory Resource Reservation in vSphere to the full 8Gb for all these RDS Servers (so that the memory is not shared at all).
    - Ran MEMTEST on a VM Guest with the full 8Gb RAM, on a couple of the ESX Hosts.
    - Changed the VMTools Video Driver to the SVGA II driver from the Standard VGA Driver.
    - Ran a full AV Scan (using SEP).
    - Isolated the Printer Drivers using the Printer Management MMC.
    - Ran sfc /scannow of all RDS Servers and rebooted.
    The mini-dump file mentioned above is here:https://skydrive.live.com/redir.aspx?cid=48f471f287af2349&resid=48F471F287AF2349!105&parid=48F471F287AF2349!103
    I hope someone can help, as what hair I have left (from pulling it out) is turning grey!
    Andy

    *                        Bugcheck Analysis                                   
    PAGE_FAULT_IN_NONPAGED_AREA (50)
    Invalid system memory was referenced.  This cannot be protected by try-except,
    it must be protected by a Probe.  Typically the address is just plain bad or it
    is pointing at freed memory.
    Arguments:
    Arg1: fffffa800c153284, memory referenced.
    Arg2: 0000000000000001, value 0 = read operation, 1 = write operation.
    Arg3: fffff880053dc0c9, If non-zero, the instruction address which referenced the bad memory
        address.
    Arg4: 0000000000000000, (reserved)
    Debugging Details:
    Could not read faulting driver name
    WRITE_ADDRESS: GetPointerFromAddress: unable to read from fffff800018cd100
     fffffa800c153284
    FAULTING_IP:
    RDPWD!memcpy+1d9
    fffff880`053dc0c9 668901          mov     word ptr [rcx],ax
    MM_INTERNAL_CODE:  0
    CUSTOMER_CRASH_COUNT:  1
    DEFAULT_BUCKET_ID:  VERIFIER_ENABLED_VISTA_MINIDUMP
    BUGCHECK_STR:  0x50
    PROCESS_NAME:  svchost.exe
    CURRENT_IRQL:  0
    TRAP_FRAME:  fffff8800aa48a80 -- (.trap 0xfffff8800aa48a80)
    NOTE: The trap frame does not contain all registers.
    Some register values may be zeroed or incorrect.
    rax=00000000000001ff rbx=0000000000000000 rcx=fffffa800c153284
    rdx=ffffffffffee6b8b rsi=0000000000000000 rdi=0000000000000000
    rip=fffff880053dc0c9 rsp=fffff8800aa48c18 rbp=0000000000000001
     r8=000000000000001c  r9=fffff8a0123923a8 r10=fffff8a0123923a8
    r11=fffffa800c153268 r12=0000000000000000 r13=0000000000000000
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei pl nz na pe nc
    RDPWD!memcpy+0x1d9:
    fffff880`053dc0c9 668901          mov     word ptr [rcx],ax ds:8c40:fffffa80`0c153284=????
    Resetting default scope
    LAST_CONTROL_TRANSFER:  from fffff800016469fc to fffff8000169ac40
    STACK_TEXT:  
    fffff880`0aa48918 fffff800`016469fc : 00000000`00000050 fffffa80`0c153284 00000000`00000001 fffff880`0aa48a80 : nt!KeBugCheckEx
    fffff880`0aa48920 fffff800`01698d6e : 00000000`00000001 fffffa80`0c153284 00000000`00000000 fffff8a0`10919830 : nt! ?? ::FNODOBFM::`string'+0x4611f
    fffff880`0aa48a80 fffff880`053dc0c9 : fffff880`053c17cf 00000000`00000000 00000000`00000022 00000000`00000002 : nt!KiPageFault+0x16e
    fffff880`0aa48c18 fffff880`053c17cf : 00000000`00000000 00000000`00000022 00000000`00000002 fffff880`053d999d : RDPWD!memcpy+0x1d9
    fffff880`0aa48c20 fffff880`053d99fc : fffff8a0`10cf30d0 00000000`00000022 00000000`00000019 00000000`00000002 : RDPWD!SM_MCSSendDataCallback+0x303
    fffff880`0aa48c60 fffff880`053d8354 : fffff880`0aa48da0 fffff8a0`123923a8 00000000`00000000 fffff880`053d7bfd : RDPWD!HandleAllSendDataPDUs+0x188
    fffff880`0aa48d10 fffff880`053d7f64 : 00000000`00000031 fffffa80`0c039de5 00000006`0000001f fffff880`053a6079 : RDPWD!RecognizeMCSFrame+0x28
    fffff880`0aa48d50 fffff880`012c01f8 : fffff8a0`12393000 fffffa80`0bb7aa60 fffffa80`0b81e9c0 fffff880`053a4e00 : RDPWD!MCSIcaRawInputWorker+0x3d4
    fffff880`0aa48df0 fffff880`053a48d0 : 00000000`00000000 fffff880`0aa48f10 fffff880`0aa48f08 fffffa80`0c039ba8 : termdd!IcaRawInput+0x50
    fffff880`0aa48e20 fffff880`053a3d85 : fffff880`01716890 fffffa80`0c0327e8 00000000`00000000 00000000`00000000 : tssecsrv!CRawInputDM::PassDataToServer+0x2c
    fffff880`0aa48e50 fffff880`053a37c2 : fffffa80`0c16e598 fffffa80`00000000 00000000`00000031 fffff800`00000000 : tssecsrv!CFilter::FilterIncomingData+0xc9
    fffff880`0aa48ef0 fffff880`012c01f8 : fffff880`009b8180 00000000`00000001 00000000`00000000 00000000`00000000 : tssecsrv!ScrRawInput+0x82
    fffff880`0aa48f60 fffff880`052994c5 : fffffa80`0c16e580 fffffa80`0c039ba8 00000000`00000000 fffffa80`0c16e580 : termdd!IcaRawInput+0x50
    fffff880`0aa48f90 fffff880`012c0f3e : fffffa80`0c039b70 fffffa80`0acccf20 fffffa80`0a95c450 fffffa80`0abf9620 : tdtcp!TdInputThread+0x465
    fffff880`0aa49810 fffff880`012bfae3 : fffffa80`0c0a6560 fffffa80`0abf9620 fffffa80`087eee80 fffffa80`0a95c450 : termdd!IcaDriverThread+0x5a
    fffff880`0aa49840 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : termdd!IcaDeviceControlStack+0x827
    STACK_COMMAND:  kb
    FOLLOWUP_IP:
    RDPWD!memcpy+1d9
    fffff880`053dc0c9 668901          mov     word ptr [rcx],ax
    SYMBOL_STACK_INDEX:  3
    SYMBOL_NAME:  RDPWD!memcpy+1d9
    FOLLOWUP_NAME:  MachineOwner
    MODULE_NAME: RDPWD
    IMAGE_NAME:  RDPWD.SYS
    DEBUG_FLR_IMAGE_TIMESTAMP:  4ce7ab45
    FAILURE_BUCKET_ID:  X64_0x50_VRF_RDPWD!memcpy+1d9
    BUCKET_ID:  X64_0x50_VRF_RDPWD!memcpy+1d9
    Followup: MachineOwner
    Bug Check Code 0x50:http://msdn.microsoft.com/en-us/library/windows/hardware/ff559023%28v=vs.85%29.aspx
    Please start by that:
    Update all possible drivers
    Uninstall all unused programs
    Disable all security softwares you have
    Run chkdsk /r /f and sfc /scannow
    Run memtest86+ to check if all is okay with your RAM. If an error was detected then replace the faulty RAM or contact your manufacturer Technical Support
    If this does not help then upload MEMORY.DMP file (You can zip it and divide it using 7-ZIP) using Microsoft Skydrive and post a link here.
    You can also contact Microsoft CSS for assistance.
    This
    posting is provided "AS IS" with no warranties or guarantees , and confers no rights.   
    Microsoft
    Student Partner 2010 / 2011
    Microsoft
    Certified Professional
    Microsoft
    Certified Systems Administrator: Security
    Microsoft
    Certified Systems Engineer: Security
    Microsoft
    Certified Technology Specialist: Windows Server 2008 Active Directory, Configuration
    Microsoft
    Certified Technology Specialist: Windows Server 2008 Network Infrastructure, Configuration
    Microsoft
    Certified Technology Specialist: Windows Server 2008 Applications Infrastructure, Configuration
    Microsoft
    Certified Technology Specialist: Windows 7, Configuring
    Microsoft
    Certified Technology Specialist: Designing and Providing Volume Licensing Solutions to Large Organizations
    Microsoft
    Certified IT Professional: Enterprise Administrator
    Microsoft Certified IT Professional: Server Administrator
    Microsoft Certified Trainer

  • Windows Server 2008 R2 SP1 BSOD 0x1a with CLFS.sys

    Hello,
    I've got a BSOD on a Windows Server 2008 R2 with SP1 installed. Analyzed the dump and could
    see a Bug-check of 0x1a which means "MEMORY_MANAGEMENT".
    Further analysis on this dump shows me, that this probably is caused by the CLFS.sys, which
    is the Common Log File System Driver. This CLFS.sys is installed with date:
    Tue Jul 14 01:19:57 2009
    I have now searched trough MS Support pages and resources and also the Internet, but I found no
    information about an update for this or a newer version. It's nearby impossible to find newer versions
    for specific  files in i.e. Hot-fixes.
    Do you know this issue with the 0x1a BSOD and CLFS.sys and/or do you know a newer version ?
    Any help would be very appreciated!
    Thanks and regards plus have a nice day !
    Tino

    Hi Tino,
    Regarding to Bug Check 0x1A, please refer to following article.
    Bug Check 0x1A: MEMORY_MANAGEMENT
    Did you install any third-party application in this problematic server? Would you please let me know whether
    the BSOD issue occurred regularly? Or just occurred suddenly? If the BSOD issue occurred regularly, please
    perform a clean boot and check if this BSOD issue still exists.
    In addition, please check if necessary updates need to be installed and drivers need to be updated. Please
    run sfc /scannow command to scan all protected system files and check if find errors.
    As you know, troubleshoot this kind of kernel crash issue, we need to analyze the crash dump file to narrow down the root cause of the issue. Actually, it is not effective
    for us to debug the crash dump file here in the forum. If this issues is a state of emergency for you. Please contact Microsoft Customer Service and Support (CSS) via telephone so that a dedicated Support Professional can assist with your request.
    To obtain the phone numbers for specific technology request, please refer to the web site listed below:
    http://support.microsoft.com/default.aspx?scid=fh;EN-US;OfferProPhone#faq607
    àThis CLFS.sys is installed with date: Tue Jul 14 01:19:57 2009
    àor do you know a newer version?
    By the way, I checked the CLFS.sys in a Windows Server 2008 R2 in my Lab environment. It also created in July
    2009.
    Hope this helps.
    Best regards,
    Justin Gu

  • Crystal Reports XI  stopped working error message on a Windows Server 2008

    We recently installed Crystal Report XI  in a Windows Server 2008 environment. After completed the installation as the Administrator every time that we try to execute Crystal we receive the following error message:
    "Crystal Reports has stopped working"
    Problem signature:
    Problem Event Name: BEX
    Application Name: crw32.exe
    Application Version: 11.0.0.1282
    Application Timestamp: 422d5c77
    Fault Module Name: StackHash_1fc1
    Fault Module Version: 0.0.0.0
    Fault Module Timestamp: 00000000
    Exception Offset: 7ef2fbfc
    Exception Code: c0000005
    Exception Data: 00000008
    OS Version: 6.1.7600.2.0.0.272.7
    Locale ID: 1033
    Additional Information 1: 1fc1
    Additional Information 2: 1fc163a1c57ae45571bce37d539b233f
    Additional Information 3: 2f92
    Additional Information 4: 2f92817e9e63d4100e2aa48e72910a78
    Any recommendation on what is causing this error?
    Thanks,
    Luis

    Hi, did you get this working? I'm really struggling to get up and running on 2008 R2, the CMS service just refuses to connect to the database. It also looks like the database wasn't created properly during the install. I set it up on an MSDE database, and when I look at it with sql management studio the database is there but there aren't any tables or anything else
    Can anyone either confirm or deny that its possible to run Crystal XI on 2008 R2?
    The error I'm getting when trying to start the service is:
    The root server reported an error Initialization Failure. (Reason: Unable to connect to the database using the provided connection string. Reason: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified).
    I've confirmed that the ODBC connections work (both 32 bit and 64 bit) via the built in test, but Crystal for some reason isn't happy

  • Windows Server 2008 R2 Std Evaluation Copy showing 'License Expiry' message in just 2 weeks after installation

    I have downloaded an 'Evaluation' version of Win Server 2008 R2 Std.
    just 2 weeks back. This is a 180
    days evaluation copy. This has been installed on the Virtual box.
    Now after just 2 weeks, it is showing the message  - 'Windows License is expired'. It is getting automatically
    shutting down (that
    too an abrupt shutdown) after every hour or so without asking to save any work that is already in progress. As this is an 180 days' copy it should run at least for 180 days. Can anyone help me out to get this fixed? Thanks in advance.
    Regards,
    Nilesh

    Hi Nilesh,
    Just addition. Please also refer to following similar thread and check if can help you.
    Windows
    Server 2008 Trial Version License expired after 15 days
    If any update, please feel free to let us know.
    Hope this helps.
    Best regards,
    Justin Gu

  • BSOD: 0x000000F4 (0x00000003, 0x875801A8, 0x875802F4, 0x82C36C30), Windows Server 2008, vSphere 5.1, Equallogic SAN

    Getting a BSOD on a Windows Server 2008 Standard x86 server that has been working fine for a few years.  Running it as a VM on vSphere 5.1 and when rebooted I now receive this gem.
    I have tried booting from Install CD and running chkdsk /f /r, bootrec variations, deleting pending.xml, booting to Safe Mode (won't work), etc.  In Safe Mode, it gets to crcdisk.sys which may be a symptom not the problem.  sfc /scannow
    won't work as the Window Resource Protection states that it won't run.
    I also run an Dell/Equallogic SAN where two partitions are on the same virtual volume. 
    Need some help here.  Any further suggestions? 

    Hi dkenn256,
    The Bug Check code for the BSOD errors you are experiencing is 0xF4, this may be caused by your storage, if you can’t boot your system now please first check your storage,
    such upgrade the storage firmware check the storage cable or replace a new array adapter.
    This issue also may caused by the know issue descripted in kb 2675806, please try to install this KB then monitor this issue again.
    The KB 2675806 download:
    http://support.microsoft.com/kb/2675806/en-us
    The similar thread:
    How to troubleshoot and solve blue screen (S"line-height:107%;font-family:'Verdana','sans-serif';font-size:10pt;">http://answers.microsoft.com/en-us/windows/forum/windows_7-performance/how-to-troubleshoot-and-solve-blue-screen-stop/dc00a824-74d7-43b3-9330-f2c6ba054731
    I’m glad to be of help to you!
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Download issue when Windows 7 Pro joins a Windows Server 2008 Active Directory

    Hi,
    I purchased 2 new Dell OptiPlex 3010 desktop computers that came with Windows 7 Professional operating system with SP1. 
    There were no Microsoft updates installed yet.  After I added one of these Dell computers to the Windows Server 2008 Active Directory, I was not able to download several items. 
    Below are several examples:
    1) I downloaded the Norton anti-virus installation file.  This file is not the full installation of Norton; it is more of a file where you execute it and it will download the full installation from the Internet like from their Norton web
    site.  So when I executed this installation file, it does not download the full installation files. 
    It just hung at the screen saying “Downloading” and it will finally stop with an error (don’t remember the error message).
    Note: If I have the full Norton installation file then I am able to install it on this computer with no problems.
    2) I downloaded the Adobe Reader installation file.  This file is not the full installation of Adobe Reader; it is more of a file where you execute it and it will download the full installation from the Internet like from their Adobe web
    site.  So when I executed this installation file, it hung at the downloading part and then it will error out with a “Actionlist Not Found” message.
    Note: If I have the full Adobe Reader installation file then I am able to install it on this computer with no problems.
    3) I installed Microsoft Office 2010 Standard version on this computer. 
    I configured Microsoft Outlook to retrieve emails from my email provider (pop and smtp settings). 
    After configuring Microsoft Outlook, I was able to send emails through Microsoft Outlook successfully (and very quickly), but he was unable to retrieve my emails. The progress bar for the Receiving in the "Outlook Send/Receive Progress" box
    shows no progress. The Progress bar is not moving. There is a message at the bottom of Microsoft Outlook stating "Receiving message 1 of 6 (x.xx KB of x.xx MB)" and it is very slow. My new emails were not being retrieved at all. 
    I tried various pop and smtp servers that was available for my email provider, but all had the same effect.
    4) I can access certain web sites (e.g.
    www.yahoo.com, www.cnn.com) while I cannot access other web sites like
    www.usatoday.com, my web hosting email site.
    Note: I had a Dell computer with Windows XP Professional operating system and this computer does not have any of the above issues.
    The above are only a few examples that I have experienced. 
    If I removed this Dell OptiPlex 3010 computer from the Windows Server 2008 Active Directory then I still experience the same issue.
    So as another test, I setup the other new Dell OptiPlex 3010 with the same Windows 7 Professional OS with SP1. 
    This time, I did not join the Windows Server 2008 Active Directory and I was able to successfully download the full Norton installation files, download the full Adobe Reader installation files, download my emails from Microsoft Outlook 2010, etc. 
    But once I joined this computer to the Windows Server 2008 Active Directory then I am not able to download these files and emails at all.
    It seems like there might be some group policy or a security setting that is preventing these downloads so I disabled the group policy on the Windows Server 2008 AD and Windows 7 Profession OS, but it didn’t resolve the issue.
     I disabled all of the firewall programs on this Windows 7 Professional OS, but it still did not resolve the issue.
    Since the Windows Server 2008 AD did not have DHCP installed, I installed DHCP and setup a scope. 
    Then configured the Windows 7 Professional OS to obtain an IP address, but it didn’t resolve the issue.
    If I move this Windows 7 Professional computer to another network where it did not have any Active Directory; it just had a wireless router serving DHCP then everything works on the Windows 7 Pro computer.
    Any ideas what is the root cause when a Windows 7 Professional computer join a Windows Server 2008 AD?
    Thanks,
    wl_tech

    Hi,
    Could you please tell some information for the AD environment and how it connect to the internet?
    Regarding 3rd party installlers didn't work as expected, please also seek help in their offical website.
    For outlook not receiving emails, could you please take a look in
    Event Viewer and see if there are any special errors logged there?
    And when trying to access the website like
    www.usatoday.com, any special errors IE showed out?
    Best regards
    Michael Shao
    TechNet Community Support

  • Printing from OSX Lion Client to Windows Server 2008

    I have tried these methods:
    =============
    via System Preferences
    IP Printer (Line Printer Daemon - LPD)
    Address (both Server Name and IP Address)
    e.g.  lpd://servername/queue
    Queue
    Print Using (HP LaserJet P4010 Series)
    Result:  
    After a test print is sent, the print queue dialog reads:
    Processing Job.
    Copying Print Data.
    Connecting to Printer.
    Paused - "/usr/libexec/cups/backend/lpd failed"
    **** I have also tried using the hostname in place of the IP address
    I get something to the effect of:
    D [10/Nov/2011:12:24:35 -0500] [Job 27] ------------------------------------------------------
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Pre-processing tasks:
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Line - %%BeginDocument     Processor - EmbeddedDocumentCounter     "Check for embedded document"     (pre, mandatory, substr)
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Line - %!PS-Adobe     Processor - EmbeddedDocumentCounter     "Check for embedded document"     (pre, mandatory, substr)
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Post-processing tasks:
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Line - %%Page:     Processor - PageAccounting     "Log page for accounting"     (post, mandatory, substr)
    D [10/Nov/2011:12:24:35 -0500] [Job 27] ------------------------------------------------------
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Read 8170 bytes of print data...
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Wrote 8170 bytes of print data...
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Connecting to 10.157.32.92:515 for printer DOBL_24HR1
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Connecting to printer.
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Set job-printer-state-message to "Connecting to printer.", current level=INFO
    D [10/Nov/2011:12:24:35 -0500] [Job 27] STATE: -connecting-to-device
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Connected to printer.
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Set job-printer-state-message to "Connected to printer.", current level=INFO
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Connected to 10.157.32.92:515 (local port 1009)...
    D [10/Nov/2011:12:24:35 -0500] [Job 27] lpd_command 02 DOBL_24HR1
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Sending command string (12 bytes)...
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Reading command status...
    D [10/Nov/2011:12:24:35 -0500] [Job 27] lpd_command returning 1
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Backend returned status 1 (failed)
    D [10/Nov/2011:12:24:35 -0500] [Job 27] Printer stopped due to backend errors; please consult the error_log file for details.
    D [10/Nov/2011:12:24:35 -0500] [Job 27] End of messages
    D [10/Nov/2011:12:24:35 -0500] [Job 27] printer-state=5(stopped)
    D [10/Nov/2011:12:24:35 -0500] [Job 27] printer-state-message="/usr/libexec/cups/backend/lpd failed"
    D [10/Nov/2011:12:24:35 -0500] [Job 27] printer-state-reasons=paused
    =============
    via System PreferencesWindows *navigated to the server (e.g. smb://servername/printer/) with the browser.
    Result:
    After a test print is sent, i login to the dialog box with:
    DOMAIN\USERNAME
    PASSWORD
    (*) Remember this password in my keychain
    Status - On Hold (Authentication Required)
    **** I have also tried various formats for the username here:
    DOMAIN\USERNAME & password
    USERNAME & password
    SERVER\USERNAME & password
    Here's the Log output:
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Queued on "DOBL_24HR1" by "lab".
    D [10/Nov/2011:12:26:21 -0500] [Job 28] job-sheets=none,none
    D [10/Nov/2011:12:26:21 -0500] [Job 28] argv[0]="DOBL_24HR1"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] argv[1]="28"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] argv[2]="lab"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] argv[3]="testprint"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] argv[4]="1"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] argv[5]="AP_ColorMatchingMode=AP_ApplicationColorMatching AP_D_InputSlot= collate com.apple.print.DocumentTicket.PMSpoolFormat=application/pdf com.apple.print.JobInfo.PMJobName=testprint com.apple.print.PrinterInfo.PMColorDeviceID..n.=3671 com.apple.print.PrintSettings.PMColorMatchingMode..n.=0 com.apple.print.PrintSettings.PMColorSyncProfileID..n.=1580 com.apple.print.PrintSettings.PMCopies..n.=1 com.apple.print.PrintSettings.PMCopyCollate..b. com.apple.print.PrintSettings.PMFirstPage..n.=1 com.apple.print.PrintSettings.PMLastPage..n.=2147483647 com.apple.print.PrintSettings.PMPageRange..a.0..n.=1 com.apple.print.PrintSettings.PMPageRange..a.1..n.=2147483647 fit-to-page media=Letter pserrorhandler-requested=standard job-uuid=urn:uuid:ad3091e2-399a-3964-4c78-b8a81bf25bdf job-originating-host-name=localhost time-at-creation=1320945980 time-at-processing=1320945980 PageSize=Letter"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] argv[6]="/private/var/spool/cups/d00028-001"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[0]="<CFProcessPath>"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[1]="CUPS_CACHEDIR=/private/var/spool/cups/cache"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[2]="CUPS_DATADIR=/usr/share/cups"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[3]="CUPS_DOCROOT=/usr/share/doc/cups"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[4]="CUPS_FONTPATH=/usr/share/cups/fonts"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[5]="CUPS_REQUESTROOT=/private/var/spool/cups"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[6]="CUPS_SERVERBIN=/usr/libexec/cups"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[7]="CUPS_SERVERROOT=/private/etc/cups"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[8]="CUPS_STATEDIR=/private/etc/cups"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[9]="HOME=/private/var/spool/cups/tmp"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[10]="PATH=/usr/libexec/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[11]="[email protected]"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[12]="SOFTWARE=CUPS/1.5.0"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[13]="TMPDIR=/private/var/spool/cups/tmp"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[14]="USER=root"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[15]="CUPS_SERVER=/private/var/run/cupsd"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[16]="CUPS_ENCRYPTION=IfRequested"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[17]="IPP_PORT=631"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[18]="CHARSET=utf-8"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[19]="LANG=en_US.UTF-8"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[20]="APPLE_LANGUAGE=en-US"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[21]="PPD=/private/etc/cups/ppd/DOBL_24HR1.ppd"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[22]="RIP_MAX_CACHE=128m"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[23]="CONTENT_TYPE=application/vnd.cups-banner"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[24]="DEVICE_URI=smb://utlab-prsrv-02/DOBL_24HR1"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[25]="PRINTER_INFO=DOBL_24HR1"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[26]="PRINTER_LOCATION="
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[27]="PRINTER=DOBL_24HR1"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[28]="PRINTER_STATE_REASONS=none"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[29]="CUPS_FILETYPE=document"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[30]="FINAL_CONTENT_TYPE=printer/DOBL_24HR1"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[31]="AUTH_I****"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[32]="AUTH_U****"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] envp[33]="AUTH_P****"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Started filter /usr/libexec/cups/filter/cgbannertopdf (PID 7646)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Started filter /usr/libexec/cups/filter/cgpdftops (PID 7647)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Started filter /usr/libexec/cups/filter/pstops (PID 7648)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Started filter /Library/Printers/hp/filter/hpPostProcessing.bundle/Contents/MacOS/hpPostProces sing (PID 7649)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Started backend /usr/libexec/cups/backend/smb (PID 7650)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Started smb backend (PID 7653)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] STATE: +connecting-to-device
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Connecting to printer...
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Set job-printer-state-message to "Connecting to printer...", current level=INFO
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Looking up "utlab-prsrv-02"...
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Failed to connect to "smb://<username>:<password>@utlab-prsrv-02/": STATUS_LOGON_FAILURE
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Set job-printer-state-message to "Authentication required", current level=ERROR
    D [10/Nov/2011:12:26:21 -0500] [Job 28] smb backend (PID=7653) stopped with status 512
    D [10/Nov/2011:12:26:21 -0500] [Job 28] smb backend will exit with status 2
    D [10/Nov/2011:12:26:21 -0500] [Job 28] load_banner(filename="/private/var/spool/cups/d00028-001")
    D [10/Nov/2011:12:26:21 -0500] [Job 28] hpPostProcessing launched
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Page = 612x792; 12,12 to 600,780
    D [10/Nov/2011:12:26:21 -0500] [Job 28] cgpdftops - copying to temp print file "/private/var/spool/cups/tmp/01ddf4ecb23b2"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Final document orientation - 0
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Setting language to en-US
    D [10/Nov/2011:12:26:21 -0500] [Job 28] EWU support is absent for device.
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Pages per sheet - 1
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Orientation - portrait
    D [10/Nov/2011:12:26:21 -0500] [Job 28] ------------------------------------------------------
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Pre-processing tasks:
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Line - %%BeginDocument     Processor - EmbeddedDocumentCounter     "Check for embedded document"     (pre, mandatory, substr)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Line - %!PS-Adobe     Processor - EmbeddedDocumentCounter     "Check for embedded document"     (pre, mandatory, substr)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Line - %%EndComments     Processor - DriverVersion     "Insert driver info"     (pre, mandatory, substr)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Post-processing tasks:
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Line - %%Page:     Processor - PageAccounting     "Log page for accounting"     (post, mandatory, substr)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] ------------------------------------------------------
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Allowing document iterator to handle job termination...
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Using line-by-line file iteration...
    D [10/Nov/2011:12:26:21 -0500] [Job 28] cgpdftops - using PPD file "/private/etc/cups/ppd/DOBL_24HR1.ppd"...
    D [10/Nov/2011:12:26:21 -0500] [Job 28] PS Matching Mode = AP_ApplicationColorMatching
    D [10/Nov/2011:12:26:21 -0500] [Job 28] cgpdftops - languageLevel = 3, mediaBox.size.width = 612, mediaBox.size.height = 792
    D [10/Nov/2011:12:26:21 -0500] [Job 28] cgpdftops - documentMediaBox.size.width = 612, documentMediaBox.size.height = 792
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Page = 612x792; 12,12 to 600,780
    D [10/Nov/2011:12:26:21 -0500] [Job 28] slow_collate=0, slow_duplex=0, slow_order=0
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Before copy_comments - %!PS-Adobe-3.0
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %!PS-Adobe-3.0
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %APL_DSC_Encoding: UTF8
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %APLProducer: (Version 10.7.2 (Build 11C74) Quartz PS Context)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %%Title: (testprint)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %%Creator: (cgpdftops CUPS filter)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %%CreationDate: (Thursday, November 10 2011 12:26:21 EST)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %%For: (lab)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %%DocumentData: Clean7Bit
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %%LanguageLevel: 3
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %%Pages: 1
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %%BoundingBox: (atend)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %%PageOrder: Ascend
    D [10/Nov/2011:12:26:21 -0500] [Job 28] %%EndComments
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Before copy_prolog - userdict/dscInfo 5 dict dup begin
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Before copy_setup - %%BeginSetup
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Before page loop - %%Page: 1 1
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Copying page 1...
    D [10/Nov/2011:12:26:21 -0500] [Job 28] pagew = 588.0, pagel = 768.0
    D [10/Nov/2011:12:26:21 -0500] [Job 28] bboxx = 0, bboxy = 0, bboxw = 612, bboxl = 792
    D [10/Nov/2011:12:26:21 -0500] [Job 28] PageLeft = 12.0, PageRight = 600.0
    D [10/Nov/2011:12:26:21 -0500] [Job 28] PageTop = 780.0, PageBottom = 12.0
    D [10/Nov/2011:12:26:21 -0500] [Job 28] PageWidth = 612.0, PageLength = 792.0
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Calling processor EmbeddedDocumentCounter before line %!PS-Adobe-3.0
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Calling processor DriverVersion before line %%EndComments
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Task "Insert driver info" complete. Processor - DriverVersion. Line - %%EndComments
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Received SIGPIPE
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Wrote 1 pages...
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Backend returned status 2 (authentication required)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] Job held for authentication.
    D [10/Nov/2011:12:26:21 -0500] [Job 28] End of messages
    D [10/Nov/2011:12:26:21 -0500] [Job 28] printer-state=3(idle)
    D [10/Nov/2011:12:26:21 -0500] [Job 28] printer-state-message="Authentication required"
    D [10/Nov/2011:12:26:21 -0500] [Job 28] printer-state-reasons=none
    ==============
    via CUPS (localhost:631)here is the syntax of my printer addresses:
    SAMBA--
    smb://username:password@serverhost/printer
    smb://username:password@serverip/printer
    smb://serverhost/printer
    smb://serverip/printer
    I get something like...
    "/usr/libexec/cups/backend/smb failed"
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Before copy_comments - %!PS-Adobe-3.0
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %!PS-Adobe-3.0
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %APL_DSC_Encoding: UTF8
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %APLProducer: (Version 10.7.2 (Build 11C74) Quartz PS Context)
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %%Title: (testprint)
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %%Creator: (cgpdftops CUPS filter)
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %%CreationDate: (Thursday, November 10 2011 12:39:00 EST)
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %%For: (lab)
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %%DocumentData: Clean7Bit
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %%LanguageLevel: 3
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %%Pages: 1
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %%BoundingBox: (atend)
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %%PageOrder: Ascend
    D [10/Nov/2011:12:39:00 -0500] [Job 29] %%EndComments
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Before copy_prolog - userdict/dscInfo 5 dict dup begin
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Before copy_setup - %%BeginSetup
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Before page loop - %%Page: 1 1
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Copying page 1...
    D [10/Nov/2011:12:39:00 -0500] [Job 29] pagew = 588.0, pagel = 768.0
    D [10/Nov/2011:12:39:00 -0500] [Job 29] bboxx = 0, bboxy = 0, bboxw = 612, bboxl = 792
    D [10/Nov/2011:12:39:00 -0500] [Job 29] PageLeft = 12.0, PageRight = 600.0
    D [10/Nov/2011:12:39:00 -0500] [Job 29] PageTop = 780.0, PageBottom = 12.0
    D [10/Nov/2011:12:39:00 -0500] [Job 29] PageWidth = 612.0, PageLength = 792.0
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Calling processor EmbeddedDocumentCounter before line %!PS-Adobe-3.0
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Calling processor DriverVersion before line %%EndComments
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Task "Insert driver info" complete. Processor - DriverVersion. Line - %%EndComments
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Current page number is 0
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Calling processor PageAccounting after line %%Page: 1 1
    D [10/Nov/2011:12:39:00 -0500] [Job 29] PAGE: 1 1
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Failed to connect to "smb://<username>:<password>@utlab-prsrv-02/": STATUS_LOGON_FAILURE
    D [10/Nov/2011:12:39:00 -0500] [Job 29] ATTR: auth-info-required=username,password
    D [10/Nov/2011:12:39:00 -0500] [Job 29] smb backend (PID=8517) stopped with status 512
    D [10/Nov/2011:12:39:00 -0500] [Job 29] smb backend will exit with status 2
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Received SIGPIPE
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Wrote 1 pages...
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Backend returned status 2 (authentication required)
    D [10/Nov/2011:12:39:00 -0500] [Job 29] Job held for authentication.
    D [10/Nov/2011:12:39:00 -0500] [Job 29] End of messages
    D [10/Nov/2011:12:39:00 -0500] [Job 29] printer-state=3(idle)
    D [10/Nov/2011:12:39:00 -0500] [Job 29] printer-state-message="Authentication required"
    D [10/Nov/2011:12:39:00 -0500] [Job 29] printer-state-reasons=none
    =================
    So yeah...
    I'm totally stumped now.
    I feel like I've tried every method imaginable, but still no luck.
    Printing from OSX 10.6.8 works just FINE.
    On the server side, I'm running Windows Server 2008... there's only a local admin and a local user account.
    Clients running OSX Lion 10.7.2 -- All updated.
    Printer is an HP LaserJet P4010-4510 series.
    Workstation is an iMac 21.5-inch, Late 2009
    3.06 Ghz Intel Core 2 Duo
    Please help!!!
    --- Richard

    LPD print service is not enabled by default in Server 2008. It can be enabled via the Print Serveer role, but I am remote and cannot confirm the exact setting.
    As for SMB, the error log is showing;
    Failed to connect to "smb://<username>:<password>@utlab-prsrv-02/"
    So it would suggest that there is still an issue with the account detail you are using as you show you have tried this syntax at one stage. If you want to continue to create the queue using SMB rather than LPD then I recommend using the CUPS web page (http://127.0.01:631) to create the queue. This will allow you to enter the syntax exactly as the error message shows. From previous testing I found it was okay to just use the account name rather than domain/account name on a domain bound server.

  • SChannel Fails Authentication on Windows Server 2008 R2 Using TLS1

    I am trying to use SChannel to secure a socket connection. I modified the example at
    https://msdn.microsoft.com/en-us/library/windows/desktop/aa380537(v=vs.85).aspx, converting it from Negotiate to SChannel.  Following the specs for the SSPI APIs I was able the get a Client & Server connection authenticated on Windows 7. 
    However, when I try running the same programs on Windows Server 2008 R2, either the Client side or Server side fails, depending on how I select the security protocol.
    Here is the modified example code, details about my results follow the code.
    Client.cpp
    // Client-side program to establish an SSPI socket connection
    // with a server and exchange messages.
    // Define macros and constants.
    #include "StdAfx.h"
    #include <windows.h>
    #include <winsock.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include "SspiExample.h"
    #include <string>
    #include <iostream>
    CredHandle g_hCred;
    SecHandle g_hCtext;
    #define SSPI_CLIENT "SChannelClient:" __FUNCTION__
    void main(int argc, char * argv[])
    SOCKET Client_Socket;
    BYTE Data[BIG_BUFF];
    PCHAR pMessage;
    WSADATA wsaData;
    SECURITY_STATUS ss;
    DWORD cbRead;
    ULONG cbHeader;
    ULONG cbMaxMessage;
    ULONG cbTrailer;
    SecPkgContext_StreamSizes SecPkgSizes;
    SecPkgContext_PackageInfo SecPkgPkgInfo;
    SecPkgContext_ConnectionInfo ConnectionInfo;
    BOOL DoAuthentication (SOCKET s, WCHAR * pCertName);
    char Server[512] = {0};
    WCHAR CertName[512] = {0};
    // Validate cmd line parameters
    if ( argc != 3 )
    LOGA ( ( __log_buf, SSPI_CLIENT " required parameters ServerName & CertName not entered.\n"));
    LOGA( ( __log_buf, SSPI_CLIENT " Abort and start over with required parameters.\n") );
    std::cin.get();
    else
    // argv[1] - ServerName - the name of the computer running the server sample.
    // argv[2] - TargetName the common name of the certificate provided
    // by the target server program.
    memcpy(Server, argv[1], strlen(argv[1]));
    size_t sizCN;
    mbstowcs_s(&sizCN, CertName, strlen(argv[2])+1, argv[2], _TRUNCATE);
    LOGA ( ( __log_buf, SSPI_CLIENT " input parameters - ServerName %s CertName %ls.\n", Server, CertName ));
    // Initialize the socket and the SSP security package.
    if(WSAStartup (0x0101, &wsaData))
    MyHandleError( __FUNCTION__ " Could not initialize winsock ");
    // Connect to a server.
    SecInvalidateHandle( &g_hCtext );
    if (!ConnectAuthSocket (
    &Client_Socket,
    &g_hCred,
    &g_hCtext,
    Server,
    CertName))
    MyHandleError( __FUNCTION__ " Authenticated server connection ");
    LOGA ( ( __log_buf, SSPI_CLIENT " connection authenticated.\n"));
    // An authenticated session with a server has been established.
    // Receive and manage a message from the server.
    // First, find and display the name of the SSP,
    // the transport protocol supported by the SSP,
    // and the size of the header, maximum message, and
    // trailer blocks for this SSP.
    ss = QueryContextAttributes(
    &g_hCtext,
    SECPKG_ATTR_PACKAGE_INFO,
    &SecPkgPkgInfo );
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_CLIENT "QueryContextAttributes failed: 0x%08x\n", ss));
    MyHandleError( __FUNCTION__ " QueryContextAttributes failed.\n");
    else
    LOGA ( ( __log_buf, SSPI_CLIENT " Package Name: %ls\n", SecPkgPkgInfo.PackageInfo->Name));
    // Free the allocated buffer.
    FreeContextBuffer(SecPkgPkgInfo.PackageInfo);
    ss = QueryContextAttributes(
    &g_hCtext,
    SECPKG_ATTR_STREAM_SIZES,
    &SecPkgSizes );
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_CLIENT " QueryContextAttributes failed: 0x%08x\n", ss));
    MyHandleError( __FUNCTION__ " Query context ");
    cbHeader = SecPkgSizes.cbHeader;
    cbMaxMessage = SecPkgSizes.cbMaximumMessage;
    cbTrailer = SecPkgSizes.cbTrailer;
    LOGA ( ( __log_buf, SSPI_CLIENT " cbHeader %u, cbMaxMessage %u, cbTrailer %u\n", cbHeader, cbMaxMessage, cbTrailer ));
    ss = QueryContextAttributes(
    &g_hCtext,
    SECPKG_ATTR_CONNECTION_INFO,
    &ConnectionInfo );
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_CLIENT " QueryContextAttributes failed: 0x%08x\n", ss));
    MyHandleError( __FUNCTION__ " Query context ");
    switch(ConnectionInfo.dwProtocol)
    case SP_PROT_TLS1_CLIENT:
    LOGA ( ( __log_buf, SSPI_CLIENT " Protocol: TLS1\n"));
    break;
    case SP_PROT_SSL3_CLIENT:
    LOGA ( ( __log_buf, SSPI_CLIENT " Protocol: SSL3\n"));
    break;
    case SP_PROT_PCT1_CLIENT:
    LOGA ( ( __log_buf, SSPI_CLIENT " Protocol: PCT\n"));
    break;
    case SP_PROT_SSL2_CLIENT:
    LOGA ( ( __log_buf, SSPI_CLIENT " Protocol: SSL2\n"));
    break;
    default:
    LOGA ( ( __log_buf, SSPI_CLIENT " Unknown Protocol: 0x%x\n", ConnectionInfo.dwProtocol));
    switch(ConnectionInfo.aiCipher)
    case CALG_RC4:
    LOGA ( ( __log_buf, SSPI_CLIENT " Cipher: RC4\n");)
    break;
    case CALG_3DES:
    LOGA ( ( __log_buf, SSPI_CLIENT " Cipher: Triple DES\n"));
    break;
    case CALG_RC2:
    LOGA ( ( __log_buf, SSPI_CLIENT " Cipher: RC2\n"));
    break;
    case CALG_DES:
    case CALG_CYLINK_MEK:
    LOGA ( ( __log_buf, SSPI_CLIENT " Cipher: DES\n"));
    break;
    case CALG_SKIPJACK:
    LOGA ( ( __log_buf, SSPI_CLIENT " Cipher: Skipjack\n"));
    break;
    case CALG_AES_256:
    LOGA ( ( __log_buf, SSPI_CLIENT " Cipher: AES 256\n"));
    break;
    default:
    LOGA ( ( __log_buf, SSPI_CLIENT " Unknown Cipher: 0x%x\n", ConnectionInfo.aiCipher));
    LOGA ( ( __log_buf, SSPI_CLIENT " Cipher strength: %d\n", ConnectionInfo.dwCipherStrength));
    switch(ConnectionInfo.aiHash)
    case CALG_MD5:
    LOGA ( ( __log_buf, SSPI_CLIENT " Hash: MD5\n"));
    break;
    case CALG_SHA:
    LOGA ( ( __log_buf, SSPI_CLIENT " Hash: SHA\n"));
    break;
    default:
    LOGA ( ( __log_buf, SSPI_CLIENT " Unknown Hash: 0x%x\n", ConnectionInfo.aiHash));
    LOGA ( ( __log_buf, SSPI_CLIENT " Hash strength: %d\n", ConnectionInfo.dwHashStrength));
    switch(ConnectionInfo.aiExch)
    case CALG_RSA_KEYX:
    case CALG_RSA_SIGN:
    LOGA ( ( __log_buf, SSPI_CLIENT " Key exchange: RSA\n"));
    break;
    case CALG_KEA_KEYX:
    LOGA ( ( __log_buf, SSPI_CLIENT " Key exchange: KEA\n"));
    break;
    case CALG_DH_EPHEM:
    LOGA ( ( __log_buf, SSPI_CLIENT " Key exchange: DH Ephemeral\n"));
    break;
    default:
    LOGA ( ( __log_buf, SSPI_CLIENT " Unknown Key exchange: 0x%x\n", ConnectionInfo.aiExch));
    LOGA ( ( __log_buf, SSPI_CLIENT " Key exchange strength: %d\n", ConnectionInfo.dwExchStrength));
    // Decrypt and display the message from the server.
    if (!ReceiveBytes(
    Client_Socket,
    Data,
    BIG_BUFF,
    &cbRead))
    MyHandleError( __FUNCTION__ " No response from server\n");
    if (0 == cbRead)
    MyHandleError(__FUNCTION__ " Zero bytes received.\n");
    pMessage = (PCHAR) DecryptThis(
    Data,
    &cbRead,
    &g_hCtext);
    // Skip the header to get the decrypted message
    pMessage += cbHeader;
    ULONG cbMessage = cbRead-cbHeader-cbTrailer;
    if ((cbMessage == strlen(TEST_MSG)) &&
    !strncmp(pMessage, TEST_MSG, strlen(TEST_MSG)) )
    LOGA ( ( __log_buf, SSPI_CLIENT " SUCCESS!! The message from the server is \n -> %.*s \n",
    cbMessage, pMessage ))
    else
    LOGA ( ( __log_buf, SSPI_CLIENT " UNEXPECTED message from the server: \n -> %.*s \n",
    cbMessage, pMessage ));
    LOGA ( ( __log_buf, SSPI_CLIENT " rcvd msg size %u, exp size %u\n", cbMessage, strlen(TEST_MSG) ));
    // Terminate socket and security package.
    DeleteSecurityContext (&g_hCtext);
    FreeCredentialHandle (&g_hCred);
    shutdown (Client_Socket, 2);
    closesocket (Client_Socket);
    if (SOCKET_ERROR == WSACleanup ())
    MyHandleError( __FUNCTION__ " Problem with socket cleanup ");
    exit (EXIT_SUCCESS);
    } // end main
    // ConnectAuthSocket establishes an authenticated socket connection
    // with a server and initializes needed security package resources.
    BOOL ConnectAuthSocket (
    SOCKET *s,
    CredHandle *g_hCred,
    PSecHandle phCtext,
    char * pServer,
    WCHAR * pCertName)
    unsigned long ulAddress;
    struct hostent *pHost;
    SOCKADDR_IN sin;
    // Lookup the server's address.
    LOGA ( ( __log_buf, SSPI_CLIENT " entry.\n"));
    ulAddress = inet_addr (pServer);
    if (INADDR_NONE == ulAddress)
    LOGA ( ( __log_buf, SSPI_CLIENT " calling gethostbyname with %s.\n", pServer ));
    pHost = gethostbyname (pServer);
    if (NULL == pHost)
    MyHandleError(__FUNCTION__ " Unable to resolve host name ");
    memcpy((char FAR *)&ulAddress, pHost->h_addr, pHost->h_length);
    std::string ipAddrStr;
    ipAddrStr = inet_ntoa( *(struct in_addr*)*pHost->h_addr_list);
    LOGA ( ( __log_buf, __FUNCTION__ " gethostbyname - ipAddress %s, name %s.\n", ipAddrStr.c_str(), pHost->h_name ) );
    // Create the socket.
    *s = socket (
    PF_INET,
    SOCK_STREAM,
    0);
    if (INVALID_SOCKET == *s)
    MyHandleError(__FUNCTION__ " Unable to create socket");
    else
    LOGA ( ( __log_buf, SSPI_CLIENT " Socket created.\n"));
    sin.sin_family = AF_INET;
    sin.sin_addr.s_addr = ulAddress;
    sin.sin_port = htons (g_usPort);
    // Connect to the server.
    if (connect (*s, (LPSOCKADDR) &sin, sizeof (sin)))
    closesocket (*s);
    MyHandleError( __FUNCTION__ " Connect failed ");
    LOGA ( ( __log_buf, SSPI_CLIENT " Connection established.\n"));
    // Authenticate the connection.
    if (!DoAuthentication (*s, pCertName))
    closesocket (*s);
    MyHandleError( __FUNCTION__ " Authentication ");
    LOGA ( ( __log_buf, SSPI_CLIENT " success.\n"));
    return(TRUE);
    } // end ConnectAuthSocket
    BOOL DoAuthentication (SOCKET s, WCHAR * pCertName)
    BOOL fDone = FALSE;
    DWORD cbOut = 0;
    DWORD cbIn = 0;
    PBYTE pInBuf;
    PBYTE pOutBuf;
    if(!(pInBuf = (PBYTE) malloc(MAXMESSAGE)))
    MyHandleError( __FUNCTION__ " Memory allocation ");
    if(!(pOutBuf = (PBYTE) malloc(MAXMESSAGE)))
    MyHandleError( __FUNCTION__ " Memory allocation ");
    cbOut = MAXMESSAGE;
    LOGA ( ( __log_buf, SSPI_CLIENT " 1st message.\n"));
    if (!GenClientContext (
    NULL,
    0,
    pOutBuf,
    &cbOut,
    &fDone,
    pCertName,
    &g_hCred,
    &g_hCtext
    LOGA ( ( __log_buf, SSPI_CLIENT " GenClientContext failed\n"));
    return(FALSE);
    if (!SendMsg (s, pOutBuf, cbOut ))
    MyHandleError(__FUNCTION__ " Send message failed ");
    while (!fDone)
    if (!ReceiveMsg (
    s,
    pInBuf,
    MAXMESSAGE,
    &cbIn))
    MyHandleError( __FUNCTION__ " Receive message failed ");
    cbOut = MAXMESSAGE;
    LOGA ( ( __log_buf, SSPI_CLIENT " Message loop.\n"));
    if (!GenClientContext (
    pInBuf,
    cbIn,
    pOutBuf,
    &cbOut,
    &fDone,
    pCertName,
    &g_hCred,
    &g_hCtext))
    MyHandleError( __FUNCTION__ " GenClientContext failed");
    if (!SendMsg (
    s,
    pOutBuf,
    cbOut))
    MyHandleError( __FUNCTION__ " Send message failed");
    LOGA ( ( __log_buf, SSPI_CLIENT " fDone %s.\n", fDone ? "Yes" : "No" ));
    if (NULL != pInBuf)
    free(pInBuf);
    pInBuf = NULL;
    if (NULL != pOutBuf)
    free(pOutBuf);
    pOutBuf = NULL;
    LOGA ( ( __log_buf, SSPI_CLIENT " exit.\n"));
    return(TRUE);
    BOOL GenClientContext (
    BYTE *pIn,
    DWORD cbIn,
    BYTE *pOut,
    DWORD *pcbOut,
    BOOL *pfDone,
    WCHAR *pCertName,
    CredHandle *g_hCred,
    struct _SecHandle *g_hCtext)
    SECURITY_STATUS ss;
    TimeStamp Lifetime;
    SecBufferDesc OutBuffDesc;
    SecBuffer OutSecBuff;
    SecBufferDesc InBuffDesc;
    SecBuffer InSecBuff[2];
    ULONG ContextAttributes;
    static TCHAR lpPackageName[1024];
    if( NULL == pIn )
    wcscpy_s(lpPackageName, 1024 * sizeof(TCHAR), UNISP_NAME );
    ss = AcquireCredentialsHandle (
    NULL,
    lpPackageName,
    SECPKG_CRED_OUTBOUND,
    NULL,
    NULL,
    NULL,
    NULL,
    g_hCred,
    &Lifetime);
    if (!(SEC_SUCCESS (ss)))
    MyHandleError( __FUNCTION__ " AcquireCreds failed ");
    // Prepare the buffers.
    OutBuffDesc.ulVersion = 0;
    OutBuffDesc.cBuffers = 1;
    OutBuffDesc.pBuffers = &OutSecBuff;
    OutSecBuff.cbBuffer = *pcbOut;
    OutSecBuff.BufferType = SECBUFFER_TOKEN;
    OutSecBuff.pvBuffer = pOut;
    // The input buffer is created only if a message has been received
    // from the server.
    if (pIn)
    LOGA ( ( __log_buf, SSPI_CLIENT " Call InitializeSecurityContext with pIn supplied.\n"));
    InBuffDesc.ulVersion = 0;
    InBuffDesc.cBuffers = 1;
    InBuffDesc.pBuffers = InSecBuff;
    InSecBuff[0].cbBuffer = cbIn;
    InSecBuff[0].BufferType = SECBUFFER_TOKEN;
    InSecBuff[0].pvBuffer = pIn;
    InSecBuff[1].pvBuffer = NULL;
    InSecBuff[1].cbBuffer = 0;
    InSecBuff[1].BufferType = SECBUFFER_EMPTY;
    ss = InitializeSecurityContext (
    g_hCred,
    g_hCtext,
    pCertName,
    MessageAttribute,
    0,
    0,
    &InBuffDesc,
    0,
    g_hCtext,
    &OutBuffDesc,
    &ContextAttributes,
    &Lifetime);
    else
    LOGA ( ( __log_buf, SSPI_CLIENT " Call InitializeSecurityContext with NULL pIn.\n"));
    ss = InitializeSecurityContext (
    g_hCred,
    NULL,
    pCertName,
    MessageAttribute,
    0,
    0,
    NULL,
    0,
    g_hCtext,
    &OutBuffDesc,
    &ContextAttributes,
    &Lifetime);
    if (!SEC_SUCCESS (ss))
    LOGA ( ( __log_buf, SSPI_CLIENT " InitializeSecurityContext failed with error 0x%08x\n", ss));
    MyHandleError ( __FUNCTION__ " InitializeSecurityContext failed " );
    LOGA ( ( __log_buf, SSPI_CLIENT " InitializeSecurityContext returned 0x%08x\n", ss));
    // If necessary, complete the token.
    if ((SEC_I_COMPLETE_NEEDED == ss)
    || (SEC_I_COMPLETE_AND_CONTINUE == ss))
    ss = CompleteAuthToken (g_hCtext, &OutBuffDesc);
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_CLIENT " complete failed: 0x%08x\n", ss));
    return FALSE;
    *pcbOut = OutSecBuff.cbBuffer;
    *pfDone = !((SEC_I_CONTINUE_NEEDED == ss) ||
    (SEC_I_COMPLETE_AND_CONTINUE == ss));
    LOGA ( ( __log_buf, SSPI_CLIENT " Token buffer generated (%lu bytes):\n", OutSecBuff.cbBuffer));
    PrintHexDump (OutSecBuff.cbBuffer, (PBYTE)OutSecBuff.pvBuffer);
    return TRUE;
    PBYTE DecryptThis(
    PBYTE pBuffer,
    LPDWORD pcbMessage,
    struct _SecHandle *hCtxt)
    SECURITY_STATUS ss;
    SecBufferDesc BuffDesc;
    SecBuffer SecBuff[4];
    ULONG ulQop = 0;
    // By agreement, the server encrypted the message and set the size
    // of the trailer block to be just what it needed. DecryptMessage
    // needs the size of the trailer block.
    // The size of the trailer is in the first DWORD of the
    // message received.
    LOGA ( ( __log_buf, SSPI_CLIENT " data before decryption including trailer (%lu bytes):\n",
    *pcbMessage));
    PrintHexDump (*pcbMessage, (PBYTE) pBuffer);
    // Prepare the buffers to be passed to the DecryptMessage function.
    BuffDesc.ulVersion = 0;
    BuffDesc.cBuffers = 4;
    BuffDesc.pBuffers = SecBuff;
    SecBuff[0].cbBuffer = *pcbMessage;
    SecBuff[0].BufferType = SECBUFFER_DATA;
    SecBuff[0].pvBuffer = pBuffer;
    SecBuff[1].cbBuffer = 0;
    SecBuff[1].BufferType = SECBUFFER_EMPTY;
    SecBuff[1].pvBuffer = NULL;
    SecBuff[2].cbBuffer = 0;
    SecBuff[2].BufferType = SECBUFFER_EMPTY;
    SecBuff[2].pvBuffer = NULL;
    SecBuff[3].cbBuffer = 0;
    SecBuff[3].BufferType = SECBUFFER_EMPTY;
    SecBuff[3].pvBuffer = NULL;
    ss = DecryptMessage(
    hCtxt,
    &BuffDesc,
    0,
    &ulQop);
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_CLIENT " DecryptMessage failed with error 0x%08x\n", ss))
    else
    LOGA ( ( __log_buf, SSPI_CLIENT " DecryptMessage success? Status: 0x%08x\n", ss));
    // Return a pointer to the decrypted data. The trailer data
    // is discarded.
    return pBuffer;
    PBYTE VerifyThis(
    PBYTE pBuffer,
    LPDWORD pcbMessage,
    struct _SecHandle *hCtxt,
    ULONG cbMaxSignature)
    SECURITY_STATUS ss;
    SecBufferDesc BuffDesc;
    SecBuffer SecBuff[2];
    ULONG ulQop = 0;
    PBYTE pSigBuffer;
    PBYTE pDataBuffer;
    // The global cbMaxSignature is the size of the signature
    // in the message received.
    LOGA ( ( __log_buf, SSPI_CLIENT " data before verifying (including signature):\n"));
    PrintHexDump (*pcbMessage, pBuffer);
    // By agreement with the server,
    // the signature is at the beginning of the message received,
    // and the data that was signed comes after the signature.
    pSigBuffer = pBuffer;
    pDataBuffer = pBuffer + cbMaxSignature;
    // The size of the message is reset to the size of the data only.
    *pcbMessage = *pcbMessage - (cbMaxSignature);
    // Prepare the buffers to be passed to the signature verification
    // function.
    BuffDesc.ulVersion = 0;
    BuffDesc.cBuffers = 2;
    BuffDesc.pBuffers = SecBuff;
    SecBuff[0].cbBuffer = cbMaxSignature;
    SecBuff[0].BufferType = SECBUFFER_TOKEN;
    SecBuff[0].pvBuffer = pSigBuffer;
    SecBuff[1].cbBuffer = *pcbMessage;
    SecBuff[1].BufferType = SECBUFFER_DATA;
    SecBuff[1].pvBuffer = pDataBuffer;
    ss = VerifySignature(
    hCtxt,
    &BuffDesc,
    0,
    &ulQop
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_CLIENT " VerifyMessage failed with error 0x%08x\n", ss));
    else
    LOGA ( ( __log_buf, SSPI_CLIENT " Message was properly signed.\n"));
    return pDataBuffer;
    } // end VerifyThis
    void PrintHexDump(
    DWORD length,
    PBYTE buffer)
    DWORD i,count,index;
    CHAR rgbDigits[]="0123456789abcdef";
    CHAR rgbLine[100];
    char cbLine;
    for(index = 0; length;
    length -= count, buffer += count, index += count)
    count = (length > 16) ? 16:length;
    sprintf_s(rgbLine, 100, "%4.4x ",index);
    cbLine = 6;
    for(i=0;i<count;i++)
    rgbLine[cbLine++] = rgbDigits[buffer[i] >> 4];
    rgbLine[cbLine++] = rgbDigits[buffer[i] & 0x0f];
    if(i == 7)
    rgbLine[cbLine++] = ':';
    else
    rgbLine[cbLine++] = ' ';
    for(; i < 16; i++)
    rgbLine[cbLine++] = ' ';
    rgbLine[cbLine++] = ' ';
    rgbLine[cbLine++] = ' ';
    rgbLine[cbLine++] = ' ';
    for(i = 0; i < count; i++)
    if(buffer[i] < 32 || buffer[i] > 126)
    rgbLine[cbLine++] = '.';
    else
    rgbLine[cbLine++] = buffer[i];
    rgbLine[cbLine++] = 0;
    LOGA ( ( __log_buf, SSPI_CLIENT " %s\n", rgbLine));
    BOOL SendMsg (
    SOCKET s,
    PBYTE pBuf,
    DWORD cbBuf)
    if (0 == cbBuf)
    return(TRUE);
    // Send the size of the message.
    LOGA ( ( __log_buf, SSPI_CLIENT " %lu bytes\n", cbBuf ));
    if (!SendBytes (s, (PBYTE)&cbBuf, sizeof (cbBuf)))
    LOGA ( ( __log_buf, SSPI_CLIENT " size failed.\n" ) );
    return(FALSE);
    // Send the body of the message.
    if (!SendBytes (
    s,
    pBuf,
    cbBuf))
    LOGA ( ( __log_buf, SSPI_CLIENT " body failed.\n" ) );
    return(FALSE);
    LOGA ( ( __log_buf, SSPI_CLIENT " success\n" ) );
    return(TRUE);
    BOOL ReceiveMsg (
    SOCKET s,
    PBYTE pBuf,
    DWORD cbBuf,
    DWORD *pcbRead)
    DWORD cbRead;
    DWORD cbData;
    // Receive the number of bytes in the message.
    LOGA ( ( __log_buf, SSPI_CLIENT " entry.\n" ));
    if (!ReceiveBytes (
    s,
    (PBYTE)&cbData,
    sizeof (cbData),
    &cbRead))
    return(FALSE);
    if (sizeof (cbData) != cbRead)
    LOGA ( ( __log_buf, SSPI_CLIENT " failed: size of cbData %lu, bytes %lu\n", sizeof (cbData), cbRead));
    return(FALSE);
    // Read the full message.
    if (!ReceiveBytes (
    s,
    pBuf,
    cbData,
    &cbRead))
    return(FALSE);
    if (cbRead != cbData)
    return(FALSE);
    *pcbRead = cbRead;
    return(TRUE);
    } // end ReceiveMessage
    BOOL SendBytes (
    SOCKET s,
    PBYTE pBuf,
    DWORD cbBuf)
    PBYTE pTemp = pBuf;
    int cbSent;
    int cbRemaining = cbBuf;
    if (0 == cbBuf)
    return(TRUE);
    while (cbRemaining)
    LOGA ( ( __log_buf, SSPI_CLIENT " %lu bytes.\n", cbRemaining ));
    cbSent = send (
    s,
    (const char *)pTemp,
    cbRemaining,
    0);
    if (SOCKET_ERROR == cbSent)
    LOGA ( ( __log_buf, SSPI_CLIENT " send failed: 0x%08.8X\n", GetLastError ()));
    return FALSE;
    pTemp += cbSent;
    cbRemaining -= cbSent;
    LOGA ( ( __log_buf, SSPI_CLIENT " success\n" ) );
    return TRUE;
    BOOL ReceiveBytes (
    SOCKET s,
    PBYTE pBuf,
    DWORD cbBuf,
    DWORD *pcbRead)
    PBYTE pTemp = pBuf;
    int cbRead, cbRemaining = cbBuf;
    LOGA ( ( __log_buf, SSPI_CLIENT " Entry: %lu bytes.\n", cbRemaining ));
    while (cbRemaining)
    cbRead = recv (
    s,
    (char *)pTemp,
    cbRemaining,
    0);
    LOGA ( ( __log_buf, SSPI_CLIENT " %lu bytes remaining.\n", cbRemaining ));
    if (0 == cbRead)
    break;
    if (SOCKET_ERROR == cbRead)
    LOGA ( ( __log_buf, SSPI_CLIENT " recv failed: 0x%08.8X\n", GetLastError ()));
    return FALSE;
    cbRemaining -= cbRead;
    pTemp += cbRead;
    *pcbRead = cbBuf - cbRemaining;
    LOGA ( ( __log_buf, SSPI_CLIENT " success.\n" ));
    return TRUE;
    } // end ReceiveBytes
    void MyHandleError(char *s)
    DWORD err = GetLastError();
    if (err)
    LOGA ( ( __log_buf, SSPI_CLIENT " %s error (0x%08.8X). Exiting.\n",s, err ))
    else
    LOGA ( ( __log_buf, SSPI_CLIENT " %s error (no error info). Exiting.\n",s ));
    exit (EXIT_FAILURE);
    Server.cpp
    // This is a server-side SSPI Windows Sockets program.
    #include "StdAfx.h"
    #include <windows.h>
    #include <winsock.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include "Sspiexample.h"
    #include <iostream>
    CredHandle g_hcred;
    struct _SecHandle g_hctxt;
    static PBYTE g_pInBuf = NULL;
    static PBYTE g_pOutBuf = NULL;
    static DWORD g_cbMaxMessage;
    static TCHAR g_lpPackageName[1024];
    BOOL AcceptAuthSocket (SOCKET *ServerSocket, std::string certThumb );
    #define SSPI_SERVER "SChannelServer:" __FUNCTION__
    void main (int argc, char * argv[])
    CHAR pMessage[200];
    DWORD cbMessage;
    PBYTE pDataToClient = NULL;
    DWORD cbDataToClient = 0;
    PWCHAR pUserName = NULL;
    DWORD cbUserName = 0;
    SOCKET Server_Socket;
    WSADATA wsaData;
    SECURITY_STATUS ss;
    PSecPkgInfo pkgInfo;
    SecPkgContext_StreamSizes SecPkgSizes;
    SecPkgContext_PackageInfo SecPkgPkgInfo;
    ULONG cbMaxMessage;
    ULONG cbHeader;
    ULONG cbTrailer;
    std::string certThumb;
    // Create a certificate if no thumbprint is supplied. Otherwise, use the provided
    // thumbprint to find the certificate.
    if ( (argc > 1) && (strlen( argv[1]) > 0) )
    certThumb.assign(argv[1]);
    else
    LOGA( ( __log_buf, SSPI_SERVER " : No certificate thumbprint supplied.\n") );
    LOGA( ( __log_buf, SSPI_SERVER " : Press ENTER to create a certificate, or abort and start over with a thumbprint.\n") );
    std::cin.get();
    certThumb.clear();
    Insert code to find or create X.509 certificate.
    // Set the default package to SChannel.
    wcscpy_s(g_lpPackageName, 1024 * sizeof(TCHAR), UNISP_NAME);
    // Initialize the socket interface and the security package.
    if( WSAStartup (0x0101, &wsaData))
    LOGA ( ( __log_buf, SSPI_SERVER " Could not initialize winsock: \n") );
    cleanup();
    ss = QuerySecurityPackageInfo (
    g_lpPackageName,
    &pkgInfo);
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_SERVER " Could not query package info for %s, error 0x%08x\n",
    g_lpPackageName, ss) );
    cleanup();
    g_cbMaxMessage = pkgInfo->cbMaxToken;
    FreeContextBuffer(pkgInfo);
    g_pInBuf = (PBYTE) malloc (g_cbMaxMessage);
    g_pOutBuf = (PBYTE) malloc (g_cbMaxMessage);
    if (NULL == g_pInBuf || NULL == g_pOutBuf)
    LOGA ( ( __log_buf, SSPI_SERVER " Memory allocation error.\n"));
    cleanup();
    // Start looping for clients.
    while(TRUE)
    LOGA ( ( __log_buf, SSPI_SERVER " Waiting for client to connect...\n"));
    // Make an authenticated connection with client.
    if (!AcceptAuthSocket (&Server_Socket, certThumb ))
    LOGA ( ( __log_buf, SSPI_SERVER " Could not authenticate the socket.\n"));
    cleanup();
    ss = QueryContextAttributes(
    &g_hctxt,
    SECPKG_ATTR_STREAM_SIZES,
    &SecPkgSizes );
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_SERVER " failed: 0x%08x\n", ss));
    exit(1);
    // The following values are used for encryption and signing.
    cbMaxMessage = SecPkgSizes.cbMaximumMessage;
    cbHeader = SecPkgSizes.cbHeader;
    cbTrailer = SecPkgSizes.cbTrailer;
    LOGA ( ( __log_buf, SSPI_SERVER " cbHeader %u, cbMaxMessage %u, cbTrailer %u\n", cbHeader, cbMaxMessage, cbTrailer ));
    ss = QueryContextAttributes(
    &g_hctxt,
    SECPKG_ATTR_PACKAGE_INFO,
    &SecPkgPkgInfo );
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_SERVER " failed: 0x%08x\n", ss));
    exit(1);
    else
    LOGA ( ( __log_buf, SSPI_SERVER " Package Name: %ls\n", SecPkgPkgInfo.PackageInfo->Name));
    // Free the allocated buffer.
    FreeContextBuffer(SecPkgPkgInfo.PackageInfo);
    // Send the client an encrypted message.
    strcpy_s(pMessage, sizeof(pMessage),
    TEST_MSG);
    cbMessage = (DWORD)strlen(pMessage);
    EncryptThis (
    (PBYTE) pMessage,
    cbMessage,
    &pDataToClient,
    &cbDataToClient,
    cbHeader,
    cbTrailer);
    // Send the encrypted data to client.
    if (!SendBytes(
    Server_Socket,
    pDataToClient,
    cbDataToClient))
    LOGA ( ( __log_buf, SSPI_SERVER " send message failed. \n"));
    cleanup();
    LOGA ( ( __log_buf, SSPI_SERVER " %d encrypted bytes sent. \n", cbDataToClient));
    if (Server_Socket)
    DeleteSecurityContext (&g_hctxt);
    FreeCredentialHandle (&g_hcred);
    shutdown (Server_Socket, 2) ;
    closesocket (Server_Socket);
    Server_Socket = 0;
    if (pUserName)
    free (pUserName);
    pUserName = NULL;
    cbUserName = 0;
    if(pDataToClient)
    free (pDataToClient);
    pDataToClient = NULL;
    cbDataToClient = 0;
    } // end while loop
    LOGA ( ( __log_buf, SSPI_SERVER " Server ran to completion without error.\n"));
    cleanup();
    } // end main
    BOOL AcceptAuthSocket (SOCKET *ServerSocket, std::string certThumb )
    SOCKET sockListen;
    SOCKET sockClient;
    SOCKADDR_IN sockIn;
    // Create listening socket.
    sockListen = socket (
    PF_INET,
    SOCK_STREAM,
    0);
    if (INVALID_SOCKET == sockListen)
    LOGA ( ( __log_buf, SSPI_SERVER " Failed to create socket: %u\n", GetLastError ()));
    return(FALSE);
    // Bind to local port.
    sockIn.sin_family = AF_INET;
    sockIn.sin_addr.s_addr = 0;
    sockIn.sin_port = htons(usPort);
    if (SOCKET_ERROR == bind (
    sockListen,
    (LPSOCKADDR) &sockIn,
    sizeof (sockIn)))
    LOGA ( ( __log_buf, SSPI_SERVER " bind failed: %u\n", GetLastError ()));
    return(FALSE);
    // Listen for client.
    if (SOCKET_ERROR == listen (sockListen, 1))
    LOGA ( ( __log_buf, SSPI_SERVER " Listen failed: %u\n", GetLastError ()));
    return(FALSE);
    else
    LOGA ( ( __log_buf, SSPI_SERVER " Listening ! \n"));
    // Accept client.
    sockClient = accept (
    sockListen,
    NULL,
    NULL);
    if (INVALID_SOCKET == sockClient)
    LOGA ( ( __log_buf, SSPI_SERVER " accept failed: %u\n",GetLastError() ) );
    return(FALSE);
    closesocket (sockListen);
    *ServerSocket = sockClient;
    return(DoAuthentication (sockClient, certThumb ));
    } // end AcceptAuthSocket
    BOOL DoAuthentication (SOCKET AuthSocket, std::string certThumb )
    SECURITY_STATUS ss;
    DWORD cbIn, cbOut;
    BOOL done = FALSE;
    TimeStamp Lifetime;
    BOOL fNewConversation;
    fNewConversation = TRUE;
    PCCERT_CONTEXT pCertCtxt;
    Insert code to retrieve pCertCtxt
    // Build SCHANNEL_CRED structure to hold CERT_CONTEXT for call to AcquireCredentialsHandle
    SCHANNEL_CRED credSchannel = {0};
    credSchannel.dwVersion = SCHANNEL_CRED_VERSION;
    credSchannel.grbitEnabledProtocols = SP_PROT_SSL2_SERVER | SP_PROT_TLS1_SERVER;
    credSchannel.cCreds = 1;
    credSchannel.paCred = &pCertCtxt;
    ss = AcquireCredentialsHandle (
    NULL, //pszPrincipal
    g_lpPackageName, //pszPackage
    SECPKG_CRED_INBOUND, //fCredentialuse
    NULL, //pvLogonID
    &credSchannel, //pAuthData - need SCHANNEL_CRED structure that indicates the protocol to use and the settings for various customizable channel features.
    NULL, //pGetKeyFn
    NULL, //pvGetKeyArgument
    &g_hcred, //phCredential
    &Lifetime); //ptsExpiry
    if (!SEC_SUCCESS (ss))
    LOGA ( ( __log_buf, SSPI_SERVER " AcquireCreds failed: 0x%08x\n", ss));
    return(FALSE);
    while(!done)
    if (!ReceiveMsg (
    AuthSocket,
    g_pInBuf,
    g_cbMaxMessage,
    &cbIn))
    return(FALSE);
    cbOut = g_cbMaxMessage;
    if (!GenServerContext (
    g_pInBuf,
    cbIn,
    g_pOutBuf,
    &cbOut,
    &done,
    fNewConversation))
    LOGA ( ( __log_buf, SSPI_SERVER " GenServerContext failed.\n"));
    return(FALSE);
    fNewConversation = FALSE;
    if (!SendMsg (
    AuthSocket,
    g_pOutBuf,
    cbOut))
    LOGA ( ( __log_buf, SSPI_SERVER " Send message failed.\n"));
    return(FALSE);
    return(TRUE);
    } // end DoAuthentication
    BOOL GenServerContext (
    BYTE *pIn,
    DWORD cbIn,
    BYTE *pOut,
    DWORD *pcbOut,
    BOOL *pfDone,
    BOOL fNewConversation)
    SECURITY_STATUS ss;
    TimeStamp Lifetime;
    SecBufferDesc OutBuffDesc;
    SecBuffer OutSecBuff;
    SecBufferDesc InBuffDesc;
    SecBuffer InSecBuff;
    ULONG Attribs = 0;
    // Prepare output buffers.
    OutBuffDesc.ulVersion = 0;
    OutBuffDesc.cBuffers = 1;
    OutBuffDesc.pBuffers = &OutSecBuff;
    OutSecBuff.cbBuffer = *pcbOut;
    OutSecBuff.BufferType = SECBUFFER_TOKEN;
    OutSecBuff.pvBuffer = pOut;
    // Prepare input buffers.
    InBuffDesc.ulVersion = 0;
    InBuffDesc.cBuffers = 1;
    InBuffDesc.pBuffers = &InSecBuff;
    InSecBuff.cbBuffer = cbIn;
    InSecBuff.BufferType = SECBUFFER_TOKEN;
    InSecBuff.pvBuffer = pIn;
    LOGA ( ( __log_buf, SSPI_SERVER " Token buffer received (%lu bytes):\n", InSecBuff.cbBuffer));
    PrintHexDump (InSecBuff.cbBuffer, (PBYTE)InSecBuff.pvBuffer);
    ss = AcceptSecurityContext (
    &g_hcred,
    fNewConversation ? NULL : &g_hctxt,
    &InBuffDesc,
    Attribs,
    SECURITY_NATIVE_DREP,
    &g_hctxt,
    &OutBuffDesc,
    &Attribs,
    &Lifetime);
    if (!SEC_SUCCESS (ss))
    LOGA ( ( __log_buf, SSPI_SERVER " AcceptSecurityContext failed: 0x%08x\n", ss));
    OutputDebugStringA( "." );
    return FALSE;
    // Complete token if applicable.
    if ((SEC_I_COMPLETE_NEEDED == ss)
    || (SEC_I_COMPLETE_AND_CONTINUE == ss))
    ss = CompleteAuthToken (&g_hctxt, &OutBuffDesc);
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_SERVER " complete failed: 0x%08x\n", ss));
    OutputDebugStringA( "." );
    return FALSE;
    *pcbOut = OutSecBuff.cbBuffer;
    // fNewConversation equals FALSE.
    LOGA ( ( __log_buf, SSPI_SERVER " Token buffer generated (%lu bytes):\n",
    OutSecBuff.cbBuffer));
    PrintHexDump (
    OutSecBuff.cbBuffer,
    (PBYTE)OutSecBuff.pvBuffer);
    *pfDone = !((SEC_I_CONTINUE_NEEDED == ss)
    || (SEC_I_COMPLETE_AND_CONTINUE == ss));
    LOGA ( ( __log_buf, SSPI_SERVER " AcceptSecurityContext result = 0x%08x\n", ss));
    return TRUE;
    } // end GenServerContext
    BOOL EncryptThis (
    PBYTE pMessage,
    ULONG cbMessage,
    BYTE ** ppOutput,
    ULONG * pcbOutput,
    ULONG cbHeader,
    ULONG cbTrailer)
    SECURITY_STATUS ss;
    SecBufferDesc BuffDesc;
    SecBuffer SecBuff[4];
    ULONG ulQop = 0;
    // The size of the trailer (signature + padding) block is
    // determined from the global cbSecurityTrailer.
    LOGA ( ( __log_buf, SSPI_SERVER " Data before encryption: %s\n", pMessage));
    LOGA ( ( __log_buf, SSPI_SERVER " Length of data before encryption: %d \n",cbMessage));
    // Prepare buffers.
    BuffDesc.ulVersion = 0;
    BuffDesc.cBuffers = 4;
    BuffDesc.pBuffers = SecBuff;
    PBYTE pHeader;
    pHeader = (PBYTE) malloc (cbHeader);
    SecBuff[0].cbBuffer = cbHeader;
    SecBuff[0].BufferType = SECBUFFER_STREAM_HEADER;
    SecBuff[0].pvBuffer = pHeader;
    SecBuff[1].cbBuffer = cbMessage;
    SecBuff[1].BufferType = SECBUFFER_DATA;
    SecBuff[1].pvBuffer = pMessage;
    PBYTE pTrailer;
    pTrailer = (PBYTE) malloc (cbTrailer);
    SecBuff[2].cbBuffer = cbTrailer;
    SecBuff[2].BufferType = SECBUFFER_STREAM_TRAILER;
    SecBuff[2].pvBuffer = pTrailer;
    SecBuff[3].cbBuffer = 0;
    SecBuff[3].BufferType = SECBUFFER_EMPTY;
    SecBuff[3].pvBuffer = NULL;
    ss = EncryptMessage(
    &g_hctxt,
    ulQop,
    &BuffDesc,
    0);
    if (!SEC_SUCCESS(ss))
    LOGA ( ( __log_buf, SSPI_SERVER " EncryptMessage failed: 0x%08x\n", ss));
    return(FALSE);
    else
    LOGA ( ( __log_buf, SSPI_SERVER " The message has been encrypted. \n"));
    // Allocate a buffer to hold the encrypted data constructed from the 3 buffers.
    *pcbOutput = cbHeader + cbMessage + cbTrailer;
    * ppOutput = (PBYTE) malloc (*pcbOutput);
    memset (*ppOutput, 0, *pcbOutput);
    memcpy (*ppOutput, pHeader, cbHeader);
    memcpy (*ppOutput + cbHeader, pMessage, cbMessage);
    memcpy (*ppOutput + cbHeader + cbMessage, pTrailer, cbTrailer);
    LOGA ( ( __log_buf, SSPI_SERVER " data after encryption including trailer (%lu bytes):\n",
    *pcbOutput));
    PrintHexDump (*pcbOutput, *ppOutput);
    return TRUE;
    } // end EncryptThis
    void PrintHexDump(DWORD length, PBYTE buffer)
    DWORD i,count,index;
    CHAR rgbDigits[]="0123456789abcdef";
    CHAR rgbLine[100];
    char cbLine;
    for(index = 0; length;
    length -= count, buffer += count, index += count)
    count = (length > 16) ? 16:length;
    sprintf_s(rgbLine, 100, "%4.4x ",index);
    cbLine = 6;
    for(i=0;i<count;i++)
    rgbLine[cbLine++] = rgbDigits[buffer[i] >> 4];
    rgbLine[cbLine++] = rgbDigits[buffer[i] & 0x0f];
    if(i == 7)
    rgbLine[cbLine++] = ':';
    else
    rgbLine[cbLine++] = ' ';
    for(; i < 16; i++)
    rgbLine[cbLine++] = ' ';
    rgbLine[cbLine++] = ' ';
    rgbLine[cbLine++] = ' ';
    rgbLine[cbLine++] = ' ';
    for(i = 0; i < count; i++)
    if(buffer[i] < 32 || buffer[i] > 126)
    rgbLine[cbLine++] = '.';
    else
    rgbLine[cbLine++] = buffer[i];
    rgbLine[cbLine++] = 0;
    LOGA ( ( __log_buf, SSPI_SERVER " %s\n", rgbLine));
    } // end PrintHexDump
    BOOL SendMsg (
    SOCKET s,
    PBYTE pBuf,
    DWORD cbBuf)
    LOGA ( ( __log_buf, SSPI_SERVER " %lu bytes\n", cbBuf ));
    if (0 == cbBuf)
    return(TRUE);
    // Send the size of the message.
    if (!SendBytes (
    s,
    (PBYTE)&cbBuf,
    sizeof (cbBuf)))
    return(FALSE);
    // Send the body of the message.
    if (!SendBytes (
    s,
    pBuf,
    cbBuf))
    return(FALSE);
    return(TRUE);
    } // end SendMsg
    BOOL ReceiveMsg (
    SOCKET s,
    PBYTE pBuf,
    DWORD cbBuf,
    DWORD *pcbRead)
    DWORD cbRead;
    DWORD cbData;
    LOGA ( ( __log_buf, SSPI_SERVER " %lu bytes\n", cbBuf ));
    // Retrieve the number of bytes in the message.
    if (!ReceiveBytes (
    s,
    (PBYTE)&cbData,
    sizeof (cbData),
    &cbRead))
    LOGA ( ( __log_buf, SSPI_SERVER " ReceiveBytes failed retrieving byte count.\n", cbBuf ));
    return(FALSE);
    if (sizeof (cbData) != cbRead)
    LOGA ( ( __log_buf, SSPI_SERVER " Error: buffer size (%lu) differs from reported size (%lu)\n", sizeof(cbData), cbRead ));
    return(FALSE);
    // Read the full message.
    if (!ReceiveBytes (
    s,
    pBuf,
    cbData,
    &cbRead))
    LOGA ( ( __log_buf, SSPI_SERVER " ReceiveBytes failed.\n", cbBuf ));
    return(FALSE);
    if (cbRead != cbData)
    LOGA ( ( __log_buf, SSPI_SERVER " Error: buffer bytes (%lu) differs from reported bytes (%lu)\n", cbData, cbRead ));
    return(FALSE);
    *pcbRead = cbRead;
    return(TRUE);
    } // end ReceiveMsg
    BOOL SendBytes (
    SOCKET s,
    PBYTE pBuf,
    DWORD cbBuf)
    PBYTE pTemp = pBuf;
    int cbSent, cbRemaining = cbBuf;
    LOGA ( ( __log_buf, SSPI_SERVER " %lu bytes\n", cbBuf ));
    if (0 == cbBuf)
    return(TRUE);
    while (cbRemaining)
    cbSent = send (
    s,
    (const char *)pTemp,
    cbRemaining,
    0);
    if (SOCKET_ERROR == cbSent)
    LOGA ( ( __log_buf, SSPI_SERVER " send failed: %u\n", GetLastError ()));
    return FALSE;
    LOGA ( ( __log_buf, SSPI_SERVER " %lu bytes sent\n", cbSent ));
    pTemp += cbSent;
    cbRemaining -= cbSent;
    return TRUE;
    } // end SendBytes
    BOOL ReceiveBytes (
    SOCKET s,
    PBYTE pBuf,
    DWORD cbBuf,
    DWORD *pcbRead)
    PBYTE pTemp = pBuf;
    int cbRead, cbRemaining = cbBuf;
    LOGA ( ( __log_buf, SSPI_SERVER " %lu bytes\n", cbBuf ));
    while (cbRemaining)
    cbRead = recv (
    s,
    (char *)pTemp,
    cbRemaining,
    0);
    if (0 == cbRead)
    break;
    if (SOCKET_ERROR == cbRead)
    LOGA ( ( __log_buf, SSPI_SERVER " recv failed: %u\n", GetLastError () ) );
    return FALSE;
    cbRemaining -= cbRead;
    pTemp += cbRead;
    *pcbRead = cbBuf - cbRemaining;
    return TRUE;
    } // end ReceivesBytes
    void cleanup()
    if (g_pInBuf)
    free (g_pInBuf);
    g_pInBuf = NULL;
    if (g_pOutBuf)
    free (g_pOutBuf);
    g_pOutBuf = NULL;
    WSACleanup ();
    exit(0);
    SspiExample.h
    // SspiExample.h
    #include <schnlsp.h>
    #include <sspi.h>
    #include <windows.h>
    #include <string>
    BOOL SendMsg (SOCKET s, PBYTE pBuf, DWORD cbBuf);
    BOOL ReceiveMsg (SOCKET s, PBYTE pBuf, DWORD cbBuf, DWORD *pcbRead);
    BOOL SendBytes (SOCKET s, PBYTE pBuf, DWORD cbBuf);
    BOOL ReceiveBytes (SOCKET s, PBYTE pBuf, DWORD cbBuf, DWORD *pcbRead);
    void cleanup();
    BOOL GenClientContext (
    BYTE *pIn,
    DWORD cbIn,
    BYTE *pOut,
    DWORD *pcbOut,
    BOOL *pfDone,
    WCHAR *pCertName,
    CredHandle *hCred,
    PSecHandle phCtext
    BOOL GenServerContext (
    BYTE *pIn,
    DWORD cbIn,
    BYTE *pOut,
    DWORD *pcbOut,
    BOOL *pfDone,
    BOOL fNewCredential
    BOOL EncryptThis (
    PBYTE pMessage,
    ULONG cbMessage,
    BYTE ** ppOutput,
    LPDWORD pcbOutput,
    ULONG cbHeader,
    ULONG cbTrailer
    PBYTE DecryptThis(
    PBYTE achData,
    LPDWORD pcbMessage,
    struct _SecHandle *hCtxt
    BOOL
    SignThis (
    PBYTE pMessage,
    ULONG cbMessage,
    BYTE ** ppOutput,
    LPDWORD pcbOutput
    PBYTE VerifyThis(
    PBYTE pBuffer,
    LPDWORD pcbMessage,
    struct _SecHandle *hCtxt,
    ULONG cbMaxSignature
    void PrintHexDump(DWORD length, PBYTE buffer);
    BOOL ConnectAuthSocket (
    SOCKET *s,
    CredHandle *hCred,
    PSecHandle phCtext,
    char * pServer,
    WCHAR * pCertName
    BOOL CloseAuthSocket (SOCKET s);
    BOOL DoAuthentication (SOCKET s, WCHAR * pCertName );
    BOOL DoAuthentication (SOCKET s, std::string certThumb );
    void MyHandleError(char *s);
    #define DBG_SIZE 1024
    int OutputDebug( char buff[DBG_SIZE] )
    int retval;
    char debugstring[DBG_SIZE+32];
    retval = _snprintf_s( debugstring, DBG_SIZE+32, _TRUNCATE, " %s", buff );
    OutputDebugStringA( debugstring );
    return retval;
    int DbgBufCopy( char *buff, const char *format, ...)
    int iLen;
    va_list args;
    /// Call va_start to start the variable list
    va_start(args, format);
    /// Call _vsnprintf_s to copy debug information to the buffer
    iLen = _vsnprintf_s(buff, DBG_SIZE, _TRUNCATE, format, args);
    /// Call va_end to end the variable list
    va_end(args);
    return iLen;
    #define LOGA(_format_and_args_)\
    { char __log_buf[DBG_SIZE];\
    DbgBufCopy _format_and_args_;\
    printf("%s", __log_buf );\
    OutputDebug(__log_buf);\
    #define TEST_MSG "This is your server speaking"
    My initial attempt built an SCHANNEL_CRED structure following the documentation to set
    grbitEnabledProtocols to 0, and let SChannel select the protocol.  This worked on Windows 7, selecting TLS1.  When I ran the same exe-s on 2008 R2, the Client program failed, with InitializeSecurityContext returning SEC_E_DECRYPT_FAILURE. 
    The failure occurred on the 2nd call, using phNewContext returned on the first call.
    My next attempt set grbitEnabledProtocols to SP_PROT_TLS1_SERVER. This also worked on Win 7, but 2008R2 failed again, this time on the Server side. AcceptSecurityContext failed, returning SEC_E_ALGORITHM_MISMATCH.
    TLS is a requirement for my project, but to try getting the sample to run, I next set grbitEnabledProtocols to SP_PROT_SSL2_SERVER.  This did work for 2008R2, selecting SSL2, but now the Server failed on Win7 with AcceptSecurityContext returning
    SEC_E_ALGORITHM_MISMATCH.
    My final try was to set grbitEnabledProtocols to SP_PROT_TLS1_SERVER | SP_PROT_SSL2_SERVER, but that failed identically to the first case, with the Client on 2008R2 returning SEC_E_DECRYPT_FAILURE.
    So my question is - What is required to get SChannel to select TLS regardless of the Windows version on which the programs are running?

    Thank you for the reference.  That did provide the information I needed to get TLS working.   However, the documentation is not accurate with regard to setting the registry keys and values.
    The tables all show DisabledByDefault as a subkey under the protocol.  They also describe a DWORD value, Enabled, as the mechanism to enable/disable a protocol.
    What I found is DisabledByDefault is a DWORD value under Client/Server and it appears to be the determining factor to whether a protocol is enabled/disabled.
    The only way I was able to get TLS 1.1 working is with the following path present:
    HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client
    Under Client, I must have DisabledByDefault set to 0.  With that, the Enabled value does not need to be present.
    This held true for any level of TLS.
    I also found the setting of grbitEnabledProtocols in the SCHANNEL_CRED structure to be misleading.  From the description at
    https://msdn.microsoft.com/en-us/library/windows/desktop/aa379810(v=vs.85).aspx, I thought my Server program could set this field to 0, and SChannel would select the protocol as directed by the registry.  What I found is that the structure flag must
    agree with the registry setting for TLS to work.  That is with the resgistry key above for TLS 1.1, I must set grbitEnabledProtocols to SP_PROT_TLS1_1.
    Can you confirm the relationship between the SCHANNEL_CRED contents and registry state?

  • T410, Intel HD Graphics and Windows Server 2008

    Hi All
    When I run my video drivers with the standard VGA it works fine but I can't use my analog VGA port to a projector or external monitor without changing the BOS settings.  If I install the Windows 7/Vista video drivers for the Intel HD Graphics, it appears to install ok, then, when I reboot, it starts to flash (it appears to be going through various modes) and then eventually comes up with a BSOD.  I have tried the latest version and a previous version of the same driver.
    Any ideas?
    Thanks
    A

    Windows 7 drivers should work, but the applications asociated with the drivers (a.k.a "panel control") won't work.
    Officialy, Windows Server 2008 isn't supported by Lenovo. You can try to enter to Intel's site and checke there if they had published a working driver for your operative system.
    Best regards.
    IPnaSh
    First Spanish Community Guru - Colaborador ad honorem

  • Installation problem on windows server 2008 r2 datacenter edition 64bit

    hi
    today, i tried to install the current maxdb 7.8 release on my virtual server with a windows server 2008 r2 datacenter 64bit edition os. at the first installation, i got an error message something with "rte runtime error". at this point, the installation stopped.
    because of this error, i tried to uninstall the failed installation. this was not possible, in the uninstaller, i didn't see any components, so i can't uninstall.
    so i tried to delete the files manually: the entries in the start menu, and the application's path under "program files"... first, i need to kill a process named "serv.exe", that creates a tcp daemon under port 7200... after killing it, the deletion of the dir in program files was successful.
    this is very very weird, now my server is "contaminated" with an uncomplete uninstallation of maxdb...
    why maxdb 7.8 has problems on windows server 2008 r2 datacenter 64bit edition???
    thanks for feedbacks!
    regards, jan

    > no, because i canceled this virtual server - another method to solve this problem. (i have really no time for things like that..!)
    If you take the time to give exact error messages then someone will be certainly able to help
    > on windows server 2003, there are NO problems.
    Windows 2003 != Windows 2008 - they use a different kernel, a different security system (UAC) and other features that may prevent a succesfull installation in the first place.
    I installed a MaxDB 7.8 just today on Windows 2008 R2 and it worked fine.
    Markus

  • How to install IE8 on Windows Server 2008 R2 Datacenter?

    Hello.
    Can anybody tell me, how to install IE8 on 2008 R2 Datacenter?
    I've downloaded this http://www.microsoft.com/en-us/download/internet-explorer-8-details.aspx for "Windows Server 2008 64-bit and more..", removed IE11, IE10, IE9 from installed updates, and runned "dism /online /disable-feature
    /featurename:Internet-Explorer-Optional-amd64".
    And nothing helps. I've got a message "Internet Explorer 8 is not supported on this operating system".

    you can't "install" IE8 on WS2008R2, nor on Windows7 - because those OS's shipped with IE8.
    IE is an OS component, and so when you "upgrade" or "downgrade" IE, you are affecting an OS component.
    What this means is that the "IE8" download you are trying to apply, is actually IE8 for WinXP or maybe WinVista.
    You can usually "downgrade" Win7 back to IE8, by uninstalling the newer "upgrade" of IE - this causes the OS to automatically attempt to revert to the prior IE version.
    This reversion assumes/requires a healthy OS and component store (CBS), including all the pkgmgr file needed to revert to component.
    Sometimes, the component store is damaged, or is missing files.
    you may need to check the CBS logfiles, and may need to perform SFC /scannow
    You may need to use CheckSUR to repair system health.
    Don
    (Please take a moment to "Vote as Helpful" and/or "Mark as Answer", where applicable.
    This helps the community, keeps the forums tidy, and recognises useful contributions. Thanks!)

  • OS Error in starting the OCFS Service on windows server 2008

    Hi,
    Installing the Oracle 11g R1 CRS on windows server 2008 operating system . It is displaying the folllowing error message
    ERROR : OS in Error in starting the OCFS Service
    Can any one please tell what could be the issue ..
    Thank You

    Solved this after some trawling through xml configuration files on the server.
    The file C:\Oracle\product\11.1.0\db_1\owb\j2ee\config\http-web-site.xml contains the reference to keystore.jks:
              <ssl-config keystore="*%ORACLE_HOME%*/owb/j2ee/config/keystore.jks" keystore-password="-&gt;keystoreadmin"/>
    changing this to:
              <ssl-config keystore="C:\Oracle\product\11.1.0\db_1/owb/j2ee/config/keystore.jks" keystore-password="-&gt;keystoreadmin"/>
    and the OC4J container starts successfully.
    Regards,
    -Haakon-

Maybe you are looking for

  • SAAJ with Attachment

    Hi, I have a problem when I use SAAJ with attachment, and I using jboss + axis. This is my error: "ERROR [MimeUtils] java.io.IOException: ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error" Maybe, it's the si

  • Issue with building an array from a cfhttp request result.

    Here is what I am trying to do. Retrieve a bunch of results from a  REST request. Run a query to see if I should be excluding any of the xmltext entries coming back from the rest request. Build an array of the REST xmltext entries except the entries

  • XI to XI

    Hi Experts, I was wondering if it is possible to use the XI adapter for XI to XI?  In this case, XI(localhost) receives the message (from a marketplace), process and sends the message back to XI(localhost).  Later on this message gets polled by anoth

  • Class not found when I run JSPs

    I set up and can run JSPs in iPlanet 4.1 SP9 on NT. But if I use anything such as Date() I get a Server Error and a Class Not Found in the error log. Can someone tell me how to confire where the .class and .jar support files go, or where do I put the

  • InfoObject definition : characteristic as BW or APO ?

    Hello I have some characteristics defined in APO BW that I need to maintain. I would like to know if there is a way to know if a current one has been defined as APO or BW one ? thanks