@@ -223,8 +223,6 @@ type LightningTerminal struct {
223223
224224 stores * stores
225225
226- firewallDB * firewalldb.BoltDB
227-
228226 restHandler http.Handler
229227 restCancel func ()
230228}
@@ -241,6 +239,9 @@ type stores struct {
241239 accounts accounts.Store
242240 sessions session.Store
243241
242+ firewall * firewalldb.DB
243+ firewallBolt * firewalldb.BoltDB
244+
244245 // close is a callback that can be used to close all the stores in the
245246 // stores struct.
246247 close func () error
@@ -436,6 +437,10 @@ func (g *LightningTerminal) start(ctx context.Context) error {
436437 return fmt .Errorf ("could not create stores: %v" , err )
437438 }
438439
440+ if err := g .stores .firewall .Start (ctx ); err != nil {
441+ return fmt .Errorf ("could not start firewall DB: %v" , err )
442+ }
443+
439444 g .accountService , err = accounts .NewService (
440445 g .stores .accounts , accountServiceErrCallback ,
441446 )
@@ -457,13 +462,6 @@ func (g *LightningTerminal) start(ctx context.Context) error {
457462
458463 g .ruleMgrs = rules .NewRuleManagerSet ()
459464
460- g .firewallDB , err = firewalldb .NewBoltDB (
461- networkDir , firewalldb .DBFilename , g .stores .sessions ,
462- )
463- if err != nil {
464- return fmt .Errorf ("error creating firewall DB: %v" , err )
465- }
466-
467465 if ! g .cfg .Autopilot .Disable {
468466 if g .cfg .Autopilot .Address == "" &&
469467 len (g .cfg .Autopilot .DialOpts ) == 0 {
@@ -517,10 +515,10 @@ func (g *LightningTerminal) start(ctx context.Context) error {
517515 superMacBaker : superMacBaker ,
518516 firstConnectionDeadline : g .cfg .FirstLNCConnDeadline ,
519517 permMgr : g .permsMgr ,
520- actionsDB : g .firewallDB ,
518+ actionsDB : g .stores . firewallBolt ,
521519 autopilot : g .autopilotClient ,
522520 ruleMgrs : g .ruleMgrs ,
523- privMap : g .firewallDB .PrivacyDB ,
521+ privMap : g .stores . firewallBolt .PrivacyDB ,
524522 })
525523 if err != nil {
526524 return fmt .Errorf ("could not create new session rpc " +
@@ -1079,14 +1077,14 @@ func (g *LightningTerminal) startInternalSubServers(ctx context.Context,
10791077 }
10801078
10811079 requestLogger , err := firewall .NewRequestLogger (
1082- g .cfg .Firewall .RequestLogger , g .firewallDB ,
1080+ g .cfg .Firewall .RequestLogger , g .stores . firewallBolt ,
10831081 )
10841082 if err != nil {
10851083 return fmt .Errorf ("error creating new request logger" )
10861084 }
10871085
10881086 privacyMapper := firewall .NewPrivacyMapper (
1089- g .firewallDB .PrivacyDB , firewall .CryptoRandIntn ,
1087+ g .stores . firewallBolt .PrivacyDB , firewall .CryptoRandIntn ,
10901088 g .stores .sessions ,
10911089 )
10921090
@@ -1098,7 +1096,8 @@ func (g *LightningTerminal) startInternalSubServers(ctx context.Context,
10981096
10991097 if ! g .cfg .Autopilot .Disable {
11001098 ruleEnforcer := firewall .NewRuleEnforcer (
1101- g .firewallDB , g .firewallDB , g .stores .sessions ,
1099+ g .stores .firewall , g .stores .firewallBolt ,
1100+ g .stores .sessions ,
11021101 g .autopilotClient .ListFeaturePerms ,
11031102 g .permsMgr , g .lndClient .NodePubkey ,
11041103 g .lndClient .Router ,
@@ -1108,7 +1107,7 @@ func (g *LightningTerminal) startInternalSubServers(ctx context.Context,
11081107 reqID , firewalldb .ActionStateError ,
11091108 reason ,
11101109 )
1111- }, g .firewallDB .PrivacyDB ,
1110+ }, g .stores . firewallBolt .PrivacyDB ,
11121111 )
11131112
11141113 mw = append (mw , ruleEnforcer )
@@ -1443,13 +1442,6 @@ func (g *LightningTerminal) shutdownSubServers() error {
14431442 g .middleware .Stop ()
14441443 }
14451444
1446- if g .firewallDB != nil {
1447- if err := g .firewallDB .Close (); err != nil {
1448- log .Errorf ("Error closing rules DB: %v" , err )
1449- returnErr = err
1450- }
1451- }
1452-
14531445 if g .ruleMgrs != nil {
14541446 if err := g .ruleMgrs .Stop (); err != nil {
14551447 log .Errorf ("Error stopping rule manager set: %v" , err )
@@ -1458,6 +1450,11 @@ func (g *LightningTerminal) shutdownSubServers() error {
14581450 }
14591451
14601452 if g .stores != nil {
1453+ if err := g .stores .firewall .Stop (); err != nil {
1454+ log .Errorf ("Error stoppint firewall DB: %v" , err )
1455+ returnErr = err
1456+ }
1457+
14611458 err = g .stores .close ()
14621459 if err != nil {
14631460 log .Errorf ("Error closing stores: %v" , err )
0 commit comments