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
