View Issue Details

IDProjectCategoryView StatusLast Update
0002866unrealircdpublic2006-11-04 07:28
Reportersyzop Assigned Tosyzop  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
OSWindowsOS VersionXP (All?) 
Product Version3.2.4 
Fixed in Version3.2.6 
Summary0002866: [Win32] Crash on start due to SSL private key prompt
Description(Reporting on behalf of a person who mailed core file to coders@)

Seems we crash when asked for the private SSL key on windows (or at least it seems like that).

Now this isn't too surprising, since I've always see ... undefined warnings in there when compiling (I'm just simply not a win32 gui coder) ;p.
Additional Information
Generated at Sat Mar 25 00:31:22 2006

Windows XP Service Pack 2 (5.1.2600)
Unreal3.2.4[FinWXeOoZE] (1.1.1.1.2.1.2.1.2.2234.2.454 2006/02/05 17:43:19)
-----------------
Memory Information:
    Physical: (Available:144MB/Total:511MB)
    Virtual: (Available:2016MB/Total:2047MB)
-----------------
Exception:
    Access Violation
-----------------
Backup Buffer:
    
-----------------
Registers:
    EAX=0xffffffff EBX=0x00000000 ECX=0x00000000
    EDX=0x77e83020 ESI=0x0040122b EDI=0x0012e7e0
    EIP=0x004539e8 EBP=0x0012e778 ESP=0x0012e770
-----------------
Stack Trace:
    Module: wircd
        #0 c:\dev\unreal3.2\src\ssl.c:76: SSLPassDLG
    Module: USER32
        #1 c:\dev\unreal3.2\src\ssl.c:76: GetDC
        #2 c:\dev\unreal3.2\src\ssl.c:76: PrivateExtractIconExW
        #3 c:\dev\unreal3.2\src\ssl.c:76: PrivateExtractIconExW
        #4 c:\dev\unreal3.2\src\ssl.c:76: DefDlgProcA
        #5 c:\dev\unreal3.2\src\ssl.c:76: GetDC
        #6 c:\dev\unreal3.2\src\ssl.c:76: GetDC
        #7 c:\dev\unreal3.2\src\ssl.c:76: DefWindowProcW
        0000008 c:\dev\unreal3.2\src\ssl.c:76: DefWindowProcW
    Module: ntdll
        #9 c:\dev\unreal3.2\src\ssl.c:76: KiUserCallbackDispatcher
    Module: USER32
        #10 c:\dev\unreal3.2\src\ssl.c:76: DefWindowProcA
    Module: uxtheme
        #11 c:\dev\unreal3.2\src\ssl.c:76: DrawThemeText
        #12 c:\dev\unreal3.2\src\ssl.c:76: GetThemeTextMetrics
        #13 c:\dev\unreal3.2\src\ssl.c:76: GetThemeTextMetrics
        #14 c:\dev\unreal3.2\src\ssl.c:76: DrawThemeText
    Module: USER32
        #15 c:\dev\unreal3.2\src\ssl.c:76: SendInput
        #16 c:\dev\unreal3.2\src\ssl.c:76: EnumClipboardFormats
        0000017 c:\dev\unreal3.2\src\ssl.c:76: PrivateExtractIconExW
        #18 c:\dev\unreal3.2\src\ssl.c:76: DefDlgProcA
        #19 c:\dev\unreal3.2\src\ssl.c:76: GetDC
        0000020 c:\dev\unreal3.2\src\ssl.c:76: GetDC
        #21 c:\dev\unreal3.2\src\ssl.c:76: GetParent
        #22 c:\dev\unreal3.2\src\ssl.c:76: SendMessageW
    Module: uxtheme
        #23 c:\dev\unreal3.2\src\ssl.c:76: GetThemeTextMetrics
        #24 c:\dev\unreal3.2\src\ssl.c:76: GetThemeTextMetrics
        #25 c:\dev\unreal3.2\src\ssl.c:76: DrawThemeText
    Module: USER32
        0000026 c:\dev\unreal3.2\src\ssl.c:76: SendInput
        #27 c:\dev\unreal3.2\src\ssl.c:76: EnumClipboardFormats
        #28 c:\dev\unreal3.2\src\ssl.c:76: PrivateExtractIconExW
        #29 c:\dev\unreal3.2\src\ssl.c:76: DefDlgProcA
        0000030 c:\dev\unreal3.2\src\ssl.c:76: GetDC
        #31 c:\dev\unreal3.2\src\ssl.c:76: GetDC
        #32 c:\dev\unreal3.2\src\ssl.c:76: GetWindowLongW
        #33 c:\dev\unreal3.2\src\ssl.c:76: DispatchMessageW
        #34 c:\dev\unreal3.2\src\ssl.c:76: IsDialogMessageW
        0000035 c:\dev\unreal3.2\src\ssl.c:76: CallMsgFilterW
        #36 c:\dev\unreal3.2\src\ssl.c:76: DrawStateW
        #37 c:\dev\unreal3.2\src\ssl.c:76: DialogBoxIndirectParamAorW
        #38 c:\dev\unreal3.2\src\ssl.c:76: DialogBoxParamA
    Module: wircd
        0000039 c:\dev\unreal3.2\src\ssl.c:146: ssl_pem_passwd_cb
    Module: LIBEAY32
        #40 c:\dev\unreal3.2\src\ssl.c:146: PEM_do_header
        #41 c:\dev\unreal3.2\src\ssl.c:146: bn_sub_words
TagsNo tags attached.
Attached Files
ssl.diff (1,355 bytes)
3rd party modules

Relationships

child of 0002936 resolvedsyzop 3.2.6 Release 

Activities

Bock

2006-09-26 06:43

reporter   ~0012445

Patch provided by Alexey Markevich.
In code used uninitialized pointer. Maybe it can fix simply (59 line):

-StreamIO *stream;
+ StreamIO *stream = NULL;

but more right be use patch.

syzop

2006-11-03 13:36

administrator   ~0012556

Now setting stream and streamp to NULL initially, probably not good enough, this is my Changes msg (.573):
- Fixed some unitialized pointer things for win32 w/ssl on keyprompt, no idea if it
  helps, though. Would appreciate it if another code looks into this. -- Syzop

Comitted to both 32* and 33*

Bock

2006-11-03 16:54

reporter   ~0012564

why you don't want use patch? :]

syzop

2006-11-03 17:00

administrator   ~0012565

There's a very simple explanation for that: I didn't see it :P

syzop

2006-11-03 17:04

administrator   ~0012566

Patch looks a lot more verbose heh, looks quite good as well.

Was it confirmed that the patch fixes it?

Also, if I apply it, credit goes to 'Alexey Markevich'? Or would he prefer to use some nickname? :P

Bock

2006-11-03 17:19

reporter   ~0012567

Last edited: 2006-11-03 17:21

he register at bugs. and see my message to him about this page. :]
For credit - "Alexey Markevich" (BuHHunyx) - maybe it more like to him. I hope, he helps with bugs on windows. Now he look to "unable to run unreal as service by unprivileged user", but no result :(. He very good win coder and will hope with unreal on windows ( I hope :P)
About confirmed about patch - I'll look tomorrow, but I think that Alexey Markevich tested localy succesfully.

syzop

2006-11-03 18:19

administrator   ~0012570

Ok, thanks :).

