Custom Browser User-Agent does not display a notify user page even when the Notify User object matches

book

Article ID: 171319

calendar_today

Updated On:

Products

ProxySG Software - SGOS

Issue/Introduction

When using non-standard User-Agent such as wget using a custom User-Agent, the proxy does not provide the Notify User page to the user.

Resolution

In order for the proxy to provide the Notify User page, a list of conditions must be met. These are contained within the __is_notifiable condition. If one of those conditions is not met, we will see something like this in the policy trace:

<Proxy>
M
ATCH: request.header.User-Agent.substring="Pozilla" policy.NotifyUserPageName

Called policy definition: NotifyUserPageName

<Proxy>
miss:     condition=__NotifyUserPageName_should_notify

As we can see, the internal condition __NotifyUserPageName_should_notify is not matching. Now when we look at the condition definition we see the following:

define condition __NotifyUserPageName_should_notify

    condition=!__is_notify_internal request.header.Cookie=!"notified-NotifyUserPageName=1" condition=__is_notifiable

end

This condition contains the __is_notifiable condition mentioned earlier. The __is_notifiable has the following requirements:

define condition __is_notifiable

    url.scheme=(http,https) \

    http.method=GET \

    request.header.User-Agent = '^(Mozilla|Opera)' \

    request.header.Range = !'' \

    request.header.If-Range = !'' \

    http.response.code = 200 \

    response.header.Content-Type='text/html'

end

As we can see by the regex in the third line, The User-Agent has to begin with Mozilla or Opera in order for the proxy to match __is_notifiable rule. As this is not the case, it won't display the Notify User page.