从S3 segfaults OpenSwan中提取配置文件

时间:2017-08-23 19:17:53

标签: vim amazon-s3 amazon-ec2 ipsec

我正在尝试配置OpenSwan,这是一个用C编写的开源IPsec解决方案。 我有一个脚本可以在我的Macbook上创建并上传到S3的Amazon Linux EC2上下载配置文件ipsec.conf

当我启动ipsec服务时,会出现段错误。

奇怪的是,如果我用VIM打开配置文件,不做任何更改,只需编写/退出,它就可以工作。这让我相信文件有一些奇怪的字符/格式。

我知道dos2unix,我在配置文件上运行但没有阻止段错误。

我想知道VIM在写/退出时到底在做什么。拉动后我可以在配置文件上编写该操作的脚本。或其他任何可以帮助我理解正在发生的事情。

1 个答案:

答案 0 :(得分:1)

首先,尝试使用vim打开文件,然后退出vim(:q)而不保存文件。如果vim说var fileLineFeed = ""; if ($.os.search(/windows/i) != -1) { fileLineFeed = "Windows"; } else { fileLineFeed = "Macintosh"; } ,这意味着这不是vim在写/退出更改文件时所做的事情,但这是vim在打开文件时所做的事情。这是最常见的情况。

Vim根据语言环境解析输入文件,如果根据语言环境无法理解某些字符,vim可能会忘记它们。因此,在保存文件时,这些字符将被删除。

现在,使用vim将文件另存为File modified since last complete write; write or use ! to override.。 并运行以下命令:

ipsec-ok.conf

这将显示原始文件与使用OpenSwan的文件之间的差异。以ascii和十六进制格式。这样,您将找到使OpenSwan转储核心的不受支持的字符。