I'll put it in CVS tomorrow then (unless I forget).

Bock

2006-11-04 01:51

reporter   ~0012572

D:\Unreal\Unreal3.2.5>nmake -f makefile.win32

Microsoft (R) Program Maintenance Utility Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.

        cl src/win32/config.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

config.c
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.

/out:config.exe
config.obj
        cl /MD /Zi /I ""D:\Unreal\curl\include"" /I ""D:\Unreal\zlib-1.2.3"" /I ""D:\Unreal\openssl-0.9.8b\inc32"" /J /I
 ./INCLUDE /I ./INCLUDE/WIN32/ARES /Fosrc/ /nologo /D ZIP_LINKS /D ZLIB_DLL /D USE_LIBCURL /D FD_SETSIZE=16384 /D USE_S
SL /D NOSPOOF=1 /c /D _CRT_SECURE_NO_DEPRECATE /D _USE_32BIT_TIME_T src/version.c
version.c
        cl /MD /Zi /I ""D:\Unreal\curl\include"" /I ""D:\Unreal\zlib-1.2.3"" /I ""D:\Unreal\openssl-0.9.8b\inc32"" /J /I
 ./INCLUDE /I ./INCLUDE/WIN32/ARES /Fosrc/ /nologo /D ZIP_LINKS /D ZLIB_DLL /D USE_LIBCURL /D FD_SETSIZE=16384 /D USE_S
SL /D NOSPOOF=1 /c /D _CRT_SECURE_NO_DEPRECATE /D _USE_32BIT_TIME_T src/ssl.c
ssl.c
        rc /l 0x409 /fosrc/win32/win32.res /i ./include /i ./src /d NDEBUG src/win32/win32gui.rc
        link kernel32.lib user32.lib gdi32.lib shell32.lib ws2_32.lib advapi32.lib dbghelp.lib oldnames.lib comctl32.li
