@cryptotaxi247 / kubo / commits / b5fe82496

fix ipfs swarm peering crash in offline mode (#9261)

Yann Autissier committed Oct 13, 2022 at 14:43 UTC b5fe82496458beb294cd6d612c015a2accf26c2b
1 file changed +14 -4
core/commands/swarm.go
+14 -4
@@ -123,6 +123,9 @@ var swarmPeeringAddCmd = &cmds.Command{
123 if err != nil {
124 return err
125 }
126 + if !node.IsOnline {
127 + return ErrNotOnline
128 + }
129
130 for _, addrinfo := range addInfos {
131 node.Peering.AddPeer(addrinfo)
@@ -154,6 +157,10 @@ var swarmPeeringLsCmd = &cmds.Command{
157 if err != nil {
158 return err
159 }
160 + if !node.IsOnline {
161 + return ErrNotOnline
162 + }
163 +
164 peers := node.Peering.ListPeers()
165 return cmds.EmitOnce(res, addrInfos{Peers: peers})
166 },
@@ -190,6 +197,9 @@ var swarmPeeringRmCmd = &cmds.Command{
197 if err != nil {
198 return err
199 }
200 + if !node.IsOnline {
201 + return ErrNotOnline
202 + }
203
204 for _, arg := range req.Arguments {
205 id, err := peer.Decode(arg)
@@ -207,7 +217,7 @@ var swarmPeeringRmCmd = &cmds.Command{
217 Type: peeringResult{},
218 Encoders: cmds.EncoderMap{
219 cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, pr *peeringResult) error {
210 - fmt.Fprintf(w, "add %s %s\n", pr.ID.String(), pr.Status)
220 + fmt.Fprintf(w, "remove %s %s\n", pr.ID.String(), pr.Status)
221 return nil
222 }),
223 },
@@ -853,7 +863,7 @@ Filters default to those specified under the "Swarm.AddrFilters" config key.
863 return err
864 }
865
856 - if n.PeerHost == nil {
866 + if !n.IsOnline {
867 return ErrNotOnline
868 }
869
@@ -889,7 +899,7 @@ var swarmFiltersAddCmd = &cmds.Command{
899 return err
900 }
901
892 - if n.PeerHost == nil {
902 + if !n.IsOnline {
903 return ErrNotOnline
904 }
905
@@ -945,7 +955,7 @@ var swarmFiltersRmCmd = &cmds.Command{
955 return err
956 }
957
948 - if n.PeerHost == nil {
958 + if !n.IsOnline {
959 return ErrNotOnline
960 }
961