Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
597ba69a
提交
597ba69a
authored
2月 08, 2017
作者:
Jeromy Johnson
提交者:
GitHub
2月 08, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3666 from ipfs/fix/cbor-null-arrays
Fix marshaling of null cbor arrays
上级
0969505e
85a06aba
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
41 行增加
和
4 行删除
+41
-4
dag.go
core/commands/dag/dag.go
+31
-1
merkledag.go
merkledag/merkledag.go
+1
-1
package.json
package.json
+2
-2
t0053-dag.sh
test/sharness/t0053-dag.sh
+7
-0
没有找到文件。
core/commands/dag/dag.go
浏览文件 @
597ba69a
...
...
@@ -3,14 +3,15 @@ package dagcmd
import
(
"fmt"
"io"
"io/ioutil"
"strings"
cmds
"github.com/ipfs/go-ipfs/commands"
path
"github.com/ipfs/go-ipfs/path"
node
"gx/ipfs/QmRSU5EqqWVZSNdbU51yXmVoF1uNw3JgTNB6RaiL7DZM16/go-ipld-node"
ipldcbor
"gx/ipfs/QmT1B6cKXnMMki8nbuhrnLuiU32HLvwi6xe99bJ79482UK/go-ipld-cbor"
cid
"gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid"
ipldcbor
"gx/ipfs/Qmf658QLDTXfRDgnGmUB6TYj671XjmHScG61p3g7dSxUcF/go-ipld-cbor"
)
var
DagCmd
=
&
cmds
.
Command
{
...
...
@@ -80,6 +81,21 @@ into an object of the specified format.
res
.
SetOutput
(
&
OutputObject
{
Cid
:
c
})
return
case
"raw"
:
nd
,
err
:=
convertRawToType
(
fi
,
format
)
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
c
,
err
:=
n
.
DAG
.
Add
(
nd
)
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
res
.
SetOutput
(
&
OutputObject
{
Cid
:
c
})
return
default
:
res
.
SetError
(
fmt
.
Errorf
(
"unrecognized input encoding: %s"
,
ienc
),
cmds
.
ErrNormal
)
return
...
...
@@ -141,3 +157,17 @@ func convertJsonToType(r io.Reader, format string) (node.Node, error) {
return
nil
,
fmt
.
Errorf
(
"unknown target format: %s"
,
format
)
}
}
func
convertRawToType
(
r
io
.
Reader
,
format
string
)
(
node
.
Node
,
error
)
{
switch
format
{
case
"cbor"
,
"dag-cbor"
:
data
,
err
:=
ioutil
.
ReadAll
(
r
)
if
err
!=
nil
{
return
nil
,
err
}
return
ipldcbor
.
Decode
(
data
)
default
:
return
nil
,
fmt
.
Errorf
(
"unsupported target format for raw input: %s"
,
format
)
}
}
merkledag/merkledag.go
浏览文件 @
597ba69a
...
...
@@ -13,8 +13,8 @@ import (
node
"gx/ipfs/QmRSU5EqqWVZSNdbU51yXmVoF1uNw3JgTNB6RaiL7DZM16/go-ipld-node"
logging
"gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
ipldcbor
"gx/ipfs/QmT1B6cKXnMMki8nbuhrnLuiU32HLvwi6xe99bJ79482UK/go-ipld-cbor"
cid
"gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid"
ipldcbor
"gx/ipfs/Qmf658QLDTXfRDgnGmUB6TYj671XjmHScG61p3g7dSxUcF/go-ipld-cbor"
)
var
log
=
logging
.
Logger
(
"merkledag"
)
...
...
package.json
浏览文件 @
597ba69a
...
...
@@ -272,9 +272,9 @@
},
{
"author"
:
"whyrusleeping"
,
"hash"
:
"Qm
f658QLDTXfRDgnGmUB6TYj671XjmHScG61p3g7dSxUcF
"
,
"hash"
:
"Qm
T1B6cKXnMMki8nbuhrnLuiU32HLvwi6xe99bJ79482UK
"
,
"name"
:
"go-ipld-cbor"
,
"version"
:
"1.1.
0
"
"version"
:
"1.1.
8
"
},
{
"author"
:
"lgierth"
,
...
...
test/sharness/t0053-dag.sh
浏览文件 @
597ba69a
...
...
@@ -90,6 +90,13 @@ test_dag_cmd() {
echo "{\"data\":\"CAISBGZvbwoYBA==\",\"links\":[]}" > cat_exp &&
test_cmp cat_exp cat_out
'
test_expect_success
"non-canonical cbor input is normalized"
'
DATA="\xa2\x65\x61\x6c\x69\x6e\x6b\xd8\x2a\x58\x25\x00\x01\x71\x12\x20\x65\x96\x50\xfc\x34\x43\xc9\x16\x42\x80\x48\xef\xc5\xba\x45\x58\xdc\x86\x35\x94\x98\x0a\x59\xf5\xcb\x3c\x4d\x84\x86\x7e\x6d\x31\x63\x61\x72\x72\x80"
HASH=$(echo "$DATA" | ipfs dag put --format=cbor --input-enc=raw) &&
test $HASH = "zdpuAyaAXrG12ax4EWuMxvFqBQuzwMGTW8C7NXAotCrcTnSXP" ||
test_fsh echo $HASH
'
}
# should work offline
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论