Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
36fafffa
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
36fafffa
编写于
2月 14, 2001
作者:
U
Ulf Möller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
New function OPENSSL_issetugid(). Needs more work.
上级
cdc7b8cc
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
104 addition
and
10 deletion
+104
-10
crypto/crypto.h
crypto/crypto.h
+2
-0
crypto/rand/randfile.c
crypto/rand/randfile.c
+14
-10
crypto/uid.c
crypto/uid.c
+88
-0
未找到文件。
crypto/crypto.h
浏览文件 @
36fafffa
...
...
@@ -279,6 +279,8 @@ int CRYPTO_is_mem_check_on(void);
const
char
*
SSLeay_version
(
int
type
);
unsigned
long
SSLeay
(
void
);
int
OPENSSL_issetugid
(
void
);
int
CRYPTO_get_ex_new_index
(
int
idx
,
STACK_OF
(
CRYPTO_EX_DATA_FUNCS
)
**
skp
,
long
argl
,
void
*
argp
,
CRYPTO_EX_new
*
new_func
,
CRYPTO_EX_dup
*
dup_func
,
CRYPTO_EX_free
*
free_func
);
int
CRYPTO_set_ex_data
(
CRYPTO_EX_DATA
*
ad
,
int
idx
,
void
*
val
);
...
...
crypto/rand/randfile.c
浏览文件 @
36fafffa
...
...
@@ -196,10 +196,11 @@ err:
const
char
*
RAND_file_name
(
char
*
buf
,
int
size
)
{
char
*
s
;
char
*
s
=
NULL
;
char
*
ret
=
NULL
;
s
=
getenv
(
"RANDFILE"
);
if
(
OPENSSL_issetugid
()
==
0
)
s
=
getenv
(
"RANDFILE"
);
if
(
s
!=
NULL
)
{
strncpy
(
buf
,
s
,
size
-
1
);
...
...
@@ -208,16 +209,19 @@ const char *RAND_file_name(char *buf, int size)
}
else
{
s
=
getenv
(
"HOME"
);
if
(
s
==
NULL
)
return
(
RFILE
);
if
(
((
int
)(
strlen
(
s
)
+
strlen
(
RFILE
)
+
2
))
>
size
)
return
(
RFILE
);
strcpy
(
buf
,
s
);
if
(
OPENSSL_issetugid
()
==
0
)
s
=
getenv
(
"HOME"
);
if
(
s
!=
NULL
&&
(
strlen
(
s
)
+
strlen
(
RFILE
)
+
2
<
size
)
)
{
strcpy
(
buf
,
s
);
#ifndef VMS
strcat
(
buf
,
"/"
);
strcat
(
buf
,
"/"
);
#endif
strcat
(
buf
,
RFILE
);
ret
=
buf
;
strcat
(
buf
,
RFILE
);
ret
=
buf
;
}
else
buf
[
0
]
=
'\0'
;
/* no file name */
}
return
(
ret
);
}
crypto/uid.c
0 → 100644
浏览文件 @
36fafffa
/* crypto/uid.c */
/* ====================================================================
* Copyright (c) 2001 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* licensing@OpenSSL.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
#include "openssl/crypto.h"
#if defined(__OpenBSD__) || (defined(__FreeBSD__) && __FreeBSD__ > 2)
#include <unistd.h>
int
OPENSSL_issetugid
(
void
)
{
return
issetugid
();
}
#elsif defined(WIN32)
int
OPENSSL_issetugid
(
void
)
{
return
0
;
}
#else
#include <unistd.h>
#include <sys/types.h>
int
OPENSSL_issetugid
(
void
)
{
if
(
getuid
()
!=
geteuid
())
return
1
;
if
(
getgid
()
!=
getegid
())
return
1
;
return
0
;
}
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录