Closed (fixed)
Project:
Provision
Version:
6.x-1.1
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
30 Apr 2011 at 11:16 UTC
Updated:
4 Jan 2014 at 00:53 UTC
Jump to comment: Most recent
Comments
Comment #1
omega8cc commentedThis is by design, because we don't want to open cron.php for remote abuse, so its location is restricted to the server IP in Barracuda/Octopus, but we can't do the same in the vanilla Provision, unless we will simply add cron.php to the list of allowed PHP files by default.
Also, the wget method is not yet fully supported in the Aegir main branch #1090678: wget cron method broken for d7 sites, so I'm changing this to feature request, as it is not a bug now.
Moving to provision, as it belongs there.
Comment #2
crea commentedSorry, but this feature is broken, and It's not documented anywhere that it is supposed to be so "by design". User can see it in the UI and can enable it. This is clearly a bug.
Why is this so ?
Comment #3
omega8cc commentedThe wget cron method is broken so we don't support it by design in the vanilla Provision in Nginx.
It will be added when the broken feature will be fixed.
This is a feature request, not a bug - the bug is elsewhere.
Comment #4
crea commentedDefinition of feature request:
to add something that is missing
Definition of bug report:
report of something that is already in place but doesn't work. Wget support is in place (proven by enabling it in the UI), but doesn't work. So clearly this is a bug.
And please don't change the status by emotions - "omg this user is arguing, let him be piss off".
Comment #5
omega8cc commentedPlease don't change issue status.
Comment #6
crea commentedIf this was not supposed to work, why it's possible to enable it ? It's also not documented anywhere. Do you assume Aegir users have telepathic abilities ? It would help to accept the existance of the problem instead of denying it, so other users could find this issue.
If you provide valid arguments I won't
Comment #7
omega8cc commentedAgain, please don't change the status, it is not a bug, it is a result of decision made, as explained above.
Wget cron method is not supported yet in Nginx by design.
If you don't like the decision, please submit a patch for review.
Comment #8
anarcat commentedI think this is a valid request. If we are opened to having patches submitted for review, we should not say we will not fix this. So I am marking this as opened. I also agree that if the UI provides the option of enabling the wget method, it should work, so this could also be perceived as a bug.
Finally, I personnally believe this should work out of the box (as Drupal does allow cron.php out of the box) and if Barracuda feels this is wrong, it should be hardened there, and eventually factored into provision. But we should not cripple the implementation out of the box, especially if it confuses users (see POLA).
Comment #9
omega8cc commentedAs I wrote already before, I will be happy to add support for wget cron method when it will be fixed in head, not before.
I believe that the correct way to fix this wtf should be to hide this option in the front-end until it is properly fixed and working also for D7.
The source of confusion is not a lack of wget cron method support in the Nginx config, it is the visibility of broken feature in the front-end.
Comment #10
omega8cc commentedSo it looks like the related patch is already in head: http://drupal.org/node/1090678#comment-4418516
I will submit my Nginx config patch for review soon.
Comment #11
omega8cc commentedThe patch needs review:
Add support for wget cron in the Nginx configuration.
http://drupalcode.org/sandbox/omega8cc/1111100.git/commit/14da680
Comment #12
anarcat commentedThat looks good - @crea, can you try the patch?
Comment #13
crea commentedSure. But why can't we restrict it by IP address ?
Comment #14
crea commentedWe could also use basic http authentication for cron.php
Comment #15
omega8cc commentedWe can't force restriction by IP address because Provision has no idea on what IP to allow - the server can be on a local network with NAT, the server can have many IPs etc so it is not a Provision/Aegir job to restrict access to cron.php. This is an admin job and can be automated with other tools, like Barracuda and Octopus.
No, it is not a good idea to use basic auth - this way you will deny access to cron.php for wget completely and only manual cron after authentication will work.
Note also, that currently we include just the same level of basic configuration, and Apache version also has unrestricted access to cron.php allowed. The rest is left for the server admin.
Comment #16
steven jones commentedI agree with omega8cc here, and D7 adds the cron_key so that in theory it's harder for other people to run cron on other people's sites.
Comment #17
crea commentedWget can authenticate via http-auth. What's the problem with that ? I don't get the "this way you will deny access to cron.php for wget completely and only manual cron after authentication will work" part.
But I agree that securing access is a different issue which should be addressed separately.
Comment #18
omega8cc commentedThis is not an Aegir job to secure the access to cron.php, so I don't plan to add anything here.
Also, I don't think anyone will ever think about working on over-complicated stuff with introducing support for auth based cron access in Aegir, when D7 has already its own method, now supported also in the Aegir head.
Comment #19
omega8cc commentedMarking as RTBC, as it is known to work fine.
If anyone has more ideas related to cron support, please open another feature request.
Comment #20
anarcat commentedpatch merged in 7.x and 6.x.