rubbingalcoholic / flagger

Troll the NSA with red flags and free speech! Flagger is a Firefox and Chrome extension that adds words like "Taliban" and "anthrax" into the web addresses you visit.
http://flagger.io
GNU General Public License v3.0
16 stars 6 forks source link

Adding flags in URLs is breaking Firefox Sync #4

Closed sourcejedi closed 9 years ago

sourcejedi commented 11 years ago

If Flagger is enabled when Firefox is started (and Firefox Sync is enabled as well), there is a Firefox Sync popup saying it encountered an "Unknown error".

I am running my own Sync server, so I have this traceback:

Uncaught exception while processing request: GET /1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/storage/meta/global File "/home/alan/pkg/mozilla-sync/server-full/deps/server-core/services/util.p y", line 303, in call return self.app(environ, start_response) File "/home/alan/pkg/mozilla-sync/server-full/local/lib/python2.7/site-package s/paste/translogger.py", line 68, in call return self.application(environ, replacement_start_response) File "/home/alan/pkg/mozilla-sync/server-full/local/lib/python2.7/site-package s/webob/dec.py", line 147, in call resp = self.call_func(req, _args, _self.kwargs) File "/home/alan/pkg/mozilla-sync/server-full/local/lib/python2.7/site-package s/webob/dec.py", line 208, in call_func return self.func(req, _args, _kwargs) File "/home/alan/pkg/mozilla-sync/server-full/deps/server-core/services/baseap p.py", line 220, in notified response = func(self, request) File "/home/alan/pkg/mozilla-sync/server-full/deps/server-core/services/baseap p.py", line 254, in __call response = self._dispatch_request(request) File "/home/alan/pkg/mozilla-sync/server-full/deps/server-core/services/baseap p.py", line 312, in _dispatch_request response = self._dispatch_request_with_match(request, match) File "/home/alan/pkg/mozilla-sync/server-full/deps/server-core/services/baseap p.py", line 340, in _dispatch_request_with_match result = function(request, *params) File "/home/alan/pkg/mozilla-sync/server-full/local/lib/python2.7/site-package s/metlog_py-0.9.5-py2.7.egg/metlog/decorators/base.py", line 151, in call return replacement(_args, _kwargs) File "/home/alan/pkg/mozilla-sync/server-full/deps/server-core/services/metric s.py", line 101, in metlog_call return self._fn(_args, _kwargs) File "/home/alan/pkg/mozilla-sync/server-full/local/lib/python2.7/site-package s/metlog_py-0.9.5-py2.7.egg/metlog/decorators/base.py", line 151, in call return replacement(_args, _kwargs) File "/home/alan/pkg/mozilla-sync/server-full/local/lib/python2.7/site-package s/metlog_py-0.9.5-py2.7.egg/metlog/decorators/stats.py", line 49, in metlog_call result = self._fn(_args, _kwargs) File "/home/alan/pkg/mozilla-sync/server-full/local/lib/python2.7/site-package s/metlog_py-0.9.5-py2.7.egg/metlog/decorators/base.py", line 151, in call return replacement(_args, _kwargs) File "/home/alan/pkg/mozilla-sync/server-full/deps/server-core/services/metric s.py", line 114, in metlog_call result = self._fn(_args, *_kwargs) <type 'exceptions.TypeError'> TypeError("get_item() got an unexpected keyword argument 'lulz'",)

as well as the client log (about:sync-log):

1380879763906 Sync.Service DEBUG User-Agent: Firefox/24.0 FxSync/1.26.0.20130917102605. 1380879763906 Sync.Service INFO Starting sync at 2013-10-04 10:42:43 1380879763906 Sync.Service DEBUG In sync: should login. 1380879763907 Sync.Status DEBUG Status.service: success.status_ok => success.status_ok 1380879763907 Sync.Status DEBUG Status.service: success.status_ok => success.status_ok 1380879763907 Sync.Service INFO Logging in user wgk3nwu46bwdeyvsbsru5szqglh37i5b 1380879763907 Sync.Service DEBUG Caching URLs under storage user base: http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/ 1380879764925 Sync.Status DEBUG Status.service: success.status_ok => success.status_ok 1380879766597 Sync.SyncScheduler DEBUG Next sync in 600000 ms. 1380879766689 Sync.Resource DEBUG mesg: GET success 200 http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/info/collections?lulz=kitteh+operation+blog 1380879766689 Sync.Resource DEBUG GET success 200 http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/info/collections?lulz=kitteh+operation+blog 1380879766689 Sync.Service DEBUG Fetching global metadata record 1380879766821 Sync.Resource DEBUG mesg: GET fail 500 http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/storage/meta/global?lulz=bitcoin+cash+bitcoin 1380879766821 Sync.Resource DEBUG GET fail 500 http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/storage/meta/global?lulz=bitcoin+cash+bitcoin 1380879766822 Sync.Service DEBUG Weave Version: 1.26.0 Local Storage: 5 Remote Storage: 1380879766822 Sync.Service INFO One of: no meta, no meta storageVersion, or no meta syncID. Fresh start needed. 1380879766822 Sync.Status DEBUG Status.sync: success.sync => error.sync.reason.metarecord_download_fail 1380879766822 Sync.Status DEBUG Status.service: success.status_ok => error.sync.failed 1380879766822 Sync.Service WARN Unknown error while downloading metadata record. Aborting sync. 1380879766822 Sync.Service WARN Remote setup failed.

rubbingalcoholic commented 9 years ago

Fixed with https://github.com/rubbingalcoholic/flagger/commit/f72bf8435b537b811271185262c462a1b12b825a

NOTE: this only applies to "official" Mozilla sync URLs. It looks like you're running off a customized sync provider, which is unsupported. Eventually I may add the blacklisting feature which would allow you to blacklist specific URLs, including in particular the Firefox Sync OAuth provider URLs.