Coral Defender seems to be incompatible with normal caching as well as aggressive caching. My theory is that Drupal isn't able to do enough of a bootstrap to call drupal_goto() even when the normal cache is enabled.

Here is a patch that adds a coral_defender_goto() function that gets called instead of Drupal's drupal_goto(). It is working for me, but due to lack of time this patch doesn't do do any checking and assumes that Clean URLs are enabled.

(Please check the Drupal coding standards and tell your editor to use double spaces instead of tabs.)

Comments

andrew m riley’s picture

Assigned: Unassigned » andrew m riley
Status: Needs work » Postponed (maintainer needs more info)

I've been going over the bootstrap process and I think I've figured out why some people see this bug (common.inc not being loaded) while other's don't. Could you (or somebody) verify my findings please?

When cache mode of "Normal" is enabled modules are called in bootstrap.inc when the case of "DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE" is true. When caching is disabled the case "DRUPAL_BOOTSTRAP_FULL" is true and then the common.inc is loaded and then the modules (hook_init) are loaded.

I'm guessing my site has another module that's manually loading common.inc before this module is called. With this happening I'd never see the drupal_goto not being defined.

Christefano-oldaccount’s picture

It is transient (I've seen it on some sites and not others) so it does seem to be another module loading common.inc. Unfortunately I don't have time to hunt down which one it is.

Anyway, I'm really glad you responded so quickly to this issue. Did the coral_defender_goto() code added to the latest dev snapshot come from Path Redirect?

andrew m riley’s picture

Status: Postponed (maintainer needs more info) » Fixed

Good eyes, it did come from Path Redirect. I was looking over their code to see how they got around the problem and found out they already addressed the issues of line break injection so I just grabbed it.

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.