Modify

Opened 5 years ago

Closed 4 years ago

Last modified 4 years ago

#6412 closed defect (fixed)

no images/css

Reported by: bettse Owned by: techtonik
Priority: low Component: NoAnonymousPlugin
Severity: minor Keywords:
Cc: Trac Release: 0.11

Description

Thank you for writing this plugin, it helps me with having an externally available trac instance. I did notice that css and images don't show up though, which is a problem for external vendors who may think I'm unprofessional.
I fixed this by adding '/chrome' to the paths list in filter.py, and I thought it might be a change other people would want as well.

Attachments (0)

Change History (9)

comment:1 Changed 4 years ago by techtonik

  • Owner changed from pedro to techtonik

Thanks for report, my static resources are served directly by Apache, so I didn't notice the issue.

Adding /chrome/site and /chrome/common to the exclusion list should be enough to close the issue.

comment:2 Changed 4 years ago by techtonik

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in [8146] - try new version.

comment:3 Changed 4 years ago by osimons

Disclaimer: I don't use the plugin or know anything about its code, I just noticed this one change by 'accident' :-)

For the change to make sense, you really need to exclude all /chrome. Plugins that adds own static resources extend the /chrome namespace. Most plugins will likely be blocked by your plugin before they get a chance to serve their static content (like my FullBlogPlugin that serves under /chrome/tracfullblog/, but something like a Theme-type plugin will make the problem quite apparent as that is intended to change the overall layout and look-and-feel for all requests.

comment:4 follow-up: Changed 4 years ago by techtonik

Thanks for review. I intentionally did not include all /chrome requests as the purpose of this plugin is to exclude requests from anonymous users to all Trac parts except login. I am not sure that /chrome/plugin access will not trigger some plugin code and that the code will not be a source of information leaks.

Do you know how /chrome/plugin resources are processed?

comment:5 in reply to: ↑ 4 Changed 4 years ago by osimons

Replying to techtonik:

Do you know how /chrome/plugin resources are processed?

All /chrome/<something> is processed by the Trac Chrome module. It looks in static resources for plugins depending on what the plugin has registered. No code is executed on the server, it is a straight resource lookup just as it is for common and site which are the two basic locations/namespaces known on to an environment.

comment:6 Changed 4 years ago by techtonik

I must admit that I am unable to find information on t.e.o. about how plugins register their resources and where these resources are placed.

comment:7 Changed 4 years ago by osimons

See trac.web.chrome.ITemplateProvider interface - for this particular purpose get_htdocs_dirs() method that plugins use to return locations for static resources with corresponding path prefix.

comment:8 Changed 4 years ago by techtonik

Need more round tuits. For now documented some behavior at http://trac.edgewall.org/wiki/TracDev/TracURLs

comment:9 Changed 4 years ago by techtonik

Ok. Relaxed filter in r9695.

Add Comment

Modify Ticket

Action
as closed .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from techtonik. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.