For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

ingard's avatar
ingard
Icon for Nimbostratus rankNimbostratus
Oct 20, 2008

encoding query text from utf-8 to iso8859-1 (latin1)

Hi

 

 

I have a situation where i do some redirects to other partner websites based on hostname in an irule. To these websites I also pass a query string. However, one of the partner sites does not support utf-8 encoding, so I need to encode the query string to latin1/iso8859-1 before passing it to this particular site. I tried with something like this:

 

 

.

 

.

 

lets try to extract the query

 

regexp {q=(.+)} $uri -> q

 

if {[info exists q]} {

 

set qiso [encoding convertto latin-1 $q]

 

.

 

.

 

 

which gives me the following error:

 

TCL error: irule_abcsok_rewrites_1881 HTTP_REQUEST - invalid command name encoding while executing encoding convertto latin-1 $q

 

 

Any ideas?

 

 

regards

 

ingard

3 Replies

  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    Hi ingard,

    'encoding' is one of the disabled TCL commands:

    http://devcentral.f5.com/wiki/default.aspx/iRules/DisabledTclCommands.html

    To get a list of commands you can use the following rule:

     
     when RULE_INIT { 
      
        foreach cmd [lsort [info commands]] { 
           log local0. "  cmd: $cmd" 
        } 
     } 
     

    I'm not sure what the best way to convert UTF-8 to ISO-8859-1 without the encoding command would be. Here is a related post without much of an iRule-based solution (Click here).

    Anyone have ideas?

    Aaron
  • ingard's avatar
    ingard
    Icon for Nimbostratus rankNimbostratus
    Doh! whats the reason for disabling the encoding command? Would it be possible to enable it from the shell? If I can't make this work it would mean i'd have to send the requests to the webservers (again) - which would suck..
  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    I'm not sure why it's disabled. Maybe a developer could explain the logic. Or you could open a case with F5 Support to find out why and ask for it to be supported in a future version.

     

     

    I don't think there is a simple way to enable the command if it was explicitly disabled by F5.

     

     

    Aaron