b comdlg32.lib /LIBPATH:""D:\Unreal\zlib-1.2.3"" zlibwapi.lib /LIBPATH:""D:\Unreal\openssl-0.9.8b\out32dll"" ssleay32.lib libeay32.lib /LIBPATH:""D:\Unreal\curl\lib\release"" libcurl.lib /def:wircd.def /implib:wircd.lib /nologo /debug /out:WIRCD.EXE SRC/CHANNEL.OBJ SRC/SEND.OBJ SRC/SOCKET.OBJ SRC/S_CONF.OBJ SRC/FDLIST.OBJ SRC/DBUF.OBJ SRC/CLOAK.OBJ SRC/HASH.OBJ SRC/PARSE.OBJ SRC/IRCD.OBJ SRC/S_NUMERIC.OBJ SRC/WHOWAS.OBJ SRC/S_AUTH.OBJ SRC/HELP.OBJ SRC/S_MISC.OBJ SRC/MATCH.OBJ SRC/CRULE.OBJ SRC/S_DEBUG.OBJ SRC/SUPPORT.OBJ SRC/LIST.OBJ SRC/S_ERR.OBJ SRC/PACKET.OBJ SRC/S_BSD.OBJ SRC/S_SERV.OBJ SRC/S_USER.OBJ SRC/CHARSYS.OBJ SRC/VERSION.OBJ SRC/S_KLINE.OBJ SRC/S_EXTRA.OBJ SRC/IRCSPRINTF.OBJ SRC/LUSERS.
OBJ SRC/SCACHE.OBJ SRC/ALN.OBJ SRC/RES.OBJ SRC/MODULES.OBJ SRC/S_SVS.OBJ SRC/EVENTS.OBJ SRC/UMODES.OBJ SRC/AUTH.OBJ SRC/CIDR.OBJ SRC/SSL.OBJ SRC/RANDOM.OBJ SRC/EXTCMODES.OBJ SRC/MD5.OBJ SRC/API-ISUPPORT.OBJ SRC/API-COMMAND.OBJ SRC/EXTBANS.OBJ SRC/TIMESYNCH.OBJ SRC/ZIP.OBJ SRC/URL.OBJ SRC/GUI.OBJ SRC/SERVICE.OBJ SRC/DEBUG.OBJ SRC/RTF.OBJ SRC/EDITOR.OBJ SRC/WIN32.OBJ SRC/win32/WIN32.RES SRC/WIN32/TRE.LIB SRC/WIN32/ARESLIB.LIB /MAPINFO:LINES /MAP
LINK : warning LNK4075: ignoring '/MAPINFO:LINES' due to '/INCREMENTAL' specification
LINK : warning LNK4075: ignoring '/MAPINFO:LINES' due to '/INCREMENTAL' specification
   Creating library wircd.lib and object wircd.exp
Standard version built

Seems like ok and unreal ask priv. key and works fine :]

syzop

2006-11-04 07:28

administrator   ~0012574

Thanks! Fixed in CVS of 32* and 33*.

Changelog:
- Win32: SSL private key prompt should now no longer crash. Patch provided by Alexey
  Markevich (0002866).

Issue History

Date Modified Username Field Change
2006-03-25 06:18 syzop New Issue
2006-03-25 06:18 syzop Additional Information Updated
2006-05-31 07:28 syzop Relationship added child of 0002936
2006-09-25 20:07 syzop Summary Crash on start due to SSL private key prompt => [Win32] Crash on start due to SSL private key prompt
2006-09-26 06:43 Bock File Added: ssl.diff
2006-09-26 06:43 Bock Note Added: 0012445
2006-11-03 13:36 syzop Note Added: 0012556
2006-11-03 13:37 syzop Status new => acknowledged
2006-11-03 16:54 Bock Note Added: 0012564
2006-11-03 17:00 syzop Note Added: 0012565
2006-11-03 17:04 syzop Note Added: 0012566
2006-11-03 17:19 Bock Note Added: 0012567
2006-11-03 17:21 Bock Note Edited: 0012567
2006-11-03 18:19 syzop Note Added: 0012570
2006-11-04 01:51 Bock Note Added: 0012572
2006-11-04 07:28 syzop Status acknowledged => resolved
2006-11-04 07:28 syzop Fixed in Version => 3.2.6
2006-11-04 07:28 syzop Resolution open => fixed
2006-11-04 07:28 syzop Assigned To => syzop
2006-11-04 07:28 syzop Note Added: 0012574