]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Merge branch 'master' into fast-reload
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Fri, 5 Apr 2024 12:32:32 +0000 (14:32 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Fri, 5 Apr 2024 12:32:32 +0000 (14:32 +0200)
1  2 
daemon/remote.c
daemon/unbound.c
daemon/worker.c
doc/unbound-control.8.in
edns-subnet/subnetmod.c
smallapp/unbound-control.c
util/config_file.c
util/config_file.h

diff --cc daemon/remote.c
index 95b1bb229362f58c2bed694641e94e9309567256,cbce1198b27dd3119832ee51af9c9098368a4621..061c379c595eb50d162bc3a0f7353a0c94126f88
@@@ -2241,12 -2146,13 +2243,14 @@@ static voi
  do_forward_add(RES* ssl, struct worker* worker, char* args)
  {
        struct iter_forwards* fwd = worker->env.fwds;
-       int insecure = 0;
+       int insecure = 0, tls = 0;
        uint8_t* nm = NULL;
        struct delegpt* dp = NULL;
-       if(!parse_fs_args(ssl, args, &nm, &dp, &insecure, NULL))
+       if(!parse_fs_args(ssl, args, &nm, &dp, &insecure, NULL, &tls))
                return;
+       if(tls)
+               dp->ssl_upstream = 1;
 +      lock_rw_wrlock(&fwd->lock);
        if(insecure && worker->env.anchors) {
                if(!anchors_add_insecure(worker->env.anchors, LDNS_RR_CLASS_IN,
                        nm)) {
@@@ -2275,9 -2178,8 +2279,9 @@@ do_forward_remove(RES* ssl, struct work
        struct iter_forwards* fwd = worker->env.fwds;
        int insecure = 0;
        uint8_t* nm = NULL;
-       if(!parse_fs_args(ssl, args, &nm, NULL, &insecure, NULL))
+       if(!parse_fs_args(ssl, args, &nm, NULL, &insecure, NULL, NULL))
                return;
 +      lock_rw_wrlock(&fwd->lock);
        if(insecure && worker->env.anchors)
                anchors_delete_insecure(worker->env.anchors, LDNS_RR_CLASS_IN,
                        nm);
@@@ -2292,13 -2193,13 +2296,15 @@@ static voi
  do_stub_add(RES* ssl, struct worker* worker, char* args)
  {
        struct iter_forwards* fwd = worker->env.fwds;
-       int insecure = 0, prime = 0;
+       int insecure = 0, prime = 0, tls = 0;
        uint8_t* nm = NULL;
        struct delegpt* dp = NULL;
-       if(!parse_fs_args(ssl, args, &nm, &dp, &insecure, &prime))
+       if(!parse_fs_args(ssl, args, &nm, &dp, &insecure, &prime, &tls))
                return;
+       if(tls)
+               dp->ssl_upstream = 1;
 +      lock_rw_wrlock(&fwd->lock);
 +      lock_rw_wrlock(&worker->env.hints->lock);
        if(insecure && worker->env.anchors) {
                if(!anchors_add_insecure(worker->env.anchors, LDNS_RR_CLASS_IN,
                        nm)) {
@@@ -2345,10 -2238,8 +2351,10 @@@ do_stub_remove(RES* ssl, struct worker
        struct iter_forwards* fwd = worker->env.fwds;
        int insecure = 0;
        uint8_t* nm = NULL;
-       if(!parse_fs_args(ssl, args, &nm, NULL, &insecure, NULL))
+       if(!parse_fs_args(ssl, args, &nm, NULL, &insecure, NULL, NULL))
                return;
 +      lock_rw_wrlock(&fwd->lock);
 +      lock_rw_wrlock(&worker->env.hints->lock);
        if(insecure && worker->env.anchors)
                anchors_delete_insecure(worker->env.anchors, LDNS_RR_CLASS_IN,
                        nm);
Simple merge
diff --cc daemon/worker.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge