Fix for context with empty content

This commit is contained in:
Shelikhoo 2021-02-28 20:42:32 +00:00
parent e532085d3c
commit 616b0d122e
No known key found for this signature in database
GPG Key ID: C4D5E79D22B25316
2 changed files with 7 additions and 1 deletions

View File

@ -196,7 +196,7 @@ func (h *Handler) Dial(ctx context.Context, dest net.Destination) (internet.Conn
}
}
if h.senderSettings.ProxySettings.HasTag() && h.senderSettings.ProxySettings.TransportLayerProxy {
if h.senderSettings != nil && h.senderSettings.ProxySettings != nil && h.senderSettings.ProxySettings.HasTag() && h.senderSettings.ProxySettings.TransportLayerProxy {
tag := h.senderSettings.ProxySettings.Tag
newError("transport layer proxying to ", tag, " for dest ", dest).AtDebug().WriteToLog(session.ExportIDToError(ctx))
session.SetTransportLayerProxyTagToContext(ctx, tag)

View File

@ -86,6 +86,9 @@ func SockoptFromContext(ctx context.Context) *Sockopt {
}
func GetTransportLayerProxyTagFromContext(ctx context.Context) string {
if ContentFromContext(ctx) == nil {
return ""
}
return ContentFromContext(ctx).Attribute("transportLayerOutgoingTag")
}
@ -94,6 +97,9 @@ func SetTransportLayerProxyTagToContext(ctx context.Context, tag string) {
}
func GetForcedOutboundTagFromContext(ctx context.Context) string {
if ContentFromContext(ctx) == nil {
return ""
}
return ContentFromContext(ctx).Attribute("forcedOutboundTag")
}