Forum Discussion

Kent_Perrier_50's avatar
Kent_Perrier_50
Icon for Nimbostratus rankNimbostratus
May 28, 2008

WebDAV iRule referenced in AskF5 doc SOL5924?

We put our subversion server behind our LTM and something is broken with the WebDAV interface to svn. The developers says he cannot create a tag in the repository. According to the AskF5 doc SOL5924 I need an iRule to disable the HTTP processing when the method is sent to the server. Can someone here point me to that? I have searched DevCentral for that and I cannot find it.

 

 

Much thanks.

9 Replies

  • Unfortunately, the solution doesn't list which methods cause a conflict or give the CR which could be used to research the issue. Nor does it provide an example rule to work around the issue. You might consider adding constructive feedback on the solution in the comment section.

    I think something like this would work. I don't know which methods need to have HTTP disabled, so I've just put in a dummy entry OTHER_METHOD. If it's only one method you could remove the RULE_INIT section and just use 'if [HTTP::method eq "MOVE"' instead.

      
      when RULE_INIT {  
        
          List of the HTTP methods for which to disable the HTTP profile  
         set ::no_http_prof_methods [list \  
            MOVE \  
            OTHER_METHOD \  
         ]  
      }  
      when HTTP_REQUEST {  
        
          Enable the HTTP filter by default  
         HTTP::enable  
        
          Check if the current request method is one to disable the HTTP filter for  
         if {[matchclass [HTTP::method] equals $::no_http_prof_methods]}{  
        
             Disable the HTTP filter  
            HTTP::disable  
         }  
      }  
     

    Aaron
  • Unfortunately, the solution doesn't list which methods cause a conflict or give the CR which could be used to research the issue. Nor does it provide an example rule to work around the issue. You might consider adding constructive feedback on the solution in the comment section.I have done that. My feedback on that article was "This is worthless, as the article does not reference that actual iRule needed."
  • Colin_Walker_12's avatar
    Colin_Walker_12
    Historic F5 Account
    Do you have a link to the doc in question? Maybe we can take a look and try to get it updated to have a bit more relevant content?

     

     

    Colin
  • You know, if I had any positive feedback about the article, I would give it. But I have no idea what SOL5924 (https://support.f5.com/kb/en-us/solutions/public/5000/900/sol5924.html?sr=795554) is referring to as HTTP processing and how to stop it.

     

     

    Unfortunately I don't.

     

     

    This is the first instance I have seen of the LTM actually changing the content (other than injected X-Forwarded-For headers and persistance cookies) of the http request and breaking the application.

     

     

    I don't mean to appear whiny and bitchy about this, but when I find a vendor KB article that says "Do foo to fix this problem" but doesn't actually tell me what "foo" is I get a bit frustrated.
  • I think constructive feedback was closer to what I meant. I've spent full days trying to figure out the exact details and implications of issues described in solutions. If the person writing the solution took an extra hour to provide that detail it would save a lot of effort. Most of the solutions either have this level of detail already or they add it pretty quickly when requested to.

     

     

    Aaron
  • Deb_Allen_18's avatar
    Deb_Allen_18
    Historic F5 Account
    I just created an iRule to disable http for specific methods & added it as a codeshare entry: (Click here)

     

     

    SOL5924 has also been updated to include a link to the sample and the unsupported request methods.

     

     

    /deb
  • Out of curiosity, is there any suggestion for re-enabling the HTTP profile if another request is made using a method that is recognized? I guess you'd need to collect the TCP payload to do that though. Wouldn't it be fairly easy to change the code and add the WebDav methods to the list that the HTTP filter?

     

     

    Aaron