我跟着这个答案,使https://localhost:3000/
Chrome浏览器和Mac的工作.今天,它突然不再起作用了.
https://localhost:3000
给出Not Secure
:
Subject Alternative Name Missing
The certificate for this site does not contain a Subject Alternative Name extension containing a domain name or IP address.
Run Code Online (Sandbox Code Playgroud)
我按照前面的步骤重新信任此证书,但没有帮助.然后,我看到了这个答案,我需要重新制作ssl键.
我做v3.ext
:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
Run Code Online (Sandbox Code Playgroud)
然后,
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -sha256 -extfile v3.ext
Run Code Online (Sandbox Code Playgroud)
然而,它返回
unknown option -extfile
req [options] <infile >outfile
where options …
Run Code Online (Sandbox Code Playgroud) 在进行套接字编程时,人们总是将addrinfo结构命名为:
struct addrinfo hints;
// get ready to connect
status = getaddrinfo("www.example.net", "3490", &hints, &servinfo);
Run Code Online (Sandbox Code Playgroud)
我想知道它对于更好地理解是什么意思.
提前致谢.
谢谢你的回答.也许我没有让我清楚.
但我想知道变量名称"hints"是否是某些单词的缩写?或者它只是单词"提示"意味着它只提供一些地址信息并让getaddrinfo()函数填写其余的?
我是Linux信号的新手,请帮忙.以下代码在Linux 2.6 gcc中运行时获得核心转储.
$ ./a.out
浮点异常(核心转储)
问题:
1.由于安装了过程信号掩码,第40行(z = x/y)生成的"SIGFPGE"是否应该被阻止?
2.如果没有阻塞,由于已经安装了信号处理程序,信号处理程序不应该捕获"SIGFPE"而不是核心转储?
3.如果我注释掉第40行(z = x/y),并使用第42行(加注(SIGFPE)),那么一切都按预期工作.这里x/0和提升SIGFPE有什么区别?
这是代码:
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void sig_handler(int signum)
{
printf("sig_handler() received signal %d\n", signum);
}
int main(int argc, char * argv[])
{
// setup signal mask, block all signals
sigset_t set;
sigfillset(&set);
if(sigprocmask(SIG_BLOCK, &set, NULL)<0)
{
perror("failed to set sigmask");
return -1;
}
// install signal handler for SIGFPE
struct sigaction act;
act.sa_handler = sig_handler;
act.sa_mask = set;
act.sa_flags = 0;
if(sigaction( SIGFPE, &act, …
Run Code Online (Sandbox Code Playgroud) 是否可以在Linux中读取Windows 2008 LDM分区?
我们有五个512GB LUN通过ISCSI导出到死Windows 2008,这个盒子不再需要它们了.Windows认为它们现在是原始设备......所以我想用Linux读取分区.我正在使用最新的ubuntu来尝试保存至少一些数据.问题是到目前为止我发现的所有文档似乎已经过时了(经常谈论w2k或XP逻辑磁盘管理器(LDM).但我认为现在它与2008年有所不同.
Testdisk [0]给我以下输出
testdisk /list LUN01
TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
Please wait...
Disk LUN01 - 536 GB / 500 GiB - CHS 65271 255 63, sector size=512
Disk LUN01 - 536 GB / 500 GiB - CHS 65271 255 63
Partition Start End Size in sectors
1 P MS LDM MetaData 34 2081 2048 [LDM metadata partition]
No FAT, NTFS, EXT2, JFS, Reiser, cramfs or XFS marker
2 …
Run Code Online (Sandbox Code Playgroud) 我现在正在学习C++,OO方面,我总是这样做:
class SomeClass{
virtual void aMethod()=0;
}
class AnotherClass{
void anotherMethod(){/*Empty*/}
}
class SomeClassSon : public SomeClass{
void aMethod(){/*Also Empty*/}
}
Run Code Online (Sandbox Code Playgroud)
我的疑问是:3种方法之间有什么区别.虚拟等于零,空虚,虚拟,因为它是继承的,空的.
为什么我不能像父亲一样制作SomeClassSon方法?(虚拟空白等于零?)
我正在阅读《 RISC-V读者:开放式体系结构图集》一书。为了解释ISA(指令集体系结构)与特定实现(即微体系结构)的隔离,作者写道:
架构师的诱惑是将说明包含在ISA中,以帮助在特定时间实现一种实现的性能或成本,但会给不同的或将来的实现带来负担。
据我了解,它指出,在设计ISA时,ISA应该理想地避免公开实现它的特定微体系结构的细节。
请牢记上面的引号:当涉及程序计数器时,在RISC-V ISA上,程序计数器(pc
)指向当前正在执行的指令。另一方面,在x86 ISA上,程序计数器(eip
)不包含当前正在执行的指令的地址,而是包含当前指令之后的指令的地址。
x86程序计数器是否从微体系结构中抽象出来了?
我是AVX编程的新手.我有一个需要被驱动的寄存器,准确地说我想将256位寄存器R1中的几个字节混合到空寄存器R2中.我想定义一个掩码,告诉shuffle操作应该将旧寄存器R1中的哪个字节复制到新寄存器中的哪个位置.
掩码应该如下所示(Src:R1中的字节位置,目标:R2中的字节位置):
{(0,0),(1,1),(1,4),(2,5),...}
Run Code Online (Sandbox Code Playgroud)
这意味着要复制几个字节两次.
我不是100%确定我应该使用哪个功能.我尝试了这两个AVX功能,第二个只使用2个通道.
__m256 _mm256_permute_ps (__m256 a, int imm8)
__m256 _mm256_shuffle_ps (__m256 a, __m256 b, const int imm8)
Run Code Online (Sandbox Code Playgroud)
我对imm8中的Shuffle Mask完全感到困惑,以及如何设计它将如上所述工作.
我看过这张幻灯片(第26页)是_MM_SHUFFLE被描述但是我没有找到解决方案来解决我的问题.
有没有教程如何设计这样的面具?或者这两个方法的示例函数能够深入理解它们吗?
提前感谢提示
我正在学习如何使用.NET Reactor混淆我的程序集。
一种选择是“生成本机 x86 EXE 文件存根”,我不明白其目的。我导入一个程序集(例如一个 .exe 文件)并输出一个经过混淆的 .exe 文件,它的大小大致相同。如果我选中“生成本机 x86 文件存根”,软件会输出一个小得多的 .exe 文件(就像 .exe 被压缩......)
我不明白这是什么意思。在文档中:
.NET Reactor 能够为您的应用程序生成本机 x86 EXE 文件存根。这样就不可能在反编译器中直接打开受保护的应用程序。反编译器将您受保护的应用程序识别为本地 EXE 文件。
为什么我想从一个已经是 .exe 的文件生成一个 .exe?
我正在阅读英特尔手册(英特尔®64和IA-32体系结构软件开发人员手册* 2016),并且很好奇我是否正确理解了有关下溢异常需求的摘录:
提供了检测和处理下溢的功能,以防止很小的结果通过计算传播,并防止稍后产生另一个异常(例如,除法期间的溢出)。
-第4.9.1.5节
所以我的问题是这种情况是什么样的?一种可能的伪代码计算是
veryVerySmallNumber = SmallestFloatpossible -1
veryVeryLargeNumber = BigBigFloat
answer = veryVerySmallNumber / veryVeryLargeNumber
Run Code Online (Sandbox Code Playgroud)
我读到处理器可以通过两种方式处理此问题,但我更关心下溢可能导致溢出的方式。我还要感谢您对处理这些情况的一般精神作出任何澄清。
在《英特尔®64和IA-32架构软件开发人员手册》的上下文中,我想知道“提示”一词是什么意思?
我在几个部分中看到它:
在PREFETCHWT1
-Prefetch 的描述中,提示T1有写意图。
在SSE4简介中说:“该技术还提供了一个提示,当从不可缓存的WC内存类型读取时,可以提高内存吞吐量。” 这使我想到了有关WC记忆的写得很好的答案。
接下来,我阅读了一条SSE4指令,该指令可以执行带有“流”提示的加载。这使我找到了SSE4编程参考 ,在其中我发现了提示可以是时间的或非时间的。
流负载提示指令本身MOVNTDQA
“提供了非时间提示”
接着,在该手册中,我发现的事务性同步扩展(TSX)在使用“前缀暗示” XACQUIRE
和
XRELEASE
在AVX 512位描述VGATHERPF0DPD
和介绍时(这些指令类型中还有7种都带有/ PS选项)。在这些情况下,我们可以使用dword或qword索引获得T0或T1提示。
我看到手册中使用的提示最有见地的时间(此列表是有顺序的)出现在10.4.6.1节中,其内容如下:
“非时间性提示可指示处理器将数据存储到内存,而无需将数据写入高速缓存层次结构。”
这是在涉及MOVNTQ
,的“可缓存性控制指令”部分中MOVNTPS
,MASKMOVQ
因此时间提示会写入到缓存行吗?
因此,这时我开始觉得自己理解了提示,它们似乎是“特殊的指针”?但是然后它们仅被称为指针,所以也许它们是指针的一部分?但是后来我什至开始怀疑,当我阅读这个Stack Overflow答案时,暗示的反面是什么。正如我在使用FreeBSD联机帮助页的答案中看到的那样,“提示”一词似乎在更高的抽象级别中使用。
关于缓存行的Wikipedia页面仅增加了我的怀疑,因为它说提示可以准备,丢弃或逐出缓存行(也称为缓冲区?)。那么提示仅仅是与缓存行相关的指令吗?
如您所见,我感到困惑,迷失和恐惧。对于奖励积分,有人可以使用类比解释提示吗?
谢谢
Ubuntu 没有显示我的 android 设备。
我尝试安装 libmtp* mtp* 并重新安装它并且还尝试将设备信息放在 udev.rules 的相关文件中
c ×3
x86 ×3
c++ ×2
linux ×2
android ×1
assembly ×1
avx ×1
class ×1
filesystems ×1
instructions ×1
intrinsics ×1
localhost ×1
methods ×1
mtp ×1
net-reactor ×1
obfuscation ×1
oop ×1
openssl ×1
recovery ×1
riscv ×1
sigfpe ×1
signals ×1
simd ×1
sockets ×1
sse ×1
ssl ×1
underflow ×1
usb ×1
windows ×1