Forum Discussion

Chris_Chaloux_1's avatar
Chris_Chaloux_1
Icon for Nimbostratus rankNimbostratus
Jul 29, 2009

iRule w/classes corrupting class files.

Hi all!

I have an interesting problem that hopefully has a "quick" fix that I have been unable to find.

I am currently using the LTM Maintanece iRule that has been out here for quite some time. It works perfectly but unreliably for how I have it configured.

I am running LTM 9.4.6.

Each time the iRule is invoked, it calls the class files to load the html, and image classes. In the HTML class, it appears that where I have an "/" to escape a qutation mark ' " ' the LTM is modifying the class file and is adding another slash in on each request.

This is an example line of a fresh html class file:

 
  
  
  
 And here is what it looks like after it is called from the iRule: 
  
     Has anyone seen this or know how I could troubleshoot what's going on?    Thanks!!  Chris

14 Replies

  • Thought I would add an update, the bug (bug291584) has been reported for the above issue and is called "String Class value with escaped quote adds more backslashes on b save".

     

     

    The workaround is to save the object class as a string in the main configuration file instead of in an external file.

     

     

  • Hi Paul,

     

     

    It looks like an engineering hotfix may have been coded for ID 291584 against 9.4.x, but I don't see that the fix has been included in more recent builds. Did you ask for an engineering hotfix for this? Or did F5 Support suggest a fix would be included in an upcoming cumulative hotfix? Can you reply with your case number and I'll check into this?

     

     

    Thanks, Aaron
  • Gang,

     

     

    I'm having the same difficulty with embedding a large graphic file into a class. I'm receiving the "Max string size exceeded during update of attribute:data type:class_string_item max:65520" error when creating it as a Data Group or within the bigip.conf file as a file, and have not figured out the format of the class variable when defining this as a string in the bigip.conf. I copied and pasted the contents of my base64-encoded file into the bigip.conf, but it's not happy with the format. Here's a snippet of my attempt at a class definition:

     

     

     

    class Image_head {

     

    type string

     

    "image_head.bmp" := "Qk0WGwEAAAAAADYEAAAoAAAABgMAAFwAAAABAAgAAAAAAOAWAQDEDgAAxA4AAAAAAAAAAAAA////APn17wDy7N8A7OLPAOXZvwDfz68A2cWfANK8jwDMsn8AxqlwAL+gYAC5llAAs4xAAK

     

     

     

     

    And here's the resulting error when I do a b verify load:

     

     

     

    Reading configuration from /config/bigip.conf.

     

    BIGpipe parsing error (/config/bigip.conf Line 1120):

     

    012e0017:3: The requested item (:= ,) is invalid ( | show | list | help) for 'class ip item'

     

     

     

     

    Any pearls of wisdom as to the format of this class definition?

     

     

     

    Thanks in advance.

     

     

     

    Joe

     

     

     

     

     

    By the way, I'm running version 10.2, Build 1789.

     

  • I guess one entry in a datagroup cannot be more than 65520 bytes long? You could try breaking up the image contents into separate datagroup entries and then concatenate them using class element:

     

     

    http://devcentral.f5.com/wiki/default.aspx/iRules/class

     

     

    Aaron