This is an automated email from the ASF dual-hosted git repository.

ocket8888 pushed a commit to branch 5.1.x
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git

commit 932d31975add233aa330572ae94d18301a6ecc26
Author: Robert O Butts <[email protected]>
AuthorDate: Fri Mar 19 11:18:42 2021 -0600

    Fix atscfg Service Category hdr to be internal (#5657)
    
    (cherry picked from commit cfe87f72a661a92d44cef72e23bf5efa14b2c36c)
---
 lib/go-atscfg/headerrewritedotconfig.go |  4 +++-
 lib/go-atscfg/meta.go                   | 10 +++++-----
 lib/go-atscfg/remapdotconfig.go         | 10 +++++-----
 3 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/lib/go-atscfg/headerrewritedotconfig.go 
b/lib/go-atscfg/headerrewritedotconfig.go
index a72d2b5..4d6a0ef 100644
--- a/lib/go-atscfg/headerrewritedotconfig.go
+++ b/lib/go-atscfg/headerrewritedotconfig.go
@@ -35,7 +35,9 @@ const HeaderRewritePrefix = "hdr_rw_"
 const ContentTypeHeaderRewriteDotConfig = ContentTypeTextASCII
 const LineCommentHeaderRewriteDotConfig = LineCommentHash
 
-const ServiceCategoryHeader = "CDN-SVC"
+// ServiceCategoryHeader is the internal service category header for logging 
the service category.
+// Note this is internal, and will never be set in an HTTP Request or Response 
by ATS.
+const ServiceCategoryHeader = "@CDN-SVC"
 
 const MaxOriginConnectionsNoMax = 0 // 0 indicates no limit on origin 
connections
 
diff --git a/lib/go-atscfg/meta.go b/lib/go-atscfg/meta.go
index 88a20d8..8e74cc8 100644
--- a/lib/go-atscfg/meta.go
+++ b/lib/go-atscfg/meta.go
@@ -215,7 +215,7 @@ func addMetaObjConfigDir(
                                return nil, warnings, errors.New("getting 
topology placement: " + err.Error())
                        }
                        if placement.IsFirstCacheTier {
-                               if ds.FirstHeaderRewrite != nil && 
*ds.FirstHeaderRewrite != "" || ds.MaxOriginConnections != nil {
+                               if (ds.FirstHeaderRewrite != nil && 
*ds.FirstHeaderRewrite != "") || ds.MaxOriginConnections != nil || 
ds.ServiceCategory != nil {
                                        fileName := 
FirstHeaderRewriteConfigFileName(*ds.XMLID)
                                        if configFilesM, err = 
ensureConfigFile(configFilesM, fileName, configDir); err != nil {
                                                warnings = append(warnings, 
"ensuring config file '"+fileName+"': "+err.Error())
@@ -223,7 +223,7 @@ func addMetaObjConfigDir(
                                }
                        }
                        if placement.IsInnerCacheTier {
-                               if ds.InnerHeaderRewrite != nil && 
*ds.InnerHeaderRewrite != "" || ds.MaxOriginConnections != nil {
+                               if (ds.InnerHeaderRewrite != nil && 
*ds.InnerHeaderRewrite != "") || ds.MaxOriginConnections != nil || 
ds.ServiceCategory != nil {
                                        fileName := 
InnerHeaderRewriteConfigFileName(*ds.XMLID)
                                        if configFilesM, err = 
ensureConfigFile(configFilesM, fileName, configDir); err != nil {
                                                warnings = append(warnings, 
"ensuring config file '"+fileName+"': "+err.Error())
@@ -231,7 +231,7 @@ func addMetaObjConfigDir(
                                }
                        }
                        if placement.IsLastCacheTier {
-                               if ds.LastHeaderRewrite != nil && 
*ds.LastHeaderRewrite != "" || ds.MaxOriginConnections != nil {
+                               if (ds.LastHeaderRewrite != nil && 
*ds.LastHeaderRewrite != "") || ds.MaxOriginConnections != nil || 
ds.ServiceCategory != nil {
                                        fileName := 
LastHeaderRewriteConfigFileName(*ds.XMLID)
                                        if configFilesM, err = 
ensureConfigFile(configFilesM, fileName, configDir); err != nil {
                                                warnings = append(warnings, 
"ensuring config file '"+fileName+"': "+err.Error())
@@ -239,7 +239,7 @@ func addMetaObjConfigDir(
                                }
                        }
                } else if strings.HasPrefix(server.Type, tc.EdgeTypePrefix) {
-                       if (ds.EdgeHeaderRewrite != nil || 
ds.MaxOriginConnections != nil) &&
+                       if (ds.EdgeHeaderRewrite != nil || 
ds.MaxOriginConnections != nil || ds.ServiceCategory != nil) &&
                                strings.HasPrefix(server.Type, 
tc.EdgeTypePrefix) {
                                fileName := "hdr_rw_" + *ds.XMLID + ".config"
                                if configFilesM, err = 
ensureConfigFile(configFilesM, fileName, configDir); err != nil {
@@ -247,7 +247,7 @@ func addMetaObjConfigDir(
                                }
                        }
                } else if strings.HasPrefix(server.Type, tc.MidTypePrefix) {
-                       if (ds.MidHeaderRewrite != nil || 
ds.MaxOriginConnections != nil) &&
+                       if (ds.MidHeaderRewrite != nil || 
ds.MaxOriginConnections != nil || ds.ServiceCategory != nil) &&
                                ds.Type != nil && ds.Type.UsesMidCache() &&
                                strings.HasPrefix(server.Type, 
tc.MidTypePrefix) {
                                fileName := "hdr_rw_mid_" + *ds.XMLID + 
".config"
diff --git a/lib/go-atscfg/remapdotconfig.go b/lib/go-atscfg/remapdotconfig.go
index 2ad3538..e5ca856 100644
--- a/lib/go-atscfg/remapdotconfig.go
+++ b/lib/go-atscfg/remapdotconfig.go
@@ -163,7 +163,7 @@ func getServerConfigRemapDotConfigForMid(
                                return "", warnings, err
                        }
                        midRemap += topoTxt
-               } else if ds.MidHeaderRewrite != nil && *ds.MidHeaderRewrite != 
"" {
+               } else if (ds.MidHeaderRewrite != nil && *ds.MidHeaderRewrite 
!= "") || ds.MaxOriginConnections != nil || ds.ServiceCategory != nil {
                        midRemap += ` @plugin=header_rewrite.so @pparam=` + 
midHeaderRewriteConfigFileName(*ds.XMLID)
                }
 
@@ -332,7 +332,7 @@ func buildEdgeRemapLine(
                        return "", warnings, err
                }
                text += topoTxt
-       } else if ds.EdgeHeaderRewrite != nil && *ds.EdgeHeaderRewrite != "" {
+       } else if (ds.EdgeHeaderRewrite != nil && *ds.EdgeHeaderRewrite != "") 
|| ds.ServiceCategory != nil || ds.MaxOriginConnections != nil {
                text += ` @plugin=header_rewrite.so @pparam=` + 
edgeHeaderRewriteConfigFileName(*ds.XMLID)
        }
 
@@ -439,13 +439,13 @@ func makeDSTopologyHeaderRewriteTxt(ds DeliveryService, 
cg tc.CacheGroupName, to
        }
        txt := ""
        const pluginTxt = ` @plugin=header_rewrite.so @pparam=`
-       if placement.IsFirstCacheTier && ds.FirstHeaderRewrite != nil && 
*ds.FirstHeaderRewrite != "" {
+       if placement.IsFirstCacheTier && ((ds.FirstHeaderRewrite != nil && 
*ds.FirstHeaderRewrite != "") || ds.ServiceCategory != nil) {
                txt += pluginTxt + FirstHeaderRewriteConfigFileName(*ds.XMLID) 
+ ` `
        }
-       if placement.IsInnerCacheTier && ds.InnerHeaderRewrite != nil && 
*ds.InnerHeaderRewrite != "" {
+       if placement.IsInnerCacheTier && ((ds.InnerHeaderRewrite != nil && 
*ds.InnerHeaderRewrite != "") || ds.ServiceCategory != nil) {
                txt += pluginTxt + InnerHeaderRewriteConfigFileName(*ds.XMLID) 
+ ` `
        }
-       if placement.IsLastCacheTier && ds.LastHeaderRewrite != nil && 
*ds.LastHeaderRewrite != "" {
+       if placement.IsLastCacheTier && ((ds.LastHeaderRewrite != nil && 
*ds.LastHeaderRewrite != "") || ds.ServiceCategory != nil || 
ds.MaxOriginConnections != nil) {
                txt += pluginTxt + LastHeaderRewriteConfigFileName(*ds.XMLID) + 
` `
        }
        return txt, nil

Reply via email to