Blob Blame Raw
%global moz_extensions %{_datadir}/mozilla/extensions

%global firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
%global src_ext_id https-everywhere@eff.org
%global firefox_inst_dir %{moz_extensions}/%{firefox_app_id}/%{src_ext_id}

%global seamonkey_app_id \{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
%global seamonkey_inst_dir %{moz_extensions}/%{seamonkey_app_id}

Name:           mozilla-https-everywhere
Version:        2.2
Release:        2%{?dist}
Summary:        HTTPS/HSTS enforcement extension for Mozilla Firefox and SeaMonkey

Group:          Applications/Internet
License:        GPLv2+
URL:            https://eff.org/https-everywhere
# A git repo is available at git://git.torproject.org/https-everywhere.git
Source0:        https://www.eff.org/files/https-everywhere-%{version}.xpi

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  dos2unix
%if 0%{?rhel}
Requires:       firefox
%else
Requires:       mozilla-filesystem
%endif
BuildArch:      noarch


%description
HTTPS Everywhere is a Firefox extension produced as a collaboration between
The Tor Project and the Electronic Frontier Foundation. It encrypts your
communications with a number of major websites.

Many sites on the web offer some limited support for encryption over HTTPS,
but make it difficult to use. For instance, they may default to unencrypted
HTTP, or fill encrypted pages with links that go back to the unencrypted site.

The HTTPS Everywhere extension fixes these problems by rewriting all requests
to these sites to HTTPS.


%prep
%setup -q -c
dos2unix -f LICENSE.txt

%build


%install
rm -rf %{buildroot}
install -Dp -m 644 chrome.manifest %{buildroot}%{firefox_inst_dir}/chrome.manifest
install -Dp -m 644 install.rdf %{buildroot}%{firefox_inst_dir}/install.rdf
install -Dp -m 644 Changelog %{buildroot}%{firefox_inst_dir}/Changelog
install -Dp -m 644 LICENSE.txt %{buildroot}%{firefox_inst_dir}/LICENSE.txt
install -Dp -m 644 components/https-everywhere.js %{buildroot}%{firefox_inst_dir}/components/https-everywhere.js
install -Dp -m 644 components/ssl-observatory.js %{buildroot}%{firefox_inst_dir}/components/ssl-observatory.js
install -Dp -m 644 chrome/content/about.xul %{buildroot}%{firefox_inst_dir}/chrome/content/about.xul
install -Dp -m 644 chrome/content/meta-preferences.xul %{buildroot}%{firefox_inst_dir}/chrome/content/meta-preferences.xul
install -Dp -m 644 chrome/content/observatory-popup.xul %{buildroot}%{firefox_inst_dir}/chrome/content/observatory-popup.xul
install -Dp -m 644 chrome/content/observatory-preferences.xul %{buildroot}%{firefox_inst_dir}/chrome/content/observatory-preferences.xul
install -Dp -m 644 chrome/content/observatory-warning.xul %{buildroot}%{firefox_inst_dir}/chrome/content/observatory-warning.xul
install -Dp -m 644 chrome/content/observatory-xul.js %{buildroot}%{firefox_inst_dir}/chrome/content/observatory-xul.js
install -Dp -m 644 chrome/content/preferences.css %{buildroot}%{firefox_inst_dir}/chrome/content/preferences.css
install -Dp -m 644 chrome/content/preferences.js %{buildroot}%{firefox_inst_dir}/chrome/content/preferences.js
install -Dp -m 644 chrome/content/preferences.xul %{buildroot}%{firefox_inst_dir}/chrome/content/preferences.xul
install -Dp -m 644 chrome/content/toolbar_button.js %{buildroot}%{firefox_inst_dir}/chrome/content/toolbar_button.js
install -Dp -m 644 chrome/content/toolbar_button.xul %{buildroot}%{firefox_inst_dir}/chrome/content/toolbar_button.xul
install -Dp -m 644 chrome/content/code/ApplicableList.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/ApplicableList.js
install -Dp -m 644 chrome/content/code/ChannelReplacement.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/ChannelReplacement.js
install -Dp -m 644 chrome/content/code/Cookie.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/Cookie.js
install -Dp -m 644 chrome/content/code/HTTPS.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/HTTPS.js
install -Dp -m 644 chrome/content/code/HTTPSRules.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/HTTPSRules.js
install -Dp -m 644 chrome/content/code/IOUtil.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/IOUtil.js
install -Dp -m 644 chrome/content/code/Root-CAs.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/Root-CAs.js
install -Dp -m 644 chrome/content/code/sha256.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/sha256.js
install -Dp -m 644 chrome/content/code/STS.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/STS.js
install -Dp -m 644 chrome/content/code/Thread.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/Thread.js
install -Dp -m 644 chrome/content/code/X509ChainWhitelist.js %{buildroot}%{firefox_inst_dir}/chrome/content/code/X509ChainWhitelist.js
install -Dp -m 644 chrome/content/rules/00README %{buildroot}%{firefox_inst_dir}/chrome/content/rules/00README
install -Dp -m 644 chrome/content/rules/default.rulesets %{buildroot}%{firefox_inst_dir}/chrome/content/rules/default.rulesets
install -Dp -m 644 chrome/locale/en/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/en/https-everywhere.dtd
install -Dp -m 644 chrome/locale/en/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/en/https-everywhere.properties
install -Dp -m 644 chrome/locale/en/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/en/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/ar/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/ar/https-everywhere.dtd
install -Dp -m 644 chrome/locale/ar/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/ar/https-everywhere.properties
install -Dp -m 644 chrome/locale/ar/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/ar/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/de/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/de/https-everywhere.dtd
install -Dp -m 644 chrome/locale/de/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/de/https-everywhere.properties
install -Dp -m 644 chrome/locale/de/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/de/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/es/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/es/https-everywhere.dtd
install -Dp -m 644 chrome/locale/es/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/es/https-everywhere.properties
install -Dp -m 644 chrome/locale/es/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/es/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/fa/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/fa/https-everywhere.dtd
install -Dp -m 644 chrome/locale/fa/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/fa/https-everywhere.properties
install -Dp -m 644 chrome/locale/fa/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/fa/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/lt/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/lt/https-everywhere.dtd
install -Dp -m 644 chrome/locale/lt/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/lt/https-everywhere.properties
install -Dp -m 644 chrome/locale/lt/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/lt/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/lv/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/lv/https-everywhere.dtd
install -Dp -m 644 chrome/locale/lv/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/lv/https-everywhere.properties
install -Dp -m 644 chrome/locale/lv/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/lv/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/nl/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/nl/https-everywhere.dtd
install -Dp -m 644 chrome/locale/nl/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/nl/https-everywhere.properties
install -Dp -m 644 chrome/locale/nl/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/nl/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/pt/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/pt/https-everywhere.dtd
install -Dp -m 644 chrome/locale/pt/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/pt/https-everywhere.properties
install -Dp -m 644 chrome/locale/pt/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/pt/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/ru/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/ru/https-everywhere.dtd
install -Dp -m 644 chrome/locale/ru/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/ru/https-everywhere.properties
install -Dp -m 644 chrome/locale/ru/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/ru/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/sv/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/sv/https-everywhere.dtd
install -Dp -m 644 chrome/locale/sv/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/sv/https-everywhere.properties
install -Dp -m 644 chrome/locale/sv/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/sv/ssl-observatory.dtd
install -Dp -m 644 chrome/locale/zh-CN/https-everywhere.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/zh-CN/https-everywhere.dtd
install -Dp -m 644 chrome/locale/zh-CN/https-everywhere.properties %{buildroot}%{firefox_inst_dir}/chrome/locale/zh-CN/https-everywhere.properties
install -Dp -m 644 chrome/locale/zh-CN/ssl-observatory.dtd %{buildroot}%{firefox_inst_dir}/chrome/locale/zh-CN/ssl-observatory.dtd
install -Dp -m 644 chrome/skin/cross.png %{buildroot}%{firefox_inst_dir}/chrome/skin/cross.png
install -Dp -m 644 chrome/skin/https-everywhere-16.png %{buildroot}%{firefox_inst_dir}/chrome/skin/https-everywhere-16.png
install -Dp -m 644 chrome/skin/https-everywhere-24.png %{buildroot}%{firefox_inst_dir}/chrome/skin/https-everywhere-24.png
install -Dp -m 644 chrome/skin/https-everywhere-half-24.png %{buildroot}%{firefox_inst_dir}/chrome/skin/https-everywhere-half-24.png
install -Dp -m 644 chrome/skin/https-everywhere.css %{buildroot}%{firefox_inst_dir}/chrome/skin/https-everywhere.css
install -Dp -m 644 chrome/skin/https-everywhere.png %{buildroot}%{firefox_inst_dir}/chrome/skin/https-everywhere.png
install -Dp -m 644 chrome/skin/ssl-observatory-messy.jpg %{buildroot}%{firefox_inst_dir}/chrome/skin/ssl-observatory-messy.jpg
install -Dp -m 644 chrome/skin/tick-moot.png %{buildroot}%{firefox_inst_dir}/chrome/skin/tick-moot.png
install -Dp -m 644 chrome/skin/tick-red.png %{buildroot}%{firefox_inst_dir}/chrome/skin/tick-red.png
install -Dp -m 644 chrome/skin/tick.png %{buildroot}%{firefox_inst_dir}/chrome/skin/tick.png
install -Dp -m 644 defaults/preferences/preferences.js %{buildroot}%{firefox_inst_dir}/defaults/preferences/preferences.js

# symlink from seamonkey extension to firefox extension
mkdir -p %{buildroot}%{seamonkey_inst_dir}
ln -s %{firefox_inst_dir} %{buildroot}%{seamonkey_inst_dir}

%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%doc LICENSE.txt
%{firefox_inst_dir}
%{seamonkey_inst_dir}


%changelog
* Fri Aug 17 2012 Russell Golden <niveusluna@niveusluna.org> - 2.2-2
- Prevent ruleset bugs from crashing the UI
  -- https://trac.torproject.org/projects/tor/ticket/6280
- Fix the enable/disable button in Firefox 14
  -- https://trac.torproject.org/projects/tor/ticket/6212
- Fix a nasty bug in the optional "Search www.google.com" ruleset:
  -- https://gitweb.torproject.org/https-everywhere.git/commitdiff/50ca41a1e189ef8383781f803e51ec7a06688a3b
- Disable buggy/broken: ZDNet, Globe and Mail, Blip.tv, Governo Portugês,
  -- Alton Towers, McAfee :( :( :(
- Fixes: Yandex, Wikipedia, PirateParty, JBoss, Gentoo
- Hopefully the last 2.x release before 3.0 stable

* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Mon Jul 02 2012 Russell Golden <niveusluna@niveusluna.org> - 2.1-3
- Change Requires to require firefox on all RHEL versions

* Sun Jun 24 2012 Russell Golden <niveusluna@niveusluna.org> - 2.1-2
- Fix context menu breakage when URIs lack a host
- Fixes: CiteULike, MozillaMessaging, Yandex, Demonoid, Pirate Party,
  --  Gentoo, NYTimes, Microsoft, Wikipedia, Lenovo
  --  https://mail1.eff.org/pipermail/https-everywhere-rules/2012-June/001189.html
  --  https://trac.torproject.org/projects/tor/ticket/6091
  --  https://mail1.eff.org/pipermail/https-everywhere-rules/2012-June/001190.html
  --  https://mail1.eff.org/pipermail/https-everywhere-rules/2012-May/001186.html
  --  https://mail1.eff.org/pipermail/https-everywhere/2012-May/001433.html
- Disable broken: MarketWatch, Disqus, Magento, Lavasoft, Project Syndicate,
  -- Typepad/Say Media
  --  https://trac.torproject.org/projects/tor/ticket/5899
  --  https://trac.torproject.org/projects/tor/ticket/5496

* Tue May 01 2012 Russell Golden <niveusluna@niveusluna.org> - 2.0.3-2
- Add file that I missed in the last build.

* Sat Apr 28 2012 Russell Golden <niveusluna@niveusluna.org> - 2.0.3-1
- Fix a downgrade attack that might allow attackers to deny HTTPS
    Everywhere protection for cookies on some domains.
    https://trac.torproject.org/projects/tor/ticket/5676
- Minor redirection mechanism fixes
- Fixes: WordPress, Yandex, OpenDNS, Via.me/AWS
- Improvements: Mozilla
- Disable broken: ReadWriteWeb

* Fri Apr 20 2012 Russell Golden <niveusluna@niveusluna.org> - 2.0.2-1
- Fix a weird wrong DOM-origin bug that occurred while redirects were in
  --  progress (this might have security implications, although we are unsure
  --  if it was exploitable).
  --  https://trac.torproject.org/projects/tor/ticket/5477
- By default, use https://google.co.cctld instead of
  --  encrypted.google.com
- Add an optional ruleset to use https://www.google.com
  -- instead of encrypted.google.com, too
- Ruleset fixes: Debian, Kohls, Malwarebytes, Yandex, Wikipedia, Mises.org,
  -- OpenDNS, Wizards of the Coast, Lenovo, Barnes and Noble
  --  https://trac.torproject.org/projects/tor/ticket/5509
  --  https://trac.torproject.org/projects/tor/ticket/5491
  --  https://trac.torproject.org/projects/tor/ticket/5303
- Stumble across more horrible security holes in the Verizon website:
  --  https://mail1.eff.org/pipermail/https-everywhere-rules/2012-February/001003.html
- Disable the Gentoo ruleset on non-CAcert platforms
- Disable buggy rulesets: IBM, Scribd, Wunderground :( :( :(
  --  https://trac.torproject.org/projects/tor/ticket/5344
  --  https://trac.torproject.org/projects/tor/ticket/5435
  --  https://trac.torproject.org/projects/tor/ticket/5630

* Wed Feb 29 2012 Russell Golden <niveusluna@niveusluna.org> - 2.0.1-1
- Sync to upstream 2.0.x branch
- Too many changes to all list here. None affect the end user experience.
    Being a Mozilla extension, it'll auto-update anyway.

* Wed Jan 11 2012 Russell Golden <niveusluna@niveusluna.org> - 1.2.2-1
- Google Cache is back!
- Fixes: Wikipedia, Identi.ca, Verizon, CCC.de, UserScripts, Yandex
- Improvements: EFF
- Disable broken: NSF.gov, WHO.int

* Wed Nov 16 2011 Russell Golden <niveusluna@niveusluna.org> - 1.2.1-1
- Google Cache is broken, remove it from GoogleServices :( :( :(
- Fix for the Google Image Search homepage
- Exclude help.duckduckgo.com:
--    https://trac.torproject.org/projects/tor/ticket/4399
- Disable Yahoo! Mail:
--    https://trac.torproject.org/projects/tor/ticket/4441
- Installable on Firefox 10

* Tue Nov 15 2011 Russell Golden <niveusluna@niveusluna.org> - 1.2-1
- Fixes: WordPress, Statcounter, Java, Bahn.de, SICS.se
- Improvements: use fancy new HTTPS Wikipedia
- Disable broken: OpenUniversity, TV.com, Random.org, kb.CERT

* Thu Oct 20 2011 Russell Golden <niveusluna@niveusluna.org> - 1.1-1
- Further tweaks to internals, will hopefully fix a number of weird issues:
--      https://trac.torproject.org/projects/tor/ticket/4194
--      https://trac.torproject.org/projects/tor/ticket/4149
--      https://mail1.eff.org/pipermail/https-everywhere/2011-October/001208.html
- YouTube is enabled by default!
- Fixes: Yandex, Statcounter, Polldaddy, SBB.ch
- Improvements: Facebook+
- Disable broken: Bloglines, EPEAT

* Sat Oct 8 2011 Russell Golden <niveusluna@niveusluna.org> - 1.0.3-2
- Changelog added for current version

* Fri Sep 16 2011 Russell Golden <niveusluna@niveusluna.org> - 1.0.1-1
- Initial packaging for Fedora