Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
696e0bfd
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
3
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
696e0bfd
编写于
3月 07, 2008
作者:
C
chegar
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
277cf78c
cda02ea8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
30 addition
and
7 deletion
+30
-7
src/windows/native/sun/net/www/protocol/http/NTLMAuthSequence.c
...ndows/native/sun/net/www/protocol/http/NTLMAuthSequence.c
+30
-7
未找到文件。
src/windows/native/sun/net/www/protocol/http/NTLMAuthSequence.c
浏览文件 @
696e0bfd
...
...
@@ -36,6 +36,8 @@
#include <tchar.h>
#include <fcntl.h>
#include "jni_util.h"
#define SECURITY_WIN32
#include "sspi.h"
#include "issperr.h"
...
...
@@ -117,22 +119,36 @@ JNIEXPORT jlong JNICALL Java_sun_net_www_protocol_http_NTLMAuthSequence_getCrede
{
SEC_WINNT_AUTH_IDENTITY
AuthId
;
SEC_WINNT_AUTH_IDENTITY
*
pAuthId
;
CHAR
*
pUser
=
0
;
CHAR
*
pDomain
=
0
;
CHAR
*
pPassword
=
0
;
const
CHAR
*
pUser
=
0
;
const
CHAR
*
pDomain
=
0
;
const
CHAR
*
pPassword
=
0
;
CredHandle
*
pCred
;
TimeStamp
ltime
;
jboolean
isCopy
;
SECURITY_STATUS
ss
;
if
(
user
!=
0
)
{
pUser
=
(
CHAR
*
)(
*
env
)
->
GetStringUTFChars
(
env
,
user
,
&
isCopy
);
pUser
=
JNU_GetStringPlatformChars
(
env
,
user
,
&
isCopy
);
if
(
pUser
==
NULL
)
return
0
;
// pending Exception
}
if
(
domain
!=
0
)
{
pDomain
=
(
CHAR
*
)(
*
env
)
->
GetStringUTFChars
(
env
,
domain
,
&
isCopy
);
pDomain
=
JNU_GetStringPlatformChars
(
env
,
domain
,
&
isCopy
);
if
(
pDomain
==
NULL
)
{
if
(
pUser
!=
NULL
)
JNU_ReleaseStringPlatformChars
(
env
,
user
,
pUser
);
return
0
;
// pending Exception
}
}
if
(
password
!=
0
)
{
pPassword
=
(
CHAR
*
)(
*
env
)
->
GetStringUTFChars
(
env
,
password
,
&
isCopy
);
pPassword
=
JNU_GetStringPlatformChars
(
env
,
password
,
&
isCopy
);
if
(
pPassword
==
NULL
)
{
if
(
pUser
!=
NULL
)
JNU_ReleaseStringPlatformChars
(
env
,
user
,
pUser
);
if
(
pDomain
!=
NULL
)
JNU_ReleaseStringPlatformChars
(
env
,
domain
,
pDomain
);
return
0
;
// pending Exception
}
}
pCred
=
(
CredHandle
*
)
malloc
(
sizeof
(
CredHandle
));
...
...
@@ -167,6 +183,14 @@ JNIEXPORT jlong JNICALL Java_sun_net_www_protocol_http_NTLMAuthSequence_getCrede
pCred
,
&
ltime
);
/* Release resources held by JNU_GetStringPlatformChars */
if
(
pUser
!=
NULL
)
JNU_ReleaseStringPlatformChars
(
env
,
user
,
pUser
);
if
(
pPassword
!=
NULL
)
JNU_ReleaseStringPlatformChars
(
env
,
password
,
pPassword
);
if
(
pDomain
!=
NULL
)
JNU_ReleaseStringPlatformChars
(
env
,
domain
,
pDomain
);
if
(
ss
==
0
)
{
return
(
jlong
)
pCred
;
}
else
{
...
...
@@ -181,7 +205,6 @@ JNIEXPORT jbyteArray JNICALL Java_sun_net_www_protocol_http_NTLMAuthSequence_get
VOID
*
pInput
=
0
;
DWORD
inputLen
;
CHAR
buffOut
[
512
];
DWORD
pcbBuffOut
;
jboolean
isCopy
;
SECURITY_STATUS
ss
;
SecBufferDesc
OutBuffDesc
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录